/* main body styles */
html { margin: 0; padding: 0; }
body { min-width: 1000px; margin: 0; padding: 0; font-family: "Comic Sans MS", sans-serif; font-size: 100%; background-color: #fff; color: #333; /*color updated by preferred/alternate sheet*/ }
body.noMinWidth { min-width: 0; }

h1,h2,h3,h4 { margin-top: .5em; margin-bottom: .5em; padding: 0; font-family: "Comic Sans MS", sans-serif; }
h1 { font-size: 110%; }
h2 { font-size: 90%; }
h3 { font-size: 90%; }
h4 { font-size: 90%; }

img { border: 0; }
p { margin-top: 1em; margin-bottom: 1em; }

ul { margin: .5em; margin-bottom: 1em; padding-left: 0; list-style-position: outside; list-style-type: square; }
.center ul { list-style-position: inside; }
ul.border { margin-top: 0; margin-bottom: 0; }
ol { margin: .5em; padding-left: .5em; }
ol.border { margin-top: 0; margin-bottom: 0; }
li { font-family: "Comic Sans MS", sans-serif; margin: .5em; padding: 0; font-size: 100%; }
li li { font-size: 100%; /* don't let nested lists shrink text */}

acronym:hover, abbr:hover { cursor: help }
abbr[title], acronym[title] { border-bottom: thin dotted; cursor: help; font-style: normal; }

/* alignment classes */
.top { vertical-align: top !important; }
.middle { vertical-align: middle !important; }
.bottom { vertical-align: bottom !important; }
.right { text-align: right !important; }
.left { text-align: left !important; }
.center { text-align: center !important; }

/* text classes */
.text { font-size: 90%; }
.error { color: #c33 !important; }
.confirm { color: #3c3 !important; }
.small { font-size: 80%; }
.bold, .error, .confirm { font-weight: bold; }
.tips { display: table-cell ; padding-left: 2em; font-size: 88%; vertical-align: top !important; }

/* border classes */
.border { border-bottom: 1px dotted #ccc; padding-bottom: .5em; padding-top: .5em; }
.noBorder { border-width: 0px !important;  border-style: none !important; }

/* positioniing classes */
.content { padding: 0 .5em; }
.indent { margin-left: 1em !important; }
.topSpace { margin-top: 1em !important; margin-bottom: 0 !important; }
h2.topSpace { margin-top: .5em !important; margin-bottom: 0 !important; }
.bottomSpace { margin-top: 0 !important; margin-bottom: 1em !important;}
.noSpace { margin-top: 0 !important; margin-bottom: 0 !important; }
.spacer { padding-top: 1.5em !important; }
.nowrap { white-space: nowrap; }
.noPad { padding-top: 0 !important; padding-bottom: 0 !important; }
div.fullWidth { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* width classes */
.fullWidth { width: 100%; }
.stdWidth { width: 90% !important; }
.halfWidth { width: 50% !important; }
.autoWidth { width: auto !important; }

/* special classes */
.complianceLogo { width: 88px; height: 31px; }
.tipsCol { width: 30%; }
#tipsOff, #tipsOn { background-repeat: no-repeat; background-position: left center; padding-left: 1.2em; }
#tipsOn { background-image: url(../images/expand.gif); }
#tipsOff { background-image: url(../images/expanded.gif); }
.noBullet { list-style-type: none; list-style-position: outside; }
.floatRight { float: right; margin: 0 0 10px 10px; border: 1px solid #666; padding: 2px; clear: right;}
.floatLeft { float: left; margin: 0 10px 10px 0; border: 1px solid #666; padding: 2px; clear: left;}
.photoBar { width: 100%; text-align: center; }
.photoBar img { margin: 10px; border: 1px solid #666; padding: 2px; vertical-align: middle; }
.sectionNav { padding-left: 1.2em; }
.sectionNav2 { padding-left: 1.8em; }
h3.expandLeft, h3.expandedLeft, h4.expandLeft, h4.expandedLeft { background-position: left top; }
#leftColumn .wp p { margin-top: 0; margin-bottom: 0; }
.storycontent p { margin-bottom: .5em; }
div.classPhoto { width: 65%; }
div.classPhoto img { width: 100%; height: auto; }
.currentLocation { background: url(../images/location_arrow.gif) right center no-repeat; margin-right: 0; padding-right: 25px; }
span.currentLocation { display: block; }

/* table styles */
table { margin: 0; padding: 0; }
caption { font-size: 88%; margin-left: auto; margin-right: auto; caption-side: top; padding-bottom: .4em; text-align: center; }
th, td { padding-left: .25em; padding-right: .25em; }
th.column { vertical-align: middle; text-align: center; }
th.row { vertical-align: middle; text-align: center; }
table.text .small { font-size: 88%; } /* making the text about 80% - the same as the small class - (.9 x .89) */
table.text h3 { white-space: nowrap; border-bottom: 2px solid #000; padding-bottom: .3em; padding-left: 0; }

/* take care with centering tables with CSS: use a div with class center that contains a table with class center */
.center table { margin-left: auto; margin-right: auto; text-align: left; }

/* table head gradients - background colors inherited from bgX class in navigation.css */
th.column.bg1, th.column.bg2, th.column.bg3, th.column.bg4, th.column.bg5, th.column.bg6, th.column.bgH { background-position: left top; background-repeat: repeat-x; color: #fff; }
th.column.bg1 { background-image: url(../images/col_head_bg1.gif); }
th.column.bg2 { background-image: url(../images/col_head_bg2.gif); }
th.column.bg3 { background-image: url(../images/col_head_bg3.gif); }
th.column.bg4 { background-image: url(../images/col_head_bg4.gif); }
th.column.bg5 { background-image: url(../images/col_head_bg5.gif); }
th.column.bg6 { background-image: url(../images/col_head_bg6.gif); }
th.column.bgH { background-image: url(../images/col_head_bgH.gif); }
th.column.bg1 a, th.column.bg2 a, th.column.bg3 a, th.column.bg4 a, th.column.bg5 a, th.column.bg6 a, th.column.bgH a { color: #fff; }
th.column.bg1 a:hover, th.column.bg2 a:hover, th.column.bg3 a:hover, th.column.bg4 a:hover, th.column.bg5 a:hover, th.column.bg6 a:hover, th.column.bgH a:hover { color: #333; }

/* data table styles */
table.data { color: #000; border-left: 1px solid #999; text-align: center; width: 100%; border-top: 1px none #999; /* allows custom css to add top border easily*/}
table.data caption { margin-left: 0; text-align: left; }
table.data th, table.data td { border-right: 1px solid #999; border-bottom: 1px none #999; /* allows custom css to add bottom border on th easily*/ text-align: center; font-size: 80%; }
table.data th td, table.data th th, table.data td th,table.data td td { font-size: 100%; /* don't let nested tables shrink text */}
table.data td, table.data th.row { background-color: transparent; /*background updated by preferred/alternate sheet*/ border-bottom: 1px solid #999; padding: .5em; }
table.data tr.even td, table.data tr.even th.row { background-color: #e8e8e8; /* background updated by preferred/alternate sheet*/ }

/* nested data tables styles */
td.fText table.data { width: auto; }
td.fText table.data th { padding-left: 1em; padding-right: 1em; }
td.fText table.fInput { margin-left: -.2em !important; }
td.fText table.fInput td { padding-left: 0; }

/* data table footer styles (e.g. buttons) */
td.tableFooter {  width: auto; padding: 0 !important; }
td.tableFooter table { width: 100%; }
td.tableFooter td { text-align: left;  border-right-style: none !important; border-bottom-style: none !important; }
td.tableFooter td.right { white-space: nowrap; }
td.tableFooter table table { width: auto; }
td.tableFooter table table .fLabel { padding-left: 0; }
td.tableFooter table table .fText { padding-right: 2em; }
td.tableFooter .fLabel, td.tableFooter .fText, td.tableFooter .fButt { font-size: 111%; } /* making the text about 100% - (.9 x 1.11) */
td.tableFooter .fLabel, td.tableFooter .fText, td.tableFooter .fInput { text-align: left !important; margin-top: 0; vertical-align: middle !important; white-space: nowrap; }

/* form styles */
.fRequired, .fLabel, .fInput, .fFile, .fText, .fButt { font-family: "Comic Sans MS", sans-serif; color: #000; font-weight: normal; }
.fRequired, .fLabel, .fText { border-bottom: 1px dotted #ccc; padding-top: .45em; padding-bottom: .25em; vertical-align: top !important; }
.fRequired, .fLabel { color: #333; padding-right: 2em; white-space: nowrap; }
.fRequired { font-weight: bold; }
.fInput { margin: -.25em 0 0 0; }
table.fInput  { background-color: #fff; } /* file input fields are enclosed in their own table so that customizations work */
.fFile { padding: .3em; } /* file input fields need special formatting */
.fInput, optgroup { font-size: 100%; } /* makes sure all browsers apply the correct font size */
optgroup { font-weight: bold; font-style: normal; }
optgroup option { font-weight: normal; }
fieldset { border: 1px solid #ccc; padding-left: .5em; margin: 0; padding-top: 0; padding-bottom: 0; }
input { height: auto !important; } /* lets dropdown line height adjust to font size */
.fButt { font-size: 85%; }

/* mainColumn (for use with leftColumn) and mainBody (for use WITHOUT leftColumn) styles */
#mainColumn { width: 80%; float: left; position: relative; overflow: hidden; /* stops the IE Win 20%+80% bug*/ margin-left: 0; margin-right: -1px; border-left: 1px solid #ccc; z-index: 0; /* keep body behind dropdowns */ } /* negative margins allows border between leftColumn and mainColumn to always show correctly */
	/* this next rule is a hack to correct IE Mac specific declarations in the line above! \*/
	#mainColumn { left: 1px; margin-left: -1px; margin-right: 0; } /* negative margins allows border between leftColumn and mainColumn to always show correctly */
	/* end hack */
#mainColumn .content { padding-bottom: 2em; padding-right: .75em; padding-left: .75em; }
#mainColumn > .content div.text { width: 100%; overflow: auto; /*allows wide content to show with a scrollbar*/ margin-right: -20px; padding-right: 20px; /* stop text disappearing behind scrollbar */ }
	/* this next rule is a hack to correct IE Mac specific declarations in the line above! The subsequent rule allows some other browsers to show wide content with scrollbars \*/
		#mainColumn > .content div.text { width: auto; overflow: visible; margin-right: 0; padding-right: .5em; }
		#mainColumn > .content p { overflow: auto; padding-right: 20px; }
	/* end hack */
#mainColumn h2, #mainBody h2 { color: #000; font-weight:bold; border-bottom: 1px dotted #ccc; margin: .5em 0; padding: .5em 0; position: relative; width: auto; /* forces underline on IE */ }

#mainBody { width: 100%; position: relative; z-index: 0; /* keep body behind dropdowns */ }
#mainBody .content { padding-bottom: 2em; }

/* leftbar & rightbar styles */
#leftColumn { width: 20%; float: left; position: relative; overflow: auto; clear: left; margin-left: -1px; /*avoids a horizontal scroll bar*/ margin-right: -1px; border-right: 1px solid #ccc; z-index: 0; /* keep body behind dropdowns */ } /* negative margins allows border between leftColumn and mainColumn to always show correctly */
#leftColumn ul { list-style-type: none; list-style-position: outside; }
#leftColumn h2, #rightColumn h2 { border-bottom: 1px dotted #ccc; margin: .5em 0; padding: .5em 0; font-size: 90%; color: #333; }
#leftColumn h3, #rightColumn h3 { margin-top: 1em; font-size: 85%; }
#leftColumn h4, #rightColumn h4 { font-size: 85%; }
#leftColumn .text, #rightColumn .text { font-size: 85% !important; }
#leftColumn div, #rightColumn div { margin-bottom: 1em; padding-bottom: 1px; /* keep spacing consistent across browsers */ }
#leftColumn div.fullWidth div, #leftColumn div.fullWidth p, #rightColumn div.fullWidth div, #rightColumn div.fullWidth p { padding-left: 1px; padding-right: 1px; } /* stops some browsers clipping any uppercase "W" that start/end a line */
#leftColumn ul { margin-top: 1.1em; }
#leftColumn ul.sectionNav, #leftColumn ul.indent { margin-top: 0; }

#rightColumn { width: 30%; float: right; position: relative; z-index: 1; padding-top: 0px; /* make underlined headings align */ padding-left: .5em; margin: 0 .2em 1em 1em; background-color: #fff; /* stops borders on mainColumn h2 and rightColumn content colliding */}
	/* this next rule is a hack to correct IE Mac specific declarations in the line above! \*/
	#rightColumn { padding-top: 0px; }
	/* end hack */
#rightColumn .content { border: 1px solid #ccc; margin: .25em .25em .25em 0; padding: 0 .5em; /*overflow: auto; min-height: 15em;  stops Camino showing a tiny box with a scroll bar */ }
#rightColumn h2 { margin-top: 2px; /* make underlined headings align */ width: 100%; /* forces underline on IE */ position: static; /* reverse mainColumn setting to make sure all browsers show borders correctly */}
#rightColumn table { width: 98%; } /* stops some browsers showing horizontal scroll bar */

/* common footer styles */
.links { color: #999; }
.links p { margin: .5em; }
.links a { text-decoration: underline; color: #666; }
.links a:hover { color: #333; }
#footer, #footerLeft, #footerRight { float: left; background-color: #fff; border-top: 2px solid #999; font-size: 75%; }
#footerLeft, #footerRight { height: auto; position: relative; margin-right: -1px; }
#footerLeft .links, #footerRight .links { overflow: auto; /*allows wide content to show with scrollbar*/ position: relative; top: -1px; margin-top: 1px; } /* last 3 items make sure the borders always show */

/* #footer styles (for use WITHOUT leftColumn)*/
#footer { width: 100%; }
#footer .links { overflow: auto; /*allows wide content to show with scrollbar*/ text-align: right; }

/* #footerLeft and #footerRight styles (for use with leftColumn)*/
#footerLeft { width: 20%; clear: left; overflow: visible; margin-left: -1px; /*avoids a horizontal scroll bar*/ border-right: 1px solid #ccc; } /* negative margins allows border between leftFooter and rightFooter to always show correctly */
#footerLeft .links { width: 100%; text-align: left; }
#footerLeft .title { font-weight: bold; display: block; padding-right: .5em; }
#footerRight { width: 80%; overflow: hidden; margin-left: 0; border-left: 1px solid #ccc; }/* negative margins allows border between leftFooter and rightFooter to always show correctly */
	/* this next rule is a hack to correct IE Mac specific declarations in the line above! \*/
	#footerRight { left: 1px; margin-left: -1px; margin-right: 0; } /* negative margins allows border between leftFooter and rightFooter to always show correctly */
	/* end hack */
#footerRight .links { /*width: 100%;*/ text-align: right; }
#footLogo { padding-top: .5em; text-align: center; white-space: nowrap;}
#footLogo img { width: auto; height: 90px; }

/* FDSE search form & results */
#search form { margin: 0; width: auto !important; }
.fd_results { font-size: 80%; line-height: normal !important; }

/*modal window styles*/
h2.bg1, h4.bg1 { background-image: url(../images/col_head_bg1_180.gif); }
h2.bg2, h4.bg2 { background-image: url(../images/col_head_bg2_180.gif); }
h2.bg3, h4.bg3 { background-image: url(../images/col_head_bg3_180.gif); }
h2.bg4, h4.bg4 { background-image: url(../images/col_head_bg4_180.gif); }
h2.bg5, h4.bg5 { background-image: url(../images/col_head_bg5_180.gif); }
h2.bg6, h4.bg6 { background-image: url(../images/col_head_bg6_180.gif); }
h2.bgH, h4.bgH { background-image: url(../images/col_head_bgH_180.gif); }

#modalWrapper { margin: 0 6px 1em 6px; /*left & right margins adjusted by JS!*/ }
#projectModal { z-index: 12 /* keep above serviceNav */; }
#projectModal .styledPanel { background: #fff; }
#projectModal form { margin: 0; }
#projectModalIframe {  margin: 0 0 1em 0; }
#projectModalIframeWrapper { position: relative; z-index: 2; }
h2#projectModalTitle { margin: 0; padding: 0 0 .4em .5em; line-height: 1.3em /*adjusted by JS!*/; border-bottom-style: none; color: #fff; font-size: 75%; background-position: left bottom; background-repeat: repeat-x; }

div.closeIcon { position: absolute; right: 0.3em; top: 0.4em; z-index: 3;}

#deactivatePage, #deactivateFrame { display: none; position: absolute; top: 0; left: 0; z-index: 10; background: #000; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)" /*IE8*/; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20) /*IE6&7*/; opacity: 0.2 /*CSS2.1 browsers*/; }
#deactivateFrame { z-index: 1; }

/* START rounded corners general styles*/
.topCorners, .bottomCorners { display: block; height: 5px; overflow: hidden; padding: 0; }
.topCorners *, .bottomCorners * { display: block; height: 1px; overflow: hidden; padding: 0; line-height: 1px; font-size: 1px; }
.l1 { margin: 0 5px; }
.l2 { margin: 0 3px; }
.l3 { margin: 0 2px; }
.l4 { margin: 0 1px; height: 2px; }
/* zoom:1; is to force IE to have "layout" for this element so the bottom corners that follow it don't go funny... */
.styledPanel { zoom:1; }
/* END rounded corners general styles*/

/* START rounded corners specific styles*/
#projectModal .styledPanel { padding: 0 !important; }
#projectModal .l2 { border-left: solid 2px #999; border-right: solid 2px #999; }
#projectModal .l1 { background-color: #999; }
#projectModal .l3, #projectModal .l4, #projectModal .styledPanel { border-left: solid 1px #999; border-right: solid 1px #999; }
#projectModal .l1 { background-color: #999; }
#projectModal .bottomCorners .l2, #projectModal .bottomCorners .l3, #projectModal .bottomCorners .l4 { background: #fff; }
/* END rounded corners specific styles*/

