/* ============== */
/* = typography = */
/* ============== */

/* body and headers */

body {
	background: #ffffff url('../media/images/bg-white.png') repeat;
}
body, p, h5 {
	font-family: "HelveticaNeue-Light", Helvetica, Arial sans-serif;
	font-size: 15px;
	line-height: 20px;
}
p {
	xtext-shadow: 1px 1px 0 rgba(250,250,250,0.8);
}

h1, h2, h3 {
	font-family: "HelveticaNeue", Helvetica, Arial sans-serif;
	color: #000;
	text-shadow: 1px 1px 0 rgba(250,250,250,0.8);
}
	h1 {
		font-size: 30px;
		*font-size: 28px;
		line-height: 40px;
		margin-bottom: 10px;
		text-shadow: 1px 1px 0 #fff;
	}
	h2 {
		font-size: 23px;
		line-height: 30px;
		margin-bottom: 5px;
	}
	h3 {
		font-size: 18px;
		line-height: 20px;
		margin-bottom: 5px;
	}
	h4, h5 {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 5px;
	}
	h5 {
		margin-bottom: 0;
	}

.greybox h4, #logos h4, dt {
	color: #808080;
	font-size: 13px;
	font-weight: bold;
	text-shadow: 1px 1px 0 rgba(250,250,250,0.5);
}
	.greybox h4 {
		text-transform: uppercase;
	}
h5 {
	font-weight: bold;
}

	
#call-to-action blockquote p {
	font-size: 22px;
	line-height: 30px;
	padding-right: 30px;
	color: #404040;
	text-shadow: 1px 1px 0 #fff;
	margin-bottom: 20px;
}


/* links */

a { text-decoration: none; }
a:hover { text-decoration: underline; }
p a, .greybox a, ul.ourdetails li.address a, .editsection a {
	color: #000;
	border-bottom: 1px dashed #999;
}
p a:hover, .greybox a:hover, ul.ourdetails li.address:hover a, body #toc ul li a:hover, .editsection a:hover {
	text-decoration: none;
	border-bottom: 1px solid #666;
}


/* ========== */
/* = layout = */
/* ========== */

/* rows */

.even, .odd {
	position: relative;
	height: 528px;
	border-bottom: 1px solid #999999;
	border-top: 1px solid #ffffff;
}
.odd {
	background: #e5e5e5 url('../media/images/bg-grey.png') repeat;
}
	.even .container, .odd .container {
		height: 528px;
	}


/* top */	/* NOTE: .dark represents #top and #contact  */

.dark {
	background: #333333 url('../media/images/bg-dark.png') repeat-x;
}
	.dark .column {
		position: relative;
		height: 70px;
	}
	#top .logo {
		float: left;
		width: 174px;
		height: 52px;
		margin-top: 9px;
	}
	#top .divider {
		float: left;
		background: transparent url('../media/images/hr-vertical.png') no-repeat;
		width: 2px;
		height: 40px;
		margin: 15px 0 0 30px;
	}
	#top ul li {
		list-style: none outside none;
	}
	.dark a {
		color: #ffffff;
	}
	.dark a:hover {
		text-decoration: none;
		color: #ffbb33;
	}
	
	/* navigation */
	#top ul.nav {
		float: left;
		margin: 21px 0 0 20px;
	}
		#top ul.nav li {
			float: left;
			padding: 0 15px;
			margin-right: 5px;
		}
		#top ul.nav li, #top ul.nav li a {
			font-size: 17px;
			line-height: 28px;
		}
		#top ul.nav li.active {
			color: #ffbb33;
			background-color: #000;
			-moz-border-radius: 14px;
			-webkit-border-radius: 14px;
			-webkit-box-shadow: 0 1px 0 rgba(250,250,250,0.15);
			-moz-box-shadow: 0 0 8px rgba(0,0,0,0.4);
			box-shadow: 0 0 8px rgba(0,0,0,0.4);
		}
		#top ul.nav li.active a {
			color: #ffbb33;
		}
	
	/* contact details */
	ul.ourdetails {
		position: absolute;
		top: 18px;
		right: 0;
		overflow: hidden;
	}
		ul.ourdetails li {
			float: left;
			margin-left: 10px;
			font-size: 14px;
			line-height: 35px;
		}
		
		/* Email, Phone & (Bottom) Address */
		ul.ourdetails li.email, ul.ourdetails li.phone, ul.ourdetails li.company, ul.ourdetails li.address {
			margin-right: 10px;
		}
		ul.ourdetails li, ul.ourdetails li.email a, ul.ourdetails li.address a {
			display: inline;
			font-weight: normal;
			color: #ccc;
		}
			ul.ourdetails li.email a:hover, ul.ourdetails li.company {
				color: #fff;
			}
		
		/* RSS & Twitter Icons */
		ul.ourdetails li.rss, ul.ourdetails li.rss a {
			width: 35px;
			height: 35px;
			background: transparent url('../media/images/top-rss.png') no-repeat top left;
		}
		ul.ourdetails li.twitter, ul.ourdetails li.twitter a {
			width: 34px;
			height: 41px;
			background: transparent url('../media/images/top-twitter.png') no-repeat top left;
		}
			ul.ourdetails li, ul.ourdetails li a {
				display: block;
			}
			ul.ourdetails li.rss a, ul.ourdetails li.twitter a {
				background-position: top right;
				opacity: 0;
				filter:alpha(opacity = 0);
				-webkit-transition: 0.3s;
			}
			ul.ourdetails li.rss a:hover, ul.ourdetails li.twitter a:hover {
				opacity: 1;
				filter:alpha(opacity = 100);
			}


/* call to action */

#call-to-action .container {
	background: transparent url('../media/images/bg-light.png') no-repeat top left;
	_background: none;
}
	#call-to-action .grid_7 {
		overflow: visible;
	}
		#call-to-action .grid_7 .screenshot {
			display: block;
			margin-top: 28px;
			-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.4);
			-moz-box-shadow: 0 0 8px rgba(0,0,0,0.4);
			box-shadow: 0 0 8px rgba(0,0,0,0.4);
		}
		
	#call-to-action h1 {
		margin-top: 100px;
	}
	#call-to-action p {
		font-size: 17px;
		color: #666;
		margin: -3px 0 23px 0;
	}
	.action-button {
		border: 1px solid transparent;
		height: 58px;
		-moz-border-radius: 8px;
		-webkit-border-radius: 8px;
	}
	.action-button input {
		font-family: "HelveticaNeue-Light", Helvetica, Arial sans-serif;
		border: 1px solid #fff;
		*border: none;
		width: 100%;
		height: 58px;
		-moz-border-radius: 8px;
		-webkit-border-radius: 8px;
		cursor: pointer;
	}
	.action-button input:focus, .action-button input a:focus {
		outline: 0;
	}
	.contact-us {
		border-color: #e69900;
	}
		.contact-us input {
			background-color: #ffbb33;
			background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffcd67), to(#ffac06));
			background-image: -moz-linear-gradient(#ffcd67,#ffac06);
			*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffcd67, endColorstr=#ffac06);
		
			color: #7f5400;
			font-size: 16px;
			font-weight: bold;
			text-shadow: 1px 1px 0 rgba(250,250,250,0.66);
		}
			.contact-us input:hover {
				background-color: #ffc859;
				background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffe1a6), to(#ffac06));
				background-image: -moz-linear-gradient(#ffe1a6,#ffac06);
				*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffe1a6, endColorstr=#ffac06);
			}
			.contact-us input:active {
				background-color: #ffcd67;
				background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#d99100), to(#ffcd67));
				background-image: -moz-linear-gradient(#d99100,#ffcd67);
				*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d99100, endColorstr=#ffcd67);
		
				padding-top: 2px;
				text-shadow: 0 -1px 0 rgba(250,250,250,0.5);
			}
		
	#call-to-action .watch-video {
		border-color: #b7b7b8;
		margin-right: 20px;
	}
		.watch-video input {
			background-color: #ffbb33;
			background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#f2f2f2), to(#d9d9d9));
			background-image: -moz-linear-gradient(#f2f2f2,#d9d9d9);
			*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f2f2f2, endColorstr=#d9d9d9);
			color: #000;
			font-size: 14px;
			font-weight: bold;
			text-shadow: 1px 1px 1px rgba(250,250,250,1);
		}
			.watch-video input:hover {
				background-color: #ffbb33;
				background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ffffff), to(#d9d9d9));
				background-image: -moz-linear-gradient(#ffffff,#d9d9d9);
				*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#d9d9d9);
			}
			.watch-video input:active {
				background-color: #cccccc;
				background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#cccccc), to(#f2f2f2));
				background-image: -moz-linear-gradient(#cccccc,#f2f2f2);
				*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#cccccc, endColorstr=#f2f2f2);
				
				padding-top: 2px;
				text-shadow: 0 -1px 0 rgba(250,250,250,0.8);
			}
	
	#logos {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 105px;
		width: 100%;
		background: transparent url('../media/images/bg-darkgrey.png') repeat;
	}
		#logos h4 {
			margin: 0;
			padding: 10px 0 0 0;
			text-transform: none;
		}
		#logos .column {
			text-align: center;
			padding-top: 10px;
		}
		
		/* not currently being used */
		#logos dl.platforms {
			overflow: hidden;
			padding: 10px 0;
			margin-top: 7px;
		}
			#logos dl.platforms dt {
				text-align: center;
				margin-bottom: 10px;
			}
			#logos dl.platforms dd {
				float: left;
			}
			#logos dl.platforms dd.solr { margin-left: 25px; }
			#logos dl.platforms dd.lucene { margin-left: 35px; }
			#logos dl.platforms dd.fast { margin-left: 33px; }
			#logos dl.platforms dd.google { margin-left: 45px; }
			#logos dl.platforms dd.smartlogic { margin-left: 39px; }
				
				#logos .platforms img {
					cursor: pointer;
					opacity: 0.85;
					filter:alpha(opacity = 85);
				}
				#logos .platforms img:hover {
					opacity: 1;
					filter:alpha(opacity = 100);
					margin-top: -2px;
					-webkit-transition: 0.05s;
				}

/* USPs */

#USPs {
	border-top: none;
	height: 529px;
}	
	#USPs .container {
		background: transparent url('../media/images/bg-bottomshadow.png') repeat-x top left;
	}
	#USPs .row {
		background: transparent url('../media/images/usps.png') no-repeat;
		height: 529px;
	}
		#USPs .row .column {
			padding-top: 165px;
			-webkit-transition: 0.2s;
		}
			#USPs .row .column p, #USPs .row .column h2 {
				padding: 0 10px;
			}
		#USPs .row .quick { background: transparent url('../media/images/usps-quick.png') no-repeat 100px 45px; }
		#USPs .row .better { background: transparent url('../media/images/usps-better.png') no-repeat 100px 45px; }
		#USPs .row .control { background: transparent url('../media/images/usps-control.png') no-repeat 100px 45px; }
		#USPs .row .standards { background: transparent url('../media/images/usps-standards.png') no-repeat 100px 45px; }
		
		#USPs .row .quick:hover { background: transparent url('../media/images/usps-quick-h.png') no-repeat 100px 40px; }
		#USPs .row .better:hover { background: transparent url('../media/images/usps-better-h.png') no-repeat 100px 40px; }
		#USPs .row .control:hover { background: transparent url('../media/images/usps-control-h.png') no-repeat 100px 40px; }
		#USPs .row .standards:hover { background: transparent url('../media/images/usps-standards-h.png') no-repeat 100px 40px; }


/* Design Patterns */

#design-patterns .pattern {
	width: 280px;
	height: 280px;
	margin-top: 60px;
	background-color: #fff;
	background-color: rgba(255,255,255,0.75);
	*background-color: #fff;
	-webkit-transition: 0.25s;
}
#design-patterns .pattern:hover {
	background-color: rgba(255,255,255,1);
	*background-color: #fff;
}
#design-patterns h2 {
	margin-top: 25px;
}


/* How it Works */

#how-it-works .row {
	margin-top: 50px;
}
	#how-it-works .row .column {
		position: relative;
		height: 479px;
	}
		#how-it-works h2 {
			height: 30px;
		}
		#how-it-works h2.processors {
			height: 50px;
		}
		#how-it-works img.diagram {
			position: absolute;
			top: 135px;
			left: 0;
		}
		

/* About Us */

#about-us {
	border-bottom-color: #000;
}
	#about-us .container {
		margin-top: 50px;
	}
		#about-us img.mugshot {
			border-bottom: 1px solid rgba(250,250,250,0.66);
		}
	
		.greybox {
			background: transparent url('../media/images/bg-50.png') repeat;
			_background: #f2f2f2 none;
			padding: 15px 0;
		}
			.greybox h2, .greybox h3, .greybox h4, .greybox h5, .greybox p, .greybox em {
				padding: 0 15px;
			}
			.greybox h5 {
				margin-top: 5px;
			}
			.greybox p, .greybox em.when-where {
				font-size: 14px;
				line-height: 18px;
			}
			.greybox p {
				min-height: 54px;
				margin-bottom: 0;
			}
			.greybox em.when-where {
				display: block;
				margin-bottom: 5px;
				color: #666;
			}
		.esl h4 a, .esl h4 a:hover {
			border: none;
		}
		.hiring {
			margin-top: 7px;
		}
	
	
/* Contact */

#contact {
	height: 262px;
	height: 70px; /* until the form is ready */
	/* background: #383838 url('../media/images/bg-dark-tall.png') repeat; */
	border: 0;
}
#contact .action-button {
	height: 28px;
	margin-top: 20px;
	border: 1px solid #000;
}
#contact .action-button input {
	border: 1px solid #ffe5b2;
	height: 28px;
}
	/*
	#contact h2 {
		color: #ffbb33;
		text-shadow: 1px 1px 0 rgba(0,0,0,0.8);
		margin-top: 30px;
	}
		#contact legend {
			display: none;
		}
			#contact ol li {
				list-style: none outside none;
				margin-bottom: 10px;
			}
				#contact label {
					display: block;
					color: #999;
					font-size: 15px;
					line-height: 20px;
					padding-top: 6px;
				}
				#contact span.input {
					display: block;
					padding-left: 6px;
					background: transparent url('../media/images/uniform-agent.png') no-repeat -487px -161px;
				}
				#contact div.selector {
					margin-left: -3px;
				}
				#contact input {
					height: 26px;
					border: 0;
					outline: 0;
					margin: 3px 0;
					width: 277px;

					font-size: 14px;
					line-height: 16px;
					font-weight: bold;
					color: #fff;
					text-shadow: 1px 1px 0 rgba(0,0,0,0.66);
					
					background: transparent url('../media/images/uniform-agent.png') no-repeat right -498px;
					
				}
					#contact input:hover {
						background-position: right -530px;
					}
						#contact span.hovered {
							background-position: -487px -225px;
						}
					#contact input:focus {
						background-position: right -562px;
						text-shadow: 1px -1px 0 rgba(0,0,0,0.66);
					}
						#contact span.focused {
							background-position: -487px -193px;
						}

				#contact textarea {
					margin-top: 3px;
					width: 278px;
					height: 90px;
					outline: 0;

					border: 1px solid #666;
					-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.33);
					-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.33);
					box-shadow: 0 1px 2px rgba(0,0,0,0.33);
					
					background-color: #4d4d4d;
					background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4d4d4d), to(#3a3a3a));
					background-image: -moz-linear-gradient(#3a3a3a,#3a3a3a);
					*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#3a3a3a, endColorstr=#3a3a3a);
				}
				#contact textarea:focus {
					background-color: #4d4d4d;
					background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#262626), to(#3a3a3a));
					background-image: -moz-linear-gradient(#3a3a3a,#3a3a3a);
					*filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#3a3a3a, endColorstr=#3a3a3a);					
				}
				*/