body		
/* Sets the  properties of the page body */
{
 background-image: url(images/pagebg.gif); /* shadowed background image */
 background-repeat: repeat-y; /* background only repeats down the y-axis */
 background-position: top center; /* background is centered on page */
 background-color: #d1d4d3; /* grey background for the page */
 color: #000; /* default font color is black  */
 margin: 0; 
 padding: 0; /* there is no whitespace surrounding this element  (necessary for precisely positioning other page elements) */
}

a
/* sets the default properties of links inside the page */
{
	color: #0066FF;
	text-decoration: none;
}

a:hover
{
 color: #6f90b8;
}

ul#topbar
/* creates the blue navigation bar under the header image. organized as an unordered list, for the ease of sight-reading browsers */
{
 background-color: #6e99d4; /* light blue background */
 height: 22px; /* precisely defined height of navigation bar */
 margin: 0;
 padding: 0; /* there is no whitespace surrounding this element */
 text-indent: 0; /* removes the indent associated with the ul element, allowing for precise positioning of individual navigation cells*/
 position: relative; /* relative to the navtop element */
 top: 214px; /* positions the */
}

li.cell	
/* sets up a basic style for the individual navigation cells in the top navigation bar*/
{
 display: table-cell; /* navigation cells are displayed as table cells, rather than as list elements, permitting exact positioning wihout having to contend with the problems generated by breaks in block elements*/
 background-color: #2e95fc; /* navigation cells, in their default state, have a light blue color */
 color: #fff; /* the default text color in navigation cells  is white*/
 font-family: "Gill Sans MT", Tahoma, sans-serif; /* specifies the type face used in navigation cells */
 font-size: 12px; /* specifies type size used in navigation cells. specified in pixels, rather that points to deal with inconsistent font rendering across displays and platforms */
/* font-weight: bold; /*navigation cells use a bold type*/
 position: absolute; /* navigation cells are absolutely postioned with reference to the 0,0 coordinates of the #topbar element */
 height: 22px; /* should be the same as the height of ul#topbar to ensure navigation cells are the same height as the navigation bar */
 text-align: center; /*navigation cell text is aligned to the cell's center */
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
 top: 0; /* the top of this element is the same as the top of the #topbar element */
white-space: nowrap;
		}

.cell a 
/* styles link text within navigation cells */
{
 text-decoration: none; /* links are not underlined */
 color: #fff; /* default link color is white */
}
		
.cell:hover 
/*when a user's cursor hovers over a navigation cell, it turns blue */
{
 background-color: #193f85;
}

div#wrap	
/* styles the containing element which encompasses the entire  page content */
{
 position: absolute; /* positioned relative to the 0,0 coordinates of the body element */
 top: 0; /* the top of the element is at the top of the page */
 margin: 0;
 padding: 0; /* there is no whitespace surrounding this element */
 left: 50%;
 margin-left: -374px; /* the preceding two styles are used to center the-fixed width element on the page */
 width: 744px; /* the element as a fixed width of 744 pixels*/
}

div#top	
/* styles the element at the top of the page which contains navigation back to the home page and the company logo */
{
 background-image: url(images/topbg.gif); /* creates a backgound of a thin, side stripe */
 background-repeat: repeat-y; /* the background repeats only along the y axis */
 background-position: top left; /* the background is positioned in the left of the element */
 background-color: #fff; /* the element has a white back ground */
 color: #000; /* the default text color wihin the element is black */
 position: relative; /*relative to wrap element*/
 height: 65px; /* the element has a fixed height of 65 pixels*/
 width: 100%; /* the elemen is as wide as the wrap element */
 top: 0;
 left: 0; /* the element does not move from its default position */
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
}

h1		
/* styles the header of the page so that it displays the company logo, and not text. text is dispalyed only to screen-reading browsers */
{
 font-size: 0; /* hides the text */
 color: #fff; /* colors the text white for browsers that display font-size: 0 incorrectly*/
 background-image: url(images/logotop.png); /* displays company logo */
 height: 49px;
 width: 100px; /* specifies the size of the element*/
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
 position: relative; /* relative to div.top */
 left: 12px; 
 top: 8px; /* positions the element relative to its containing div */
}
		
.hide	
/*hides all element with the class "hide" -- this class is created to hold tags useful for sight-reading browsers, but not visual browsers*/
{
 display: none;
}
		
div#navtop
/* styles the containing element which contains the header image and the horizontal navigation cells */
{
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
 position: relative; /* relative to div.wrap */
 height: 236px; /* specifies the height of the element: nav bar + header image */
 background-image: url(images/header.png); /* displays the header image */
 background-repeat: no-repeat; /* header image is not repeated */
 background-position: 0 0; /* header is positined at the top left corner of the element */
		}

/* the following  eight styles specify the position and size of individual cells in the navigation bar */

	li#about	
	/* positions the "About PSI" navigation cell */
	{
	 width: 63px;
	 left: 5px;
	 border-left: 1px solid #658dc3;
	}
			
	li#current
	/* positions the "Current Efforts" element */
	{
	 width: 92px;
	 left: 75px;
	}

	li#past	
	/* positions the "Past Contracts" element */
	{
	 left: 174px;
	 width: 89px;
	}
			
	li#vehicles	
	/* positions the "Contract Vehicles" element */
	{
	 width: 103px;
	 left: 270px;
	}
			
	li#techpub	
	/* positions the "Technical Publications" element */
	{
	 width: 127px;
	 left: 378px;
	}

	li#client	
	/* positions the "Client Pages" element */
	{
	 left: 513px;
	 width: 73px;
	}
	
#logonav	
/* styles the navigation text next to the company logo*/
{
 position: absolute; /* relative to div.top */
 right: 10px;
 bottom: 8px; /* specifies the position of the element relative to its containing div */
 font-family: helvetica, arial, sans-serif; /* specifies the font face used in the navigation bar */
 font-weight: bold; /* font is bold */
 font-size: 10pt; /* ten-point font is used */
 color: #4b5d72; /* default font color is dark blue */
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
}

#logonav a	
/* specifies the style of links within the logonav element */
{
 text-decoration: none; /* links are not underlined */
 color: #4b5d72; /* links are dark blue */
}
		
#logonav a:hover
/* when a user hovers over a link contained within the logonav element, it is underlined */
{
 text-decoration: underline;
}
		
div#wrap2
/* styles the div element which contains right and left content panels */	
{
 width: 100%; /* the element is as wide as its parent element (div.wrap) */
 background-image: url(images/wrapbg.gif); /* sets up the backgound necessary to create divider bars between left and right panels */
 background-position: top left; /* the background is positioned at the top left of the page */
 background-repeat: repeat-y; /* the background repeats only along the y-axis */
 background-color: #fff; /* the default background color is white */
 padding: 0;
 margin: 0; /* there is no whitespace surrounding this element */
 position: relative; /* relative to div.wrap */
 top: -20px; /* moved up twenty pixels */
 padding-bottom: 70px; /* creates a seventy-pixel area of whitespace at the bottom of the element (allows for some fluidity with relative positioning with the two content boxes) */
}

div#left	
/* styles the panel containing the main page content */
{
 position: relative; /* relative to div.wrap2 */
 width: 512px; /* specifies element width */
 left: 21px; /* moves element twnety-one pixels to the left (allows room for decorative border) */
 font-family: helvetica, arial, sans-serif; /* specifies default type face used in element */
 font-size: 10pt; /* default font size is 10pt */
 color: #162b48; /* default text color is dark blue */
}

h2#lefttitle	
/* styles the header text of the main page content */
{
 position: absolute; /* relative to div.left */
 display: table-cell; /* content displays as a table cell */
 top: 0; /* positioned at the top of the element */
 left: -4px; /* shifted four pixels left to lie flush with the border element */
 background-image: url(images/headbg.png); /* specifies the background of the element */
 font-family: "Century Gothic", Helvetica, Arial, sans-serif; /*specifies the type face of the element */
 font-variant: small-caps; /* the title will be displayed in a small caps style */
 text-align: left;/* the text is aligned to the left of the element */
 font-size: 18pt; /* specifies a font size of 18 pt */
 font-weight: normal; /* font is not bold */
 color: #003592; /* font is dark blue */
 width: 523px;
 height: 34px; /* specifies the size of the element */
 margin: 0;
 padding: 0; /* there is no whitespace surrounding this element */
 padding-top: 3px; /* a three-pixel padding shifts the text downwards */
 text-indent: 7px; /* moves the text right by seven pixels */
 z-index: 100; /* ensures that the eement is placed on top of other elements within the page*/
}

div#content	
/* styles the div which contains the main content of the page */
{
 position: relative; /* relative to left */
 top: 53px;/* moved down 53 pixels, creating whitespace between the content and header */
}
div#right
/*styles the right panel of the page (contains navigation or news) */
{
 position: absolute; /* relative to div.wrap2 */
 height: 100%; /* ensures that the element is displayed */
 top: 0; /* positioned at the top of the wrap2 element  */
 left: 540px; /* positioned to the right of the #left element, with room for the border*/
 width: 204px; /* specifies element width */
}

h2#righttitle
/* styles the header element of the right panel */
{
 position: relative; /* relative to div#right*/
 display: table-cell; /* displays as a table cell */
 background-image: url(images/headbg.gif); /* specifies the background-element of the image */
 font-family: "Century Gothic", Helvetica, Arial, sans-serif; /* specifies the type face of the element */
 font-variant: small-caps; /* type will be displayed in small caps */
 text-align: left; /* text is aligned to the left */
 font-size: 18pt; /* specifies font size */
 font-weight: normal; /* font is not bold */
 color: #003592; /* text is a dark blue color */
 width: 204px; /* specifies element width */
 height: 37px; /* specifies element height */
 margin: 0;
 padding: 0; /* there is no whitespace surrounding this element */
 padding-top: 3px; /* a three-pixel padding shifts the text downwards */
 text-indent: 7px; /* moves the text left by seven pixels */
 z-index: 50; /* ensures that the eement is placed on top of other elements within the page except #lefttitle */
}

div#navwrap	
/*styles the div containing the content of the right panel (news/navigation) */
{
 position: relative; /* relative to div#right */
 top: 16px; /* top is shifted down by sixteen pixels */
 margin-left: 3px; /* text is shifted right by three pixels */
 width: 198px; /* specifies element width -- ensures text does not flow off of page */
}

#navwrap a
/* styles all links in the right-side panel */
{
 color: #0066FF; /* links are dark blue-grey in color */
 text-decoration: none; /* links are not underlined */
}

#navwrap a:hover
/* when a user hovers over links in the navigation-bar, they are underlined. */
{
 text-decoration: underline;
}

a.news	
/* styles links which have class="news" */
{
 color: #4b5d72; /* text color is light grey */
 text-decoration: none; /* text is not underlined */
}
		
.news
/* styles all elements with class="news" */
{
 font-family: helvetica, arial, sans-serif; /* specifies font style */
 font-size: 10pt; /* specifies font style */
 text-align: left;
 margin: 0;
 padding: 0; /* this element has no whitespace */
 padding-left: 8px;
 padding-right: 3px;
 display: block; /* news elements are displayed as black elements (full width -- breaks before and after element) */
}

.news em
{
font-style: normal;
font-weight: bold;
}

img.news	
/* styles all images with class="news" */
{
 position: relative; /* relative to div#navwrap */
 left: 13px; /* positions the image */
 padding-bottom: 5px;
}

p
/* Styles all paragraph text */
{
 text-align: justify; /* text is justified */
 margin-right: 12px; /* text has twelve-inches of whitespace to the right */
 margin-left: 5px; /* text s indented by five pixels */
}

h3
/*Styles subheaders of page content (used primarily on left side main content) */
{
 font-size: 12pt; /* specifies  font size of 12 pt */
 color: #22314e; /* dark blue font color */
 padding-top: 2px; /* creates two pixels of white space at the top of the element */
}

div.hr	
/* creates a divider image (equivalnt to html <hr> tag) */
{
 clear: both; /* positions the divider beneath any element with a float property */
 height: 3px; /* specifies height of the element */
 background-image: url(images/hr.gif); /* creates the repeating background image used i the divider */
 margin-left: 2.5%; 
 margin-right: 2.5%;
 width: 95%; /* the preceding three styles center the divider on its parent element and give it a width equal to 95% of the parent element */
}

div#bottombox	
/* creates the copyright notice and mountain scene at the bottom of the page*/
{
 margin: 0; /* removes all pre-formatted whitespace */
 margin-top:-20px; /* shifts the box upwards by twenty pixels */
 margin-bottom: 15px; /* creates fifteen pixels of whitespace on the bottom of the element */
 padding: 0; /* there  is no further whitespace added to the images */
 padding-top: 55px; /* shifts the content down to make room for the mountain image */
 background-image: url(images/bottom.png); /* places the mountain image into the element */
 background-repeat: no-repeat; /* the background image does not repeat */
 background-position: top left; /* the background image is placed in the top let corner of the element */
 background-color: #fff; /* default background color is white */
 text-align: center; /* text is aligned in the center of the element */
 font-family: arial, sans-serif; /* specifies the type face used in the element */
 font-size: 9pt; /* specifies a font size of 9 pt */
 color: #777; /* specifies a light grey font color */
}

#bottombox p 
/* styles any paragraph tags contained within the #bottombox element */
{
 text-align: center; /* text is aligned in the center of the element */
}

#navwrap h3
/* styles leve-three headers used in the right navigation/news panel */
{
 font-family: helvetica, arial, sans-serif; /* sets the type face */
 font-size: 11pt;
 border-bottom: 1px solid #22314e;
 margin-top: 0;
 padding-top: 0;
 margin-left: 5px;
 margin-right: 3px;
}

#navwrap ul
{
 list-style-type: none;
 display: block;
 margin-left: -20px;
 font-family: helvetica, arial, sans-serif;
 font-size: 10pt;
}

h5
{
 font-family: tahoma, verdana, sans-serif;
 font-size: 10pt;
 color: #5a6771;
}

table {font-size=1em}
