
	*, *:before, *:after {
		-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
	}
	h1 {
		background: #eee; margin:0; padding: .1em 1em;
	}
	h1 a:visited, h1 a:link, h1 a { color: inherit; }
	h2 {
		background: #eee; margin:0; padding: .1em 1em;
	}
	h3 {
		border-bottom:1px solid #eee; margin:0; padding: .25em .75em; color: #555;
	}
	p {
		margin-top: 0;
		padding: .5em;
		border: 1px solid #aaa;
	}
	p.error {
		color: #aa0000;
		border: 1px solid #aa0000;
	}
	
	#page {
		padding: 1em; position: relative;
	}
	
	aside {
		float:left; min-width: 250px; max-width: 25%;
	}
	article {
		margin-left: 250px; padding-left: 1em;
	}
	nav {
		padding: 5px; border: 1px solid #ddd;
	}
	nav ul {
		margin: 0; padding: 0;
		font-family: monospace;
		font-size: 12px;
	}
	nav ul li:before {
		width: auto;
		content: '?';
		position:absolute;
		margin-bottom: 2px;
		padding: 1px 4px;
		background: #eee;
		cursor: default;
	}
	nav ul li.added:before {
		content: '+';
		background: #ddfadf;
		color: #07530e;
	}
	nav ul li.deleted:before {
		content: '-';
		background: #fadddd;
		color: #530707;
	}
	nav ul li.deleted a {
		text-decoration: line-through;
	}
	nav ul li.modified:before {
		content: '*';
		background: #faf6dd;
		color: #534607;
	}
	nav ul li.dir { margin-top: 3px; margin-bottom: 5px; }
	nav ul li.dir:before { display:none; }
	nav ul ul { padding-left: 4px; }
	nav ul li a {
		font-size: 12px;
		padding: 1px 5px;
		margin-bottom: 1px;
		margin-top: 1px;
		display:block;
		margin-left: 16px;
	}
	
	a { text-decoration: none; color: #555; cursor: default; }
	a:link { color: #1a55b6; cursor: pointer; }
	a:visited { color: #79570e; }
	a.current { color: #000; background: #afd0f5; }
	a:link:hover, a:visited:hover { color: #fff; background: #0b3375; }
	a:link:focus, a:link:active, a:visited:focus, a:visited:active { color: #ddd; background: #0b3375; }
	
	.diff {
		font-family: monospace;
		font-size: 12px;
		display: block; unicode-bidi: embed;
		white-space:pre;
		overflow: auto;
		-moz-tab-size: 4;
		-o-tab-size:   4;
		tab-size:      4;
		border: 1px solid #aaa;
		padding: 1px;
		padding-top:0;
		position:relative;
		/*
		white-space: pre-wrap; /* css-3 */
		white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
		white-space: -pre-wrap; /* Opera 4-6 */
		white-space: -o-pre-wrap; /* Opera 7 */
		word-wrap: break-word; /* Internet Explorer 5.5+ */
		*/
	}
	.diff-left {
		width: 50%; float:left; padding-right: 0px;
		overflow-x: auto;
		overflow-y: hidden;
		margin-right: -1px;
		border-right: 1px solid #fff;
	}
	.diff-right {
		width: 50%; float:right; padding-left: 0px;
		overflow-x: auto;
		overflow-y: hidden;
	}
	.diff .linenums {
		max-width: 2.5em; position:absolute; background: #eee; text-align:right; border-right: 1px solid #fff;
	}
	.diff code {
		max-width: 100%;
	}
	.diff .linenums span {
		display: block; min-width: 100%; height: 18px; line-height: 18px; border-top: 1px solid white; margin:0; padding: 0; float:left; padding-right: 3px; color: #aaa;
	}
	.diff code span {
		display: block; min-width: 100%; height: 18px; line-height: 18px; border-top: 1px solid white; margin:0; padding: 0; float:left; padding-left: 3em;
	}
	.diff code .added {
		background: #e9f4d4;
	}
	.diff code .nonexistent {
		background: #e7e7e7;
	}
	.diff code .deleted {
		background: #f4d4d4;
	}
	.diff code .modified {
		background: #f4e9d4;
	}
	
	#foot { position:relative; background: #eee; padding: 10px; }
	#foot span { margin: 5px; }