/* @group DEFAULTS */

a img,:link img,:visited img {
	border: none
}

a,a:link {
	outline: none !important;
}

ul,ol {
	list-style: none
}

h1,h2,h3,h4,h5,h6,pre,code {
	font-size: 1em;
}

ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input {
	margin: 0;
	padding: 0
}

address {
	font-style: normal
}

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

.clearfix {
	display: block;
}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

/* @end */

/* @group BASICS */

html,body {
	font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
	font-size: 12px;
	color: #333;
	background-color: #fff;
	margin: 0;
	padding: 0;
	width: 100%;
}

a,a:link,a:active,a:visited {
	color: #990000;
}

a:hover {
	color: #777;
}

.inner {
	width: 905px;
	margin: 0 auto 0 auto;
}

/* @end */

/* @group MESSAGES */

.info, .success, .warn, .error, .validation {
    border: 1px solid;
    margin: 0 0 20px 0px;
    padding:15px 10px 15px 60px;
    background-repeat: no-repeat;
    background-position: 10px center;
}
.info {
    color: #00529B;
    background-color: #BDE5F8;
    background-image: url(../images/messages/info.png);
}
.success {
    color: #4F8A10;
    background-color: #DFF2BF;
    background-image:url('../images/messages/success.png');
}
.warn {
    color: #9F6000;
    background-color: #FEEFB3;
    background-image: url('../images/messages/warning.png');
}
.error {
    color: #D8000C;
    background-color: #FFBABA;
    background-image: url('../images/messages/error.png');
}

.validation {
    color: #D63301;
    background-color: #FFCCBA;
    background-image: url('../images/messages/validation.png');
}

/* @end */

/* @group HEADER */

#header {
	height: 189px;
	width: 100%;
	overflow: hidden;
	background: url(../images/main/header_bg.jpg) repeat-x;
}

#header ul {
	height: 44px;
	display: block;
	float: right;
}

#header ul li {
	height: 44px;
	font-size: 1.2em;
	display: inline;
	text-transform: uppercase;
}

#header ul li a,#header ul li a:link {
	height: 29px;
	color: #fff !important;
	text-decoration: none !important;
	padding: 15px 10px 0 10px;
	margin-left: 10px;
	display: block;
	float: left;
}

#header ul li a:hover {
	color: #aaa !important;
	background: url(../images/main/nav_arrow.jpg) no-repeat center bottom;
}

#header h1 {
	/* STUPID FIREFOX FIX */
	position: absolute;
	top: 44px;
	/* I NEVER THOUGHT I'D SAY THAT */
	height: 145px;
	width: 905px;
	overflow: hidden;
	background-image: url(../images/main/header_logo.jpg);
}

#header h1 a,#header h1 a:link {
	text-indent: -9999px;
	width: 400px;
	height: 145px;
	display: block;
}

/* @end */

/* @group TITLE */

#title {
	width: 100%;
	background-color: #990000;
	color: #fff;
	line-height: 1.6em;
}

#title.home .inner {
	height: 200px;
	background: url(../images/main/title_bg.jpg) no-repeat;
}

#title.home .inner h2 {
	width: 86px;
	height: 29px;
	margin: 23px 0 10px -5px;
	overflow: hidden;
	text-indent: -9999px;
	background-image: url(../images/page_headers/hello.png);
}

#title.home .inner #slides {
	width: 410px;
	height: 185px;
	float: left;
	overflow: hidden;
	padding-top:8px;
}

#title.home .inner #text {
	width: 400px;
	float: right;
	font-size: 1.1em;
	padding-top: 8px;
	margin-right: 50px;
}

#title.sub .inner {
	height: 141px;
	overflow: hidden;
	background: url(../images/main/title_bg_sub.jpg) no-repeat;
}

#title.sub h2 {
	margin-top: 30px;
	overflow: hidden;
	text-indent: -9999px;
}

#title.solutions h2 {
	width: 463px;
	height: 64px;
	background: url(../images/page_headers/solutions_title.png) no-repeat;
}

#title.solutions #icon {
	height: 221px;
	width: 221px;
	margin-top: -90px;
	margin-left: 650px;
	position: absolute;
	background-image: url(../images/page_headers/solutions.png);
}

#title.portfolio h2 {
	width: 410px;
	height: 63px;
	background: url(../images/page_headers/portfolio_title.png) no-repeat;
}

#title.portfolio #icon {
	height: 193px;
	width: 218px;
	overflow: hidden;
	margin-top: -90px;
	margin-left: 600px;
	position: absolute;
	background: url(../images/page_headers/portfolio.png) no-repeat;
}

#title.about h2 {
	width: 360px;
	height: 63px;
	background: url(../images/page_headers/about_title.png) no-repeat;
}

#title.about #icon {
	width: 280px;
	height: 224px;
	overflow: hidden;
	margin-top: -90px;
	margin-left: 550px;
	position: absolute;
	background: url(../images/page_headers/about.png) no-repeat;
}

#title.blog h2 {
	width: 395px;
	height: 64px;
	background: url(../images/page_headers/blog_title.png) no-repeat;
}

#title.blog #icon {
	width: 261px;
	height: 188px;
	overflow: hidden;
	margin-top: -90px;
	margin-left: 550px;
	position: absolute;
	background: url(../images/page_headers/blog.png) no-repeat;
}

/* @end */

/* @group CONTENT */

#content {
	width: 900px;
	margin: 30px auto;
}

#content.home {
	width: 824px;
	height: 381px;
	background: url(../images/main/home_services.jpg) no-repeat center top;
}

#content.home .block h2 {
	text-indent: -9999px;
	position: absolute;
}

#content.home .block {
	width: 230px;
	height: 100px;
	margin: 85px 40px 0 10px;
	float: left;
	font-size: .9em;
	line-height: 1.6em;
}

#content.home .last {
	width: 230px;
	margin: 85px 0 0 20px;
}

#content.sub #left {
	width: 500px;
	float: left;
	padding: 0 60px 20px 0px;
	border-right: 1px solid #ccc;
}

#content.sub #left .hr {
	width: 500px;
	height: 1px;
	background-color: #ccc;
	margin: 10px 0 20px 0;
	clear: both;
	float: left;
}

#content.sub #left .hr hr {
	display: none;
}

#content.sub #left h2 {
	color: #990000;
	font-size: 2em;
	font-weight: normal;
	margin: 0 0 10px 0;
}

#content.sub #left h3 {
	color: #999;
	font-size: 1.5em;
	font-weight: normal;
	margin: 0 0 20px 0;
}

#content.sub #left h3.padtop {
	padding-top: 20px;
}

#content.sub #left p {
	margin-bottom: 15px;
	line-height: 1.5em;
}

#content.sub #right {
	width: 300px;
	padding: 0 0 50px 0;
	float: right;
}

#content.sub #right h2 {
	color: #999;
	font-size: 1.3em;
	font-weight: normal;
	margin: 50px 0 15px 0;
}

#content.sub #right ul li {
	background: url(../images/main/bullet.jpg) no-repeat left center;
	padding-left: 14px;
	margin: 0 0 10px 0;
}

#content.sub #right ul li.phone {
	padding-left: 25px;
	background: url(../images/main/phone.gif) no-repeat left center;
}

#content.sub #right ul li.email {
	padding-left: 25px;
	background: url(../images/main/mail.gif) no-repeat left center;
}

#content.sub #right p {
	margin-bottom: 15px;
	line-height: 1.5em;
}

#content.sub #left .row {
	margin-bottom: 20px;
	clear: both;
}

#content.sub #left .row span.fancy {
	float: left;
	margin-right: 10px;
	width: 139px;
	height: 107px;
}

#content.sub #left .row h2 {
	margin: 10px 0 5px 0;
	width: 340px;
	float: right;
}

#content.sub #left .row p {
	width: 340px;
	margin-bottom: 5px;
	float: right;
}

#content #form label {
	display: block;
	float: left;
	width: 130px;
	margin-bottom: 15px;
}

#content blockquote {
	margin-bottom:15px;
	font-style: italic;
	font-weight: bold;
	font-size: 1.3em;
}

#content textarea {
	width: 300px;
}

#content div.author {
	color: #888;
	margin-top: -10px;
	display: block;
	margin-bottom: 15px;
}

#content div.author a,#content div.author a:link {
	color: #555 !important;
}

#content div.tags {
	color: #888;
	margin-top: 15px;
	display: block;
	margin-bottom: 15px;
	text-align: right;
}

#content #right ul.categories a,#content #right ul.categories a:link {
	color: #333 !important;
	text-decoration: none !important;
	font-size: 1.2em;
}

#content #right ul.categories a:hover {
	text-decoration: underline !important;
	color: #990000 !important;
}

/* @end */

/* @group FOOTER */

#footer {
	background-color: #333;
	width: 100%;
	height: 50px;
	margin-top: 100px;
}

#footer ul {
	float: left;
	text-transform: uppercase;
}

#footer ul li {
	display: inline;
}

#footer ul li a,#footer ul li a:link {
	color: #fff;
	padding: 15px;
	display: block;
	float: left;
	text-decoration: none;
}

#footer ul li a:hover {
	color: #aaa;
}

#footer #copyright {
	float: right;
	color: #fff;
	padding: 15px;
}

/* @end */
