html,body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	width: 100%;
	height: 100%;
	font-family: "aktiv-grotesk", arial, sans-serif;
	background-color: #f2f2f2;
	font-weight: 400;
	font-style: normal;
}
.transitionable{
	-webkit-transition: all 250ms linear;
	-moz-transition: all 250ms linear;
	-ms-transition: all 250ms linear;
	-o-transition: all 250ms linear;
	transition: all 250ms linear;
}
b{
	font-weight: 700;
	font-style: normal;
}
.hidden{
	display: none;
}
.clear-fix{
	clear: both;
}
.mobile{
	display: none;
}
#wrapper{
	width: 100%;
	height: 100%;
}
#topbar-mobile{
	position: fixed;
	top:0;
	width: 100%;
}
#menu-overlay{
	position: fixed;
	top:0;
	display: none;
	width: 100%;
	height: 100%;
	min-height: 600px;
	color: #fff;
	background-color: #e9322c;
	font-weight: 700;
	text-align: center;
	overflow: hidden;
}
#menu-overlay a{
	color: #fff;
	text-decoration: none;
}
#menu-overlay li{
	margin-top: 1.5em;
	font-size: 1.5em;
}
#menu-overlay ul{
    z-index: 99;
    position: relative;
}
#menu-overlay ul ul{
	margin-bottom: 3em;
}
#menu-overlay ul ul li{
	margin-top: 1.5em;
	font-size: 1em;
}
#topbar-push{

}
#topbar-push-mobile{
	height: 35px;
}
#topbar-push.mini{
	height: 136px;
}
#topbar-push.maxi{
	height: 210px;
}
#topbar{
	padding: 50px 50px;
	position: fixed;
	z-index: 99;
	width: 100%;
	background-color: #f2f2f2;
}
#watermark{
	display: block;
	margin: auto;
	width: 100%;
	max-width: 642px;
	position: absolute;
    bottom: 0;
}
.mobile-logo-wrap{
	background-color: #f2f2f2;
	padding: 20px;
}
.btn-menu{
	display: block;
	width: 100%;
	padding: 10px;
	color: #fff;
	background-color: #e9322c;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
#btn-menu-close{

}
#mobile-logo{
	margin: auto;
	display: block;
}
#topbar #logo{

}
#topbar.maxi{
	padding: 50px 50px 30px 50px;
}

#topbar.mini{
	padding: 20px 50px;
}

#topbar.maxi #logo{
	width: 20%;
}

#topbar.mini #logo{
	width: 128px;
}

#nav{
	/*
	display: inline-block;
	
	font-weight: 700;
	position: absolute;
	right: 30px;
	margin-top: -10px;
	font-size: 1.1em;
	padding-bottom: 30px;
	*/
	text-align: right;
	float: right;
    width: 75%;
    max-width: 600px;

}
#m1{
	display: block;
	float: right;
}
#m2{
	display: none;
	float: right;
}

.services #m2{
	display: block;
}

#nav li{
	display: block;
	float: right;
}


#nav li a{
	display: block;
	padding: 10px 15px 15px 15px;
	text-decoration: none;
	color: #35a0e4;

}
#nav li a.here{
	background-image:url(../img/common/underline.png);
	background-repeat: no-repeat;
	background-position: center 29px;
	color: #e9322c;
}

#m2 li a{
	padding-bottom: 10px;
}
#m2 li+li a{
	/*
	padding-left: 0;
	*/
}

#m2 li a.here{
	color: #e9322c;
	background-image:none;
}

#m2 li+li a:before{
	/*
	content: "|";
	color: #35a0e4;
	margin-right: 15px;
	*/
}

#nav li a.over, #nav li a:hover{
	color: #e9322c;
}
#m2 li+li a:hover:before{
	color: #35a0e4;
}
#hero-panels{
	position: relative;
}
.hero{
	position: relative;
	height: 0;
	float: left;
	width: 33%;
	padding-bottom: 33%;
	background-color: #ccc;

}
.hero-sub{
	font-size: 2vw;
    line-height: 1.2em;
    text-align: center;
    margin: 4vw 3vw 0 3vw;
}
.hero-sub h1{
	margin-bottom: 0.5em;
}
#hero-1{
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%;
}
#hero-2{
	width: 34%;
	background-color: #3ca2e1;
	color: #fff;
	overflow: hidden;
}
#hero-3{
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%;
}

.home #hero-1{
	background: url(../img/home/home1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.home #hero-3{
	background: url(../img/home/home2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.wra #hero-1{
	background: url(../img/pages/wra1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.wra #hero-3{
	background: url(../img/pages/wra2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.ksp #hero-1{
	background: url(../img/pages/ksp1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.ksp #hero-3{
	background: url(../img/pages/ksp2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.awt #hero-1{
	background: url(../img/pages/awt1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.awt #hero-3{
	background: url(../img/pages/awt2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.pst #hero-1{
	background: url(../img/pages/pst1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.pst #hero-3{
	background: url(../img/pages/pst2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.pr #hero-1{
	background: url(../img/pages/pr1.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}
.pr #hero-3{
	background: url(../img/pages/pr2.jpg) no-repeat center center ;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%; 
}

.secondary-panel{
	color: #fff;
	background-color: #e9322c;
	padding: 40px 0;
}

.secondary-panel-sub{
	margin: auto;
	width: 70%;
	max-width: 1040px;

}


.secondary-panel p{
	text-align: center;
	font-size: 1.6vw;
	line-height: 1.2em;
}

.tertiary-panel{
	padding: 30px 0 60px 0;
	text-align: center;
	width: 100%;
}

.tertiary-panel h2{
	color: #3ca2e1;
	font-size: 1.3em;
	margin-bottom: 30px;
}
#t-btns{
	margin: auto;
	display: inline-block;
	width: 80%;
	max-width: 1200px;
	min-width: 860px;
}
.t-btn-wrap{
	float: left;
	/*width: 33.2%;*/
	width: 24.5%;
}
.t-btn{
	width: 215px;
	display: block;
	margin: auto;
	padding-top: 200px;
	background-repeat: no-repeat;
	font-size: 1.2em;
    line-height: 1.4em;
    color: #3ca2e1;
    min-height: 260px;
}
.t-btn:hover{
	background-position: -215px 0;
}
.t-btn-wrap+.t-btn-wrap{
	border-left: 1px solid #999;
}
.t-btn:hover{
	color: #e9322c;
}
#btn-awrt{
	background-image: url(../img/home/btn-awrt.gif);
}

#btn-pst{
	background-image: url(../img/home/btn-pst.gif);
}

#btn-pr{
	background-image: url(../img/home/btn-pr.gif);
}

#btn-ksp{
	background-image: url(../img/home/btn-ksp.gif);
}
#btn-iaw{
	background-image: url(../img/home/btn-iaw.gif);
}

.quaternary-panel{
	padding: 30px 0 60px 0;
	text-align: center;
	width: 100%;
	background-color: #3ca2e1;
}
#logos{
	display: block;
	width: 80%;
	max-width: 1200px;
	margin: auto;
}
.quaternary-panel h2{
	color: #fff;
	font-size: 1.3em;
	margin-bottom: 30px;
}
#footer{
	color: #3ca2e1;
	padding: 50px 0 60px 0;
	line-height: 1.4em;
	background-color: #f2f2f2;
}
#footer-sub{
	width: 80%;
	max-width: 1200px;
	margin: auto;
}
#footer-left,#footer-mid,#footer-right{
	float: left;
	width: 33.2%;
}
#footer-mid{
	text-align: center;
}
#footer-mid-sub{
	margin: auto;
	text-align: left;
	display: inline-block;
}
#footer-right{
	text-align: right;
}
#footer a{
	color: #3ca2e1;
}
#footer b{
	color: #e9322c;
}
.footer-meta{
	margin-top: 1em;
	color: #666;
}
.footer-meta a{
	color: #666 !important;
}
.linkedin,.twitter{
	display: inline-block;
	margin-top: 20px;
}
.twitter{
	margin-left: 10px;
}
/* ----

Services

---- */

.hero-sub.quote{
    margin: 0 2vw 0 2vw;
    display: none;
    position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.hero-quote{
	font-size: 1.9vw;
    line-height: 1.1em;
    font-style: italic;
}
.hero-attrib::before{
	content: "";
	display: block;
	width: 141px;
	height: 22px;
	margin: 15px auto;
	background-image: url(../img/common/quote-bar.png);
	background-repeat: no-repeat;
}
.hero-attrib{
	font-size: 1.5vw;
    line-height: 1.1em;
}

.secondary-panel.services .secondary-panel-sub{
	width: 80%;
}

.secondary-panel.services .secondary-panel-sub p{
	text-align: left;
}

.services-title{
	float: left;
	font-size: 3vw;
	padding-right: 30px;
	
	
}	

.services-intro{
	overflow: hidden;
	border-left: 2px solid #fff;
	margin-left: 30px;
	padding-left: 30px;
}

.tertiary-panel.services{
	background-color: #fff;
	text-align: left;
}

ul.outline{
	list-style-type: disc;
	max-width: 900px;
	width: 70%;
	display: block;
	margin: auto;
	font-size: 1.6vw;
	font-weight: 700;
}

ul.outline li{
	color: #e9322c;
	margin-bottom: 0.3vw;
	margin-left: 1em;
}
ul.outline li span{
	color: #000;
}

.info_panels{
	width: 70%;
	max-width: 900px;
	margin: auto;
	margin-top: 50px;
}
.info_panel{
	margin-top: 3px;
}
.info_panel p{
	margin-bottom: 0.5em;
}

.info_panel ul{
	margin-bottom: 0.5em;
	list-style: disc;

}
.info_panel ul li{
	margin-left: 1.5em;
}
.panel_title{
	cursor: pointer;
	background-color: #3ca2e1;
	color: #fff;
	display: block;
	padding: 10px;
	font-weight: 700;
	font-size: 1.6vw;
	-webkit-transition: all 100ms;
	-moz-transition: all 100ms;
	-ms-transition: all 100ms;
	-o-transition: all 100ms;
	transition: all 100ms;
}
.panel_title:hover{
	background-color: #3c95e1;
	
}
.cross{
	height: 1.5vw;
	-webkit-transition: all 100ms;
	-moz-transition: all 100ms;
	-ms-transition: all 100ms;
	-o-transition: all 100ms;
	transition: all 100ms;
	float: right;
}
/*
.panel_title::after{
	display: block;
    content: "+";
    float: right;
    font-size: 2em;
    margin-top: -0.27wv;
    font-weight: 500;
    text-align: center;
	-webkit-transition: all 100ms;
	-moz-transition: all 100ms;
	-ms-transition: all 100ms;
	-o-transition: all 100ms;
	transition: all 100ms;
}
*/
.panel_title.open{
	background-color: #e9322c;
}

.panel_title.open .cross{
	-ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*
.panel_title.open::after{
	-ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
*/
.panel_content{
	font-size: 1.5vw;
	line-height: 1.2em;
	padding: 20px;
	background-color: #fbe0e0;
}
#about-wrapper{
	background-color: #fff;
}
#about-hero-wrap{
	float: left;
	width: 40vw;
}

#about-hero{
	background-color: #3ca2e1;
}

#about-hero img{
	margin-left: 10vw;
	display: block;
	width: 30vw;
}

#about-content {
	overflow: hidden;
	padding-top: 10vw;
	padding-left: 2vw;
	padding-bottom: 30px;
	width: 45vw;

}
#about-content p{
	font-size: 1.6vw;
	line-height: 1.1em;
	margin-bottom: 1em;
}
#about-content h2{
	font-size: 1.6vw;
	line-height: 1.1em;
	font-weight: 700;
	color: #e9322c;
	margin-bottom: 1.2em;
}
#about-content h3{
	font-size: 1.6vw;
	line-height: 1.1em;
	color: #3ca2e1;
}
#about-meta{
	margin-left: 10vw;
	width: 30vw;
}

ul.about-outline{
	list-style-type: disc;
	display: block;	
	padding: 20px 0;
	font-size: 1.6vw;
	font-weight: 700;
}
#btn-cv img{
	max-width: 232px;
	width: 15vw;
}
ul.about-outline li{
	color: #e9322c;
	margin-bottom: 0.3vw;
	margin-left: 1em;
}
#enquire-wrapper{
	background-color: #fff;
}
#enquire-content {
	padding: 5vw 0;
	margin: auto;
	width: 70%;
}

#enquiry-form input, #enquiry-form textarea{
	display: block;
	width: 65%;
	float: right;
	background:#e6e6e6;
	border: 0;
	margin-bottom: 4px;
	font-size: 1.6vw;
	font-family: "aktiv-grotesk", arial, sans-serif;
	padding: 10px;
}

#enquiry-form input.parsley-error, #enquiry-form textarea.parsley-error{
	background-color: #fbe0e0;
}
#enquiry-form textarea{
	height: 20vw;
}
.form-label{
	padding: 10px 0;
	font-weight: 700;
	float: left;
	color: #3ca2e1;
	font-size: 1.8vw;
}
.form-label.req::after{
	content: "*";
	color: #e9322c;
}
.form-row{

}
.form-meta{

	width: 65%;
	float: right;
	margin-bottom: 10px;
	color: #e9322c;
	font-weight: 700;
	font-size: 1.4vw;
}
#enquire-hero{
	width: 100%;
	height: 30vw;
	background: url(../img/pages/enquire.jpg) no-repeat center center ;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover; 
}
.enquire-title{
	float: left;
	font-size: 5vw;
	padding-right: 10vw;
	margin-right: 4vw;
	border-right: 2px solid #fff;
	font-weight: 700;
	
}	
.enquire-intro{
	font-size: 2.3vw;
	font-weight: 700;
}
#form-submit{
	display: inline-block;
	background-color: #3ca2e1;
	padding: 20px 50px;
	font-size: 2.3vw;
	font-weight: 700;
	color: #fff;
	text-decoration: none;

}
#form-submit:hover{
	background-color: #3c95e1;
	
}
.submit-wrap{
	width: 65%;
	float: right;
	margin-top: 10px;
}
.parsley-errors-list{
	display: none;
}
#plain-wrapper {
	background-color: #fff;
}
#plain-content {
	overflow: hidden;
	padding-bottom: 3vw;
	padding-top: 3vw;
	width: 60vw;
	margin: auto;
}
#plain-content a{
	    color: #35a0e4;
}
#plain-content h1{
	font-size: 2vw;
	margin-bottom: 1em;
	font-weight: 700;
	color:#35a0e4;
}

#plain-content h2{
	font-size: 1.6vw;
	margin-bottom: 1em;
	font-weight: 700;
	color: #e9322c;
}

#plain-content h3{
	font-size: 1.6vw;
	font-weight: 700;
	margin-bottom: 0.2em;
	color: #e9322c;
}

#plain-content p{
	font-size: 1.5vw;
	line-height: 1.2em;
	margin-bottom: 1em;
}

#plain-content li{
	font-size: 1.5vw;
	line-height: 1.2em;
	margin-bottom: 1em;

}
#plain-content li ul{
	margin-top: 1em;
	margin-left: 4vw;
}
#plain-content {
    counter-reset: section;
  }
  #plain-content h2:before {
    counter-increment: section;
    content: counter(section) ". ";
    margin: 0 0.5em 0 0;
  }
  #plain-content ol {
    counter-reset: clause;
    list-style: none outside none;
    text-indent: -4vw;
    margin-left: 2.4vw;
  }
  #plain-content ol li {
    counter-increment: clause;
  }
  #plain-content ul li {
  	 counter-increment: none;
  }
  #plain-content ol li:before {
    content: counter(section) "." counters(clause, ".");
   	width: 4vw;
   	display: block;
   	float: left;
  }
   #plain-content ul li:before {
  	 content: none;
   	width: 0;
   	border: none;
  }
@media only screen and (max-width: 1020px) {
	#topbar.maxi #logo {
	    width: 180px;
	}
	#topbar-push.maxi {
	    height: 192px;
	}
	#nav{
		font-size: 1em;
	}
	#nav li a{
		padding: 10px 18px 15px 18px;
	}
}
@media only screen and (min-width: 642px) {
	#watermark{
		display: none;
	}
}
@media only screen and (min-width: 1600px) {

	.hero{
		position: relative;
		height: 0;
		float: left;
		width: 33%;
		padding-bottom: 0;
		height: 533px;
		background-color: #ccc;
	}

	.hero-sub{
		font-size: 2em;
	    line-height: 1.2em;
	    text-align: center;
	    margin: 60px 50px 0 50px;
	}

	.hero-quote{
		font-size: 1em;
	}
	.hero-attrib{
		font-size: 0.7em;
	}

	.secondary-panel p{
		font-size: 1.6em;
	}
	#about-content p{
		font-size: 1.6em;
	}
	#nav{
		font-size: 1.4em;
		max-width: 900px;
	}
	#nav li a.here {
	    background-position: center 36px;
	}

	.panel-content{
		font-size: 1.4em;
	}
}

@media only screen and (min-width: 2400px) {

	#wrapper{
		margin: auto;
		width: 2400px;
	}


}

@media only screen and (max-width: 880px) {
	.full-width{
		width: 320px !important;
	    min-width: 320px !important;
	    max-width: 320px !important;
	}
	#topbar,#topbar-push{
		display: none;
	}
	.mobile{
		display: block;
	}
	#wrapper{
		margin: auto;
	}

	.hero{
		float: none;
		height: 220px;
		padding-bottom: 0;
	}
	.hero-sub,.hero-sub.quote{
		
		font-size: 1em;
	}
	.hero-quote{
		font-size: 1em;
	}
	.hero-attrib{
		font-size: 0.7em;
	}
	/*
	
	.hero-sub.quote{
		margin: 0;
		font-size: 1em;
	}
	
	
	*/

	#hero-2{
		
		min-height: 250px;
	}
	.home #hero-2{
		height: auto;
    	padding-bottom: 20px;
    	min-height: 170px;
	}
	#hero-3{
		display: none;
	}
	.secondary-panel{
		padding: 20px;
	}
	.secondary-panel p{
		font-size: 1em;
	}

	.secondary-panel-sub,.services .secondary-panel-sub{
		width: auto !important;
		padding: 0;
	}

	ul.outline{
		font-size: 1em;
		width: 90%;
	}

	ul.outline li{
		margin-bottom: 0.5em;
	}

	ul.about-outline{
		font-size: 1em;
		
	}
	#about-meta{
		width: 90%;
		margin: 10px;
	}
	#btn-cv img{
		width: 116px;
	}
	.services-title{
		float: none;
		font-size: 2em;
		margin-bottom: 0.7em;
		
	}	
	.services-intro{
		border-left: none;
		margin-left: 0;
		padding-left: 0;
	}
	.services-content{

	}
	#enquire-content{
		width: 90%;
	}
	.enquire-title{
		float: none;
		font-size: 2em;
		padding-right: 0;
		margin-right: 0;
		border-right: none;
		margin-bottom: 0.7em;
		
	}	
	.enquire-intro{
		font-size: 1em;
	}
	.form-meta{
		float: none;
		font-size: 1em;
	}
	.form-label{
		width: 100%;
		float: none;
		font-size: 1em;
	}
	.submit-wrap{
		float: none;
	}

	#enquiry-form input, #enquiry-form textarea{
		width: 100%;
		float: none;
		font-size: 1em;
	}

	.info_panels{
		width: auto;
		margin-top: 30px;
	}
	.panel_title,.panel_content{
		font-size: 1em;
	}
	.cross{
		height: 1em;
	}
	.t-btn-wrap {
	    float: none;
	    border-left: 0 !important;
	    width: 320px;
	}
	.t-btn-wrap+.t-btn-wrap{
		border-top: 1px solid #999;
	}
	.t-btn{
		min-height: 280px;
	}
	#footer{
		padding-top: 20px;
	}
	.tertiary-panel {
	    padding: 30px 0 0 0;
	}
	#plain-content{
		width: 320px;
		padding: 10px;
	}
	#plain-content h1{
		font-size: 1.2em;
	}

	#plain-content h2,#plain-content h3,#plain-content p{
		font-size: 1em;
	}
	#about-content{
		width: 320px;
		padding: 10px;
	}
	#about-content p,#about-content h2,#about-content h3{
		font-size: 1em;
	}
	#about-hero{
		width: 320px;
	}
	#about-hero-wrap{
		width: 90%;
	}
	#about-hero img{
		width: 260px;
		margin-left: 60px;
	}
	#footer-left{
		margin-bottom: 1em;
	}
	#footer-left, #footer-mid, #footer-right {
	    float: none;
	    text-align: left;
	}

	#logos{
		display: none;

	}
	#logos-mobile{
		display: block;
		width: 80%;
		max-width: 320px;
		margin: auto;
	}
}