a:link {
	color: #146734;
	text-decoration: underline;
}

a:visited {
	color: #301e0b;
}

a:hover,
a:active {
	color: #000;
}

img.left {
	display: block;
	float: left;
	margin: 8px 15px 15px 0;
	border: 4px solid #989898;
	padding: 1px;
}

img.right {
	display: block;
	float: right;
	margin: 8px 0 15px 15px;
	border: 4px solid #989898;
	padding: 1px;
}

img.center {
	display: block;
	margin: 0 auto 1.5em;
	border: 4px solid #989898;
	padding: 1px;
}

div.clear {
	clear: both;
	height: 1px;
	font-size: 1px;
	line-height: 1px;
}

p.return {
	border-top: 1px solid #146734;
	padding: .5em 0 0;
	font-weight: bold;
	font-size: 1em;
}

p.return a:link,
p.return a:visited {
	color: #146734;
}

p.return a:hover,
p.return a:active {
	color: #000;
}

body {
	background: #9ed18d url(../images/shared/bg_body.gif) top center no-repeat fixed;
	padding: 10px;
}

#primary {
	width: 800px;
	margin: 0 auto;
	border: 1px solid #d7eac4;
	background: #146734;
	padding: 10px;
}

#content {
	width: 780px;
	-moz-box-shadow: 0 0 8px #002c0f;
	-webkit-box-shadow: 0 0 8px #002c0f;
	border-bottom: 1px solid #000;
	background: #fff;
	padding: 10px;
}

#logo {
	display: block;
	border: 0;
	margin: 10px 10px 20px;
}

/* BEGIN main menu */
#menu_main {
	position: relative;
	width: 780px;
	height: 37px;
	margin: 0 0 5px;
	background: #fff url(../images/shared/bg_menu_main.gif) 0 -37px no-repeat;
	z-index: 100;
}

#menu_main ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

#menu_main_ul {
	width: 780px;
	height: 37px;
}

#menu_main_ul li {
	float: left;
	width: 130px;
	position: relative;
}

#menu_main_ul a.top {
	display: block;
	float: left;
	width: 130px;
	height: 37px;
	border: 0;
	background: #fff url(../images/shared/bg_menu_main.gif) 0 0 no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

#menu_main_ul li.home a.top {
	background-position: 0 0;
}

#menu_main_ul li.what a.top {
	background-position: -130px 0;
}

#menu_main_ul li.team a.top {
	background-position: -260px 0;
}

#menu_main_ul li.projects a.top {
	background-position: -390px 0;
}

#menu_main_ul li.news a.top {
	background-position: -520px 0;
}

#menu_main_ul li.contact a.top {
	background-position: -650px 0;
}

body.home #menu_main_ul li.home a.top {
	background-position: 0 -74px;
}

body.what #menu_main_ul li.what a.top {
	background-position: -130px -74px;
}

body.team #menu_main_ul li.team a.top {
	background-position: -260px -74px;
}

body.projects #menu_main_ul li.projects a.top {
	background-position: -390px -74px;
}

body.news #menu_main_ul li.news a.top {
	background-position: -520px -74px;
}

body.contact #menu_main_ul li.contact a.top {
	background-position: -650px -74px;
}

#menu_main_ul li:hover a.top:link,
#menu_main_ul li:hover a.top:visited,
#menu_main_ul li.sfhover a.top:link,
#menu_main_ul li.sfhover a.top:visited {
	background: none;
}

/* second-level lists */
#menu_main_ul li ul {
	position: absolute;
	left: -9999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
	z-index: 100;
	top: 35px;
	width: 110px;
	margin: 0;
	background: transparent url(../images/shared/bg_menu_main_ul.gif) left bottom no-repeat;
	padding: 0 10px 10px;
	font-weight: bold;
	font-size: 11px;
	line-height: 16px;
}

#menu_main_ul li ul li {
	float: none;
	width: 108px;
	margin: 0;
	background: transparent url(../images/shared/bg_menu_main_li.gif) left bottom no-repeat;
}

#menu_main_ul li ul li.last,
#menu_main_ul li ul li:last-child {
	background: none;
}
	
#menu_main_ul li ul a:link,
#menu_main_ul li ul a:visited {
	display: block;
	width: 110px;
	color: #fff;
	margin: 0;
	text-decoration: none;
	padding: 5px 0 8px;
}
	
#menu_main_ul li ul a:hover,
#menu_main_ul li ul a:active {
	color: #9ed18d;
	text-decoration: underline;
}

#menu_main_ul li ul li.last a:link,
#menu_main_ul li ul li.last a:visited,
#menu_main_ul li ul li:last-child a:link,
#menu_main_ul li ul li:last-child a:visited {
	padding-bottom: 0;
}

/* third-and-above-level lists */
#menu_main_ul li ul ul {
	margin: -1em 0 0 130px;
}

#menu_main_ul li:hover ul,
#menu_main_ul li.sfhover ul {
	left: 0;
}

#menu_main_ul li:hover ul ul,
#menu_main_ul li.sfhover ul ul {
	top: 0;
	left: -999em;
	padding: 0;
	background-color: #666;
}

/* lists nested under hovered list items */
#menu_main_ul li li:hover ul,
#menu_main_ul li li.sfhover ul {
	left: 0;
	margin: 0 0 0 130px;
}
/* END main menu */

/* BEGIN section menu */
#menu_section {
	width: 200px;
}

#menu_section h3 {
	width: 200px;
	height: 40px;
	margin: 0;
	background: #146734 url(../images/shared/title_menu_section.gif) 0 0 no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

#menu_section ul {
	width: 168px;
	margin: 0;
	background: #fff url(../images/shared/bg_menu_section.gif) left bottom no-repeat;
	padding: 0 16px 6px;
	list-style: none;
	font-weight: bold;
	font-size: 1em;
}

#menu_section ul li {
	border-bottom: 1px dotted #989898;
	padding: 4px 0;
}

#menu_section ul li.last,
#menu_section ul li:last-child {
	border: 0;
}

#menu_section ul a:link,
#menu_section ul a:visited {
	display: block;
	width: 168px;
	padding: 4px 0;
	text-decoration: none;
	color: #146734;
}

#menu_section ul a:hover,
#menu_section ul a:active {
	color: #000;
}

#menu_section ul li.here a:link,
#menu_section ul li.here a:visited {
	color: #301e0b;
	width: 158px;
	background: #fff url(../images/shared/bg_menu_section_here.gif) 0 9px no-repeat;
	padding: 4px 0 4px 10px;
}

#menu_section ul ul {
	width: 158px;
	margin: 0;
	background: none;
	padding: 0 0 0 10px;
	font-size: .9em;
}

#menu_section ul ul li {
	padding: 0;
	border: 0;
}

#menu_section ul ul a:link,
#menu_section ul ul a:visited,
#menu_section ul li.here ul a:link,
#menu_section ul li.here ul a:visited {
	width: 145px;
	background: #fff url(../images/shared/bg_menu_section_sub_li.gif) 2px 8px no-repeat;
	padding: 0 0 0 10px;
}
/* END section menu */

/* BEGIN spotlight */
#spotlight {
	position: relative;
	width: 780px;
	height: 250px;
}

#spotlight img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	border: 0;
}
/* END spotlight */

/* BEGIN internal page mastheads */
#masthead {
	position: relative;
	width: 780px;
	height: 200px;
	margin: 0 0 20px;
}

#masthead_frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 780px;
	height: 200px;
	background: transparent url(../images/shared/bg_masthead_frame.png) 0 0 no-repeat;
	z-index: 20;
}

#masthead_caption {
	position: absolute;
	bottom: 0;
	left: 20px;
	z-index: 30;
	width: 720px;
	height: 28px;
	background: transparent url(../images/shared/bg_masthead_caption.png) 0 0 no-repeat;
	padding: 0 10px;
	font-weight: bold;
	font-size: 12px;
	line-height: 28px;
	color: #fff;
	text-shadow: 1px 1px 2px #000;
}

#masthead img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	border: 0;
	z-index: 10;
}
/* END internal page mastheads */

/* BEGIN columns */
#columns {
	width: 780px;
	padding: 0 0 20px;
}

#columns div.column_l {
	float: left;
	width: 560px;
	padding: 0 20px 0 0;
}

#columns div.column_r {
	float: left;
	width: 200px;
}

body.home #columns div.column_l {
	width: 480px;
	padding: 0 40px 0 0;
}

body.home #columns div.column_r {
	width: 260px;
}
/* END columns */

/* BEGIN homepage content */
#home_text {
	position: relative;
	width: 780px;
	height: 131px;
	margin: 0 0 30px;
	background: #146734 url(../images/home/bg_home_text.gif) 0 0 no-repeat;
}

#home_text p {
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

#home_text ul {
	position: absolute;
	bottom: 14px;
	right: 17px;
	width: 411px;
	height: 26px;
	margin: 0;
	background: #146734 url(../images/home/bg_quick_links.gif) 0 -26px no-repeat;
	padding: 0;
	list-style: none;
}

#home_text ul li {
	float: left;
	margin: 0 0 0 10px;
}

#home_text ul li.overview {
	margin: 0;
}

#home_text ul a {
	display: block;
	float: left;
	height: 26px;
	border: 0;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
	background: #146734 url(../images/home/bg_quick_links.gif) 0 0 no-repeat;
}

#home_text ul li.overview a {
	width: 134px;
}

#home_text ul li.different a {
	width: 162px;
	background-position: -144px 0;
}

#home_text ul li.services a {
	width: 95px;
	background-position: -316px 0;
}

#home_text ul a:hover,
#home_text ul a:active {
	background: none;
}

#featured_projects div.title,
#recent_news div.title {
	height: 26px;
	margin: 0 0 18px;
	border-bottom: 3px solid #146734;
}

#featured_projects div.title h1,
#recent_news div.title h1 {
	float: left;
	height: 18px;
	background: #fff url(../images/home/titles.gif) 0 3px no-repeat;
	padding: 3px 0 0;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

#featured_projects div.title h1 {
	width: 215px;
}

#recent_news div.title h1 {
	width: 158px;
	background-position: 0 -15px;
}

#featured_projects div.title a.btn,
#recent_news div.title a.btn,
#news_btns a.btn {
	display: block;
	float: right;
	height: 20px;
	border: 0;
	background-color: #fff;
	background-image: url(../images/shared/buttons.gif);
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

a#more_projects:link,
a#more_projects:visited {
	width: 78px;
	height: 20px;
	background-position: 0 0;
}

a#more_projects:hover,
a#more_projects:active {
	background-position: -114px 0;
}

a#archives:link,
a#archives:visited {
	width: 54px;
	height: 20px;
	background-position: 0 -20px;
}

a#archives:hover,
a#archives:active {
	background-position: -114px -20px;
}

a#rss:link,
a#rss:visited {
	width: 32px;
	height: 20px;
	background-position: 0 -40px;
}

a#rss:hover,
a#rss:active {
	background-position: -114px -40px;
}

#featured_projects ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#featured_projects ul li {
	float: left;
	width: 220px;
}

#featured_projects ul li.first {
	padding: 0 40px 0 0;
}

#featured_projects ul li h2 {
	font-weight: bold;
	font-size: 1.167em;
	line-height: 1.28;
}

#featured_projects ul li img {
	margin: 1em 0 .5em;
	border: 4px solid #989898;
	padding: 1px;
}

#featured_projects ul li p {
	margin: 0 0 .75em;
}

#featured_projects ul li a.more_info {
	display: block;
	width: 57px;
	height: 20px;
	background: #fff url(../images/shared/buttons.gif) 0 -60px no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

#recent_news ul {
	margin: 0;
	padding: 0;
	list-style: none !important;
}

#recent_news li {
	margin: 0 0 1em;
	border-bottom: 1px dotted #989898;
	padding: 0 0 1em;
}

#recent_news li.last {
	margin: 0;
	border-bottom: 0;
	padding: 0;
}

#recent_news a {
	font-weight: bold;
	border: 0;
}
/* END homepage content */

/* BEGIN gallery */
ul.gallery {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.gallery li {
	float: left;
	width: 170px;
	margin: 0 0 1em;
	text-align: center;
	font-weight: bold;
	font-size: .9167em;
	line-height: 1.3;
}

ul.gallery li.col2 {
	padding: 0 25px;
}

ul.gallery img {
	display: block;
	margin: 0 auto .25em;
	border: 4px solid #989898;
	padding: 1px;
}

ul.gallery div.caption {
	height: 4em;
}
/* END gallery */

/* BEGIN document list */
ul.document_list {
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
}

ul.document_list li {
	margin: 0 0 .5em;
	background: #fff url(../images/icons/16px_document.png) 0 0 no-repeat;
	padding: 0 0 0 24px;
	font-weight: bold;
}
/* END document list */

/* BEGIN articles */
div.entry {
	margin: 0 0 1.75em;
	border-bottom: 1px dotted #989898;
}

div.entry.last {
	margin: 0;
	border: 0;
}

h2.entry_title {
	margin: 0 0 .25em;
}

h2.entry_title.news {
	margin: 0 0 1em;
}

div.entry_meta {
	margin: 0 0 1.5em;
	font-weight: bold;
}

p.read_original a:link,
p.read_original a:visited {
	display: block;
	width: 114px;
	height: 20px;
	background: #fff url(../images/shared/buttons.gif) 0 -160px no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

p.read_original a:hover,
p.read_original a:active {
	background-position: -114px -160px;
}

p.download_newsletter a:link,
p.download_newsletter a:visited {
	display: block;
	width: 114px;
	height: 20px;
	background: #fff url(../images/shared/buttons.gif) 0 -120px no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

p.download_newsletter a:hover,
p.download_newsletter a:active {
	background-position: -114px -120px;
}

p.download_flatnote a:link,
p.download_flatnote a:visited {
	display: block;
	width: 103px;
	height: 20px;
	background: #fff url(../images/shared/buttons.gif) 0 -140px no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

p.download_flatnote a:hover,
p.download_flatnote a:active {
	background-position: -114px -140px;
}
/* END articles */

/* BEGIN tables */
table {
	width: 99%;
	border-collapse: collapse;
}

th.stretch,
td.stretch {
	width: 100%;
}

td.nowrap {
	white-space: nowrap;
}

table.list th {
	border-left: 1px solid #fff;
	border-bottom: 1px solid #000;
	background-color: #146734;
	padding: 5px 8px;
	color: #fff;
	text-align: left;
	white-space: nowrap;
	font-size: .9167em;
}

table.list th:first-child {
	border-left: 0;
}

table.list td {
	border-bottom: 1px dotted #989898;
	padding: 10px 8px;
	font-size: 1em;
}

table.project_calendar tr.month_header td {
	border-top: 10px solid #fff;
	border-bottom: 1px solid #146734;
	color: #fff;
	font-weight: bold;
	font-size: 1em;
}

table.project_calendar tr.month_header:first-child td {
	border-top: 0;
}

table.project_calendar tr.month_header td.month_header {
	padding: 5px 8px;
	background-color: #146734;
	white-space: nowrap;
}

table.project_calendar tr.event_info td {
	border-bottom: 1px dotted #989898;
	padding: 10px 8px;
	font-size: 1em;
}

table.project_calendar tr.event_info td.date {
	font-weight: bold;
}

table.project_calendar tr.even td {
	background-color: #eee;
}
/* END tables */

/* BEGIN team list */
ul.team_list_meta {
	height: 20px;
	margin: 0 0 1.5em;
	padding: 0;
	list-style: none;
}

ul.team_list_meta li {
	float: left;
	height: 20px;
	margin: 0 10px 0 0;
}

ul.team_list_meta li a {
	display: block;
	float: left;
	height: 20px;
	background: #fff url(../images/shared/buttons.gif) 0 0 no-repeat;
	font-size: 1px;
	line-height: 1px;
	text-indent: -9999em;
}

ul.team_list_meta li.team_list_email a:link,
ul.team_list_meta li.team_list_email a:visited {
	width: 102px;
	background-position: 0 -80px;
}

ul.team_list_meta li.team_list_email a:hover,
ul.team_list_meta li.team_list_email a:active {
	background-position: -114px -80px;
}

ul.team_list_meta li.team_list_vcard a {
	width: 91px;
	background-position: 0 -100px;
}

ul.team_list_meta li.team_list_vcard a:hover,
ul.team_list_meta li.team_list_vcard a:active {
	background-position: -114px -100px;
}
/* END team list */

/* BEGIN footer */
#footer {
	background: #146734 url(../images/shared/bg_footer.jpg) 0 0 no-repeat;
	padding: 0 10px 30px;
	color: #fff;
	font-size: .9167em;
}

#footer a:link,
#footer a:visited {
	color: #fff;
	text-decoration: underline;
	border: 0;
}

#footer a:hover,
#footer a:active {
	color: #9ed18d;
	border: 0;
}

#footer div.column_l {
	float: left;
	width: 200px;
	padding: 20px 60px 0 0;
}

#footer div.column_r {
	float: left;
	width: 520px;
	padding: 15px 0 0;
}

#footer div.column_l img {
	display: block;
	margin: 0 0 14px;
}

#menu_footer {
	margin: 0;
	padding: 0;
	list-style: none;
}

#menu_footer li {
	border-top: 1px solid #2c7649;
	border-bottom: 1px solid #11582c;
	padding: 5px 0;
}

#menu_footer li.first {
	border-top: 0;
	padding-top: 0;
}

#menu_footer a:link,
#menu_footer a:visited {
	text-decoration: none;
}

#menu_footer a:hover,
#menu_footer a:active {
	text-decoration: underline;
}

#menu_footer a.top {
	font-weight: bold;
	text-transform: uppercase;
}

#menu_footer ul {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1em;
}

#menu_footer ul li {
	display: inline;
	border: 0;
}

#menu_footer ul li:after {
	content: ", ";
}

#menu_footer ul li:last-child:after {
	content: "";
}

#footer form {
	margin: 0;
	border-top: 1px solid #2c7649;
	padding: 8px 0 0;
}

#footer form * {
	margin: 0;
	vertical-align: middle;
}

#keywords {
	width: 220px;
	margin: 0 2px 0 0 !important;
	border-width: 1px;
	padding: 4px;
}
/* END footer */