/* Section: RESET */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* Section: BASICS */

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  line-height: 16px;
  color: #fff;
  background: #000;
}

h1, h2, h3, div#Goodness ul li, table thead tr th {
  letter-spacing: 0.1em;
  font-weight: normal;
}

a {
  color: #fff;
}

div#DocumentBody a {
  color: #000;
}

table a {
  text-decoration: none;
}

table tfoot a:hover {
  text-decoration: underline;
}

/* Section: LAYOUT */

div#UserHeader {
  width: 960px;
  margin: 0 auto;
  text-align: right;
  padding: 10px 0;
}

div#UserHeader a {
  margin-left: 20px;
}

div#DocumentWrapper {
  background: #000 url(/images/tower-bg.jpg) repeat-y top center;
  text-align: center;
}

body#Home div#DocumentWrapper {
  height: 728px;
}

div#DocumentBody {
  text-align: left;
  width: 980px;
  color: #000;
  margin: 0 auto;
  padding: 0 0 50px;
}

body#Home div#HomeBG {
  background: transparent url(/images/cat-bg.jpg) no-repeat top center;
  height: 100%;
}

div#DocumentBody div#Slogan {
  width: 330px;
  height: 80px;
	background: transparent url(/images/slogan-home.gif) no-repeat top right;
  text-indent: -9999em;
}

div#DocumentBody div#Choices {
  padding-top: 9px;
}

div#DocumentBody div#Choices a.find_out_more {
  width: 135px;
  height: 30px;
  background: transparent url(/images/button-find-out-more.gif) no-repeat top left;
  float: left;
  text-indent: -9999em;
}

div#DocumentBody div#Choices span {
  width: 38px;
  height: 30px;
  background: transparent url(/images/buttons-or.gif) no-repeat top left;
  float: left;
  text-indent: -9999em;
}

div#DocumentBody div#Choices a.see_the_rankings {
  width: 154px;
  height: 30px;
  background: transparent url(/images/button-see-the-rankings.gif) no-repeat top left;
  float: left;
  text-indent: -9999em;
}

div#DocumentBody div#CompanyHeader {
  padding: 15px 20px 12px 10px;
}

div#DocumentBody div#CompanyHeader h2 em.number {
  padding: 0 0 0 5px;
  background: transparent url(/images/big-round-box-left.png) no-repeat top left;
  height: 22px;
  line-height: 20px;
  font-size: 18px;
  float: left;
  margin: 2px 0 0;
  font-style: normal;
}  

div#DocumentBody div#CompanyHeader h2 em.number span {
  padding: 0 5px 0 0;
  background: transparent url(/images/big-round-box-right.png) no-repeat top right;
  height: 22px;
  float: left;
  color: #fff;
}

div#DocumentBody div#CompanyHeader h2 span.company_name {
  padding: 0 0 4px 10px;
  float: left;
  font-size: 22px;
  line-height: 24px;
  text-transform: uppercase;
}

div#DocumentBody div#CompanyHeader span.wiki_link {
  float: right;
  text-align: right;
  line-height: 24px;
  padding: 3px 0 0;
}

div#HeaderWrapper {
  background: transparent url(/images/tag-bg.png) no-repeat 50% 70px;
}

div#Header {
  width: 980px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  padding: 70px 0 50px;
  height: 39px;
}

div#Header div#Logo, div#Header div#Logo a {
  width: 307px;
  height: 39px;
	position: relative;
	text-align: left;
	float: left;
/*	background: transparent url(/images/logo.gif) no-repeat top left; */
}

div#Header div#Logo a {
	text-indent: -9999em;
  cursor: hand;
}

body#Home div#Header div#Slogan {
  display: none;
}

div#Header div#Slogan {
  width: 650px;
  height: 39px;
  float: right;
  position: relative;
	background: transparent url(/images/slogan-inner.gif) no-repeat top right;
	text-indent: -9999em;
}
  
div#Footer {
  width: 960px;
  text-align: left;
  margin: 0 auto;
  padding: 10px 0 50px;
  color: #fff;
}

div#Footer ul {
  text-align: right;
  float: right;
}

div#Footer ul li {
  padding: 0 0 0 20px;
  display: inline;
}

/* Section: BOX LAYOUT AND STYLE */

div.box {
  background: transparent url(/images/even-row.png) repeat top left;
  border-top: 1px solid #73797c;
  border-bottom: 1px solid #73797c;
}

div.box h2,
div.box_sans h2 {
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
}


div#SlottedBox {
  background: transparent url(/images/slotted-bg.png) no-repeat top left;
  width: 980px;
}

div#SlottedBox div.inner {
  background: transparent url(/images/slotted-bg-bottom.gif) no-repeat bottom left;
}

div#Newsletter {
  width: 700px;
  padding: 14px 10px 21px;
  float: left;
}

div#Newsletter form h2 {
  padding: 0 0 15px;
}

div#Newsletter input {
  width: 450px;
  height: 32px;
  border: 1px solid #73797c;
  padding: 10px 9px 0;
  font-size: 18px;
  line-height: 32px;
  float: left;
}

div#Newsletter span.button_replacement {
  background: #000;
  color: #fff;
  text-align: center;
  width: 220px;
  height: 44px;
  display: block;
  float: left;
  margin: 0 0 0 10px;
  overflow: hidden;
}

div#Newsletter span.button_replacement a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 14px;
  width: 100%;
  display: block;
  color: #fff;
  padding: 14px 0 16px;
}

div#Goodness {
  width: 230px;
  padding: 11px 10px;
  float: right;
}

div#Goodness ul li {
  font-size: 14px;
  line-height: 32px;
  text-transform: uppercase;
  padding-left: 22px;
  display: block;
  background-position: 1px center;
  background-color: transparent;
  background-repeat: no-repeat;
  overflow: hidden;
}

div#Goodness ul li.blog {
  background-image: url(/images/icon-feed.gif);
}

div#Goodness ul li.facebook {
  background-image: url(/images/icon-facebook.gif);
}

div#Goodness ul li.twitter {
  background-image: url(/images/icon-twitter.gif);
}

div#DoubleSlottedBox {
  clear: both;
  background: transparent url(/images/double-slotted-bg.png) no-repeat top left;
  width: 980px;
  margin: 0 0 50px;
}

div#DoubleSlottedBox div.inner {
  background: transparent url(/images/double-slotted-bg-bottom.gif) no-repeat bottom left;
}

div#DoubleSlottedBox h2 {
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
}

div#DoubleSlottedBox table {
  margin-top: 8px;
}

div#DoubleSlottedBox table th,
div#DoubleSlottedBox table td {
  vertical-align: top;
}

div#DoubleSlottedBox table th {
  padding: 0 25px 0 0;
  text-transform: uppercase;
  padding-bottom: 6px;
  padding-top: 2px;
}

div#DoubleSlottedBox table td {
  width: 140px;
  padding-bottom: 8px;
}

div#DoubleSlottedBox table td em.number {
  padding: 0 0 0 5px;
  background: transparent url(/images/round-box-left.png) no-repeat top left;
  height: 20px;
  line-height: 18px;
  float: left;
  font-style: normal;
}  

div#DoubleSlottedBox table td em.number span {
  padding: 0 5px 0 0;
  background: transparent url(/images/round-box-right.png) no-repeat top right;
  height: 20px;
  float: left;
  color: #fff;
}

div#CharityWork, div#Diversity, div#Environment {
  width: 300px;
  padding: 14px 10px 12px;
  float: left;
}

div#Diversity, div#Environment {
  margin-left: 10px;
}

div#LoginBox {
  width: 420px;
  margin: 0 auto;
  text-align: center;
  padding: 20px 0 60px;
  color: #000;
}

div#LoginBox h1 {
  padding: 0 0 9px;
  border-bottom: 1px solid #6d7376;
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 24px;
  text-transform: uppercase;
  text-align: left;
}

div#LoginBox label {
  clear: left;
  float: left;
  width: 160px;
  font-size: 14px;
  padding: 4px 20px 0 0;
  margin: 0;
  line-height: 24px;
  text-transform: uppercase;
  letter-spacing: .1em;
  text-align: right;
  display: block;
}

div#LoginBox input {
  border: 1px solid #73797c;
  padding: 7px 9px 7px;
  font-size: 14px;
  line-height: 24px;
  float: left;
  margin: 0 0 10px;
  width: 220px;
}

div#LoginBox span.button_replacement {
  background: #000;
  color: #fff;
  text-align: center;
  width: 120px;
  height: 44px;
  display: block;
  float: left;
  margin: 0 0 0 300px;
  overflow: hidden;
}

div#LoginBox span.button_replacement a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 14px;
  width: 100%;
  display: block;
  color: #fff;
  padding: 14px 0 16px;
}



/* Section: TABLE LAYOUT AND STYLE */

table.primary {
  margin-top: 46px;
}

table.primary thead {
  text-transform: uppercase;
}

table.primary thead tr.level_one th {
  font-size: 14px;
  background: transparent url(/images/chipped-table-border.gif) no-repeat bottom right;
  padding-bottom: 19px;
}

table.primary thead tr.level_one th.last {
  background: transparent url(/images/chipped-table-border.gif) no-repeat bottom left;
}  

table.primary thead tr.level_two th {
  border-bottom: 1px solid #73797c;
  padding: 7px 0;
  overflow: hidden;
}

th#five_hundred_rank_th { width: 40px; }
th#market_sector_th { width: 140px; }
th#company_name_th { width: 220px; }
th#cash_donated_th { width: 120px; }
th#percentage_of_profit_th { width: 120px; }
th#executive_diversity_th { width: 80px; }
th#policy_score_th { width: 80px; }
th#toxicity_produced_th { width: 80px; }
th#toxicity_released_th { width: 80px; }

table.primary tr td {
  padding: 6px 0 7px;
  vertical-align: top;
}

table.primary tbody tr.even td {
  background: transparent url(/images/even-row.png) repeat top left;
}

table.primary tbody tr td {
  cursor: pointer;
}

table.primary tbody tr:hover td,
table.primary tbody tr.even:hover td {
  padding-top: 5px;
  padding-bottom: 6px;
  border-top: 1px solid #73797c;
  border-bottom: 1px solid #73797c;
  background: transparent url(/images/hover-row.png) repeat top left;
}  

table.primary thead tr th.first,
table.primary tbody tr td.first,
table.primary tfoot tr td.first {
  padding-left: 10px;
}

table.primary thead tr th.last,
table.primary tbody tr td.last,
table.primary tfoot tr td.last {
  padding-right: 10px;
}

table.primary tbody tr td a {
  display: block;
}

table.primary tbody tr td.first {
  padding: 1px 0 1px 10px;
}

table.primary tbody tr td.first span {
  display: block;
  padding-top: 2px;
  width: 31px;
  height: 20px;
  background: transparent url(/images/number-backing.png) no-repeat;
  color: #fff;
  text-align: center;
  margin-top: 3px;
}

table.primary tbody tr:hover td.first,
table.primary tbody tr.even:hover td.first {
  padding: 0 0 0 10px;
}

table.primary tbody tr.first td,
table.primary tbody tr.first:hover td {
  padding-top: 6px;
  border-top: 0px;
}

table.primary tbody tr.first td.first,
table.primary tbody tr.first:hover td.first {
  padding-top: 1px;
}

table.primary tbody tr.last td,
table.primary tbody tr.last:hover td {
  padding-bottom: 7px;
  border-bottom: 0px;
}

table.primary tbody tr.last td.first,
table.primary tbody tr.last:hover td.first {
  padding-bottom: 1px;
}

table.primary tfoot tr td {
  border-top: 1px solid #73797c;
}

table.primary tfoot tr td div.page_count {
  width: 280px;
  float: left;
}

table.primary tfoot tr td div.pagination {
  width: 280px;
  float: right;
  text-align: right;
  padding-right: 10px;
}

table.primary tfoot tr td div.pagination a.prev_page,
table.primary tfoot tr td div.pagination span.prev_page {
  padding: 0 18px;
  background: transparent url(/images/arrow-prev.png) no-repeat center left;
}

table.primary tfoot tr td div.pagination a.next_page,
table.primary tfoot tr td div.pagination span.next_page {
  padding: 0 18px;
  background: transparent url(/images/arrow-next.png) no-repeat center right;
}

/* Section: PLAIN TEXT */
div.plain_text_container {
  padding: 0;
  font-size: 12px;
  line-height: 19px;
  width: 720px;
  letter-spacing: 0.075em;
}

div.plain_text_container p {
  margin: 0;
  padding: 0 0 10px;
}

div.plain_text_container h2 {
  font-size: 22px;
  line-height: 24px;
  text-transform: uppercase;
  margin: 0;
  padding: 14px 0 10px;
}

div.plain_text_container h3 {
  text-transform: uppercase;
  margin: 0;
  font-size: 18px;
  line-height: 24px;
  padding: 14px 0 10px;
}

div.plain_text_container ul {
  list-style-type: square;
  margin: 0;
  padding: 0 0 10px 16px;
}

div.plain_text_container div.header_group,
div.plain_text_container div.doc_group {
  margin: 0 0 20px;
}

div.plain_text_container div.header_group {
  margin-top: 32px;
}

div.plain_text_container div.header_group div.inner,
div.plain_text_container div.doc_group div.inner {
  padding: 0 20px 0 10px;
}

div.plain_text_container div.doc_group {
  background: transparent url(/images/slotted-bg.png) no-repeat top left;
}

div.plain_text_container div.doc_group div.inner {
  background: transparent url(/images/slotted-bg-bottom.gif) no-repeat bottom left;
}


/* Section: UTILITIES */

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

/* 
div#Newsletter h2, thead tr.level_one th, div.plain_text_container h2, div.plain_text_container h3, div#CompanyHeader span.company_name { height: 24px; }

div#Goodness li span { height: 32px; }

div#Newsletter h2, div.plain_text_container h2, div.plain_text_container h3, div#CompanyHeader span.company_name, div#Goodness li span { display: block; }
*/

/* Safari and webkit fixes */
@media screen and (-webkit-min-device-pixel-ratio:0) {

  div#Newsletter input {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  div#DoubleSlottedBox table td em.number span {
    padding-top: 1px;
  }
  
  div#LoginBox label {
    padding-top: 8px;
  }

}

div.main { color: #000000; width: 500px; margin: auto; }