/* GLOBAL RESET ELEMENTS ------------------------------------- */

body, h1, h2, h3, h4, p, ul, li {
	margin: 0px; /* Removes default margin that some browsers add. */
	padding: 0px; /* Removes default padding that some browsers add. */
}

/* GLOBAL LAYOUT ELEMENTS ------------------------------------- */
body {
	font: 100% Arial, Helvetica, sans-serif; /* Sets the default size of the text to 100% of the user's default. Also sets the default font families for text throughout the page. */
	color: #000000;
}

/* MODULE 1 ------------------------------------- */
.container {
	margin: 0px auto;
	width: 990px; /* Sets the overall width of the containers within the bands. */
	border: 1px solid #000000;
	-moz-box-shadow: 0 0 5px 2px #000;
	-webkit-box-shadow: 0 0 10px #000;
	box-shadow: 0 0 10px #000;
}
#header {
	color: #4A89BB;/* Sets header text color to white. */
	background: #000000 url(images/header_bg.jpg) repeat-x;
	padding: 5px 0px; /* Adds breathing room between the header and the elements within it. */
	float: left; /* Floats the header to the left - its child elements, the buttons and search box, will be floated left and right to position them on either side of the header container. */
	width: 100%; /* Gives the floated header a width. */
}
#header ul { /* Sets up an unordered list for the buttons to provide an accessibility feature. */
	padding: 1px; /* Adds 2 pixels of padding within the unordered list. */
	float: right; /* Floats the list to the left. */
	list-style: none; /* Removes the default bullets from the list items. */
}
#header li {
	display: inline; /* Changes list items from block to inline elements so that links flow side by side. */
	margin-right: .25em; /* Adds space to the right of each list item. */
	padding-bottom: .5px; /* Pads the bottom of each list item. */
}
#header a {
	font-size: 90%; /* Sets the font size to 70% of the user's browser preference. */
	color: #4A89BB; /* Sets link color to gray. */
	text-decoration: none; /* Removes default underline on links. */
	background: none; /* Sets link background color to white. */
	padding: 2px 15px; /* Adds breathing room between the link text and the button edges. */
	border: none; /* Sets a one pixel, solid, gray border around the buttons. */
}
#header a:focus, #header a:hover {
	color: #B52620; /* Changes text color of links on hover and focus. */
}
#search {
	background: url(images/search_icon.jpg) no-repeat left center;/*Positions the search magnifying glass image as a non repeating, left center decoration. */ 
	margin: 0px; /* Sets the margin of the form to 0.*/
	float: right; /* Floats the search form to the right of the header.*/
	padding-left: 25px; /* Carves out space for the magnifying glass image. */
}
#search label {
	position: absolute; /* Takes the label out of the document flow so that it can be positioned in an exact place off the viewport. */
	top: -10000px; /* Uses a large negative margin to place the text way off screen so that visual users do not see it. */
}

/* MODULE 2 ------------------------------------- */
#masthead {
	background: #F2F2F2 url(images/masthead_bg.jpg) repeat-x;
	margin: 0px;
	clear: both; /* Because there are floats in the header div above it, we need to stop the floating effect to give the masthead elements a clean start. */
}
#masthead p span {
	position: absolute; /* Takes the span (that holds the text for the p element) out of the document flow so that it can be positioned in an exact place off the viewport. */
	top: -10000px; /* Uses a large negative margin to put the text within the p way off screen so that visual users to not see it. */
}

/* MODULE 3 ------------------------------------- */
#content-wrapper {
	float: left; /* Float the content wrapper to the left - floating a wrapper and its child divs allows for independance in block context formatting. */
	width: 900px; /* Sets the width of the content area to 770 pixels. */
	margin-bottom: 20px; /* Adds 20 pixels of space under the content area to give it breathing room before the footer begins. */
	border: 1px solid #B5B5B5; /* Sets a one pixel, solid, gray border around the content wrapper. */
	background-color: #FFFFFF;
}
#secondary-content {
	float: left; /* Floats the left column where the accordion widget resides. */
	width: 250px; /* Sets the width of the left column. */
}
#main-content {
	float: left; /* Floats the main column to the left. */
	width: 600px; /* Sets its width to 500 pixels - floats should have an assigned width in order to avoid the shrink wrapping of its contents. */
	border-left: 1px solid #B5B5B5; /* Sets a one pixel, solid, gray border between the content column and the left column. */
	padding-bottom: 20px; /* Adds padding to the bottom of the main content column. */
}
#main-content h1 {
	font-size: 120%; /* Sets the font size to 120% of the user's browser preference. */
	font-weight: normal; /* Removes the default bolding that the browser puts on heading text. */
	font-variant: small-caps; /* Turns the text into small caps in browsers that support the property. */
	color: #333333; /* Sets the color of the heading text to gray. */
	background: url(images/heading_bg.png) no-repeat; /* Adds the decorative image to the heading. */
	margin-top: 10px; /* Adds space above the heading. */
	margin-bottom: 10px; /* Adds space below the heading. */
	margin-left: 10px; /* Adds space to the left of the heading so that it lines up with the text beneath it. */
	padding-left: 25px; /* Sets a large left padding to carve space for the decorative image. */
}

/* MODULE 4 ------------------------------------- */
#footer {
	color: #FFFFFF; /* Sets the background color of the footer to white. */
	padding: 20px 0px; /* Sets the padding within the footer. */
}
#footer-wrapper { /* This div is set up for use in faux column technique within the footer. It is the parent container for the three columns, and is needed in order to have a way to give the illusion of a border around and within the the three columns in the footer.*/
	float: left; /* Floats the footer wrapper to the left. */
	width: 900px;
}


/* CLEARING WIDGET ------------------------------------- */
.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
	font-size: 1px; /* Sets the font size to 1 pixel */
	line-height: 0px; /* Sets line-height to 0 -font and line-height, even if not explicitly on the page, might add diemnsion to the clearing element rather than make it larely invisible */
	clear: both; /* Keeps floated divs from draping over objects beneath them. */
	height: 0px; /* Makes sure the clearing element has no height */
}

/* IMAGES ------------------------------------- */

.lftflt {
  	float: left; /* Moves the image to the left side of its container and allows text to flow around its right side. */
	margin-right: 8px; /* Adds 8 pixels of space to the right of the image so that it does not touch the text */
}

