/* 
 * Original theme: https://github.com/kogakure/gitweb-theme
 * 	Copyright (c) 2009-2014 Stefan Imhoff
 */
/* Reset
------------------------------------------------------------------------- */
/* Based on http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
@font-face {
  font-family: "Victor Mono";
  src:
    url('/fonts/VictorMono.woff2') format('woff2'),
    url('/fonts/VictorMono.woff') format('woff'),
    url('/fonts/VictorMono.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address, big,
cite, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i,
center, 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-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
a {
  padding: 2px;
  outline: none;
  text-decoration: underline;
}
form {
  justify-content: center;
  display: flex;
  padding: 8px;
}
input,
select {
  max-height: 2rem;
  font-family: monospace;
  border: 3px solid #eef9ff;
  background-color: #d3dfe3;
  color: #111;
}
input:focus,
select:focus {
  border-color: #fdd33c;
}
input[type="checkbox"] {
  appearance: none;
  border: 2px solid #eef9ff;
  vertical-align: middle;
  width: 1rem;
  height: 1rem;
}
input[type="checkbox"]:checked {
  background-color: #fdd33c;
}
.projsearch span {
  margin: 4px;
  display: inline-flex;
  align-items: center;
  text-align: center;
}
.projsearch input[type="text"] {
  width: 80%;
  box-sizing: border-box;
}
.projsearch input {
  background-color: #eef9ff;
  border: 4px solid #d3dfe3;
}
.projsearch input:focus {
  border-color: #fdd33c;
}
.projsearch input[type="checkbox"] {
  border: 3px solid #d3dfe3;
}
::selection {
  background-color: #fdd33c;
  color: #111;
}
/* General
---------------------------------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}
body {
  font: 13px Helvetica,arial,freesans,clean,sans-serif;
  line-height: 1.4;
  margin: 0 0 105px;
  background-color: #e0edf0;
  color: #111;
}
th  {
  color: #111;
  background-color: #d3dfe3;
  padding: 5px;
}
td {
  background-color: #eef9ff;
  padding: 5px;
}
code {
  display: inline-block;
  padding: 2px;
  padding-inline: 2px;
  font-family: 'Victor Mono', monospace;
  background-color: #FAFEFF;
  font-weight: bold;
}
/* Monospaced Fonts */
.sha1,
.mode,
.diff_tree .list,
.page_header,
.pre,
.diff,
.patchset {
  font-family: 'Victor Mono', monospace;
}
a:link,
a:visited {
  color: #111;
  font-weight: bold;
  text-decoration: underline;
}
a:hover {
  background-color: #111;
  color: #eef9ff;
}
td.list a[href*='tree'],
td.list a[href*='blob'] {
  padding-left: 20px;
  height: 16px;
  line-height: 16px;
}
td.list a[href*='tree'] {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABq0lEQVQ4y8WTu4oUQRSGv+rtGVuxhwVFdFEEE2c3d0HYTEMTn8DEVxADQTDUF9DMwMxQMBMx8AEWzRQ3cBHd9TI91+2urjq/QbczY2IygSep4nD+79yqnCRWsYQVbWVACvDh5ZXdrLe15dwyT1TjT/sxFFeB6i+VA2B6+cb7kAI4Jf0LO087zjlQI8Y5Qvnj0sHug321XoC1bk+K9eHk6+s7wPMUgKAS88eqb4+Jfg2SHs7lZBvX2Nh+2EUCDGSAcMnJsx9f7NxfAGqXyDzRd5EJO/pMPT1gcviGTnYOVIN5pAAE8v7dLrKL8xnglFk4ws9Afko9HpH3b5Gd2mwb/lOBmgrSdYhJugDUCenxM6xv3p4HCsP8F0LxCsUhCkMURihOyM7fg0osASTFEpu9a4LjGIUCqwcoDiEUrX+E4hRUQb20RiokC1j9vckUhygU7X3QZh7NAVKYL7YBeMkRUfjVCotF2XGIwnghtrJpMywB5G0QZj9P1JNujuWJ1AHLQadRrACPkuZ0SSSWpeStWgDK6tHek5vbiOs48n++XQHurcf0rFng//6NvwG+iB9/4duaTgAAAABJRU5ErkJgggo=) center left no-repeat;
}
td.list a[href*='blob'] {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA6ElEQVQoFQXBMW5TQRgGwNnHnoE0QbiCjoIooUmTU3AuS1BwIoTSUdJBigg3GCWOg9/++zHTop078wIAsPMrE4SL5/1aIyMjIyMjz/m0tbFECFdrPeaQQw75mz/5nZH7fN7aWILmauSYfznmmIfss8vIUx7zZWsTTXM5vpWvTk5Wq9VHQP/gtgOLa0Qpw940vAQdaG6thpOhlOkG0AEuAVGmEkAH+G4YSikxXQM6wDsAMRFAB/ihDNNUmN4DOsAbBAEAdICfpmmaAt4COoj2GgCASbIkZh1NAACznhQt2itnFgAAlF3u/gMDtJXPzQxoswAAAABJRU5ErkJgggo=) center left no-repeat;
}
td.list a[href*='tree']:hover,
td.list a[href*='blob']:hover {
  background-color: #111;
}
i {
  font-style: normal;
}
.page_nav br {
  display: none;
}
#htmltagcloud {
  margin: 2em;
}
.projects_list #htmltagcloud {
  text-align: left;
  margin: 4px;
  margin-left: 0px;
}
#generating_info {
  font-size: 10px;
  color: #aaa;
  text-align: center;
}
#generating_time,
#generating_cmd {
  font-weight: bold;
}
/* Page Header
---------------------------------------------------------------------------- */
.page_header {
  line-height: 50px;
  position: relative;
  padding: 0 27px;
  margin-bottom: 20px;
  text-wrap: balance;
  font-size: 20px;
  background: #eef9ff;
  border-bottom: 2px solid #d3dfe3;
}
.page_header a:link,
.page_header a:visited {
  text-decoration: underline;
  padding: 3px;
  font-weight: bold;
}
.page_header a:hover {
  font-weight: bold;
  padding: 3px;
  text-decoration: underline;
}
.page_header a:first-child {
  background: transparent;
}
.page_header img.logo {
  border: 3px #fdd33c double;
  position: relative;
  top: 7px;
  margin-right: 5px;
}
/* Page Footer
---------------------------------------------------------------------------- */
.page_footer {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  box-sizing: border-box;
  padding-inline: 1rem;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  line-height: 80px;
  margin-top: 15px;
  background: #eef9ff;
  border-top: 2px solid #d3dfe3;
  border-bottom: 1px solid #d3dfe3;
}
.page_footer_text {
  margin-right: auto;
  color: #666;
  margin-left: 1vw;
  width: 80%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
a.rss_logo {
  margin-right: 8px;
  padding: 3px 1px;
  height: 10px;
  width: 35px;
  line-height: 10px;
  border: 1.5px solid #d3dfe3;
  background-color: #fdd33c;
  font-weight: bold;
  font-size: 80%;
  text-align: center;
  text-decoration: none;
  margin-top: 30px;
  margin-left: 5px;
}
a.rss_logo:hover {
  background-color: #ee5500;
}
.rss_logo {
  margin-right: 25px;
  background: yellow;
}
.rss_logo:last-child {
  margin-right: 5px;
}
/* Index include
---------------------------------------------------------------------------- */
.index_include {
  width: 95%;
  margin: 0 auto 15px;
  border: 1px solid #d3dfe3;
  padding: 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/* Elements
---------------------------------------------------------------------------- */
.project_list,
.shortlog,
.commit_search,
.history {
  width: 95%;
  margin: 0 auto 15px auto;
  border: 1px solid #d3dfe3;
}
.project_list th,
.shortlog th,
.tree th,
.commit_search th {
  color: #111;
  font-weight: normal;
}
.project_list th {
  font-weight: bold;
}
.project_list tr,
.shortlog tr,
.tree tr,
.commit_search tr {
  background: #eaeaea;
  height: 2.5em;
  text-align: left;
  color: #545454;
}
.project_list tr.dark,
.project_list tr.light,
.shortlog tr.dark,
.shortlog tr.light,
.tree tr.dark,
.tree tr.light,
.commit_search tr.dark,
.commit_search tr.light,
.history tr.dark,
.history tr.light,
.heads tr.dark,
.heads tr.light {
  background: #F9F9F9;
  height: 2.5em;
  border-bottom: 1px solid #e1e1e1;
}
.tree tr:last-child {
  border-bottom: none;
}
th .header {
  background: transparent;
  border: 0;
  padding: 0;
  font-weight: bold;
}
.tree {
  width: 100%;
  margin: 0;
}
.projsearch {
  /*
   * position: absolute;
   * right: 4%;
   * top: 15px;
   */
  display: flex;
  justify-content: center;
  align-items: center;
}
.projsearch a {
  display: none;
}
.commit_search {
  background: #eaeaea;
}
.page_nav,
.list_head,
.page_path,
.search {
  width: 94%;
  background: #d3dfe3;
  color: #545454;
  border: 1px solid #d8d8d8;
  padding: 5px;
  margin: 0 auto 15px auto;
}
.history {
  background: #eaeaea;
}
a.linenr {
 color: #666;
 text-decoration: none;
 background-color: transparent;
}
a.linenr:hover {
 color: #111;
}
.title {
  margin: 0 auto 15px auto;
  padding: 5px;
  width: 95%;
}
.readme {
  background: #eaf2f5;
  border: 1px solid #bedce7;
  box-sizing: border-box;
  margin: 0 auto 15px auto;
  padding: 15px;
  width: 95%;
}
.readme h1 {
  display: block;
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 0.67em;
  margin-top: 0;
}
.readme h2 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 0.83em;
}
.readme h3 {
  font-size: 1.17em;
  font-weight: bold;
  margin-bottom: 1em;
}
.readme p {
  margin-bottom: 1em;
}
.readme ul {
  list-style: disc;
  margin-bottom: 1em;
  margin-left: 1.5em;
}
.readme ul ul {
  margin-bottom: 0;
}
.readme ol {
  list-style: decimal;
  margin-bottom: 1em;
  margin-left: 1.5em;
}
.readme ol ol {
  margin-bottom: 0;
}
.readme pre {
  overflow-x: auto;
  max-width: 100%;
  font-family: 'Victor Mono', monospace;
  font-weight: bold;
  width: fit-content;
  background-color: #fafeff;
  margin: 1em 0;
  padding: 0.2rem;
  border-left: 4px solid #fdd33c;
}
.readme tt,
.readme code,
.readme kbd,
.readme samp {
  font-family: 'Victor Mono', monospace;
}
.readme code {
  max-width: 100%;
  white-space: pre;
  font-weight: bold;
}
.readme blockquote {
  max-width: 100%;
  white-space: pre;
  margin: 1em;
}
.projects_list,
.tags {
  width: 95%;
  background: #f0f0f0;
  color: #545454;
  border: 1px solid #d8d8d8;
  padding: 5px;
  margin: 0 auto 15px auto;
}
.heads {
  width: 95%;
  color: #545454;
  border: 1px solid #d8d8d8;
  padding: 5px;
  margin: 0 auto 15px auto;
}
.header {
  width: 94%;
  margin: 0 auto 15px auto;
  background: #d3dfe3;
  border: 1px solid #bedce7;
  padding: 5px;
}
.header .age {
  float: left;
  color: #000;
  font-weight: bold;
  width: 10em;
}
.title_text {
  width: 94%;
  background: #eef9ff;
  border: 1px solid #bedce7;
  padding: 5px;
  margin: 0 auto 0 auto;
}
.log_body {
  width: 94%;
  background: #eaf2f5;
  border: 1px solid #bedce7;
  border-top: 0;
  padding: 5px;
  margin: 0 auto 15px auto;
}
.page_body {
  overflow-x: auto;
  line-height: 1.4em;
  width: 94%;
  background: #f8f8f8;
  border: 1px solid #d8d8d8;
  padding: 5px;
  margin: 15px auto 15px auto;
}
.page_body:has(table.tree) {
  background-color: #eef9ff;
}
.diff_tree {
  width: 95%;
  background: #f0f0f0;
  border: 1px solid #d8d8d8;
  padding: 5px;
  margin: 0 auto 15px auto;
}
.page_body > .list_head {
  width: 98.5%;
}
.page_body > .diff_tree {
  width: 99.5%;
}
.patch > .header {
  width: 99%;
}
.object_header td,
.object_header th {
  vertical-align: top;
}
/* Refs */
span.refs span {
  color: #707070;
  display: inline-block;
  margin: 0;
  background-color: #eee;
  border: 1px solid #ccc;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
}
span.refs span.ref {
  color: #707070;
  display: inline-block;
  margin: 0;
  background-color: #feedc9;
  border: 1px solid #fdd33c;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDUlEQVQ4jc3UoUtDURTH8c9EsFksLtgEy8Nk89kFQRxiMlgNBqs8xDQmFgWDglHBLJgMYhiIYBB9uKB/wKLBJmzyYIM59rbLWPBX7uPH4ft+53DPLTSbTaPQ2EgoGO9lNtKlRRzhGztJFH9011RUBoNwgTUUcYrlzCyn1QVs41zkOaS1bHCN1tmpK7zj8o/bJ9E+2u3Md9WftVIJSfTa/kii+K3DP0Edx6GgPL1gEtdDg8ppdQJ7qCVR/BU6o07AHDaxhRms96obCEINBXyilETxzbCghyzYY3H2/nZqOnefQkCrSRRnN7yv8oZ9gDs8YTfgZ7mgbNdK2MBKCCivtcPWkH+ypQ0BFf7de/QLcNU6xzfYxOkAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  padding-left: 18px;
}
span.refs span.tag {
  color: #707070;
  display: inline-block;
  margin: 0;
  background-color: #ffffab;
  border: 1px solid #d9d93b;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUZZ+h9RwAAAGZQTFRFAAAAtrYkwMBAwMBAx8c4yso11NQ71NQ51dU52Ng71tY519c719c719c62Ng719c719c62Ng72dk62Ng62Ng72Ng72dk62Ng72Ng62dk62dk72dk62Ng62dk72Ng72Ng72dk7////ou/AnQAAACB0Uk5TAAYHCxESLjRCWWlqa4uNkpissbrO19jc3ufs8vf6/f7atAU2AAAAAWJLR0QhxGwNFgAAAF1JREFUGFeNy0cOgCAABVGw94rY5d//lC7omhhn+ZIh5Gf1xPk0Zi5dAABROIQjSU/fsAXhDkCUljAv8jW2wlQpaixpo4Nj+dtatVpjkSJjLNaizRVpvhBCu/4h391jzw1lU12Z7wAAAABJRU5ErkJggg==);
  background-repeat: no-repeat;
  padding-left: 18px;
}
span.refs span.head {
  color: #707070;
  display: inline-block;
  margin: 0;
  background-color: #fffcc9;
  border: 1px solid #fdd33c;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAABDUlEQVQ4jc3UoUtDURTH8c9EsFksLtgEy8Nk89kFQRxiMlgNBqs8xDQmFgWDglHBLJgMYhiIYBB9uKB/wKLBJmzyYIM59rbLWPBX7uPH4ft+53DPLTSbTaPQ2EgoGO9lNtKlRRzhGztJFH9011RUBoNwgTUUcYrlzCyn1QVs41zkOaS1bHCN1tmpK7zj8o/bJ9E+2u3Md9WftVIJSfTa/kii+K3DP0Edx6GgPL1gEtdDg8ppdQJ7qCVR/BU6o07AHDaxhRms96obCEINBXyilETxzbCghyzYY3H2/nZqOnefQkCrSRRnN7yv8oZ9gDs8YTfgZ7mgbNdK2MBKCCivtcPWkH+ypQ0BFf7de/QLcNU6xzfYxOkAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  padding-left: 18px;
}
span.refs a {
  color: #4e4e4e;
  background-color: transparent;
  text-decoration: none;
  font: 11px "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, monospace;
  line-height: 18px;
}
/* Diffs */
div.diff.to_file a.path,
div.diff.to_file {
  color: #007000;
}
div.diff.from_file a.path,
div.diff.from_file {
  color: #aa0000;
}
.patch .header {
  margin: 0;
}
.patchset {
  overflow-x: auto;
  overflow-y: hidden;
}
.chunk_header {
  background: #eaf2f5;
  color: #999;
}
.rem {
  background: #ffdddd;
}
.rem .marked {
  background: #ffaaaa;
}
.add {
  background: #ddffdd;
}
.add .marked {
  background: #7dff7d;
}
.extended_header {
  width: 99.5%;
}
div.chunk_block {
  overflow: hidden;
}
div.chunk_block div.old {
  float: left;
  width: 50%;
  overflow: hidden;
  border-right: 5px solid #EAF2F5;
}
div.chunk_block.rem,
div.chunk_block.add {
  background: transparent;
}
div.chunk_block div.old .add,
div.chunk_block div.old .rem {
  padding-right: 3px;
}
div.chunk_block div.new .add,
div.chunk_block div.new .rem {
  padding-left: 3px;
}
div.chunk_block div.new {
  margin-left: 50%;
  width: 50%;
  border-left: 5px solid #eaf2f5;
}
/* Category */
td.category {
  background: #e6f1f6;
  font-weight: bold;
  border-bottom: 1px solid #d1d1d1;
  border-top: 1px solid #d1d1d1;
}
/* Age */
/* noage: "No commits" */
.project_list td.noage {
  color: #cdcdcd;
}
/* age2: 60*60*24*2 <= age */
.project_list td.age2,
.blame td.age2 {
  color: #545454;
}
/* age1: 60*60*2 <= age < 60*60*24*2 */
.project_list td.age1 {
  color: #009900;
}
/* age0: age < 60*60*2 */
.project_list td.age0 {
  color: #009900;
  font-weight: bold;
}
/* File status */
.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: #545454;
}
table.diff_tree span.file_status.copied {
  color: #70a070;
}
span.cntrl {
  border: dashed #aaaaaa;
  border-width: 1px;
  padding: 0px 2px 0px 2px;
  margin:  0px 2px 0px 2px;
}
span.match {
  background: #fdd33c;
  color: #111;
}
td.error {
  color: red;
  background: yellow;
}
/* blob view */
.page_body img.blob {
  image-rendering: pixelated;
  min-width: 80%;
  display: block;
  margin: 0 auto;
}
.page_body:has(img.blob) {
  color: #f8f8f8;
}
td.pre,
div.pre,
div.diff {
  white-space: pre;
}
/* JavaScript-based timezone manipulation */
.popup { /* timezone selection UI */
  position: absolute;
	/* "top: 0; right: 0;" would be better, if not for bugs in browsers */
  top: 0;
  left: 0;
  border: 1px solid #d8d8d8;
  padding: 2px;
  background-color: #f0f0f0;
  font-style: normal;
  color: #545454;
  cursor: auto;
}
.close-button { /* close timezone selection UI without selecting */
	/* float doesn't work within absolutely positioned container,
	 * if width of container is not set explicitly */
	/* float: right; */
  position: absolute;
  top: 0px;
  right: 0px;
  border:  1px solid #ffaaaa;
  margin:  1px 1px 1px 1px;
  padding-bottom: 2px;
  width:     12px;
  height:    10px;
  font-size:  9px;
  font-weight: bold;
  text-align: center;
  background-color: #ffdddd;
  cursor: pointer;
}
/* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */
/* Highlighting theme definition: */
.num    {
  color:#6ecf36;
}
.esc    {
  color:#ff00ff;
}
.str    {
  color:#ff00d3;
  background-color: #edc9ec 
}
.dstr   {
  color:#818100;
}
.slc    {
  color:#838183;
  font-style:italic;
}
.com    {
  color:#838183;
  font-style:italic;
}
.dir    {
  color:#008200;
}
.sym    {
  color:#000000;
}
.line   {
  color:#555555;
}
.kwa    {
  color:#666666;
  font-weight:bold;
}
.kwb    {
  color:#6b3099;
}
.kwc    {
  color:#d4663d;
}
.kwd    {
  color:#2928ff;
}
