/*predefined tags*/
body {
	background-color:#ededed;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size: 62.5%;
}
div {
	overflow:hidden;
}
a {
	outline:none;
}
a img {
	border:none;
}
p {
	font-size:1.1em;
	color:#666666;
	margin:10px 0px 10px 0px;
	line-height:1.75em;
}
p.first {
	margin-top:0px;
}
p a {
	font-size:1.0em;
	color:#4C8DA7;
	line-height:175%;
	text-decoration:underline;
}
p a:hover {
	color:#335C6C;
	text-decoration:none;
}

h1 {
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:2.9em;
	color:#b2cddb;
	font-weight:normal;
	line-height:1.3em;
	margin:0px;
}
h2 {
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:2em;
	color:#b2cddb;
	font-weight:normal;
	line-height:1.3em;
	margin:0px;
}
hr {
	border:0;
	color:#CCC;
	background-color:#CCC;
	height:1px;
}
ul {
	padding:0;
	margin:0px 0px 10px 0px;
}
ul li {
	list-style-type:none;
	font-size:1.1em;
	color:#4C8DA7;
	line-height:2em;
}
ul li a {
	color:#4C8DA7;
	text-decoration:none;
}
ul li a:hover {
	color:#335C6C;
	text-decoration:underline;
}
ol li {
	font-size:1.1em;
	color:#666666;
	line-height:1.5em;
}
ol li a {
	color:#4C8DA7;
	text-decoration:none;
}
ol li a:hover {
	color:#335C6C;
	text-decoration:underline;
}
.clear {
	clear:both;
}



/*template items*/
#container {
	background-image:url(images/bg_shadow.jpg);
	background-repeat:repeat-y;
	height: auto;
	width: 814px;
	margin-right: auto;
	margin-left: auto;
}
#header {
	width: 814px;
	height: 220px;
	background-image:url(images/header_img.jpg);
	background-repeat:no-repeat;
}
#nav {
	width: 176px;
	height: 117px;
	float:right;
	position:relative;
	margin-top:60px;
	right: 60px;
	overflow:hidden;
}
#nav li {
	list-style-type:none;
}
#nav li a span {
	margin-left:-5000px;	
}

#nav li a {
	list-style-type:none;
	padding:0px;
	margin:0px;
	width:176px;
	height:30px;
	display:block;
}
#nav li.home {
	background:url(images/nav_home.gif) no-repeat;
	display:block;
}
#nav li.services {
	background:url(images/nav_services.gif) no-repeat;
	height:29px;
}
#nav li.services a {
	background:url(images/nav_services.gif) no-repeat;
	height:29px;
}
#nav li.portfolio {
	background:url(images/nav_portfolio.gif) no-repeat;
	height:28px;
}
#nav li.portfolio a {
	height:28px;
}
#nav li.contact {
	background:url(images/nav_contact.gif) no-repeat;
}
#main {
	width: 814px;
	height: auto;
	background-image:url(images/footer_img.jpg);
	background-repeat:no-repeat;
	background-position:bottom;
}
#aboutsite {
	width:690px;
	height:100px;
	float:left;
	position:relative;
	margin:15px 0px 0px 0px;
	left:61px;
	border-top:solid 1px #c9e9f7;
	padding-top:10px;
}
#aboutsite ul {
	margin:10px 0px 10px 0px;
	padding:0px;
}
#aboutsite li {
	height:25px;
	font-size:1.0em;
	color: #999;
	margin:0px 15px 0px 0px;
	display:inline;
	padding-left:10px;
	border-left:1px solid #CCCCCC;
}
#aboutsite li.first {
	height:25px;
	font-size:1.0em;
	color: #999;
	margin:0px 15px 0px 0px;
	display:inline;
	padding-left:0px;
	border-left:none;
}
#flashcontent {
	width:450px;
	height:200px;
	float:left;
	position:relative;
}
/*content items*/
#maincontent {
	width:750px;
	height: auto;
	float:left;
	position:relative;
	left: 53px;
	margin: 20px 0 20px 0;
}
.one_col {
	width:190px;
	height:auto;
	float:left;
	background:url(images/corner_bg.jpg) no-repeat top left;
	margin:15px 0px 0px 16px;
	padding: 20px 20px 0 20px;
}
.two_col {
	width:430px;
	height:auto;
	float:left;
	position:relative;
	background:url(images/corner_bg.jpg) no-repeat top left;
	margin:15px 0px 0px 0px;
	padding: 20px 20px 0 20px;
}
.two_col table {
	margin:0px 0px 0px 11px;
}
.two_col tr {
	font-size:1.0em;
	color:#666;
	height:30px;
}
.three_col {
	width:650px;
	height:auto;
	float:left;
	position:relative;
	background:url(images/corner_bg.jpg) no-repeat top left;
	margin:15px 0px 0px 0px;
	padding: 20px 20px 0 20px;
}
#newsletter{
	width:189px;
	height:300px;
	float:left;
	position:relative;
	background:url(images/e_newsletter.gif) no-repeat top;
}
#newsletter form{
	float:left;
	position:relative;
	margin:65px 0px 0px 0px;
	left:12px;
}
#newsletter form label{
	margin-bottom:6px;
}
#newsletter form input {
	width:140px;
	height:15px;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1.0em;
	color:#4C8DA7;
}
#newsletter form input.submitwhite {
	width:79px;
	height:14px;
	float:left;
	position:relative;
	left:75px;
}
#portTestimonial {
	width:195px;
	height:auto;
	
}
#portTestimonial h1 {
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:1.8em;
	color:#4C8DA7;
	font-weight:normal;
	font-style:italic;
	line-height:1.3em;
	margin:0px;
}
#portTestimonial p {
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:1.2em;
	color:#b2cddb;
	font-weight:normal;
	font-style:italic;
	line-height:1.3em;
	margin-top:10px;
}
.testimonial {
	width:650px;
	height:auto;
	border-bottom:solid 1px #b2cddb;
	float:left;
	position:relative;
	margin-top:20px;
}
.testimonialImage {
	width:200px;
	height:auto;
	float:left;
	position:relative;
}
.testimonialText {
	width:430px;
	height:auto;
	float:left;
	position:relative;
	padding-left:20px;
}

.section_header {
	margin:15px 0px 0px 10px;
}
.inset_box {
	margin:10px 20px 10px 10px;
	background-image:url(images/portthumb_bg.jpg);
	background-repeat:repeat-x;
	border:#c5dae4 solid 1px;
}
ul.bulletArrowE a, ul.bulletArrowE a:hover {
	font-family:Georgia, "Times New Roman", Times, serif;
	background:url(images/bullet_arrow_e.gif) no-repeat 0 0;
	padding-left:20px;
	text-decoration:underline;
}
ul.bulletArrowE a:hover {
	text-decoration:none;
}
ul.bulletArrowSE li {
	font-family:Georgia, "Times New Roman", Times, serif;
	background:url(images/bullet_arrow_se.gif) no-repeat 0 5px;
	padding-left:20px;
}
ul.bulletArrowSE li a, .bulletArrowSE li a:hover  {
	font-family:Georgia, "Times New Roman", Times, serif;
	background:url(images/bullet_arrow_se.gif) no-repeat 0 0;
	padding-left:20px;
}
.bulletDoc a {
	background:url(images/bullet_doc.gif) no-repeat 0 50%;
	padding-left:20px;
}
.bulletCoreSkills {
	background: no-repeat 0 50%;
	padding-left:25px;
	line-height:2.7em;
}
.secondaryNav {
	padding-top:10px;
}
.secondaryNav li a {
	font-family:Georgia, "Times New Roman", Times, serif;
	width:180px;
	padding:5px;
	border-bottom:#b2cddb solid 1px;
	display:block;
}
.secondaryNav li a:hover {
	font-family:Georgia, "Times New Roman", Times, serif;
	text-decoration:none;
	background:url(images/client_list_bg.jpg) repeat-y;
}
.port_thumbs {
	width:190px;
	height:230px;
	float:left;
	position:relative;
	margin:0px 0px 0px 40px;
}
.portTitle {
	width:450px;
	height:auto;
	float:left;
	position:relative;
	margin-bottom:10px;
	border-bottom:solid 2px #b2cddb;
	padding-bottom:10px;
}
.portDetails {
	width:195px;
	height:auto;
	float:left;
	position:relative;
	margin-top:10px;
}
.serviceOverview {
	width:210px;
	height:auto;
	float:left;
	position:relative;
	margin:10px 0px 10px 0px;
}



/*form elements*/
fieldset {  
	float: left;  
	clear: left;
	width:400px;
	margin:0px 0px 15px 0px;
	position:relative;
	padding:0px;
	border: 1px solid #c9e9f7;
	background-color:#FFFFFF;
}
legend {
	color:#4C8DA7;
	font-size:10pt;
	margin-left: 8px;  
	font-weight: bold;
	padding: 0px 2px 0px 2px;  
}
fieldset ol {  
	padding: 5px 0px 0px 0px;
	margin: 5px 0px 5px 0px; 
	list-style: none;
}
fieldset li {  
	float: left;  
	clear: left;  
	width: 100%;
	margin:0px 0px 5px 0px;
	list-style-image:none;
}
fieldset.submit {  
	float: none;  
	width: auto;  
	border: 0 none #FFF;  
	position:relative;
}
label {  
	float: left;  
	width: 160px;  
	margin: 0px 10px 0px 10px;
	font-size:1.0em;
	color:#666;
}
input.text {
	height:15px;
	width:200px;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1.0em;
	color:#4C8DA7;
}
input.subscribe {
	height:15px;
	width:150px;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1.0em;
	color:#4C8DA7;
	margin-left:10px;
}
input.submit {
	width:67px;
	height:25px;
}
textarea {
	width:200px;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1.0em;
	color:#4C8DA7;
}
select {
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:1.0em;
	color:#4C8DA7;
}


/*lightbox styling*/
#lightbox{
	position: absolute;
	left: 0;
	width: 100%;
	z-index: 100;
	text-align: center;
	line-height: 0;
	}

#lightbox a img{ border: none; }

#outerImageContainer{
	position: relative;
	background-color: #fff;
	width: 250px;
	height: 250px;
	margin: 0 auto;
	}

#imageContainer{
	padding: 10px;
	}

#loading{
	position: absolute;
	top: 40%;
	left: 0%;
	height: 25%;
	width: 100%;
	text-align: center;
	line-height: 0;
	}
#hoverNav{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	}
#imageContainer>#hoverNav{ left: 0;}
#hoverNav a{ outline: none;}

#prevLink, #nextLink{
	width: 49%;
	height: 100%;
	background: transparent url(images/lightbox/blank.gif) no-repeat; /* Trick IE into showing hover */
	display: block;
	}
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(images/lightbox/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(images/lightbox/nextlabel.gif) right 15% no-repeat; }


#imageDataContainer{
	font: 10px Verdana, Helvetica, sans-serif;
	background-image:url(images/lightbox/data_linebg.gif);
	background-repeat:repeat-x;
	background-color: #fff;
	margin: 0 auto;
	line-height: 1.4em;
	overflow: auto;
	width: 100%;
	}

#imageData{	padding:10px 10px; color: #666; }
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }	
#imageData #caption{ font-weight: bold;	}
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em;  color:#CCC;	}			
#imageData #bottomNavClose{ width: 66px; float: right;  padding-bottom: 0.7em; padding-top:0.3em;	}	
		
#overlay{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 90;
	width: 100%;
	height: 500px;
	background-color: #264f5f;
	}
	
/* Sliding Panels */

.transparent_class {
	filter:alpha(opacity=25);
	-moz-opacity:0.25;
	-khtml-opacity: 0.25;
	opacity: 0.25;
}

#leftArrow a {
	width: 40px;
	height: 200px;
	position:absolute;
	float:left;
	z-index:999;	
}

#rightArrow a {
	width: 40px;
	height: 200px;
	position:absolute;
	float:left;
	margin-left:410px;
	z-index:999;	
}

/* SprySlidingPanels.css - version 0.1 - Spry Pre-Release 1.6 */

/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */

/* This is the selector for the main SlidingPanels container. This selector
 * defines the width and height of the view port for the widget. Note that
 * this selector does not set the overflow property since that is done programatically
 * by the widget. Setting the overflow property programatically ensures that
 * the contens of the widget will be fully visible should JavaScript be disabled
 * in the browser.
 *
 * If you want to constrain the width of the SlidingPanels widget, set a width on
 * the SlidingPanels container. By default, our sliding panels widget expands
 * horizontally to fill up available space.
 *
 * The SlidingPanels container is positioned relative so that content inside it
 * can be positioned relative to its upper left corner.
 *
 * Avoid placing any CSS border or padding properties on the SlidingPanels container
 * as they can affect the proper positioning and sliding animations of the contents
 * inside the container.
 *
 * The name of the class ("SlidingPanels") used in this selector is not necessary
 * to make the widget function. You can use any class name you want to style the
 * SlidingPanels container.
 */
.SlidingPanels {
	position: relative;
	width: 450px;
	height: 200px;
	padding: 0px;
	border: none;
	float:left;
	position:relative;
}

/* This is the selector for the container that holds all of the content panels
 * for the widget. The SlidingPanelsContentGroup container is what gets programtically
 * positioned to create the slide animation. It is also what governs the layout of
 * the panels.
 *
 * By default, the width of the container is the same as its parent, the SlidingPanels
 * container.
 *
 * You can make the panels within the SlidingPanelsContentGroup container layout
 * horizontally by giving the SlidingPanelsContentGroup container a width that is as wide
 * or larget than the sum of the widths of all of the content panels, and then floating
 * the content panels inside the SlidingPanelsContentGroup container so they all appear
 * on the same line. You may also need to float the SlidingPanels and SlidingPanelsContentGroup
 * containers to insure that none of the content panels "leak" outside of the widget.
 *
 * Avoid placing any CSS border, margin, or padding properties on the SlidingPanels
 * container as they can affect the proper positioning and sliding animations of the
 * the container within the widget.
 *
 * The name of the class ("SlidingPanelsContentGroup") used in this selector is not
 * necessary to make the widget function. You can use any class name you want to style the
 * SlidingPanelsContentGroup container.
 */
.SlidingPanelsContentGroup {
	position: relative;
	width:1000em;
	margin: 0px;
	padding: 0px;
	min-height:0;
	border: none;
}


/* This is the selector for the container that holds content for a given panel. In our
 * default style implementation, the dimensions of each content panel exactly match the
 * dimensions of the view port (SlidingPanels) container. This ensures that only one
 * panel ever shows within the view port.
 *
 * Avoid placing any CSS border, margin, or padding properties on the SlidingPanels
 * container as they can affect the proper positioning and sliding animations of the
 * the panel within the widget. You can place border, margins and padding on any content
 * *inside* the content panel.
 *
 * The name of the class ("SlidingPanelsContent") used in this selector is not
 * necessary to make the widget function. You can use any class name you want to style the
 * SlidingPanelsContent container.
 */
.SlidingPanelsContent {
	width: 450px;
	height: 200px;
	float:left;
	overflow: hidden;
	margin: 0px;
	padding: 0px;
	border: none;
}

/* The class used in this selector is programatically added to the SlidingPanels container
 * anytime we are animating between panels. This rule makes sure that *all* content inside
 * the widget is overflow:none to avoid a rendering glitch that occurs in FireFox 1.5 whenever
 * there is an element inside the widget that displays a scrollbar.
 *
 * The class is automatically removed once the animation has stopped so that the overflow
 * properties of the content inside the widget should be restored.
 */
.SlidingPanelsAnimating * {
	overflow: hidden !important;
}

/* The class used in this selector is programatically added to the SlindingPanelsContent
 * container that is currently visible in the view port. The class is automatically removed
 * when the widget switches to a different panel.
 */
.SlidingPanelsCurrentPanel {
}

/* The class used in this selector is programatically added to the SlidingPanels container
 * anytime the SlidingPanels container is given focus. The class is automatically removed
 * once the SlidingPanels container loses focus.
 */
.SlidingPanelsFocused {
}
