/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
/* - - - - - NEW STYLES - - - - - - - - - - - - - - - - - - - */
/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
/*------------------------------------*\
	$RESET
\*------------------------------------*/
html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,
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;
}
article,aside,details,figcaption,figure,footer,
header,hgroup,menu,nav,section{
	display:block;
}
table{
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img,abbr{
	border:0;
}
address,caption,dfn,th,var{
	font-style:normal;
	font-weight:normal;
}
u{
	text-decoration:none;
}
caption,th{
	text-align:left;
}
h1,h2,h3,h4,h5,h6{
	margin-bottom:0.5em;
	font-size:100%;
	font-weight:bold;
}
li{
	list-style: none;
}
.cf:before,
.cf:after{
	content:"";
	display:table;
}
.cf:after{
	clear:both;
}
.cf{
	zoom:1;
}

/* - - - - - GLOBAL BODY STYLES - - - - - */
::selection, ::-moz-selection {
	background: #333;
	color: #eee;
	text-shadow: none
}

body {
	overflow-x: hidden;
	font-family: "Helvetica Neue", Arial, sans-serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

a, a:visited {
	color: #000;
	font-weight: bold;
	text-decoration: none;
	-webkit-transition: color 0.2s ease-in-out;
}

a:hover {
	text-decoration: underline;
}

a:active {
	position: relative;
	top: 1px;
}

.left {
	float: left;
}

.right {
	float: right;
}

ul.bulleted li {
	list-style: disc;
	margin-left: 16px;
}

ul.commas li {
	display: inline;
}

ul.commas li:after {
	content: ",";
}



/* - - - - - NAV - - - - - */
nav {
	z-index: 9999;
	width: 100%;
	overflow: hidden;
	border-bottom: 1px solid #000;
	background: #2f2f2f;
}

nav ul {
	width: 960px;
	margin: 0 auto;
}

nav ul li {
	display: block;
	float: left;
	margin: 0 12px 0 0;
}

nav ul li a {
	display: block;
	padding: 8px 8px;
	color: #ccc !important;
	font-size: 13px;
	font-weight: bold;
	text-shadow: 0 -1px 0 #000;
	-webkit-transition: 0.3s background ease;
}

nav ul li a:hover {
	background: #4f4f4f;
	color: #ddd !important;
	text-decoration: none;
}

nav ul li a:active {
	box-shadow: inset 0 0 2px rgba(40,40,40,0.3);
}


/* - - - - - HEADER - - - - - */
header {
	position: relative;
	clear: both;
	overflow: hidden;
	width: 960px;
	padding: 20px 0;
	margin: 0 auto;
}

header h1 {
	width: 237px;
	float: left;
	margin: 0;
}

header h1 a {
	display: block;
	width: 237px;
	height: 150px;
	background: url(/images/logo.png) no-repeat;
	text-indent: -9999px;
}

#top-50 {
	position: absolute;
	z-index: 200;
	top: 30px;
	left: 200px;
	background: url(/images/top-50.png) no-repeat;
	text-indent: -9999px;
}

#top-50 a {
	display: block;
	width: 94px;
	height: 95px;
}

header #contact-info {
	float: right;
	margin: 22px 0 0 0;
	text-align: right;
}

header #contact-info #social {
	float: right;
	margin: 0 0 4px 0;
}

header #contact-info #social p {
	float: left;
	margin: 0 0 0 10px;
}

header #contact-info #social p a {
	display: block;
	width: 32px;
	height: 32px;
	background: url(/images/social.png) no-repeat;
	text-indent: 9999px;
	-webkit-transition: 0.25s all ease-out
}

header #contact-info #social #twitter a {background-position: -84px 0;}
header #contact-info #social #twitter a:hover {background-position: -84px -32px;}

header #contact-info #social #facebook a {background-position: -42px 0;}
header #contact-info #social #facebook a:hover {background-position: -42px -32px;}

header #contact-info #social #linkedin a {background-position: 0 0;}
header #contact-info #social #linkedin a:hover {background-position: 0 -32px;}

#contact-info #contact-details {
	clear: both;
}

header #contact-info .email, header #contact-info .tel {
	color: #333;
	font-size: 16px;
	font-weight: bold;
}

header #contact-info .adr {
	margin: 4px 0 0 0;
	color: #999;
	font-size: 12px;
}

header #contact-info .adr br.hidden {
	display: none;
}



/* - - - - - SLIDESHOW & BANNER - - - - - */
#slideshow, .banner {
	position: relative;
	width: 100%;
	height: 340px;
	padding: 20px 0 0 0;
	margin-bottom: 40px;
	border: 1px solid #111;
	border-width: 1px 0;
	background-color: #2f2f2f;
	/*background-image: -moz-linear-gradient(90deg, #aaa, #222);*/
	/*background-image: -webkit-gradient(linear, center bottom, center top, from(#2f2f2f), to(#111));*/
	/*box-shadow: inset 0 -10px 12px rgba(0,0,0,0.2);*/
}

#slideshow article {
	overflow: hidden;
	position: relative;
	width: 960px;
	height: 340px;
	margin: 0 auto;
}

.description {
	width: 460px;
	float: left;
	padding: 20px 0 0 0;
	text-shadow: 0 1px 0 #000;
}

.description h2 {
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	text-shadow: 0 1px 2px #000;
}

#slideshow article .description p.arrow {
	float: left;
	min-width: 240px;
	margin: 10px 0 12px 0;
	text-align: center;
}

#slideshow article .description p.arrow a.readmore {
	display: block;
	height: 36px;
	padding: 0 16px;
	background: url(/images/readmore_bg.png);
	color: #333;
	font-weight: bold;
	line-height: 36px;
	text-indent: -4px;
	text-shadow: 0 1px 0 rgba(255,255,255,0.4);
}

#slideshow article .description p.arrow a.readmore:before {
	content: " ";
	display: block;
	float: left;
	width: 10px;
	height: 37px;
	margin: 0 0 0 -16px;
	background: url(/images/readmore_left.png) no-repeat;
}

#slideshow article .description p.arrow a.readmore:after {
	content: " ";
	display: block;
	float: right;
	width: 24px;
	height: 37px;
	margin: 0 -36px 0 0;
	background: url(/images/readmore_right.png) no-repeat;
}

#slideshow .description small, .banner p {
	clear: both;
	display: block;
	margin: 20px 0 0 0;
	color: #888;
	font-size: 14px;
}

#slideshow .description small a, .banner p a {
	font-weight: bold;
	color: #ccc;
}

#slideshow img {
	float: right;
	max-width: 480px;
	bottom: 0;
	right: 0;
	position: absolute;
}

#slideshow article a:active img {
	position: relative;
	bottom: 0px;
}

.banner {
	overflow: hidden;
	height: 310px;
	padding: 20px 0 0 0;
}

.banner .inner {
	overflow: hidden;
	width: 960px;
	margin: 0 auto;
}

.banner img.small {
	float: right;
	max-width: 420px;
	margin-top: 40px;
}

.banner img.full {
	display: block;
	height: 340px;
	margin: -20px auto 0 auto;
}


/* - - - - - CONTENT - - - - - */
header + .content {
	border-top: 1px dotted #999;
	padding-top: 40px;
}

.content {
	clear: both;
	width: 960px;
	margin: 0 auto;
}

.content h2 {
	font-size: 32px;
}

.content h3 {
	font-size: 22px;
}

.content p, .content ul {
	margin: 0 0 0.75em 0;
	color: #444;
	font-size: 13px;
	line-height: 1.5em;
}

.content li {
	margin-bottom: 0.25em;
}

#services.content > section {
	font-size: 14px;
}


/* - - - - - ABOUT - - - - - */
img#team-image {
	display: block;
	margin: 40px auto;
}

#the-team {
	width: 960px;
	margin-bottom: 30px;
}

.role {
	font-family: Georgia;
	font-style: italic;
}

#the-team li {
	width: 210px;
	float: left;
	margin: 0 40px 12px 0;
}

#the-team ul li h3 {
	margin: 0 0 0.25em 0;
	font-size: 16px;
	font-weight: bold;
}

#the-team p {
	margin: 0 0 0.75em 0;
	color: #666;
	font-size: 12px;
	line-height: 1.2em;
}

#the-team li.last {
	margin: 0;
}


/* - - - - - COLUMNS - - - - - */
.columns {
	overflow: hidden;
	padding: 0 0 40px 0;
}

.columns .column {
	margin: 0 40px 0 0;
	float: left;
}

.columns .third, .columns .third img {
	width: 296px;
	margin: 0 36px 0 0;
}

.columns.work {
	margin-top: 60px;
}

.columns .half {
	width: 460px;
}

.columns .fourth, .columns .fourth img {
	width: 210px;
}

.columns.intro img {
	margin: 0 0 20px 0;
	border: 1px solid #ccc;
	width: 208px;
}

.columns .fifth {
	width: 160px;
}

.column.right {
	float: right;
}

.columns .column:last-of-type {
	margin: 0;
}

.columns .column h2, .columns .column h3 {
	margin: 0 0 0.5em 0;
	color: #333;
	font-size: 16px;
	font-weight: bold;
}

.column .read-more {
	display: block;
	width: 100%;
	padding: 4px 0;
	margin: 12px 0 0 0;
	background: #333;
	color: #eee;
	text-align: center;
	-webkit-transition: 0.4s all ease;
}

.column .read-more:hover {
	background: #444;
}


/* - - - - - CATEGORIES - - - - - */
ul.categories {
	overflow: hidden;
	width: 100%;
}

.categories li {
	float: left;
	width: 32px;
	height: 32px;
	margin: 0 12px 0 0;
	background: url(/images/ipad-icon.png) no-repeat;
	text-indent: -9999px;
}

.categories li:last-of-type {
	margin: 0;
}

.categories li.iphone {background-image: url(/images/iphone.png);}
.categories li.android {background-image: url(/images/android.png);}
.categories li.mobileweb {background-image: url(/images/mweb-icon.png);}
.categories li.web {background-image: url(/images/web-icon.png);}
.categories li.database {background-image: url(/images/db-icon.png);}


/* - - - - - QUOTES - - - - - */
.content blockquote {
	position: relative;
	line-height: 1.5em;
	text-indent: 30px;
}

.content blockquote p {
	font-size: 18px;
}

.content blockquote:before {
	position: absolute;
	left: -30px;
	top: 6px;
	content: '\201C';
	color: #333;
	font-size: 48px;
}

.content blockquote footer {
	margin-top: -10px;
	color:  #888;
	font-size: 14px;
	font-style: italic;
	text-indent: 0;
}



.full-quote {
	overflow: hidden;
	padding: 40px 0;
	margin: 40px auto;
	border: 1px solid #aaa;
	border-width: 1px 0;
	font-family: Georgia;
}

.full-quote blockquote p {
	font-size: 32px;
}


/* - - - - - NEWS - - - - - */
.grey_banner {
	overflow: visible;
	position: relative;
	width: 960px;
	height: 200px;
	padding: 30px 0;
	margin: 40px auto 0 auto;
	background: #eaeaea;
	text-shadow: 0 1px 0 #eee;
}

.grey_banner:before, .grey_banner:after {
   content: "";
   position: absolute;
   background: #eaeaea;  /* Match the background */
   top: 0;
   bottom: 0;
   width: 9999px;   /* some huge width */
}

.grey_banner:before {
   right: 100%;
}

.grey_banner:after {
   left: 100%;
}



/* - - - - - ABOUT - - - - - */
form#contact label, form#contact input, form#contact textarea {
	display: block;
	margin: 20px 0 10px 0;
	color: #999;
	font-family: Georgia;
	font-size: 12px;
}

form#contact input, form#contact textarea {
	width: 400px;
	padding: 10px;
	margin: 0 0 30px 0;
	border: 1px solid #ccc;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	-webkit-transition: 0.25s all ease;
}

form#contact p {
	line-height: 1em;
}

form#contact div {
	margin: 0 0 40px 0;
}

form#contact div p {
	overflow: hidden;
	margin: 20px 0;
}

form#contact div input {
	float: left;
	width: auto;
	margin: 1px 10px;
}

form#contact div label {
	float: left;
	display: block;
	margin: 0;
}

form#contact input:focus, form#contact textarea:focus {
	outline: none;
	box-shadow: inset 0 0 4px #ccc;
	border-color: #aaa;
	color: #333;
}

form#contact input#submit {
	width: 120px;
	background: #333;
	border: none;
	color: #eee;
	font-weight: bold;
	text-shadow: 0 1px 0 #000;
	cursor: pointer;
}


/* - - - - - FOOTER - - - - - */
footer.content {
	overflow: hidden;
	padding: 20px 0;
	margin-top: 40px;
	border-top: 1px dotted #999;
	color: #777;
	font-size: 14px;
	line-height: 1.5em;
}

footer.content p {
	font-size: 12px;
	line-height: 1em;
}

footer #copyright {
	float: left;
	font-weight: bold;
	line-height: 3em;
}

footer a, footer .fn {
	font-weight: bold;
	color: #333;
}

footer aside {
	float: right;
	font-size: 12px;
	text-align: right;
}
