body {
	font-family: sans-serif;
	font-size: small;
	border: solid #d9d8d1;
	border-width: 1px;
	margin: 10px;
	background-color: #ffffff;
	color: #000000;
}

a {
	color: #0000cc;
}

a:hover, a:visited, a:active {
	color: #880000;
}

span.cntrl {
	border: dashed #aaaaaa;
	border-width: 1px;
	padding: 0px 2px 0px 2px;
	margin:  0px 2px 0px 2px;
}

img.logo {
	float: right;
	border-width: 0px;
}

div.page_header {
	height: 25px;
	padding: 8px;
	font-size: 150%;
	font-weight: bold;
	background-color: #d9d8d1;
}

div.page_header a:visited, a.header {
	color: #0000cc;
}

div.page_header a:hover {
	color: #880000;
}

div.page_nav {
	padding: 8px;
}

div.page_nav a:visited {
	color: #0000cc;
}

div.page_path {
	padding: 8px;
	font-weight: bold;
	border: solid #d9d8d1;
	border-width: 0px 0px 1px;
}

div.page_footer {
	height: 17px;
	padding: 4px 8px;
	background-color: #d9d8d1;
}

div.page_footer_text {
	float: left;
	color: #555555;
	font-style: italic;
}

div.page_body {
	padding: 8px;
	font-family: monospace;
}

div.title, a.title {
	display: block;
	padding: 6px 8px;
	font-weight: bold;
	background-color: #edece6;
	text-decoration: none;
	color: #000000;
}

div.readme {
	padding: 8px;
}

a.title:hover {
	background-color: #d9d8d1;
}

div.title_text {
	padding: 6px 0px;
	border: solid #d9d8d1;
	border-width: 0px 0px 1px;
	font-family: monospace;
}

div.log_body {
	padding: 8px 8px 8px 150px;
}

span.age {
	position: relative;
	float: left;
	width: 142px;
	font-style: italic;
}

span.signoff {
	color: #888888;
}

div.log_link {
	padding: 0px 8px;
	font-size: 70%;
	font-family: sans-serif;
	font-style: normal;
	position: relative;
	float: left;
	width: 136px;
}

div.list_head {
	padding: 6px 8px 4px;
	border: solid #d9d8d1;
	border-width: 1px 0px 0px;
	font-style: italic;
}

div.author_date {
	padding: 8px;
	border: solid #d9d8d1;
	border-width: 0px 0px 1px 0px;
	font-style: italic;
}

a.list {
	text-decoration: none;
	color: #000000;
}

a.subject, a.name {
	font-weight: bold;
}

table.tags a.subject {
	font-weight: normal;
}

a.list:hover {
	text-decoration: underline;
	color: #880000;
}

a.text {
	text-decoration: none;
	color: #0000cc;
}

a.text:visited {
	text-decoration: none;
	color: #880000;
}

a.text:hover {
	text-decoration: underline;
	color: #880000;
}

table {
	padding: 8px 4px;
	border-spacing: 0;
}

table.diff_tree {
	font-family: monospace;
}

table.combined.diff_tree th {
	text-align: center;
}

table.combined.diff_tree td {
	padding-right: 24px;
}

table.combined.diff_tree th.link,
table.combined.diff_tree td.link {
	padding: 0px 2px;
}

table.combined.diff_tree td.nochange a {
	color: #6666ff;
}

table.combined.diff_tree td.nochange a:hover,
table.combined.diff_tree td.nochange a:visited {
	color: #d06666;
}

table.blame {
	border-collapse: collapse;
}

table.blame td {
	padding: 0px 5px;
	font-size: 100%;
	vertical-align: top;
}

th {
	padding: 2px 5px;
	font-size: 100%;
	text-align: left;
}

tr.light:hover {
	background-color: #edece6;
}

tr.dark {
	background-color: #f6f6f0;
}

tr.dark2 {
	background-color: #f6f6f0;
}

tr.dark:hover {
	background-color: #edece6;
}

td {
	padding: 2px 5px;
	font-size: 100%;
	vertical-align: top;
}

td.link, td.selflink {
	padding: 2px 5px;
	font-family: sans-serif;
	font-size: 70%;
}

td.selflink {
	padding-right: 0px;
}

td.sha1 {
	font-family: monospace;
}

td.error {
	color: red;
	background-color: yellow;
}

td.current_head {
	text-decoration: underline;
}

table.diff_tree span.file_status.new {
	color: #008000;
}

table.diff_tree span.file_status.deleted {
	color: #c00000;
}

table.diff_tree span.file_status.moved,
table.diff_tree span.file_status.mode_chnge {
	color: #777777;
}

table.diff_tree span.file_status.copied {
  color: #70a070;
}

/* noage: "No commits" */
table.project_list td.noage {
	color: #808080;
	font-style: italic;
}

/* age2: 60*60*24*2 <= age */
table.project_list td.age2, table.blame td.age2 {
	font-style: italic;
}

/* age1: 60*60*2 <= age < 60*60*24*2 */
table.project_list td.age1 {
	color: #009900;
	font-style: italic;
}

table.blame td.age1 {
	color: #009900;
	background: transparent;
}

/* age0: age < 60*60*2 */
table.project_list td.age0 {
	color: #009900;
	font-style: italic;
	font-weight: bold;
}

table.blame td.age0 {
	color: #009900;
	background: transparent;
	font-weight: bold;
}

td.pre, div.pre, div.diff {
	font-family: monospace;
	font-size: 12px;
	white-space: pre;
}

td.mode {
	font-family: monospace;
}

/* styling of diffs (patchsets): commitdiff and blobdiff views */
div.diff.header,
div.diff.extended_header {
	white-space: normal;
}

div.diff.header {
	font-weight: bold;

	background-color: #edece6;

	margin-top: 4px;
	padding: 4px 0px 2px 0px;
	border: solid #d9d8d1;
	border-width: 1px 0px 1px 0px;
}

div.diff.header a.path {
	text-decoration: underline;
}

div.diff.extended_header,
div.diff.extended_header a.path,
div.diff.extended_header a.hash {
	color: #777777;
}

div.diff.extended_header .info {
	color: #b0b0b0;
}

div.diff.extended_header {
	background-color: #f6f5ee;
	padding: 2px 0px 2px 0px;
}

div.diff a.list,
div.diff a.path,
div.diff a.hash {
	text-decoration: none;
}

div.diff a.list:hover,
div.diff a.path:hover,
div.diff a.hash:hover {
	text-decoration: underline;
}

div.diff.to_file a.path,
div.diff.to_file {
	color: #007000;
}

div.diff.add {
	color: #008800;
}

div.diff.from_file a.path,
div.diff.from_file {
	color: #aa0000;
}

div.diff.rem {
	color: #cc0000;
}

div.diff.chunk_header a,
div.diff.chunk_header {
	color: #990099;
}

div.diff.chunk_header {
	border: dotted #ffe0ff;
	border-width: 1px 0px 0px 0px;
	margin-top: 2px;
}

div.diff.chunk_header span.chunk_info {
	background-color: #ffeeff;
}

div.diff.chunk_header span.section {
	color: #aa22aa;
}

div.diff.incomplete {
	color: #cccccc;
}

div.diff.nodifferences {
	font-weight: bold;
	color: #600000;
}

div.index_include {
	border: solid #d9d8d1;
	border-width: 0px 0px 1px;
	padding: 12px 8px;
}

div.search {
	font-size: 100%;
	font-weight: normal;
	margin: 4px 8px;
	float: right;
	top: 56px;
	right: 12px
}

td.linenr {
	text-align: right;
}

a.linenr {
	color: #999999;
	text-decoration: none
}

a.rss_logo {
	float: right;
	padding: 3px 0px;
	width: 35px;
	line-height: 10px;
	border: 1px solid;
	border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e;
	color: #ffffff;
	background-color: #ff6600;
	font-weight: bold;
	font-family: sans-serif;
	font-size: 70%;
	text-align: center;
	text-decoration: none;
}

a.rss_logo:hover {
	background-color: #ee5500;
}

a.rss_logo.generic {
	background-color: #ff8800;
}

a.rss_logo.generic:hover {
	background-color: #ee7700;
}

span.refs span {
	padding: 0px 4px;
	font-size: 70%;
	font-weight: normal;
	border: 1px solid;
	background-color: #ffaaff;
	border-color: #ffccff #ff00ee #ff00ee #ffccff;
}

span.refs span.ref {
	background-color: #aaaaff;
	border-color: #ccccff #0033cc #0033cc #ccccff;
}

span.refs span.tag {
	background-color: #ffffaa;
	border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}

span.refs span.head {
	background-color: #aaffaa;
	border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
}

span.atnight {
	color: #cc0000;
}

span.match {
	color: #e00000;
}

div.binary {
	font-style: italic;
}
