@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@400;500;600&display=swap');

/* ── Base ─────────────────────────────────────────────── */

body {
	font-family: 'Dosis', Arial, sans-serif;
	font-size: small;
	border: solid #000;
	border-width: 1px;
	margin: 10px;
	background-color: linen;
	color: #000000;
}

a {
	color: #000;
	font-weight: 600;
	text-decoration: underline;
}

a:hover {
	color: #555;
}

a:visited, a:active {
	color: #333;
}

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;
}

img.avatar {
	vertical-align: middle;
}

img.blob {
	max-height: 100%;
	max-width: 100%;
}

a.list img.avatar {
	border-style: none;
}

/* ── Page header ──────────────────────────────────────── */

div.page_header {
	height: 25px;
	padding: 8px;
	font-size: 150%;
	font-weight: bold;
	font-family: Arial, sans-serif;
	background-color: linen;
	border-bottom: 2px solid #000;
	position: relative;
}

/*div.page_header::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: -10px;
	width: calc(100% + 20px);
	height: 2px;
	background: #000;
	transform: rotate(-1.5deg);
	transform-origin: center;
}*/

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

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

/* ── Nav ──────────────────────────────────────────────── */

div.page_nav {
	padding: 8px;
	font-family: 'Dosis', Arial, sans-serif;
}

div.page_nav a:visited {
	color: #333;
}

div.page_path {
	padding: 8px;
	font-weight: bold;
	border: solid #000;
	border-width: 0px 0px 1px;
	font-family: 'Dosis', Arial, sans-serif;
}

/* ── Footer ───────────────────────────────────────────── */

div.page_footer {
	height: 22px;
	padding: 4px 8px;
	background-color: linen;
	border-top: 2px solid #000;
	position: relative;
}

/*div.page_footer::before {
	content: '';
	position: absolute;
	top: -5px;
	left: -10px;
	width: calc(100% + 20px);
	height: 2px;
	background: #000;
	transform: rotate(1.5deg);
	transform-origin: center;
}*/

div.page_footer_text {
	line-height: 22px;
	float: left;
	color: #555555;
	font-style: italic;
	font-family: 'Dosis', Arial, sans-serif;
}

div#generating_info {
	margin: 4px;
	font-size: smaller;
	text-align: center;
	color: #505050;
}

/* ── Page body ────────────────────────────────────────── */

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

div.title, a.title {
	display: block;
	padding: 6px 8px;
	font-weight: bold;
	font-family: Arial, sans-serif;
	background-color: linen;
	border: 1px solid #000;
	border-radius: 5px;
	text-decoration: none;
	color: #000000;
}

div.readme {
	padding: 8px;
}

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

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

/* ── Log ──────────────────────────────────────────────── */

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

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

span.signoff {
	color: #888888;
}

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

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

.author_date, .author {
	font-style: italic;
	color: #444;
}

div.author_date {
	padding: 8px;
	border: solid #000;
	border-width: 0px 0px 1px 0px;
}

/* ── Lists ────────────────────────────────────────────── */

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: #555;
}

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

a.text:visited {
	text-decoration: underline;
	color: #333;
}

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

/* ── Tables ───────────────────────────────────────────── */

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: #555;
}

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

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;
	font-family: Arial, sans-serif;
	font-weight: bold;
}

tr.light,
table.blame .light:hover {
	background-color: linen;
}

tr.dark,
table.blame .dark:hover {
	background-color: #ede5d5;
}

tr.light:hover,
tr.dark:hover {
	background-color: #e0d8c8;
}

tr.boundary td.sha1,
tr.no-previous td.linenr {
	font-weight: bold;
}

tr.color1 { background-color: #f6fff6; }
tr.color2 { background-color: #f0ede5; }
tr.color3 { background-color: #fff6f0; }

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

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

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

td.sha1 {
	font-family: monospace;
}

.error {
	color: #993c1d;
	background-color: #f5c4b3;
	border: 1px solid #993c1d;
	border-radius: 4px;
	padding: 2px 4px;
}

td.current_head {
	text-decoration: underline;
}

td.category {
	background-color: #e0d8c8;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	font-weight: bold;
	font-family: Arial, sans-serif;
}

/* ── Diff tree ────────────────────────────────────────── */

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

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

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: #3b6d11;
}

/* ── Age indicators ───────────────────────────────────── */

table.project_list td.noage {
	color: #808080;
	font-style: italic;
}

table.project_list td.age2, table.blame td.age2 {
	font-style: italic;
}

table.project_list td.age1 {
	color: #3b6d11;
	font-style: italic;
}

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

table.project_list td.age0 {
	color: #3b6d11;
	font-style: italic;
	font-weight: bold;
}

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

/* ── Code / pre ───────────────────────────────────────── */

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

td.mode {
	font-family: monospace;
}

div#progress_bar {
	height: 2px;
	margin-bottom: -2px;
	background-color: #ccc;
}

div#progress_info {
	float: right;
	text-align: right;
}

td.size {
	font-family: monospace;
	text-align: right;
}

/* ── Diffs ────────────────────────────────────────────── */

div.diff.header,
div.diff.extended_header {
	white-space: normal;
}

div.diff.header {
	font-weight: bold;
	background-color: #e0d8c8;
	margin-top: 4px;
	padding: 4px 0px 2px 0px;
	border: solid #000;
	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: #999;
}

div.diff.extended_header {
	background-color: #ede5d5;
	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: #3b6d11;
}

div.diff.add {
	color: #3b6d11;
}

div.diff.add span.marked {
	background-color: #c0dd97;
}

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

div.diff.rem {
	color: #993c1d;
}

div.diff.rem span.marked {
	background-color: #f5c4b3;
}

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

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

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

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

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

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

/* ── Side-by-side diff ────────────────────────────────── */

div.chunk_block {
	overflow: hidden;
}

div.chunk_block div.old {
	float: left;
	width: 50%;
	overflow: hidden;
}

div.chunk_block div.new {
	margin-left: 50%;
	width: 50%;
}

div.chunk_block.rem div.old div.diff.rem {
	background-color: #fff5f0;
}

div.chunk_block.add div.new div.diff.add {
	background-color: #f0f8e8;
}

div.chunk_block.chg div div.diff {
	background-color: #fafaf0;
}

div.chunk_block.ctx div div.diff.ctx {
	color: #404040;
}

/* ── Misc ─────────────────────────────────────────────── */

div.index_include {
	border: solid #000;
	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;
}

div.search input[type="text"] {
	border: 1px solid #000;
	background: linen;
	padding: 2px 6px;
	font-family: 'Dosis', sans-serif;
	border-radius: 4px;
}

div.projsearch {
	text-align: center;
	margin: 20px 0px;
}

div.projsearch form {
	margin-bottom: 2px;
}

td.linenr {
	text-align: right;
}

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

/* ── RSS badge ────────────────────────────────────────── */

a.rss_logo {
	float: right;
	padding: 3px 5px;
	line-height: 10px;
	border: 1px solid #000;
	border-radius: 4px;
	color: linen;
	background-color: #000;
	font-weight: bold;
	font-family: Arial, sans-serif;
	font-size: 70%;
	text-align: center;
	text-decoration: none;
}

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

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

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

/* ── Ref badges ───────────────────────────────────────── */

span.refs span {
	padding: 0px 4px;
	font-size: 70%;
	font-weight: normal;
	border: 1px solid #000;
	background-color: #ede5d5;
	border-radius: 4px;
	font-family: 'Dosis', sans-serif;
}

span.refs span a {
	text-decoration: none;
	color: inherit;
}

span.refs span a:hover {
	text-decoration: underline;
}

span.refs span.indirect {
	font-style: italic;
}

span.refs span.ref {
	background-color: #cecbf6;
	border-color: #000;
}

span.refs span.tag {
	background-color: #fac775;
	border-color: #000;
}

span.refs span.head {
	background-color: #c0dd97;
	border-color: #000;
}

span.atnight {
	color: #993c1d;
}

span.match {
	color: #993c1d;
	font-weight: bold;
}

div.binary {
	font-style: italic;
	color: #777;
}

div.remote {
	margin: .5em;
	border: 1px solid #000;
	display: inline-block;
	border-radius: 4px;
	background: linen;
}

/* ── Timezone popup ───────────────────────────────────── */

.popup {
	position: absolute;
	top: 0; left: 0;
	border: 1px solid #000;
	border-radius: 5px;
	padding: 2px;
	background-color: linen;
	font-style: normal;
	color: #000000;
	cursor: auto;
}

.close-button {
	position: absolute;
	top: 0px; right: 0px;
	border: 1px solid #000;
	margin: 1px;
	padding-bottom: 2px;
	width: 12px;
	height: 10px;
	font-size: 9px;
	font-weight: bold;
	text-align: center;
	background-color: #f5c4b3;
	cursor: pointer;
}

/* ── Syntax highlighting ──────────────────────────────── */

.num    { color: #534ab7; }
.esc    { color: #993c1d; }
.str    { color: #3b6d11; }
.dstr   { color: #638522; }
.slc    { color: #888; font-style: italic; }
.com    { color: #888; font-style: italic; }
.dir    { color: #3b6d11; }
.sym    { color: #000000; }
.line   { color: #777; }
.kwa    { color: #000000; font-weight: bold; }
.kwb    { color: #993c1d; }
.kwc    { color: #000000; font-weight: bold; }
.kwd    { color: #3c3489; }
