/*  
Theme Name: Concept Technical Group
Theme URI: http://markdotto.com/
Description: Wordpress theme based on the layout for CTG's website.
Version: 4.0
Author: Mark Otto
Author URI: http://markdotto.com/
*/



/* --------------------------------------------------------------------------- Structure */

body {
	background: #fff url('images/page_bg.gif') repeat-x 0 -20px;
	margin: 0;
	padding: 0;
	font: 62.5%/1.5 "Lucida Grande", Trebuchet MS, Arial, sans-serif;
	color: #000;
	text-align: left;
}

#page {
	background: #fff;
	margin: 0;
	padding: 0;
	width: 900px;
}

#header {
	background: #333;
	width: 900px;
	height: 75px;
	margin: 0;
	padding: 20px 0 5px 0;
	text-align: right;
}

#focus,
#focusNews,
#focusAbout,
#focusSearch,
#focusContact,
#focusClients,
#focusEmployees,
#focusEmployment2
#focusEmployment {
	width: 900px;
	height: 225px;
	padding: 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

	#focus { background: url('images/emptyseats.jpg') no-repeat right bottom; }
	#focusAbout { background: url('images/focusAbout.jpg') no-repeat right bottom; }
	#focusContact {	background: url('images/focusContact.jpg') no-repeat right bottom; }
	#focusSearch { background: url('images/results.jpg') no-repeat right bottom; }
	#focusEmployment2 { background: url('images/focusPuzzlepiece.jpg') no-repeat right bottom; }
	#focusEmployment { background: url('images/focusPuzzlepiece.jpg') no-repeat right bottom; }
	#focusClients { background: url('images/focusWeeds.jpg') no-repeat right bottom; }
	#focusEmployees { background: url('images/focusJobhere.jpg') no-repeat right bottom; }
	#focusNews { background: url('images/focusPuzzlepiece.jpg') no-repeat right bottom; }

#content {
	width: 550px;
	margin: 15px 0;
	padding: 5px 25px 5px 30px;
	float: left;
	border-right: 1px solid #ddd;
}

div.somethingElse {
	background: url('images/icons/info.gif') no-repeat 0 25px;
	border-top: 1px solid #ddd;
	margin: 25px 0 0 0;
	padding: 25px 5px 0 110px;
}

#sidebar {
	width: 265px;
	margin: 15px 0;
	padding: 5px 0 5px 25px;
	text-align: left;
	float: right;
}

#footer {
	background: #fff;
	width: 870px;
	margin: 15px 0 10px 10px;
	padding: 10px;
	line-height: 2;
	text-align: left;
	border-top: 1px solid #ddd;
	font-size: 1.1em;
	clear: both;
}

	#footer ul li		{ font-size: .9em; background: none; }
	#footer span.meta	{ float: right; text-align: right; }



/* --------------------------------------------------------------------------- Typography */

h1, h2, h3 { margin: 0; padding: 0; line-height: 100%; clear: none; }

h1 {
	font-size: 24px;
	color: #b1260d;
	text-align: left;
	margin: 0 0 5px;
}

	h1 a, h1 a:hover {
		text-decoration: none;
		color: #b1260d;
		border-bottom: 0 !important;
	}

	h1.singlePost { font-size: 1.6em; font-weight: normal; }

h2 {
	font-size: 18px;
	color: #0860A8;
	padding: 5px 0 0 0;
	font-weight: normal;
	text-align: left;
}

	#sidebar h2 {
		font-size: 1.7em;
		color: #333;
		padding: .5em 0 0 0;
	}

	h2 a[name], h2 a[name]:hover { border-bottom: 0; color: #0860A8; font-weight: normal; }

	div.somethingElse h2 { margin-top: 0; padding-top: 0; }

h3 {
	font-size: 14px;
	margin: 0;
	padding: 0;
	color: #000;
	font-weight: normal;
	margin-bottom: 10px;
}
h6 {
	font-size: 1.1em;
	font-weight: bold;
	text-align: left;
	margin: 0;

	padding: 0 0 15px 0;
}

	form h6 { font-size: .9em; }

/* These are standard sIFR styles... do not modify */

.sIFR-flash {
	visibility: visible !important;
	margin: 0;
}

.sIFR-replaced {
	visibility: visible !important;
}

span.sIFR-alternate {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	display: block;
	overflow: hidden;
}

/* Hide Adblock Object tab: the text should show up just fine, not poorly with a tab laid over it. */
.sIFR-flash + div[adblocktab=true] {
  display: none !important;
}

/* These "decoy" styles are used to hide the browser text before it is replaced... the negative-letter spacing in this case is used to make the browser text metrics match up with the sIFR text metrics since the sIFR text in this example is so much narrower... your own settings may vary... any weird sizing issues you may run into are usually fixed by tweaking these decoy styles */

.sIFR-hasFlash h1 {
	visibility: hidden;
	font-size: 24px;
	line-height: 30px;
z-index: 1;
}

.sIFR-hasFlash #content h2 {
	visibility: hidden;
	font-size: 14px;
	line-height: 18px;
}

.sIFR-hasFlash #content h2.secondary {
	visibility: hidden;
	font-size: 16px;
	line-height: 20px;
}

.sIFR-hasFlash #sidebar h2 {
	visibility: hidden;
	font-size: 14px;
	line-height: 18px;
}

.sIFR-hasFlash #frontSidebar h2 {
	visibility: hidden;
	font-size: 14px;
	line-height: 18px;
}

address {
	margin: -14px 0 0 0;
	padding: 0 0 0 10px;
	font-size: 1.2em;
	font-style: normal;
	line-height: 1.5;
}

p {
	margin: 2px 0 13px 0;
	padding: 2px 0;
	font-size: 1.5em;
	line-height: 1.75;
	color: #000;
	text-align: left;
}

	p.preview {
		padding: 1em 0 .5em 0;
		color: #000;
		line-height: 1.7em;
	}

	ul.results p {
		font-size: 1em;
		margin: 3px 0 3px 0;
	}

span.quote {
	background: #fff url('images/quotebg.gif') no-repeat left top;
	display: block;
	float: right;
	width: 175px;
	height: 90px;
	margin: 5px 0 10px 10px;
	padding: 30px 25px;
	font: 1.4em/1.3em "Times New Roman", Georgia, serif;
	color: #fff;
}

span.emailLabel {
	display: block;
	float: left;
	width: 175px;
	padding: 0;
}


/* --------------------------------------------------------------------------- Special Front Page */

#browsingNav {
	background: #fff url('images/browseBackground.gif') repeat-x left top;
	height: 39px;
	padding: 11px 0 0 0;
	clear: both;
}

#browsingNav #searchForm {
	padding: 0 10px 0 0;
	margin: 0;
	position: absolute;
	top: 334px;
	left: 715px;
}

#searchForm #s {
	width: 150px;
	margin: 0 5px 0 0;
	padding: 2px 2px 3px 2px;
	font: .9em "Lucida Grande", "Verdana", Trebuchet MS, sans-serif;
	font-weight: bold;
	color: #333;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

#searchForm #searchSubmit { position: relative; top: 7px; }

#searchForm #s:focus {
	background: #efefef!important;
	color: #333!important;
}

#welcomeMessage {
	width: 480px;
	margin: 15px 0;
	padding: 5px 15px 5px 30px;
}

#frontSidebar {
	width: 340px;
	margin: 15px 0;
	padding: 0 0 0 25px;
	float: right;
	border-left: 1px solid #ddd;
}

#frontSidebar .quickLinks {
	width: 35%;
	float: left;
	padding: 0 0 25px 0;
}

#frontSidebar .availPositions {
	width: 340px;
	padding: 0 0 75px 0;
	background: url('images/newjobs.gif') no-repeat right bottom;
}

#frontSidebar ul,
#frontSidebar ul li {
	margin: 0;
	padding: 0;
	font-weight: bold;
	color: #666;
}

#frontSidebar ul {
	margin: .75em 0 0 0;
}

#frontSidebar ul li {
	padding: 3px 0 3px 10px;
	list-style: none;
	font-size: 1.5em;
}


#getStarted {
	background: #d1dfe0 url('images/getStarted_bg.gif') repeat-x left top;
	margin: 25px 0 0 0;
	padding: 10px 10px 6px 10px;
	clear: both;
}

#getStarted fieldset {
	border: 1px solid #fff;
	padding: 5px;
}

#getStarted legend{
	padding: 0 5px;
}

#getStarted p {
	font-size: 125%;
	padding: 0 5px;
}

#getStarted h2 {
	padding: 0;
}

#getStartedButton {
	margin: 0 0 10px 90px;
}

/* --------------------------------------------------------------------------- Universals */

br.clearfloat { clear: both; height: 1px; }
img, a img, img a { border: 0; }
img.logo { float: left; }
.alignRight { float: right; margin: 0 0 1em 1em; }
.alignLeft { float: left; margin: 0 10px 0 10px; }

a,
a:visited {
	color: #0860a8;
	text-decoration: none;
	font-weight: normal;
	border-bottom: 1px dotted #ccc;
}

a:hover {
	color: #b1260d;
	text-decoration: none;
	border-bottom: 0;
}

a:active {
	color: #0860a8;
	text-decoration: none;
	border-bottom: 0;
}


/* --------------------------------------------------------------------------- Hyperlink Exceptions*/

a.img,
a.img:hover,
#getStarted a,
#getStarted a:hover,
ul.searchResults a,
ul.searchResults a:hover { border-bottom: 0; }

#footer a { font-weight: normal; }

.navigation a { font-size: 1.1em; }

a.searchResultLink,
a.searchResultLink:visited {
	color: #08a828; /*3fad3b*/
}

a.searchResultLink:hover {
	color: #b1260d;
}

.morenews a,
.morenews a:visited,
.resultLinks a,
.resultLinks a:visited {
	color: #56aa04;
	border-bottom: 0;
}

.morenews a:hover,
.resultLinks a:hover {
	color: #b1260d;
}

/* --------------------------------------------------------------------------- Navigation Lists */

/* Header Navigation
---------------------------------------- */

#baseNav {
	margin: 0;
	padding: 0;
	position: absolute;
	top: 40px;
	left: 672px;
	font-size: 1.1em;
	font-weight: bold;
}

	#baseNav li {
		display: inline;
		margin: 0;
		padding: 0;
	}

	#baseNav li a:link,
	#baseNav li a:visited {
		width: auto;
		margin: 0;
		padding: 5px 10px;
		float: left;
		border-left: 1px solid #444;
		border-bottom: 0;
		color: #fff;
		text-decoration: none;
	}
	
	#baseNav li a:hover {
		color: #fff;
		text-decoration: underline;
	}
	
	#baseNav li.first { border-left: 0px!important; }

/* Main Navigation
---------------------------------------- */

#superMenu,
#superMenu li,
#superMenu li ul {
	margin: 0;
	padding: 0;
}

	#superMenu {			/* Controls the list */
		width: 750px;
		text-align: left;
		font-size: 1.2em;
		z-index: 100;
		float: left;
	}
	
	#superMenu li { 		/* Controls all list items */
		background: transparent;
		list-style: none;
		float: left;
		position: relative;
		z-index: 100000;
		color: #333;
	}
	
	#superMenu li ul {		/* Controls dropdown menus */
		color: #fff;
		width: 220px;
	}
	
	#superMenu li ul li a:link,
	#superMenu li ul li a:visited {		/* Controls dropdown menu links */
		background: #444;
		margin: 0;
		padding: 6px 0 6px 10px;
		width: 220px;
		list-style: none;
		float: left;
		position: relative;
		z-index: 100;
		color: #fff;
		text-decoration: none;
		border-bottom: 0;
		border-left: 1px solid #ddd;
	}
	
	#superMenu li ul li a:hover {
		background: #CCC;
		color: #000;
		font-weight: bold;
		text-decoration: none;
	}
	
	.browse { color: #333!important; }
	.first	{ border-left: 0!important; }
	.last	{ border-bottom: 1px solid #999; }
	
	#superMenu h4 { color: #0860a8; margin: 0; padding: 6px 15px; font-size: 1em; border-left: 1px solid #ddd; }
	#superMenu h4:hover { color: #b1260d; }
	
	#superMenu li ul { /* second-level lists */
		background: #333;
		height: 0;
		overflow: hidden;
		position: absolute;
		top: 26px;
		left: 0;	
	}
	
	#superMenu li>ul { /* to override top and left in browsers other than IE, which will position to the top right of the containing li, rather than bottom left */
		top: auto;
		left: auto;
	}
	
	#superMenu li:hover ul, #superMenu li.over ul { /* lists nested under hovered list items */
		color: #fff;
		overflow: visible;
	}

/* Footer Navigation
---------------------------------------- */

#footer ul {
	margin: 0;
	padding: 0;
	font-size: 1.1em;
	float: left;
}

	#footer ul li {
		background: none;
		margin: 0;
		padding: 0;
		display: inline;
		float: left;
	}
	
	#footer ul li a:link,
	#footer ul li a:visited {
		width: auto;
		padding: 1px 10px;
		border-left: 1px solid #ddd;
		border-bottom: 0;
	}
	
	#footer ul li a:hover {
		text-decoration: underline;
	}

	#footer ul li.first { border-left: 0!important; }
	
	#bottomNav { position: relative; top: 5px; left: -10px; }


/* --------------------------------------------------------------------------- Forms */

form {
	margin: 0;
	padding: 0;
	font-size: 1.2em;
}

form h2 {
	margin: 5px 10px;
	padding: 0;
	font-size: 1em;
	font-weight: bold;
	border-bottom: 1px solid #ddd;
	color: #547eae;
}

p.notes {
	margin-left: 165px;
	font-size: .9em;
}

form small {
	font-size: .9em;
}

fieldset {
	margin: 0 0 10px;
	padding: 5px 10px;
	border: 1px solid #ddd;
}

legend {
	font-weight: bold;
	color: #547eae;
}

label {
	color: #333;
	font-weight: normal;
	display: block;
	float: left;
	width: 150px;
	padding: 3px 10px 3px 5px;
	margin: 0 0 5px 0;
	text-align: right;
}

#positionApplyingFor {
	margin-left: 165px;
}

.required label {
	color: #b1260d;
}

.optional label {
	color: #333;
}

select.selectOne {
	width: 130px;
	padding: 1px;
}

.required input,
.optional input,
.required select,
.optional select,
.required textarea,
.optional textarea	{
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	padding: 2px;
}

form div.checkbox input {
	width: 20px;
	display: inline;
}

form div {
	clear: left;
	display: block;
	height: expression('1%');
	margin: 5px 0 0 0;
	padding: 1px 3px;
}

form textarea { width:40%!important; }

form div.required input, form div.optional input { width:40%!important; }

form input:focus,
form select:focus,
form textarea:focus {
  background:#e5f5f6;
  color:#000!important;
}



/* --------------------------------------------------------------------------- Unordered Lists */

/* Top News List
---------------------------------------- */

ul.topnews {
	margin: 0;
	padding: 0;
	width: 479px;
	float: left;
}

	ul.topnews li {
		margin: 0;
		padding: 0 10px;
		list-style: none;
		font-size: 1.1em;
	}
	
	li.topstoryid {
		background: url('images/topnews_id.gif') no-repeat top left;
		display: block;
		width: 55px;
		height: 25px;
		float: left;
		line-height: 25px;
		color: #fff;
		font-weight: bold;
	}
	
	li.story {
		background: url('images/topnews_bg.gif') no-repeat top right;
		display: block;
		float: left;
		width: 383px;
		height: 25px;
		padding: 0 10px;
		line-height: 25px;
	}

/* Sidebar Lists
---------------------------------------- */

#sidebar ul,
#sidebar ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}

	#sidebar ul li ul li {
		margin: .75em 0;
		padding: 0 0 0 1em;
		font-size: 1.45em;
	}

/* Content Lists & Tips for Success List
---------------------------------------- */

ul.list, ul.tips {
	margin: 0 0 0 25px;
	padding: 0;
}

	ul.list li {
		list-style: none;
		background: url('images/checkarrow.gif') no-repeat 0 5px;
		margin: 0;
		padding: 5px 25px;
		font-size: 1.5em;
	}

	ul.list li ul li {
		font-size: 1.5em;
		line-height: 1.75em;
		background: url('images/greenarrow.gif') no-repeat 0 12px;
		padding: 5px 15px;
	}

	ul.tips li {
		list-style: none;
		background: url('images/greenarrow.gif') no-repeat 0 12px;
		margin: 0;
		padding: 5px 15px;
		font-size: 1.5em;
		line-height: 1.75em;
	}



/* Category Listings
---------------------------------------- */

ul.catListing {
	margin: 0 0 25px 25px;
	padding: 0;
}

	ul.catListing li {
		list-style: none;
		background: url('images/greenarrow.gif') no-repeat 0 10px;
		margin: 0;
		padding: 5px 15px;
		font-size: 1.2em;
	}

/* Search Results & Recent News
---------------------------------------- */

ul.results {
	margin: 0 0 25px 0;
	padding: 0;
	width: 100%;
	list-style: none;
	border-top: 1px solid #ddd;
}

	ul.results li {
		background: none !important;
		width: auto;
		margin: 0;
		padding: 14px 15px 15px;
		line-height: 2;
		border-bottom: 1px solid #ddd;
	}
	
	ul.results span, ul.results div {
		font-size: 1.2em;
	}
	
	ul.results .result {
		color: #777 !important;
		line-height: 1.6;
	}
	
	ul.results .resultLinks, ul.results .newsLinks {
		background: url('images/greenarrow.gif') no-repeat 0 3px;
		padding: 0 0 0 15px;
	}
	
	ul.results .newsLinks a, ul.results .newsLinks a:visited {
		color: #08a828;
	}
	
	ul.results .newsLinks a:hover {
		color: #b1260d;
	}
	
	ul.results h2,
	ul.recentNews h2,
	ul.searchResults h2 {
		padding: 0;
		font-size: 18px;
		margin-bottom: 5px;
	}

	ul.results li:hover,
	ul.recentNews li:hover,
	ul.searchResults li:hover {
		background: #f1f1f1 !important;
	}

/* Defined Lists - Tips?
---------------------------------------- */

dl {
	margin: 0;
}

	dt {
		margin-top: 1em;
		font-size: 1.2em;
		color: #444;
		font-weight: bold;
	}
	
	dt span {
		font-weight: normal;
		font-style: italic;
	}
	
	dd {
		margin-bottom: 1em;
		font-size: 1em;
	}

abbr,
acronym,
span.caps {
	border-bottom: 1px dotted;
}
