/************************************************ Background ************************************************/
body {
	background:#fbfbfb;
}

input[type='submit']
{
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none; 
}

/************************************************ Format ************************************************/

body, select, input, textarea {
	font-size:62.5%;
	font-family:'Montserrat', Arial, Helvetica, sans-serif;
	color:#1e1e1e;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5 {
	line-height:1.3em;
	font-weight:800;
	color:#00304d;
	font-family: proxima-nova, sans-serif;
}

h1 {
	font-size:30px;	
}

h2 {
	font-size:45px;
	margin:0 0 15px;
}

h3 {
	font-size:30px;
	margin:0 0 25px;
}

h3.nomarg {
	margin:0;
}

h3.light {
	font-size:23px;
	line-height:1.5em;
	margin:0 0 25px;
	font-weight:normal;
	color:#1e1e1e;
}

h4 {
	font-size:15px;
	text-transform:uppercase;
	margin:0 0 10px;
}

h5 {
	font-size:12px;
}

h6 {
	font-size:10px;
}

p {
	font-size:16px;
	line-height:1.6em;
	padding:0 0 30px;
}

a {
	color:#27aae0;
	text-decoration:none;
	transition: all 0.3s ease-out;
}

a:hover {
	color:#27aae0;
	text-decoration:underline;
}

img, object, embed, video {
	max-width: 100%;
}

img {
	height:auto;	
}

strong {
	font-weight:bold;	
}

em {
	font-style:italic;	
}

.clearfix:after {
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;	
}

a.btn{
  display: inline-block;
  position: relative;
  background: none;
  color: #fff;
  font-size: 15px;
  border:2px solid rgba(255,255,255,0.4);
  font-weight:bold;
  cursor: pointer;
  box-sizing:border-box;
}

a.btn:hover{
  color: #fff;
  background:none;
  text-decoration:none;
  border:2px solid rgba(255,255,255,1);
}
a.btn span{
  display: block;
  padding: 13px 20px;
}
a.btn::before, a.btn::after{
  content:"";
  width: 0;
  height: 1px;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
  z-index:2;
}

a.btn span::before, a.btn span::after{
  content:"";
  width:1px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
  z-index:2;
}
a.btn:hover::before, a.btn:hover::after{
  width: 100%;
}
a.btn:hover span::before, a.btn:hover span::after{
  height: 100%;
}

/*----- button 1 -----*/
a.btn::before, a.btn::after{
  transition-delay: 0.2s;
}
a.btn span::before, a.btn span::after{
  transition-delay: 0s;
}
a.btn::before{
  right: 0;
  top: 0;
}
a.btn::after{
  left: 0;
  bottom: 0;
}
a.btn span::before{
  left: 0;
  top: 0;
}
a.btn span::after{
  right: 0;
  bottom: 0;
}
a.btn:hover::before, a.btn:hover::after{
  transition-delay: 0s;
}
a.btn:hover span::before, a.btn:hover span::after{
  transition-delay: 0.2s;
}

/*blue button*/
a.btn.blue{
	border:2px solid rgba(0,48,77,0.7);
	color:#00304d;
}
a.btn.blue:hover{
  border:2px solid rgba(0,48,77,1);
  color:#00304d;
}
a.btn.blue::before, a.btn.blue::after{
  background: #00304d;
}

a.btn.blue span::before, a.btn.blue span::after{
  background: #00304d;
}

table {
	width:100%;
	float:left;	
}

th {
	background:#27aae0;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	text-align:left;
	padding:20px;
	font-family: proxima-nova, sans-serif;
	line-height:1.3em;
}

td {
	padding:20px;
	font-size:16px;
	line-height:1.3em;	
}

tr:nth-child(even) {
	background: #fbfbfb
}

tr:nth-child(odd) {
	background: #FFF;
}


/************************************************ Layout ************************************************/

.row {
	width:100%;
	float:left;
	padding:90px 5%;
	box-sizing: border-box;
}

.row.nopadd_right {
	padding:70px 0 70px 5%;
}

.row.lesspadd {
	padding:40px 5% 40px;
}

.row.white {
	background:#fff;
}

.row.nopadd {
	padding:0;
}

.row.bgtopleft {
	background:url(../images/bg-icons1.png) no-repeat top 0px left;
	background-size:30%;
	position:relative;
	z-index:11;
	margin:-128px 0 0;
	padding:160px 5% 90px;
}

.row.white.bgfull {
	background:url(../images/bg-icons2.png) no-repeat top left #fff;
	background-size:100%;
	position:relative;
	/*z-index:11;
	margin:-128px 0 0;
	padding:160px 5% 90px;*/
}

.row_surround {
	background:url(../images/bg-icons2.png) no-repeat center #fff;
	background-size:100%;
	position:relative;
	width:100%;
	float:left;
}

.row.bgtopright {
	background:url(../images/bg-icons3.png) no-repeat top right;
	background-size:30%;
}

.row.bgtopright2 {
	background:url(../images/bg-icons3.png) no-repeat top right;
	background-size:40%;
}

.row.bgbottomright {
	background:url(../images/bg-icons5.png) no-repeat top right;
	background-size:48%;
}

.row_inner {
	max-width: 1400px;
	min-width: 900px;
	margin:0 auto;
}

header {
	width:100%;
	float:left;
	padding:30px 5% 50px;
	background-size:cover!important;
	box-sizing: border-box;
	position:relative;
}

.arrow_down {
	width:100%;
	position:absolute;
	z-index:10;
	bottom:0;
	left:0;
	line-height:0;
}

#logo {
	width:167px;
	float:left;
}

#logo img {
	width:100%;
}

a.menu_button {
	display:none;	
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 4;
    top: 0;
    right: 0;
    background-color: #fff;
    overflow-x: hidden;
    transition: 0.5s;
}

nav {
	float:right;
	width:80%;
	text-align:right;
	font-weight:800;
	font-family: proxima-nova, sans-serif;
}

nav#top {
	margin:46px 0 30px;
}

nav ul {
	
}

nav#top ul li,
nav#bottom ul li {
	font-size:15px;
	font-weight:bold;
	margin-right:3%;
	display:inline-block;
	vertical-align:top;
}

nav#bottom ul li {
	font-size:19px;
	margin-right:3.5%;
}

nav#top ul li:last-child,
nav#bottom ul li:last-child {
	margin-right:0;
}

nav ul li a {
	color:#fff;
	padding:0 0 4px;
}

nav ul li a:hover,
nav ul li a.selected {
	color:#fff;
	text-decoration:none;
	border-bottom:1px solid #fff;
}

/************************************************ Homepage ************************************************/

.main_text {
	width:100%;
	margin:0 auto;
	padding:300px 5% 200px;
	box-sizing:border-box;
	text-align:center;
}

.main_text h1 {
	font-size:80px;
	font-weight:bold;
	color:#fff;
	line-height:1.3em;
	padding:0 0 40px;
}

.main_text a.btn {
	font-size:20px;	
}

.slider {
	width:100%;
	float:left;
	position:relative;
}

.slider .slick-slide {
	margin-right:40px;
	position:relative;
}

.slider .slick-slide.slick-active {
	opacity:1;	
}

.slider .slide_text {
	color:#fff;	
}

.slider .slide_text h4 {
	font-size:40px;
	font-weight:bold;
}

.slider .slide_text a.link {
	color:#fff;
	display:inline-block;
	border-bottom:none;
}

.slider .slide_text a.link:hover,
.slider .slide:hover .slide_text a.link {
	color:#fff;
	border-bottom:1px solid #fff;	
}

.slider .slide:hover .slide_text a.link i {
	padding-left:8px;
}

.slider .slide_text.bottom {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	padding:30px 30px 30px;
	box-sizing:border-box;
	background:rgba(28,117,187,0.8);
	transition: all .3s ease-out;
}

.slider .slide_text p {
	font-size:20px;
	padding:0;
	font-family: proxima-nova, sans-serif;
	font-weight:800;
}

.slider .slide_text p i {
	float:right;
	margin:6px 10px 0 0;
	transition: all .4s ease-out;
}

.slider .section_subcats {
	width:100%;
	float:left;
	height:0;
	visibility:hidden;
	transition: all .3s ease-out;
	opacity:0;
}

.slider .slide:hover .section_subcats {
	height:100px;
	visibility:visible;
	opacity:1;
}

.slider .slide:hover .slide_text.bottom {
	background:rgba(28,117,187,.9);
}

.slider .slide:hover .slide_text p i {
	float:right;
	margin:6px 0 0;
}

.slider .section_subcats ul {
	width:100%;
	float:left;	
}

.slider .section_subcats li {
	width:50%;
	float:left;
	font-size:15px;
	line-height:1.5em;
	padding:10px 0 0;
	font-weight:bold;
}

.hp_case_study {
	width:100%;
	float:left;
	padding:0 0 0;
	box-sizing:border-box;
	background:#218dcc;
	background-size:cover;
	color:#fff;	
	position:relative;
}

.hp_case_study h2,
.hp_case_study h4 {
	color:#fff;	
}

.hp_case_study img {
	width:100%;
}

.hp_case_study .double_area {
	margin-top:-20%;
	margin-bottom:0;
}

.hp_case_study .content_box.small {
	margin-top:8%;
	width:38%;
}

.hp_case_study.large {
	padding:0 0 80px;
}

.hp_case_study .double_area {
	margin-top:-10%;
	margin-bottom:0;
}

.hp_twitter_surround {
	width:100%;
	float:left;
	position:relative;
	margin:0 0 80px;	
}

.hp_twitter {
	width:500px;
	position:relative;
	float:right;
	z-index:10;
	margin-top:-4%;
}

.testimonial_area {
	width:55%;
	margin:0 0 50px;
}

.testimonial_area ul li {
	width:90%;
	margin:0 0 50px;
	float:right;
	position:relative;
	display:flex;
	flex-flow:row no-wrap;
	justify-content:center;
}

.testimonial_area ul li:nth-child(2n) {
	float:left;
}

.testimonial_area ul li:last-child {
	margin:0;
}

.testimonial_area ul li .person_pic img {
	width:132.5px;
	margin:15px 0 0 0;
	z-index:2;
	position:relative;
}

.testimonial_area ul li .person_pic img {
	border-radius:50%;
	width:132.5px;
	height:132.5px;
}

.testimonial_area ul li .person_quote {
	float:left;
	padding:30px 50px 30px;
	box-sizing:border-box;
	width:80%;
	box-shadow:2px 2px 20px #eaeaea;
	position:relative;
	margin-left:-20px;
	background:#fff;
}

.testimonial_area ul li .person_quote h5 {
	font-size:20px;
}

.testimonial_area ul li .person_quote p {
	font-size:14px;
	padding:0;
}

.bottom_testimonials.last {
	margin:0;	
}

.bottom_testimonials h3,
.bottom_clients h3 {
	font-size:35px;
	margin:0 0 17px;
}

.bottom_clients {
	width:100%;
	float:left;
	text-align:center;
	margin:0 0 30px;
}

.slider_clients {
    width:100%;
	float:left;
	margin:20px 0;
 }

.slider_clients .slick-slide {
    margin: 0 3%;
 }
 
.slider_clients  .slick-list {
    margin: 0 -3%;
 }
 

/************************************************ Services ************************************************/

.service_surround {
	width:100%;
	float:left;
	margin:0 0 150px;
}

.service_surround.bottom {
	margin:0;
}

.service_surround.white {
	background:#fff;
	padding:100px 0 50px;
}

.service_surround_inner {
	display:flex;
	flex-flow:row nowrap;
	width:100%;
	align-items:center;
}

.service_surround h2 {
	font-size:42px;
}

.service_image {
	width:90%;	
}

.service_image img {
	width:100%;	
}

.service_text {
	width:60%;
	z-index:2;
	background:#fff;
	padding:50px;
	box-sizing:border-box;
	margin-left:-5%;
	margin-right:10%;	
}

.service_text.grey {
	background:#fbfbfb;	
}

.service_text.leftalign {
	margin-right:-5%;
	margin-left:10%;	
}

.service_columns {
	width: 100%;
	float: left;
	padding: 0 5%;
	box-sizing: border-box;
}

.service_text_box {
	float:left;
	width:48%;
	margin:50px 0 0;
	padding:0;
	box-sizing:border-box;
}

.service_text_box.right {
	float:right;
}

a.arrowdown {
	font-size:30px;
	color:#252161;
	width:100%;
	float:left;
	box-sizing:border-box;
	padding-left:5%;
}

a.arrowdown:hover {
	color:#b3d354;
	text-decoration:none;
}

/************************************************ About ************************************************/

.qualifications_list {
	width:100%;
	display:flex;
	flex-flow:row nowrap;
	justify-content:space-between;
}

.qual_image {
	width:auto;	
}

.qual_image img {
	width:60%;	
}

.client_list {
	width:55%;
	margin:0 0 50px;
}

.client_list ul {
	width:100%;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
}

.client_list ul li {
	width:32%;
	background:#fff;
	text-align:center;
	box-sizing:border-box;
	padding:50px 15px;
	margin:0 0.5% 4px 0;
}


/************************************************ Main Content ************************************************/

.inner_main_text {
    width: 100%;
    margin: 0 auto;
    padding: 200px 5% 50px;
	text-align:center;
	color:#fff;
	box-sizing:border-box;
}

.inner_main_text h1 {
    font-size:55px;
	color:#fff;
	margin:0 0 20px;
}

.inner_main_text p {
	font-size:16px;
}

.inner_main_text a {
	color:#fff;
	margin:0 10px;
}

.intro_area {
	width:79%;
	padding:0 5%;
	box-sizing:border-box;
	display:flex;
	flex-direction:row;	
}

.intro_text_box {
	float:left;
	width:45%;
	margin:15px 0 0;
	padding:0 0 30px 5%;
	box-sizing:border-box;
}

.intro_text_box.full {
	float:left;
	width:100%;
	margin:0;
	padding:0;
	box-sizing:border-box;
}

.intro_text_box.right {
	float:left;
}

.intro_text_box ul li {
	float:left;
	width:100%;
	font-size:16px;
	line-height:1.5em;
	list-style-type:circle;
	margin: 0 0 10px;
}

.bgtopleft .double_area {
	margin:40px 0 0;	
}

.double_area {
	width:100%;
	display:flex;
	flex-direction:row;
	flex-wrap:no-wrap;
	justify-content:space-around;
	margin:0 0 80px;
	align-items:center;
}

.double_area.small {
	justify-content:space-around;
}

.content_box {
	width:40%;
}

.content_box.smallest {
	width:30%;
}

.content_box.small {
	width:35%;
}

.image_box {
	width:45%;
}

.leftalign {
	order:1;	
}

.rightalign {
	order:2;	
}

.hp_twitter .twitter_feed {
	margin:0;
	padding:30px;
	width:100%;
	background:#fff;
}

.hp_twitter .twitter_feed #tweet1 a i {
    background: #fff;
}

.hp_twitter .twitter_feed p.tweet {
    font-size: 18px;
}

.twitter_feed {
	width:80%;
	box-sizing:border-box;
	border:2px solid #26a7de;
	padding:70px 50px;
	margin:80px 10% 0;
	text-align:center;
	font-size:20px;
	color:#26a7de;
	float:left;
	position:relative;
}

.twitter_feed #tweet1 {
	width:100%;
}

.twitter_feed #tweet1 a.linksurround {
    width: auto;
    text-align: center;
    margin: 0 auto 15px;
    position: absolute;
    top: -34px;
    right: -28px;
    z-index: 2;
}

.twitter_feed .user img {
	display:none;
}

.twitter_feed .user {
	font-size:13px;
	margin:10px 0 0;
	display:none;
}

.twitter_feed .user a {
	color:#26a7de;
}

.twitter_feed .user a:hover {
	color:#26a7de;
	text-decoration:underline;
}

.twitter_feed p.tweet {
	color: #26a7de;
    float: left;
    font-size: 20px;
    line-height: 1.5em;
	padding:0 0 20px;
}

.twitter_feed #tweet1 a i {
    color: #26a7de;
    font-size: 46px;
    width: 80px;
    height: 80px;
    padding: 18px 0 0;
    box-sizing: border-box;
    background: #fbfbfb;
    border-radius: 50%;
    transition: all 0.3s ease-out;
    text-align: center;
}

.twitter_feed #tweet1 a:hover i {
    color: #7bcef2;
	background:#fff;
	transition: all 0.3s ease-out;
}

.twitter_feed p.timePosted {
	color:#26a7de;
	font-size:11px;
	padding:0;
}

.twitter_feed p.tweet a,
.twitter_feed p.timePosted a {
	color:#26a7de;
	text-decoration:underline;
}

.twitter_feed p.tweet a:hover,
.twitter_feed p.timePosted a:hover {
	color:#26a7de;
	text-decoration:none;
}

.twitter_feed .twitter_box.last {
	margin-right:0;	
}

/************************************************ Case Studies ************************************************/

.cs_surround {
	width:100%;
	float:left;	
	margin:70px 0 0;
}

.cs_box {
	width:46%;
	float:left;
	margin:0 0 50px;
	position:relative;
}

.cs_box:nth-child(2n) {
	width:46%;
	float:right;
	margin:80px 0 0 8%;	
}

.cs_box:hover .image_box .long_band {
	width:100%;	
}

.cs_box .image_box {
	width:100%;
	float:left;
	margin:0 0 15px;
	position:relative;	
}

.cs_box img {
	width:100%;
	float:left;	
}

.long_band {
	position:absolute;
	bottom:0;
	left:0;
	width:75%;
	height:20px;
	transition: all 0.3s ease-out;	
}

.long_band.blue {
	background:#1c75bb;	
}
.long_band.green {
	background:#b3d354;	
}
.long_band.pink {
	background:#ed2a7a;	
}
.long_band.lightblue {
	background:#27aae0;	
}
.long_band.darkblue {
	background:#00304e;	
}

.cs_box h3 {
	margin:0 0 5px;	
}

.cs_box a {
	color:#1e1e1e;
}

.cs_box a:hover {
	color:#27aae0;
	text-decoration:none;
}




/************************************************ Contact ************************************************/

.contact_left {
	width:55%;
	float:left;
	margin:70px 0 0;
}

.contact_right {
	background:#252161;
	box-sizing:border-box;
	width:35%;
	float:right;
	padding:50px 50px;
	color:#fff;
	margin:70px 0 0;
}
.contact_right h2 {
	color:#fff;
	margin:0 0 20px;
}
.contact_right p {
	width:100%;
	float:left;
	word-wrap:break-word;
}
.contact_right i {
	float:left;
	color:#ed2a7a;
	font-size:20px;
	margin:2px 0 0;
}
.contact_right span {
	float:left;
	margin-left:5%;
	word-wrap:break-word;
	width:85%;
}


/************************************************ Form Elements ************************************************/


.contact_left .form_item {
	float:left;
    margin:0 2% 0 0;
    vertical-align: top;
    width: 49%;
}

.contact_left .form_item.nopadd {
    margin:0;
}

.contact_left .form_item.large {
    display: inline-block;
    margin:0;
    vertical-align: top;
    width: 100%;
}

.contact_left .form_item label {
   display:block;
   font-size:16px;
   margin:0 0 7px;
}

.contact_left .form_item input {
    border:2px solid #00304e;
	background:none;
	box-sizing: border-box;
	font-weight:bold;
    color: #1e1e1e;
    float: left;
    font-size: 17px;
    height: 55px;
    margin: 0 0 20px;
    padding: 12px 0 10px 15px;
    width: 100%;
}

.contact_left .form_item textarea {
	border:2px solid #00304e;
	background:none;
	box-sizing: border-box;
	font-weight:bold;
    color: #1e1e1e;
    float: left;
    font-size: 17px;
    margin: 0 0 20px;
    padding: 12px 0 10px 15px;
    width: 100%;
	height:200px;
}

.form_item input:focus,
.form_item textarea:focus {
	border:2px solid #7bcef2!important;
}

.form_item label.warning,
.form_item label.warning {
	color:#F00;	
}

.submit_surround {
	width:100%;
	float:left;
}

.submit{
  display: inline-block;
  position: relative;
  background: none;
  color: #fff;
  font-size: 17px;
  border:2px solid rgba(255,255,255,0.4);
  font-weight:bold;
  cursor: pointer;
  box-sizing:border-box;
  padding:0 20px;
}

.submit:hover{
  color: #fff;
  background:none;
  text-decoration:none;
  border:2px solid rgba(255,255,255,1);
}
.submit span{
  display: block;
  padding: 13px 20px;
}
.submit::before, .submit::after{
  content:"";
  width: 0;
  height: 1px;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
  z-index:2;
}

.submit span::before, .submit span::after{
  content:"";
  width:1px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
  z-index:2;
}
.submit:hover::before, .submit:hover::after{
  width: 100%;
}
.submit:hover span::before, .submit:hover span::after{
  height: 100%;
}

.captcha_surround {
	width:100%;
	float:left;
	margin:15px 0 0;	
}

p.red_text {
	color:#FF0004;
	text-transform:uppercase;
	font-size: 18px;	
}

p.green_text {
	color:#b3d354;
	text-transform:uppercase;
	font-size: 18px;
	font-weight:bold;	
}

/*----- button 1 -----*/
.submit::before, .submit::after{
  transition-delay: 0.2s;
}
.submit span::before, .submit span::after{
  transition-delay: 0s;
}
.submit::before{
  right: 0;
  top: 0;
}
.submit::after{
  left: 0;
  bottom: 0;
}
.submit span::before{
  left: 0;
  top: 0;
}
.submit span::after{
  right: 0;
  bottom: 0;
}
.submit:hover::before, .submit:hover::after{
  transition-delay: 0s;
}
.submit:hover span::before, .submit:hover span::after{
  transition-delay: 0.2s;
}

/*blue button*/
.submit{
	border:2px solid rgba(0,48,77,0.7);
	color:#00304d;
}
.submit:hover{
  border:2px solid rgba(0,48,77,1);
  color:#00304d;
}
.submit::before, .submit::after{
  background: #00304d;
}

.submit span::before, .submit span::after{
  background: #00304d;
}

.btn_pink {
    background: #ed2a7a;
    font-weight: bold;
    padding: 10px 15px;
    font-size: 17px;
    color: #fff;
    text-decoration: none;
    float: right;
    cursor: pointer;
    margin: 0;
    border: none;
    width: 20%;
    height: 55px;
    box-sizing: border-box;
	transition: all 0.3s ease-out;
}

.btn_pink:hover {
	background:#b3d354;
	color:#fff;
}

.form_submit {
	float:left;
	width:100%;
}

#mapholder {
	width:100%;
	float:left;
	height:400px;
}

#mapholder img, #mapholder object, #mapholder embed, #mapholder video {
	max-width:none;
	width:auto;
}

#mapholder img {
	height:auto;	
}

#mapholder p {
	color:#000;	
	font-size:14px;
	padding:0;
}

#mapholder p strong {
	font-weight:bold;
}

.honey {
	display:none;	
}


/************************************************ Footer ************************************************/

footer {
	width:100%;
	padding:50px 5%;
	float:left;
	background:#00304e;
	box-sizing: border-box;
	color:#fff;
}

footer a {
	color:#fff;	
}

footer a:hover {
	color:#b3d354;
	text-decoration:none;
}

.mailing_signup {
	width:100%;
	float:left;
	border-bottom:1px solid #003c61;
	padding:30px 0;
	margin:0 0 50px;
	color:#fff;
	background:url(../images/mailingbg.png) no-repeat bottom right;
	background-size:334px;
}

.mailing_text {
	width:35%;
	float:left;	
}

.mailing_form {
	width:55%;
	float:right;
	margin:40px 0 0;	
}

.mailing_form .form_item {
   width:37%;
   display:inline-block;
   margin:0 2% 0 0;
}

.mailing_form .form_item label {
   display:none;
   font-size:16px;
   margin:0 0 7px;
}

.mailing_form .form_item input {
    border:2px solid #fff;
	background:#00304e;
	box-sizing: border-box;
	font-weight:bold;
    color: #fff;
    float: left;
    font-size: 17px;
    height: 55px;
    margin: 0 0 20px;
    padding: 12px 0 10px 15px;
    width: 100%;
}

.mailing_signup h4 {
	font-size:35px;
	margin:0 0 15px;
	color:#fff;	
	text-transform:none;	
}

.mailing_signup p {
	font-size:16px;
	margin:0;	
}

.footer_middle {
	display:flex;
	flex-flow:row nowrap;
	width:100%;
	justify-content:space-between;
}

.footer_col {
	width:25%;	
}

.footer_col img {
	width:190px;
	float:left;
}

.footer_col p {
	padding:0 0 10px;
}

.footer_col .social {
	width:100%;
	float:left;
	margin:50px 0 0;
}

.footer_col .social a {
	font-size:16px;
	margin-right:20px;
	float:left;
}

.footer_col ul.social a:last-child {
	margin-right:0;
}

.footer_col h5 {
	font-size:11.5px;
	text-transform:uppercase;
	color:#b3d354;
	margin:35px 0 20px;
	letter-spacing:1px;
	font-family:'Montserrat', Arial, Helvetica, sans-serif;
	font-weight:bold;
}

.footer_col ul li {
	font-size:16px;
	margin-right:20px;
	float:left;
	color:#fff;
	width:100%;
	margin:0 0 10px;
}

.footer_col ul li a {
	float:left;
	width:100%;
}

.footer_bottom {
	width:100%;
	float:left;
	margin:80px 0 0;
	font-size:12px;
}

.footer_logos {
	float:left;
	width:65%;
}

.footer_bottom p {
	font-size:12px;
	margin:30px 0 0;
	padding:0;
	width:100%;
	float:left;
}



/************************************************ Smaller screens ************************************************/

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

nav#bottom ul li {
    font-size: 17px;
}

.main_text h1 {
    font-size: 72px;
}

.hp_case_study .image_box {
    width: 45%;
    margin-top: -30%;
	z-index:20;
}

.hp_case_study .content_box.small {
    margin-top: 2%;
}

.hp_twitter {
    margin-right: 40px;
}

.hp_case_study .double_area {
    margin-top: -5%;
}

.hp_case_study.large .image_box {
    width: 45%;
    margin-top: -20%;
}

.service_surround {
    margin: 0 0 100px;
}

.service_surround.bottom {
	margin:0;
}

.service_text {
	background: #fff !important;
	margin-left: -5%;
	margin-right: 0;
}

.service_text.leftalign {
    margin-right: -5%;
    margin-left: 0;
    background: #fff;
}

.contact_left {
    width: 45%;
}

.contact_right {
    width: 45%;
}

}

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

.row_inner {
	min-width: 0;
	margin:0;
	width:100%;
	float:left;
}

nav {
	display:none;	
}

/*Mobile Nav*/

a.menu_button {
	font-size:24px;
	color:#fff;
	letter-spacing:1px;
	padding:30px 10px;
	float:right;
	cursor:pointer;
	display:block;
}

a.menu_button:hover {
	color:#c9a390;
	text-decoration:none;
}

a.menu_button span {
	margin-right:15px;
	float:left;
	font-size:22px;
}

a.menu_button strong {
	font-weight:bold;
	padding:5px 0 0;
	float:left;
}

.overlay3 {
    height: 100%;
    width: 0%;
	opacity: 0;
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    background-color: rgba(20,20,20, 0.95);
    overflow-y: auto;
    overflow-x: hidden;
    text-align: center;
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 99999;
    top: 0;
    right: 0;
	background: #a019ed;
	background: -moz-linear-gradient(45deg,  #a019ed 0%, #28a9e0 100%);
	background: -webkit-linear-gradient(45deg,  #a019ed 0%,#28a9e0 100%);
	background: linear-gradient(45deg,  #a019ed 0%,#28a9e0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a019ed', endColorstr='#28a9e0',GradientType=1 );
    overflow-x: hidden;
    transition: 0.5s;
}

ul.mobile_nav {
	width:100%;
	float:left;	
}

ul.mobile_nav li {
	float:left;
	width:100%;
	border-bottom:1px solid #754de8;
}

ul.mobile_nav li:first-child {
	border-top:1px solid #754de8;
}

ul.mobile_nav li a {
	font-weight:bold;
	font-size:17px;
	padding:25px 10px 25px 40px;
	color:#fff;
	box-sizing:border-box;
	width:100%;
	float:left;
}

ul.mobile_nav li a:hover,
ul.mobile_nav li a.selected {
	background: #754de8;
	color:#fff;
	text-decoration:none;
	border-bottom:none;
}

ul.mobile_nav li.selected a:hover {
	color:#be9a87;
}

.sidenav .closebtn {
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 26px;
    margin-left: 50px;
	color:#fff;
	cursor:pointer;
}

.sidenav .closebtn:hover {
   text-decoration:none;
}

.side_contact {
	width:100%;
	float:left;
	box-sizing:border-box;
	padding:25px 10px 20px 40px;
}

.side_address {
	float:left;	
}

.side_address p {
	font-size:12px;
	text-transform:uppercase;
	color:#fff;
	padding:0;
	letter-spacing:1px;
	font-family: 'Roboto', sans-serif;
	font-weight:bold;
}

.side_address p span {
	margin-left:8px;
}

.side_address p strong {
	color:#a1a1a5;
}

.side_address a {
	color:#fff;
}

.side_address a:hover {
	color:#be9a87;
	text-decoration:none;
}

.side_social {
	float:left;
	width:100%;
	margin:0 0 20px;	
}

.side_social ul {
	padding:0;
	float:left;
	text-align:left;
	width:100%;	
}

.side_social ul li {
	vertical-align:top;
	display:inline-block;
	font-size:16px;
	width:auto;
	margin-right:16px;
}

.side_social ul li a {
	color:#fff;
	padding:4px 0;
	float:left;
}

.side_social ul li a:hover {
	color:#be9a87;
}

/*Other pages*/

h2 {
    font-size: 36px;
    margin: 0 0 15px;
}

.row.lesspadd {
    padding: 0 5% 40px;
}

.row.bgtopleft {
    background-size: 50%;
    margin: -68px 0 0;
    padding: 80px 5% 90px;
}

.row.bgtopright {
    background-size: 45%;
}

.row.bgbottomright {
    background-size: 80%;
}

.inner_main_text {
    padding: 250px 5% 50px;
}

.double_area {
    justify-content: space-between;
}

.content_box {
    width: 65%;
}

.image_box {
    width: 30%;
}

.double_area.bottom_testimonials {
    justify-content: space-around;
	flex-wrap:wrap;
	margin:0;
}

.double_area.bottom_testimonials .content_box.smallest {
    width: 100%;
}

.testimonial_area {
    width: 100%;
    margin: 50px 0 0;
}

.bottom_clients {
    margin: 50px 0 30px;
}

.hp_twitter_surround {
    margin: 0;
}

.hp_twitter {
    width: 56%;
	margin-top:0;
}

.client_list {
    width: 100%;
    margin: 50px 0 0;
}

.hp_case_study.large .image_box {
    margin-top: -40%;
}

.hp_case_study.large .content_box.small {
    margin-top: 11%;
}

.intro_area {
    width: 90%;
}

.service_surround {
    margin: 0 0 50px;
}

.service_surround_inner {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    align-items: center;
}

.service_image.leftalign,
.service_image.rightalign {
	order:1;
	width:100%;
	padding-right:10%;
	box-sizing:border-box;
	background:#fff;
}

.service_text.leftalign,
.service_text.rightalign {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
	order:2;
}

.contact_left,
.contact_right {
    width: 100%;
}

/*Footer*/

.mailing_text {
    width: 100%;
    float: left;
}

.mailing_form {
    width: 100%;
    float: left;
    margin:0;
}

.footer_middle {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    justify-content: space-between;
}

.footer_col {
    width: 50%;
}

.footer_bottom {
    margin: 30px 0 0;
}

.footer_logos {
    float: left;
    width: 100%;
}
	
}



/************************************************ Mobile ************************************************/

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


}

@media handheld, only screen and (max-width: 550px) {

#logo {
    width: 117px;
    float: left;
}

h2 {
    font-size: 30px;
    margin: 0 0 15px;
}

p {
    padding: 0 0 25px;
}

.row {
    padding: 50px 5%;
}

.row.bgtopleft {
    background-size: 100%;
    margin: -30px 0 0;
    padding: 80px 5% 0;
}

.row_surround {
    background-size: 300%;
}

.main_text {
    padding: 180px 0 50px;
}

.main_text h1 {
    font-size: 46px;
	padding:0 0 20px;
}

.main_text a.btn {
    font-size: 18px;
}

.double_area {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 0 0 80px;
    align-items: center;
}

.row.lesspadd .double_area {
    margin: 0;
}

.content_box {
    width: 100%;
}

.image_box {
    width: 100%;
    margin: 50px 0 0;
}

.hp_case_study .image_box {
    width: 80%;
    margin-top: 0;
    z-index: 20;
}

.hp_case_study .content_box.small {
	margin:0;
    width: 100%;
    padding: 30px 10%;
    box-sizing: border-box;
}

.hp_case_study.large .image_box {
    margin-top: -2px;
    width: 100%;
}

.hp_case_study.large .content_box.small {
    margin-top: 0;
	padding: 50px 10% 0;
}

.inner_main_text {
    padding: 170px 5% 0;
}

.inner_main_text h1 {
    font-size: 40px;
}
.inner_main_text p {
    padding:0;
}

.hp_twitter {
    width: 75%;
}

.testimonial_area ul li {
    width: 100%;
    margin: 0 0 50px;
    float: right;
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.testimonial_area ul li .person_quote {
    padding: 30px;
    width: 100%;
    margin-left: 0;
}

.bottom_testimonials h3, .bottom_clients h3 {
    font-size: 30px;
}

.intro_area {
    width: 100%;
    padding: 0 0 15px;
}

.intro_text_box {
    float: left;
    width: 100%;
    margin:0;
    padding: 0;
    box-sizing: border-box;
}

.row.lesspadd .image_box {
    width: 100%;
    margin: 0 0 30px;
}

h3.light {
    font-size: 20px;
}

.client_list ul li {
    width: 48%;
    padding: 30px 15px;
    margin: 0 1.5% 4px 0;
}

.qualifications_list {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.qual_image {
    width: 48%;
	margin:25px 0 0;
}

.double_area.bottom_testimonials {
    margin: 0 0 30px;
}

.double_area.bottom_testimonials.last {
    margin: 0;
}

.service_text_box {
    float: left;
    width: 100%;
    margin: 50px 0 0;
}

.service_text_box.right {
    margin:0;
}

.service_text {
    padding: 25px;
}

.contact_left, .contact_right {
    width: 100%;
    margin: 0 0 30px;
}

.contact_left .form_item {
    float: left;
    margin: 0;
    vertical-align: top;
    width: 100%;
}

.contact_right {
    margin: 0;
}

.twitter_feed {
    width: 90%;
    padding: 50px 30px;
    margin: 80px 5% 0;
}

.cs_surround {
    width: 100%;
    float: left;
    margin: 0;
}

.cs_box {
    width: 100%;
    float: left;
    margin: 0 0 20px;
    position: relative;
}

.cs_box:nth-child(2n) {
    width: 100%;
    float: right;
    margin: 0 0 20px;
}

.bottom_clients {
    margin: 20px 0 30px;
}

.mailing_signup h4 {
    font-size: 30px;
}

.mailing_signup {
    padding: 0 0 30px;
}

.footer_col {
    width: 100%;
}

.footer_col h5 {
    margin: 35px 0 10px;
}

.mailing_form .form_item {
    width: 100%;
    display: inline-block;
    margin: 0;
}

.btn_pink {
    width: 100%;
}

}

/* ========================================== */
/* ! Provide higher res assets for iPhone 4   */
/* ========================================== */

@media only screen and (-webkit-min-device-pixel-ratio: 2) { 


}