/*
 * tesseras.net gotwebd custom theme
 * matched to cgit causal.agency style
 */

*, *::after, *::before {
	box-sizing: border-box;
}

body {
	background-color: #fff;
	color: #333;
	margin: 0;
	padding: 20px;
	font-family: monospace;
	font-size: 10pt;
	line-height: 1.25em;
	-moz-tab-size: 4;
	tab-size: 4;
}

main, #header, #site_path, footer {
	max-width: 117ch;
	margin-left: auto;
	margin-right: auto;
}

a {
	color: blue;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

pre {
	font-family: monospace;
	margin: 0;
}

hr {
	margin: 10px 0;
	height: 0;
	border: 0;
	border-top: 1px solid #ccc;
}

/* ---- header: hide got logo ---- */
#header {
	background: none;
	padding: 0;
}
#got_link {
	display: none;
}

/* ---- site path / nav ---- */
#site_path {
	background: none;
	overflow: visible;
	width: auto;
	padding: 0;
	margin-bottom: 2em;
}
#site_link {
	padding: 0;
	color: #000;
	font-size: 250%;
}
#site_link a {
	color: #000;
}
#site_link a:hover {
	text-decoration: underline;
}

/* ---- index page ---- */
#index_header {	margin-bottom: 1em;
	background: none;
	border-bottom: none;
}
.index_project, .index_project_description, .index_project_owner,
.index_project_age {
	display: inline-block;
	padding: 0.1em 0.5em;
	overflow: hidden;
	vertical-align: top;
	font-weight: bold;
}
.index_wrapper .index_project,
.index_wrapper .index_project_description,
.index_wrapper .index_project_owner,
.index_wrapper .index_project_age {
	font-weight: normal;
}
.index_wrapper .index_project {
	text-decoration: none;
}
.index_project {
	width: 20%;
}
.index_project_description {
	width: 35%;
	white-space: normal;
}
.index_project_owner {
	width: 20%;
}
.index_project_age {
	width: 20%;
	color: #888;
}
.index_project a {
	color: black;
}
.index_project a:hover {
	color: blue;
}

.index_wrapper {
	margin-bottom: 1em;
}
.index_wrapper:hover {
	background-color: inherit;
}

/* ---- navs ---- */
.navs_wrapper {
	background: none;
	border-bottom: none;
	width: 100%;
}
.navs {
	padding: 0.1em 0.5em;
	font-size: 14px;
}
.navs a {
	color: #777;
}
.navs a:hover {
	color: blue;
}

/* ---- pagination ---- */
#np_wrapper {
	background: none;
	border-bottom: none;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	overflow: hidden;
}
#nav_more, #nav_prev, #nav_next {
	padding: 5px 8px;
}

/* ---- summary page ---- */
#summary_wrapper {
	background: none;
	border-bottom: none;
}

dl {
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}
dt {
	padding: 4px 8px;
	width: 120px;
	font-weight: bold;
}
dd {
	padding: 4px 8px;
	margin-left: auto;
	width: calc(100% - 130px);
	flex-grow: 2;
}
.clone-url {
	white-space: pre-wrap;
}

/* ---- page header ---- */
.page_header_wrapper {
	background: none;
	padding: 5px 8px;
	border-bottom: none;
}

/* ---- refs ---- */
.refs_str {
	background-color: #88ff88;
	color: #000;
	font-style: normal;
	white-space: pre;
	padding: 0px 0.25em;
	border: solid 1px #007700;
}

/* ---- briefs / commits ---- */
.brief {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	border-bottom: none;
}
.brief:hover {
	background-color: inherit;
}
.brief p {
	margin: 0;
}
.briefs_age {
	display: inline-block;
	padding: 0.1em 0.5em;
	width: 140px;
	color: #888;
}
.briefs_author {
	display: inline-block;
	padding: 0.1em 0.5em;
	width: 8em;
	font-style: italic;
}
.briefs_id {
	display: inline-block;
	padding: 0.1em 0.5em;
	width: 8em;
	font-family: monospace;
	font-size: 90%;
}
.briefs_log {
	padding: 0.1em 0.5em;
	width: 100%;
}
.briefs_toggle {
	display: inline-block;
	padding: 0 4px;
	border: 1px solid #777;
	border-radius: 3px;
	user-select: none;
}

@media (min-width: 680px) {
	.brief {
		flex-wrap: nowrap;
	}
	.briefs_log {
		width: auto;
	}
}

.briefs_log > p {
	white-space: pre-wrap;
}

/* ---- tags ---- */
.tag_age, .tag_name, .tag_log {
	display: inline-block;
	vertical-align: middle;
}
.tag_age {
	padding: 0.1em 0.5em;
	width: 140px;
	color: #888;
}
.tag_name {
	width: 8em;
	padding: 0.1em 0.5em;
	font-style: italic;
}
.tag_log {
	padding: 0.1em 0.5em;
	width: 65%;
}
#tag_commit {
	padding: 20px;
	overflow: auto;
}

/* ---- branches ---- */
.branches_age {
	display: inline-block;
	padding: 0.1em 0.5em;
	width: calc(140px + 8.5em);
	color: #888;
}
.branch {
	display: inline-block;
	padding: 0.1em 0.5em;
}

/* ---- tree ---- */
#tree {
	margin: 20px 8px;
	border-collapse: collapse;
}
.tree_wrapper:nth-child(odd) {
	background-color: #f7f7f7;
}
.tree_wrapper:hover {
	background-color: inherit;
}
.tree_line {
	font-family: monospace;
	width: 20em;
	padding: 0.1em 0.5em;
}
.tree_line_blank {
	padding: 1px;
	width: 9.5em;
}
#tree_content h2 {
	margin-top: 20px;
	padding: 0 8px;
}
#tree_content pre {
	padding: 0 8px 20px;
	white-space: pre-wrap;
}

/* ---- blob ---- */
#blame, #blob {
	margin: 20px 8px;
	overflow: auto;
}
.blob_line > a {
	display: inline-block;
	text-align: right;
	width: 60px;
	padding-right: 20px;
	user-select: none;
	color: gray;
}
.blob_line > a:hover {
	color: black;
}
.blame_code, .blob_code {
	display: inline-block;
}
.blame_line:target, .blob_line:target {
	background-color: goldenrod;
}

/* ---- diff ---- */
#diff {
	margin: 20px 8px;
	overflow: auto;
}
.diff_minus, .diff_submodule {
	color: red;
}
.diff_plus, .diff_symlink, .diff_author {
	color: green;
}
.diff_chunk_header, .diff_date {
	background: none;
	color: #009;
}
.diff_meta, .diff_executable, .diff_commit {
	color: blue;
}

/* ---- commits content ---- */
.commits_content {
	width: 100%;
}
.commit {
	padding: 8px 20px;
	white-space: pre-wrap;
}
.commit-msg {
	white-space: pre-wrap;
}
.commit-id {
	width: 100%;
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ---- error ---- */
#err_content {
	padding: 20px 8px;
}

/* ---- footer ---- */
#site_owner_wrapper {
	background: none;
	color: #ccc;
	border-top: none;
	margin-top: 0.5em;
}
#site_owner {
	padding: 10px 0;
	margin: 0;
	font-size: 80%;
	text-align: center;
}

/* ---- mobile ---- */
@media (max-width: 680px) {
	body {
		padding: 10px;
		font-size: 14px;
	}
	#index_header {	margin-bottom: 1em;
		display: none;
	}
	.index_wrapper {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		padding: 5px 0;
		border-bottom: none;
	}
	.index_wrapper .index_project,
	.index_wrapper .index_project_description {
		padding-bottom: 0;
		width: 100%;
	}
	.index_wrapper .index_project_owner,
	.index_wrapper .index_project_age {
		width: 50%;
	}
	.index_wrapper .index_project_age {
		text-align: right;
	}
	#summary_wrapper dt,
	#summary_wrapper dd {
		width: 100%;
	}
	#summary_wrapper dt {
		font-weight: bold;
		padding-bottom: 0;
	}
	#summary_wrapper dd {
		padding-bottom: 8px;
	}
	.navs {
		font-size: 12px;
	}
}

.navs_wrapper > hr:nth-child(2) { display: none; }
