/***
 * GENERIC HTML ELEMENTS
 * Rewrites of standard HTML elements
 * ------------------------------------------------------------------------- */

* {
	margin: 0;
	padding: 0;
}

body {
	font-family: Myriad, Lucida Grande, Verdana, Arial, Helvetica, sans-serif;
	font-size: 62.5%;
	line-height: 1em;
	background:#fdfdfd url(../images/common/body-bg.jpg) top left repeat-x;
	color: #666;
	line-height: 1.6em;
}

/*
 * Header margins:
 * TOP: line-height/size
 * BOTTOM: TOP/2
 */
h1, h2, h3, h4, h5, h6 {
	font-family:  Myriad, Lucida Grande, Verdana, Arial, Helvetica, sans-serif;
	font-weight: normal;
	line-height: 1em;
}
	h1 {
		font-size: 2em;
		line-height: 1.1em;
		text-transform: normal;
		margin: 1em 0 0.5em;
		color: #78a22f;
	}
	h2 {
		font-size: 1.8em;
		text-transform: uppercase;
		color: #78a22f;
		margin: 1em 0 0.5em;
	}
	h3 {
		font-size: 1.6em;
		text-transform: normal;
		color: #78a22f;
		margin: 1.14em 0 .2em 0;
	}
	h4 {
		font-size: 1.6em;
		text-transform: normal;
		color: #666;
		margin: 1.14em 0 .2em 0;
	}
	h5 {
		color: #666;
		font-size: 1.2em;
		margin: 1.33em 0 0.67em;
	}
	h6 {
		color: #666;
		font-size: 1em;
		margin: 1.6em 0 0.8em;
	}

p {
	margin-bottom: 1.6em;
	font-size: 1.3em;
}

a {
	text-decoration: none;
	color: #0067b1;
	font-weight: bold;
}
	a:hover {
		text-decoration: underline;
	}
	a img {
		border: none;
	}

	ul, ol, dl {
		margin: 1em 0;
		padding: 0;
		font-size: 1.3em;
	}
		ul li,
		ol li {
			margin: 0 0 0.5em 2em;
			padding: 0;
		}
			ul li ul {
				margin-top: 0.5em;
				margin-bottom: 0;
			}
		dl dt {
			font-weight: bold;
		}
		dl dd {
			padding: 0 0 0 1.2em;
		}
		dl dd dl dd{
			padding: 0 0 0 1.2em;
			font-size: .7em; 		
		}		

	blockquote {
		font-style: italic;
		margin: 2em;
	}

	code {
		font-size: 1.1em;
		font-family: Courier New, Sans-Serif;
	}

	abbr, acronym {
		border-bottom: 1px dotted;
		cursor: help;
	}
	
	address {
		font-size: 1.3em;
		line-height: 1.3em;
		margin-bottom: 1.3em;
		font-style: inherit;
	}



/*** END GENERIC HTML ELEMENTS ***/

/*** 
 * DISABLE
 * Disable styling on certain elements... Can be useful for CMS driven sites.  
 */

font,
basefont {
	color: inherit;
	font: inherit;
	font-size: 100%;
}

/*** END DISABLE ***/


/***
 * TEMPLATE STRUCTURAL ELEMENTS AND ITEMS
 * Elements which define the overall layout of the site.
 * ------------------------------------------------------------------------- */

div#wrapper {
    margin: 0 auto;
    width: 903px;
    position: relative;
    background: transparent url(../images/common/coherent-newfadebg.png) top left no-repeat;
    min-height: 750px;
}
	div#inner-wrapper {
		float: left;
		padding: 0px 85px 0 65px;	
	}

/***
 * HEADER
 * ------------------------------------------------------------------------- */

	div#wrapper div#header {
		margin: 0 auto;
		padding: 20px 0 0 0;
		width: 766px;
		height: 185px;
		background: transparent url(../images/common/header-bg.gif) top right no-repeat;
	}
		div#wrapper div#header a.logo {
			background: transparent url(../images/common/coherent-logo.jpg) 0 0 no-repeat;
			height: 126px;
			width: 148px;
			display: block;
			float: left;
			margin: 32px 0 31px 27px;
			cursor: pointer;
			outline: none;
		}
			div#wrapper div#header a.logo span {
				text-indent: -9999px;
				display: block;
				width: 148px;
				height: 126px;
			}
		
/***
 * MAIN NAVIGATION
 * ------------------------------------------------------------------------- */
 	
 	ul#primary-navigation {
		margin: 0;
		padding: 0;
		float: left;
		width: 472px;
		margin: 40px 20px 0 80px;
		list-style-type: none;
		font-size: 1em;
	}
		ul#primary-navigation li {
			float: left;
			display:inline;
			text-transform: lowercase;
			font-size: 1em;
			position:relative;
			padding: 0;
			margin: 0;
		}
		/*
		#image {
		width: 304px;
		height: 100px;
		filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=”text.2.png”, sizingMethod=”scale”);
		}
		#opacity {
		filter: Alpha(opacity=40);
		zoom: 1;
		}
		*/
			ul#primary-navigation li a {
				float:left;
				display: inline;
				outline: none;
				position:relative;
			}
			ul#primary-navigation li a span {
				position: absolute;
				left: -5000px;
			}
			ul#primary-navigation li.nav-services a {
				width: 122px;
				height: 70px;
				background: url(../images/nav/primary-services.png) no-repeat top left;
				
			}
			ul#primary-navigation li.nav-services a:hover, ul#primary-navigation li.nav-services a.on {
				background-position: 0 -71px;
				text-decoration: none;
				z-index: 1;
				position: relative;
			}
			ul#primary-navigation li.nav-about-us a {
				width: 102px;
				height: 75px;
				background: url(../images/nav/primary-about.png) no-repeat top left;
				left: -17px;
				top: 15px;
				/* filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../images/nav/nav-test/nav-about.png", sizingMethod="crop"); */
				
			}
			ul#primary-navigation li.nav-about-us a:hover, ul#primary-navigation li.nav-about-us a.on {
				background-position: 0 -75px;
				text-decoration: none;
				z-index: 1;
				position: relative;
			}
			ul#primary-navigation li.nav-expertise a {
				width: 139px;
				height: 82px;
				background: url(../images/nav/primary-expertise.png) no-repeat top left;
				left: -34px;
				top: 10px;
			}
			ul#primary-navigation li.nav-expertise a:hover, ul#primary-navigation li.nav-expertise a.on {
				background-position: 0 -83px;
				text-decoration: none;
				z-index: 1;
				position: relative;
			}
			ul#primary-navigation li.nav-contact a {
				width: 147px;
				height: 90px;
				background: url(../images/nav/primary-contact.png) no-repeat top left;
				margin-left: -63px;
				top: -5px;
				
			}
			ul#primary-navigation li.nav-contact a:hover, ul#primary-navigation li.nav-contact a.on {
				background-position: 0 -91px;
				text-decoration: none;
				z-index: 1;
				position: relative;
			}
				ul#primary-navigation li a {
					font-size: 1.5em;
					color: #fff;
					font-weight: normal;
				}
		
/* secondary navigation */
    
    ul#secondary-navigation {
        margin: 0;
        padding: 0;
        line-height: 1.5em;
        display: block;
        width: 570px;
        list-style-type: none;
        font-size: 1.3em;
        text-align: center;
        position: relative;
        top: 15px;
		float: right;
        }
        ul#secondary-navigation li {
            display:inline;
            text-transform: lowercase;
            font-size: 1em;
            padding-right: 1px;
			padding-left: 25px;
			border-left:1px solid #ccc;
            }
			ul#secondary-navigation li.first { 
				border-left: none; 
				}			
            ul#secondary-navigation li a  {
                font-weight: normal;
            }
            ul#secondary-navigation li a.on {
                font-weight: bold;
                }


/* tertiary navigation */
   
    ul#tertiary-navigation {
        padding: 0;
        line-height: 1.5em;
        display: block;
        width: 570px;
        list-style-type: none;
        font-size: 1.1em;
        text-align: center;
        position: relative;
        top: 15px;
		float: right;
		margin-top: 20px;
		margin-bottom: 30px;
        }
        ul#tertiary-navigation li {
            display:inline;
            text-transform: lowercase;
            font-size: 1em;
            padding-right: 1px;
			padding-left: 25px;			
			border-left: 1px solid #ccc;
            }
			ul#tertiary-navigation li.first { 
				border-left: none; 
				}			
            ul#tertiary-navigation li a  {
                font-weight: normal;
            }
            ul#tertiary-navigation li a.on {
                font-weight: bold;
                } 

	
/***
* SPECIFIC PAGES
* Stylesheets for specific pages and layouts
* ------------------------------------------------------------------------- */

/* Home page */
body.home {
}

	div#wrapper div#main-content div#primary-col {
		width: 348px;
		float: left;
		margin: 0 34px 0 0;
	}
	div#wrapper div#main-content div#secondary-col {
		width: 348px;
		float: left;
		margin: 0;
		padding-bottom: 50px;
	}	
	
	
	div#wrapper div#main-content div#secondary-col div.appdev-highlight {
		display: block;
		background: url(../images/common/header-bg-cloud.gif) no-repeat 5px 0;
		padding-left: 40px;
	}
	div#wrapper div#main-content div#secondary-col div.web-highlight {
		display: block;
		background: url(../images/common/header-bg-circle.gif) no-repeat 3px 0;
		padding-left: 40px;
	}
	div#wrapper div#main-content div#secondary-col div.content-highlight {
		display: block;
		background: url(../images/common/header-bg-key.gif) no-repeat 0 0;
		padding-left: 40px;
	}
	div#wrapper div#main-content div#secondary-col div.questions-highlight {
		display: block;
		background: url(../images/common/header-bg-talk.gif) no-repeat 0 0;
		padding-left: 40px;
	}	

/* end home page */


/*** END SPECIFIC PAGES ***/


/***
 * SIDEBAR
 * ------------------------------------------------------------------------- */
 
		div#wrapper div#columns-outer #columns-inner div#sidebar {
			color: #fff;
			width: 261px;
			min-height: 150px;
			float: left;
		}
			
/***
 * MAIN 
 * ------------------------------------------------------------------------- */
	div#wrapper div#single-column {
		background: #d8bd87;
		color: #6c5d3d;
		width: 873px;
		padding: 45px 24px;
	}
		

/***
 * BOTTOM CONTENT
 * ------------------------------------------------------------------------- */

	
/***
 * FOOTER
 * ------------------------------------------------------------------------- */

	div#footer {
		margin: 0 auto;
		padding-bottom: 70px;
		width: 729px;
		height: 25px;
		background: transparent url(../images/common/footer-bg.gif) bottom right no-repeat;
		text-align: center;
	}
		div#footer p {
			margin: 0 auto;
			font-size: 1.2em;
			width: 500px;
		}
		div#footer a {
			font-weight: normal;
			color: #0067b1;
		}
		
		/*** END TEMPLATE STRUCTURAL ELEMENTS AND ITEMS ***/


/***
 * FORMS
 * ------------------------------------------------------------------------- */
 
 fieldset {
	border: none;
	}
	fieldset label {
		display: block;
		color: #666;
		font-weight: bold;
		font-size: 1.3em;
		}
	fieldset input {
		margin: 0 0 1.2em 0;
		width:200px;
		}
		fieldset textarea {
			height: 100px;
			overflow: auto;
			margin-bottom: 1.2em;
			width:300px;
			}
		p.note {
			font-size: .9em;		
			}
 
 
 /*** END FORM STYLES ***/

/***
* WIDGETS AND PARTS
* Little fancy things that are used in many places and individual, reusable widgets.
* ----------------------------------------------------------------------------------- */


/**
* Utility elements
*/
div.clear {
	clear: both;
	height: 0px;
	overflow: hidden;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0pt;
	visibility: hidden;
}

.offscreen-positioned {
	left: -999999em;
	position: absolute;
	margin: 0;
	padding: 0;
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

div.nowrap {
	margin: 0;
	padding: 0;
	white-space: nowrap;
	display: inline; /* IE gets all fussy otherwise */
}

.nobg {
	background: none !important;
}

div.hr {
	border: 1px solid #ccc;
	height: 1px;
}

a.email {
    background:transparent url(../images/common/mail-icon.gif) no-repeat left center;
    padding-left:20px;
}

span.highlight {
		color: #78a22f;
		font-size: 1.1em;
		margin: 0 0 0 0;
}

p.emphasized {
	font-size: 1.5em;
}

p.req-field {
	margin-top: 10px;
	color: #f58426;
}
p.disclaimer {
	font-size: .85em;
	font-style: italic;
}
/* end utility elements */

/*** END WIDGETS AND PARTS ***/			