/*--Designed and built by: http://stuarthancock.co.uk--*/

/*--Reset*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, div {
	display: block;
	}

ol, ul {
	list-style: none;
	}

div.twoA ul {
	margin: 0 30px 20px 30px;
}	

div.twoA ul li {
	list-style: disc;
}
	
blockquote, q {
	quotes: none;
	}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	}

strong {
	font-weight: bold;
}	
	
/* remember to define visible focus styles! 

:focus {
	outline: ?????;
	} */

/* remember to highlight inserts somehow! */

ins {
	text-decoration: none;
	}

del {
	text-decoration: line-through;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	}	
	
* {
	-webkit-text-size-adjust: none;
}

/*--Colour Pad*/

/*--Typography*/

/*--Main*/

	
body {
	background: #FFF;
	color: #333;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 20px 0;
	font-weight: 800;
	}

h1 {
  font-size: 30px;
  line-height: 40px;
}

h2 {
  font-size: 24px;
  line-height: 30px;
}

h3 {
  font-size: 18px;
  line-height: 24px;
}

h4 {
  font-size: 18px;
  line-height: 24px;
}

h5 {
  font-size: 16px;
  line-height: 20px;
}

h6 {
  font-size: 14px;
  line-height: 20px;
}

p {
	margin: 0 0 20px 0;
}

a {
	color: #e21b1f;
	text-decoration: none;
}	

a:hover {
	text-decoration: underline;
}

/*--Page*/

div#page-wrapper {

}

/*--Header*/

#header_wrapper {
	margin: 0;	
	height: 160px;
	padding: 0px;
	/*text-align: center;*/
	background: #e21b1f;
}

header {
	width: 940px;
	margin: 0px auto;
	position: relative;
}

.infoStrip {
	height: 40px;
	background: #000;
	color: #FFF;
}

.infoStrip div.one {
	margin: 0;
}

.infoStrip div.one p {
	margin: 0;
	padding: 9px 0 0 0;
	text-transform: uppercase;
	font-weight: 600;
}

.infoStrip div.one p br {
	display: none;
}

.infoStrip div.one p a {
	color: #000;
}

.infoStrip div.one p span {
	float: right;
	display: inline-block;
	font-weight: 600;
}

div#logo {
	position: absolute;
	top: 18px;
	left: 0px;
}

div#logo p {
	font-size: 18px;
	line-height: 24px;
	margin: 0 0 10px 0;
	font-weight: 600;
	text-align: center;
	color: #FFF;
}

div#logo a {
	font-size: 44px;
	font-weight: 800;
	color: #FFF;
	padding: 0 0 0 0;
	border-bottom: 5px solid #e8494c;
	margin: 0;
}

div#logo a:hover {
	text-decoration: none;
}

p.strapline {
	font-size: 24px;
	line-height: 30px;
	font-weight: 700;
	background: #000;
	color: #FFF;
	display: inline-block;
	padding: 5px 30px 10px 30px;
	position: absolute;
	top: 37px;
	right: 0px;
	margin: 0;
}

/*--Nav*/

div.nav_wrapper {
	display: block;
	position: relative;
	z-index: 100;
}

div.nav_inner {
	width: 940px;
	margin: 0px auto 0px auto;
	position: relative;
}

#menu {
	position: absolute;
	top: 61px;
	right: 0px;
}

#menu li {
	float: left;
	display: block;
}

#menu li a,
#menu li span.menuItem {
	position: relative;
	display: block;
	font-size: 14px;	
	line-height: 16px;
	font-weight: 600;
	color: #FFF;
	background: none;
	text-decoration: none;
	text-transform: uppercase;
	padding: 5px 10px;
	margin: 0px;
	cursor: pointer;
	text-align: center;
	border-right: 1px solid #FFF;
}

#menu li a.contact {
	padding: 5px 0 5px 10px;
	border: none;
}

#menu li a.home {
	padding: 5px 15px 5px 15px;
}

#menu li a:hover,
#menu li a.active,
#menu li a.current {
	color: #f6bbbc;
}

#menu li ul {
	left : -999em;
	position: absolute;
	background: #000;
}

#menu li ul li {
	float : none;
	margin-left: 0px;
	border-right: none;
}

#menu li ul a {
	width: 191px;
	color: #FFF;
	text-transform: none;
	font-weight: normal;
	font-size: 14px;
	border-right: none;
	padding: 8px 15px;
} 

#menu li ul a:hover {
	color: #FFF;
	background: #e21b1f;
}

#menu li a.btnMenuExpand,
#menu li a.btnMenuContract {
	display: none;
}

#menu li ul li {
	float : none;
	margin-left: 0px;
}

#menu li ul ul {
	margin: -32px 0 0 170px;
}

#menu li.sfhover ul ul {
	left: -999em;
}

#menu li.sfhover ul, 
#menu li li.sfhover ul {
	left: auto;
}

#menu li:hover ul ul, 
#menu li:hover ul ul ul, 
#menu li.sfhover ul ul, 
#menu li.sfhover ul ul ul {
	left: -999em;
}

#menu li.sfhover ul, 
#menu li li.sfhover ul, 
#menu li li li.sfhover ul {
	left: auto;
}

/*--SubNav*/

.subNav {
	background: #e21b1f;
	padding: 20px 0;
	margin: 0 0 30px 0;	
}

.subNav h3 {
	color: #FFF;
}

.subNav h3,
.subNav ul li h3 {
	margin: 0 0 10px 0;
	padding: 0 20px;
	
}

.subNav li h3 {
	padding: 0;
}

.subNav li h3 a:hover {
	background: 000;
	color: #FFF;
}

.subNav h3 a {
	text-decoration: none;
	color: #FFF;
}

.subNav li {
	padding: 0;
}

.subNav li a {
	display: block;
	padding: 5px 20px 7px 20px;
	text-decoration: none;
	color: #FFF;
}

.subNav li a:hover {
	background: #000;
	color: #FFF;
}

ul.subNav li ul {
	background: #91ca5c;
	margin: 0 0 10px 0;
}

ul.subNav li ul li a {
	padding: 6px 0 6px 30px;
}

/*--Responsive Nav*/	

div.button_inner {
	width: 940px;
	margin: 0px auto;
	position: relative;
}

div.button_inner p {
	display: none;
}

/*--slider header - img-container*/

.slider-container {
	height: 140px;
	/*margin: 0 0 60px 0;*/
	visibility: hidden;
	position: relative;
}

.img-container {
	height: 325px;
	position: relative;
	margin: 0 0 60px 0;
	/*background: url(images/tax_investigation.jpg) no-repeat center center;*/
	background: url(images/envelope_angled.jpg) no-repeat center center;
	background-size: cover;
}

#slider  {
	/*height: 500px;*/
}

#slider div.slide {
	height: 140px;
	/*background: #CCC;*/
}

#slider div.slide img {
	width: 138px;
	border: 1px solid #CCC;
	margin: 0 20px 0 0;
	float: left;
	/*width: 100%;
	min-height: 500px;*/
}

div.slide {
	/*height: 500px;*/
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.slider-container div.column {
	width: 940px;
	margin: 0 auto;
}

a.bx-prev,
a.bx-next  {
	height: 40px;
	width: 40px;
	position: absolute;
	top: 0px;
	display: block;
	text-indent: -9999px;
	z-index: 99;
}

a.bx-prev {
	/*left: -17px;*/
	background: url(images/previous.png);
}

a.bx-next {
	/*right: -136px;*/
	background: url(images/next.png);
}

.bx-controls {
	width: 100%;
	text-align: center;
	margin: -50px auto 0 auto;
	padding: 0;
	z-index: 99;
	position: relative;
}

.bx-pager-item {
	display: inline-block;
	padding: 18px 0 0 0;
}

div.bx-pager-item a {
	text-indent: -9999px;
	display: block;
	width: 12px;
	height: 12px;
	margin: 0 5px;
	outline: 0;
	background: #FFF;
	border-radius: 10px;
}

div.bx-pager-item a.active, 
div.bx-pager-item a:hover {
	background: #CCC;
}

/*--Content*/

p.description {
	margin: -10px 0 10px 0;
}

div.column-wrapper {
	clear: both;
}
	
div.column {
	width: 940px;
	margin: 0px auto;
	padding: 0;
}

.singleColumn {
	width: 780px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
	
.singleColumn h2 {
	font-weight: 600;
	font-size: 18px;
	line-height: 24px;
}	

.singleColumn ul {
	margin: 0 0 20px 0;
}
	
div.one {
	margin-bottom: 40px;
}	

div.twoA {
	width: 600px;
	float: left;
	margin: 0 40px 60px 0;
}

div.twoB {
	width: 300px;
	float: left;
	margin: 0 0 60px 0;
}

.threeA,
.threeB,
.threeC {
	width: 300px;
	float: left;
	margin: 0 20px 40px 0;
}
		
.threeC {
	margin: 0 0 40px 0;
}

.slider-intro-container {
	position: relative;
}

.slider-intro-container h2 {
	margin: 0;
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	margin: 0 0 0 0;
	/*text-shadow: 2px 2px 2px #000;*/
	position: absolute;
	top: 235px;
	left: 44px;
	color: #FFF;
}

.slider-intro-container h2 a {
	color: #FFF;
}

.slider-intro {
	width: 940px;
	position: absolute;
	top: 65px;
	left: 0px;
	z-index: 99;
	color: #FFF;
	padding: 0px;
	text-align: center;
}

.slider-intro img {
	height: 65px;
	margin: 0 0 30px 0;
}

.slider-intro h1 {
	font-size: 60px;
	line-height: 70px;
	margin: 0 0 0 0;
	display: inline-block;
	font-weight: 800;
	text-transform: uppercase;
	text-shadow: 2px 2px 2px #000;
}

.slider-intro a.button {
	margin: 0 15px;
	background: #6986a1;
	/*border: 2px solid #FFF;*/
}

.slider-intro a:hover.button {
	/*border:  2px solid #900b07;*/
}

a.button {
	background: #000;
	color: #FFF;
	padding: 10px 20px;
	/*border-radius: 5px;*/
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	-webkit-transition: background 0.7s;
	-moz-transition: background 0.7s;
	-o-transition: background 0.7s;
	transition: background 0.7s;
	display: inline-block;
}

a:hover.button {
	background: #333;
	color: #fff;
}
		
.sidebarRightMain {
	width: 580px;
	margin: 0 60px 60px 0;
	float: left;
}

.sidebarRight {
	width: 300px;
	float: right;
	margin: 0 0 40px 0;
}

div.clear {
	clear: both;
}

/*--title*/

.title {
	/*background: #EEE;*/
	background: url(images/tax_investigation.jpg) no-repeat center center;
	color: #FFF;
	padding: 20px 0;
	margin: 0 0 30px 0;
	text-align: center;
}

.title h1 {
	margin: 0;
}

.column-wrapper.title div.one {
	margin: 0;
}

.singleImage {
	width: 100%;
	display: block;
	margin: 0 0 30px 0;
}

/*--intro*/

.intro {
	text-align: center;
}

.intro h2 {
	font-weight: 600;
}

.intro div.twoA {
	width: 540px;
	margin: 0 20px 60px 80px;
	padding: 5px 0 0 0;
}

p.contact {
	background: #000;
	color: #FFF;
	font-weight: 800;
	font-size: 18px;
	line-height: 24px;
	text-align: center;
	padding: 15px 20px;
	margin: 0;
	display: inline-block;
}

.intro div.twoB {
	width: 220px;
}

.intro div.twoB img {
	width: 100%;
}

/*--key areas*/

.key-areas {
	background: #e21b1f;
	padding: 35px 0 20px 0;
	margin: 0 0 55px 0;
	text-align: center;
	color: #FFF;
}

.key-areas a:nth-child(5) {
	margin: 0 20px 0 110px;
}

/*body#contactthanks .key-areas {
	margin : 0 0 0 0;
}*/

.key-areas h2 {
	display: inline-block;
	padding: 0 0 5px 0;
	border-bottom: 5px solid #e8494c;
}

.key-areas div.one {
	margin: 0;
}

.service {
	width: 220px;
	display: block;
	float: left;
	margin: 0 20px 20px 0;
}

.services .service:nth-child(4n) {
	margin: 0 0 20px 0;
}

.service h3,
.service h3.single  {
	height: 43px;
	padding: 20px 0 10px 0;
	background: #FFF;
	margin: 0;
	font-size: 14px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	color: #e21b1f;
}

.service h3.single {
	height: 33px;
	padding: 28px 0 12px 0;
}

a.service {
	text-decoration: none;
}

a:hover.service {
	opacity: .8;
}

/*--cases*/

.cases {
	text-align: center;
}

div.column.cases {
	margin: 0 auto 40px auto;
}

.cases h2 {
	display: inline-block;
	padding: 0 0 5px 0;
	border-bottom: 5px solid #e21b1f; 
}

.case {
	background: #EEE;
	padding: 15px 20px 20px 20px;
	text-align: left;
	min-height: 165px;
	position: relative;
}

.case h3 {
	font-weight: 300;
	margin: 0 0 5px 0;
}

.cases div.threeA,
.cases div.threeB,
.cases div.threeC {
	margin: 0 20px 20px 0;
}

.cases div.threeC {
	margin: 0 0 20px 0;
}

.case a.button {
	position: absolute;
	bottom: 20px;
	right: 20px;
}

/*--clear fix*/

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

/*--contact form*/		

form#contactForm {
	width: 500px;
	height: auto;
	margin: 0 auto 0 auto;
}

form#contactForm input {
	padding: 5px;
	width: 100%;
	height: 40px;
	margin: 0px 0px 20px 0px;
	border: none;
	box-shadow: none;
	border: 1px solid #CCC;
}

form#contactForm textarea {
	width: 100%;
	height: 152px;
	box-shadow: none;
	border: none;
	margin: -20px 0 0 0;
	border: 1px solid #CCC;
}

form#contactForm textarea:focus, #contact-area input:focus {
	border: 1px solid #cfcfcf;
}

form#contactForm input.button {
	width: 100%;
	clear: both;
	border: none;
	height: 40px;
	display: block;
	text-align: center;
	color: #FFF;
	/*font-size: 18px;
	text-transform: uppercase;*/
	margin: 20px 0 0 0;
	padding: 0 20px;
	text-decoration: none;
	background-color: #000;
	font-side: 14px;
	font-weight: 600;
}

label {
	clear: both;
	padding: 0 0 5px 0;
	display: block;
	color: #333;
	text-align: left;
}

label.error {
	color: #e21b1f;
	margin: -15px 0 0 0;
}

form#contactForm .message label.error {
	margin: 0;
}

div.one.thankyou {
	width: 500px;
	margin: 0 auto;
	min-height: 250px;
}

/*--map*/

.map {
	height: 300px;
	display: block;
	margin: 0 0 30px 0;
}

/*--office*/

.office {
	width: 280px;
	float: left;
	margin: 0 40px 0 0;
}

.office h2 {
	margin: 0 0 10px 0;
}

.office p.tel {
	margin: 10px 0 0 0;
	font-size: 18px;
	font-weight: 700;
}

.offices {
	margin: 0 0 40px 0;
}

.offices .office:nth-child(2) {
	margin: 0 0 0 0;
}

/*--help / details*/		

.help-you,
.details {
	border: 1px solid #FFF;
	margin: -2px auto 0 auto;
}

.help-you h2,
.details h3 {
	background: #6986a1 url(images/arrow_expand.png) no-repeat 568px;
	padding: 10px 40px 10px 20px;
	font-weight: 600;
	font-size: 14px;
	color: #FFF;
	line-height: 18px;
	margin: 0;
	cursor: pointer;
	text-align: left;
}

.help-you-closed h2,
.details-closed h3 {
	border-bottom: none;
	background: #6986a1 url(images/arrow_collapse.png) no-repeat 568px;
}

.help-you-body,
.details-body {
	padding: 20px 20px 0px 20px;
	display: none;
	background: #EEE;
	border-bottom: 1px solid #EEE;
	border-left: 1px solid #EEE;
	border-right: 1px solid #EEE;
	text-align: left;
}

.help-you-closed .help-you-body,
.details-closed .details-body {
	display: block;
}

.data-buttons {
	width: 100%;
	height: 33px;
	clear: both;
	margin: 0 0 20px 0;
}

.data-button {
	float: right;
	width: 110px;
	margin-left: 10px;
	padding: 5px 10px;
	text-decoration: none;
	border: solid 1px #6986a1;	
	background-repeat: no-repeat;
	background-position: 110px center;
	background-color: #6986a1;
	color: #FFF;
}

.data-button:hover {
	background-color: #97c0e6;
	border-color: #97c0e6;
	text-decoration: none;
	/*color: #97c0e6;*/
}

#dataExpand {
	background-image: url(images/arrow_expand.png);
}

#dataCollapse {
	background-image: url(images/arrow_collapse.png);
}

.moreDetails .details:last-child {
	margin: -1px 0 30px 0;
} 

.details p.name {
	font-weight: 700;
	font-style: Italic;
}

/*--footer*/		
	
div#footer-wrapper {
	clear: both;
	padding: 30px 0;
	background: #333;
	color: #FFF;
	position: relative;
	z-index: 99;
	margin: 0;
	text-align: center;
}
	
footer {
	width: 940px;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

div#address.one {
	margin: 0;
}

footer div.one {
	margin: 0 0 0 0;
}

footer p {
	margin: 0;
}

footer p.SOdescription {
	margin: 0 0 20px 0;
}

footer h2 {
	display: inline-block;
	padding: 0 0 5px 0;
	border-bottom: 5px solid #e21b1f;
	margin: 0 0 5px 0;
}

footer span {
	margin: 0 10px;
}

footer span.address {
	margin: 0;
}

div.column-wrapper.terms {
	padding: 0;
}

div.one.terms {
	margin: 0;
}

div.terms {
	/*height: 40px;*/
	clear: both;
	font-size: 14px;
}

div.terms p {
	margin: 0;
}

div.one.terms p span {
	margin: 0 15px 0 0;
}

div.terms ul {
	clear: both;
}	

div.terms ul li {
	padding: 0;
	background: none;
	float: left;
	margin-right: 15px;
}

/* `Widths
----------------------------------------------------------------------------------------------------*/

.input_tiny {
  width: 50px;
}

.input_small {
  width: 100px;
}

.input_medium {
  width: 150px;
}

.input_large {
  width: 200px;
}

.input_xlarge {
  width: 250px;
}

.input_xxlarge {
  width: 300px;
}

.input_full {
  width: 100%;
}

/*
  Added via JS to <textarea> and class="input_full".
  Applies only to IE7. Other browsers don't need it.
*/
.input_full_wrap {
  display: block;
  padding-right: 8px;
}

/* `UI Consistency
----------------------------------------------------------------------------------------------------*/

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="search"]::-webkit-search-decoration {
  display: none;
}

input,
button,
select,
textarea {
  margin: 0;
  vertical-align: middle;
}

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  vertical-align: top;
  top: 3px;
  /* IE8, IE9, IE10 */
  top: 0\0;
  /* IE7 */
  *top: -3px;
}

/* iPad */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 2px;
  }
}

/* iPhone 3 */
@media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

/* iPhone 4 */
@media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px) {
  input[type="radio"],
  input[type="checkbox"] {
    vertical-align: baseline;
    top: 0;
  }
}

button,
input[type="reset"],
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background: #ddd url(../img/button.png) repeat-x;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(1, #ddd));
  background: -moz-linear-gradient(top center, #fff 0%, #ddd 100%);
  border: 1px solid;
  border-color: #ddd #bbb #999;
  cursor: pointer;
  color: #333;
  /*
    Helvetica Neue present, because it works better
    for line-height on buttons than Arial, on OS X.
  */
  font: 16px/1.3 Arial, 'Liberation Sans', FreeSans, sans-serif;
  outline: 0;
  overflow: visible;
  padding: 3px 10px;
  text-shadow: #fff 0 1px 1px;
  width: auto;
  
  /* overide styles from basic above */
  
  border-radius: 0;
  border: none;
  background: #6986a1;
  text-transform: uppercase;
  color: #FFF;
  text-shadow: none;
  padding: 5px 10px;
  font-size: 14px;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 0px;
}

button {
  /* IE7 */
  *padding-top: 1px;
  *padding-bottom: 1px;
}

textarea,
select,
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
  -webkit-appearance: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  background-color: #fff;
  border: 1px solid;
  border-color: #848484 #c1c1c1 #e1e1e1;
  color: #000;
  outline: 0;
  padding: 2px 3px;
  font-size: 13px;
  /*
    Leaving out Helvetica Neue, to not throw off size="..."
    on inputs. Arial is more reliable, on Windows and OS X.
  */
  font-family: Arial, 'Liberation Sans', FreeSans, sans-serif;
  height: 1.8em;

  /* IE7 */
  *padding-top: 2px;
  *padding-bottom: 1px;
  *height: auto;
}

/*
  Separate rule for Firefox.
  Separate rule for IE, too.
  Cannot stack with WebKit's.
*/
::-webkit-input-placeholder {
  color: #888;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #888;
}

input.placeholder_text,
textarea.placeholder_text {
  color: #888;
}

:invalid {
  /*
    Suppress red glow that Firefox
    adds to form fields by default,
    even when user is still typing.
  */
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

button:focus,
button:active,
input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  -moz-box-shadow: #aaa 0 0 7px;
  -webkit-box-shadow: #aaa 0 0 7px;
  box-shadow: #aaa 0 0 7px;

  /* for Opera */
  z-index: 1;
}

input[type="file"]:focus,
input[type="file"]:active,
input[type="radio"]:focus,
input[type="radio"]:active,
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

select[disabled],
textarea[disabled],
input[type="date"][disabled],
input[type="datetime"][disabled],
input[type="datetime-local"][disabled],
input[type="email"][disabled],
input[type="month"][disabled],
input[type="number"][disabled],
input[type="password"][disabled],
input[type="search"][disabled],
input[type="tel"][disabled],
input[type="text"][disabled],
input[type="time"][disabled],
input[type="url"][disabled],
input[type="week"][disabled] {
  background-color: #eee;
}

button[disabled],
input[disabled],
select[disabled],
select[disabled] option,
select[disabled] optgroup,
textarea[disabled] {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: #888;
  cursor: default;
}

textarea,
select[size],
select[multiple] {
  height: auto;
}

/* Tweaks for Safari + Chrome. */
@media (-webkit-min-device-pixel-ratio: 0) {
  select {
    background-image: url(../img/select_arrow.gif);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
  }

  select[size],
  select[multiple] {
    background-image: none;
    padding: 0;
  }

  ::-webkit-validation-bubble-message {
    box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #666), color-stop(1, #000));
    border: 1px solid;
    border-color: #747474 #5e5e5e #4f4f4f;
    color: #fff;
    font: 11px/1 'Lucida Grande', Arial, 'Liberation Sans', FreeSans, sans-serif;
    padding: 15px 15px 17px;
    text-shadow: #000 0 0 1px;
  }

  ::-webkit-validation-bubble-arrow,
  ::-webkit-validation-bubble-top-outer-arrow,
  ::-webkit-validation-bubble-top-inner-arrow {
    display: none;
  }
}

textarea {
  min-height: 40px;
  overflow: auto;
  resize: vertical;
  width: 100%;
}

optgroup {
  color: #000;
  font-style: normal;
  font-weight: normal;
}

/*  #Mobile (Portrait)
================================================== */

    /* Note: Design for a width of 320px */
	/* 768px upwards, is desktop */

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

		header,
		div.nav_inner,
		div.button_inner,
		div.column,
		footer,
		ul#menu,
		div.one,
		div.twoA,
		div.twoB,
		div.threeA,
		div.threeB,
		div.threeC,
		div.fourA,
		div.fourB,
		div.fourC,
		div.fourD,
		div.sidebarRightNav,
		div.sidebarRightMain,
		div.sidebarRight,
		.slider-container	{
			float: none;
			width: 100%;
			clear: both;
			margin: 20px auto;
		}
		
		div.sidebarRightMain,
		div.sidebarRight,
		div.one.singleColumn,
		div.twoA,
		div.twoB,
		.intro div.twoA,
		.intro div.twoB,
		.cases div.threeA,
		.cases div.threeB,
		.cases div.threeC,
		.cases p {
			width: 90%;
			margin: 0 5% 20px 5%;
		}
		
		ul#menu,
		div.column.cases {
			margin: 0 auto 0 auto;
		}
		
		.case {
			min-height: auto;
			/*position: static;*/
		}
		
		.case p {
			width: 100%;
			margin: 0 0 20px 0;
		}
		
		.case a.button {
			position: static;
		}
		
		.intro h2 {
			font-size: 14px;
			line-height: 22px;
		}
		
		.intro div.twoA {
			padding: 0 0 0 0;
			text-align: center;
		}
		
		div.one.singleColumn h2 br,
		div.one.singleColumn p br {
			display: none;
		}
		
		header,
		div.nav_inner,
		div.button_inner,
		ul.menu {
			margin: 0px auto;
		}
	
		/*--header*/
	
		#header_wrapper {
			height: auto;
			padding: 0px;
			margin-bottom: 0px;
		}
		
		.infoStrip {
			width: 100%;
			position: absolute;
			top: 0;
			display: none;
		}
		
		.infoStrip div.one p {
			font-size: 9px;
			line-height: 12px;
			text-align: right;
			padding: 7px 10px 0 0;
		}
		
		.infoStrip div.one p br {
			display: block;
		}
		
		.infoStrip div.one p span {
			display: block;
			right: 10px;
		}
		
		div#logo {
			/*width: 220px;
			height: 49px;
			width: 100%;
			text-align: center;*/
			left: 10px;
			top: -75px;
			z-index: 999;
		}
		
		div#logo p {
			font-size: 12px;
			line-height: 18px;
			margin: 0 0 5px 0;
		}
		
		div#logo a {
			font-size: 36px;
		}
		
		div.button_wrapper,
		div.button_inner {
			height: 80px;
			padding: 0px;
			margin: 0;
			background: #e21b1f;
		}
		
		div.button_inner p {		
			display: inline;
			position: absolute;
			right: 10px;
			top: 47px;
			z-index: 99;
			margin: 0;
			/*display: none;*/
		}
		
		div.button_inner p a span {
			background: #FFF;
			display: block;
			width: 30px;
			height: 5px;
			margin: 0 0 3px 0;
		}
		
		div.button_inner p a {
			cursor: pointer;
			color: #000;	
			padding: 0;
			border-radius: 5px 5px 0px 0px;	
		}	
	
		/*--menu*/
		
		div.nav_wrapper {
			background: #FFF;
			clear: both;
			height: auto;
			display: none;
			margin-bottom: 0px;
			margin: 0;
			overflow-y: hidden;
			padding: 0 0 0 0;
		}
		
		div.nav_inner,
		#menu {
			clear: both;
			position: relative;
			height: auto;			
		}
		
		#menu {
			/*padding-top: 6px;*/
			margin: 1px 0 1px 0;
			left: 0;
			position: static;
			background: #e21b1f;
		}
		
		#menu li {
			position: relative;
			display: block;
			float: none;
			float: none;
			display: block;
			margin-left: 0px;
			margin-right: 0px;
			padding: 0px 0px 0px 0px;			
		}
		
		#menu li a br {
			display: none;
		}
		
		#menu li a,		
		#menu li span.menuItem {
			/*width: 90%;*/
			position: relative;
			display: block;			
			/*color: #FFF;*/
			padding: 10px 2.5% 10px 2.5%;
			margin-right: 0px;						
			height: auto;
			border: none;
			font-size: 16px;		
			text-decoration: none;			
			margin: 0;
			/*border-bottom: 1px solid #FFF;*/
		}

		#menu li a.home,
		#menu li a.cu {
			padding: 5px 2.5% 5px 2.5%;
		}
		
		#menu li a.contact	{
			padding: 10px 2.5% 10px 2.5%;
			border-bottom: none;
		}
		
		#menu li a:not(:only-child):not(.btnMenu) {
			width: 95%;
			padding: 10px 2.5%;
			color: #FFF;
		}

		#menu li span.menuItem ~ a.btnMenu {
			/*left: 0;*/
			right: 10px;
			/*width: 100%;*/
			border-bottom: none;
		}

		#menu li a.btnMenu {
			position: absolute;
			/*left: 248px;*/
			top: 0;
			right: 10px;
			width: 32px;	
			padding: 0;
			height: 32px;	
			background: none;
			border-bottom: none;			
		}

		#menu li a.btnMenu span,
		#menu li a.btnMenu:hover span	{			
			display: block;
			position: absolute;
			right: 0;
			top: 8px;			
			padding: 0 0 0 0;
			margin: 0px;
			color: #FFF;
			/*background: #00765C;*/
			cursor: pointer;
			height: 28px;
			width: 28px;
			font-size: 14px;
			line-height: 22px;			
			text-align: center;
			/*font-weight: bold;*/
			z-index: 10;
		}

		#menu li a.btnMenuContract span,
		#menu li a.btnMenuContract:hover span{	
			font-size: 14px;
			line-height: 22px;
			border-bottom: none;
		}		

		#menu li a.btnMenuExpand {			
			display: block;
			border-bottom: none;	
		}

		#menu li a.btnMenuContract {			
			display: none;						
		}

		#menu li ul {
			width: 100%;
			left : 0;
			display: none;
			position : static;			
			box-shadow: none;
			margin: 0px -20px;
			padding: 10px 10px 10px 10px;			
		}
		
		#menu li a.home, #menu li a.cf {
			padding: 10px 10px 10px 10px;
		}
		
		#menu li ul li {
			float: none;
			padding-left: 0;			
		}

		#menu li ul a {
			width : auto;
			color: #fff;
			border-bottom: none;			
		} 

		#menu li ul a:hover {
			/*background: #b83b27;*/
			color: #FFF;
			border-bottom: none;
		}	

		
		#menu li a:hover,		
		#menu li a.active,
		#menu li a.current {
			border-bottom: 1px solid #FFF;
			color: #FFF;
		}	
		
		/*--slider / img-container*/	
		
		.slider-container {
			width: 100%;
			/*height: 150px;*/
			padding: 20px 0;
			margin: 0;
			background: #000;
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
		}
		
		.img-container {
			height: 168px;
			margin: 0 0 20px 0;
		}
		
		.img-container div.column {
			margin: 0;
		}
		
		#slider {
			/*display: none;*/
		}
		
		.slider-container div.column {
			width: 100%;
		}
		
		#slider,
		#slider div.slide {
			width: 100%;
			height: auto;
		}
		
		#slider div.slide img {
			height: auto;
			display: block;
		}
		
		.slider-intro-container {
			width: 100%;
		}	
		
		.slider-intro-container h2 {
			position: static;
			display: none;
		}
		
		.slider-intro {
			width: 90%;
			margin: 0 5%;
			padding: 0;
			top: 30px;
			left: 0;
		}
		
		.slider-intro h1 {
			font-size: 30px;
			line-height: 36px;
			margin: 0 0 0 0;
		}
		
		.slider-intro a.button {
			display: block;
			width: 100%;
			margin: 0 0 10px 0;
			padding: 10px 0;
		}
		
		/*--key areas*/
		
		.key-areas {
			padding: 15px 0 4px 0;
			margin: 0 0 20px 0;
		}
		
		.key-areas p {
			padding: 0 20px;
		}
		
		.key-areas div.column {
			margin: 0 auto 20px auto;
		}
		
		div.services {
			width: 90%;
			margin: 0 5%;
		}
		
		a.service img {
			display: none;
		}
		
		.service,
		.services .service:nth-child(4n),
		.key-areas a:nth-child(5) {
			width: 100%;
			margin: 0 0 10px 0;
		}
		
		.service h3,
		.service h3.single {
			height: auto;
			width: 100%;
			padding: 15px 0;
		}
		
		.service h3 br {
			display: none;
		}
		
		/*--content*/
		
		.title {
			padding: 5px 5% 10px 5%;
			margin: 0 0 10px 0;
		}
		
		.title div.column {
			margin: 0;
		}
		
		.title h1 {
			font-size: 24px;
			line-height: 30px;
		}
		
		div.one.intro {
			width: 90%;
			margin: 0 5%;
		}
		
		p.contact {
			padding: 15px 15px;
		}
		
		/*p.contact span {
			display: block;
		}*/
		
		.intro h2 br {
			display: none;
		}
		
		h2.find {
			padding: 0 0 0 10px;
		}
		
		/*--form*/
		
		.contact {
			padding: 10px 0 0 0;
		}
		
		.contact div.column {
			margin: 0 0 0 0;
		}
		
		.contact h2 {
			margin: 0;
		}
		
		.contact div.twoA {
			width: 100%;
			margin: 0 0 0 0;
		}
		
		.contact div.twoB {
			width: 100%;
			margin: 0;
		}
		
		form#contactForm,
		form#contactForm input,
		label,
		form#contactForm textarea,
		form#contactForm input.button {
			width: 100%;
		}
	
		form#contactForm {
			margin: 0 0 0 0;
			width: 90%;
			padding: 20px 5%;
		}
		
		/*--contact page*/
		
		.office {
			width: 100%;
			margin: 0 0 20px 0;
		}
		
		.map {
			width: 100%;
			margin: 0;
		}
		
		/*--footer*/
		
		div#footer-wrapper {
			width: 100%;
			padding: 15px 0 15px 0;
		}
		
		footer {
			width: 95%;
			padding: 0;
			margin: 0 2.5%;
			text-align: center;
		}
		
		footer h3 {
			font-size: 18px;
			line-height: 24px;
		}
		
		footer p.SOdescription {
			margin: 0 0 10px 0;
		}
		
		footer p.offices br {
			display: none;
		}
		
		footer span {
			display: block;
		}
		
		footer span.address {
			display: inline-block;
		}
		
		div.column-wrapper.terms {
			padding: 0;
			margin: 0;
		}
	
		.terms div.column {
			margin: 10px 0;
		}
	
		div.column-wrapper.terms p {
			font-size: 12px;
			line-height: 18px;
		}
	
		div.column-wrapper.terms p span {
			display: block;
			margin: 0;
		}
			
		div.column-wrapper.terms p.policies span {
			display: inline-block;
			margin: 0 5px;
		}
	
    }


/* #Mobile (Landscape)
================================================== */

    /* Note: Design for a width of 480px */
	/* Selectively overriding mobile portrait */

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

		.key-areas {
			padding: 15px 0 20px 0;
		}
		
		.key-areas div.column {
			margin: 0 0 0 0;
		}
		
		.service, .services .service:nth-child(4n),
		.key-areas a:nth-child(5) {
			width: 47.5%;
			margin: 0 0 5% 0;
		}
		
		a.service img {
			display: block;
		}
		
		.service:nth-child(odd),
		.key-areas a:nth-child(5) {
			margin: 0 5% 0 0;
		}
		
    }	
	


