/**
 * Redmine - project management software
 * Copyright (C) 2006-  Jean-Philippe Lang
 * This code is released under the GNU General Public License.
 */

@font-face {
  font-family: "Noto Sans";
  src: url("/NotoSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans";
  src: url("/NotoSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans";
  src: url("/NotoSans-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans";
  src: url("/NotoSans-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --fonts-main: "Noto Sans", sans-serif;
}

html, body { min-height: 100vh; }
html {overflow-y:scroll;}
body { font-family: var(--fonts-main); font-size: 0.875rem; color:#333; margin: 0; padding: 0; min-width: 900px; }

h1, h2, h3, h4, h5, h6 {font-family: var(--fonts-main);padding: 2px 10px 1px 0px;margin: 0 0 10px 0;}
#content h1, h2, h3, h4, h5, h6 {color: #555;}
h2 {font-size: 1.25rem;}
h3 {font-size: 1.0625rem;}
h4 {font-size: 0.875rem; border-bottom: 1px solid #ccc; font-weight:normal;}
pre, code {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
.wiki h1 {font-size: 1.6em;}
.wiki h2 {font-size: 1.4em;}
.wiki h3 {font-size: 1.2em;}
.wiki h4 {font-size: 1.1em; border: none; font-weight: bold;}
.wiki h5 {font-size: 1em;}
.wiki h6 {font-size: 1em; color: #8e8e8e;}

/***** Layout *****/
#wrapper {
  min-height: inherit;
  background: white;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#top-menu {background: #3E5B76; color: #fff; font-size: 0.8em; padding: 2px 10px 2px 12px;}
#top-menu ul {margin: 0;  padding: 0;}
#top-menu li {
  float:left;
  list-style-type:none;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  white-space:nowrap;
}
#top-menu a {color: #fff; margin-right: 8px; font-weight: bold;}
#top-menu #loggedas { float: right; margin-right: 0.5em; color: #fff; }

#account {float:right;}

#header {
  min-height: 8.7ex;
  margin: 0;
  background: linear-gradient(180deg, #628DB6 30%, #356D92);
  color: #f8f8f8;
  padding: 4px 16px 20px 16px;
  position: relative;
}
#header a {color:#f8f8f8;}
#header h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.4375rem; font-weight: normal;}
#header h1 .breadcrumbs { display:block; font-size: 0.8rem; font-weight: normal; line-height: 100%;}

#quick-search {float:right;}
#quick-search #q {width:130px; height:24px; box-sizing:border-box; vertical-align:middle; border:1px solid #ccc; border-radius:3px;}
#quick-search form {float:left; margin-right:3px;}
#quick-search form input {margin-top:0; margin-bottom:0;}
#quick-search form label {vertical-align:middle;}
#quick-search #project-jump {float:left;}

#main-menu {position: absolute;  bottom: 0px;  left: 10px; margin-right: -500px; width: 100%;}
#main-menu ul {margin: 0;  padding: 0; width: 100%; white-space: nowrap;}
#main-menu li {
  float:none;
  list-style-type:none;
  margin: 0px 2px 0px 0px;
  padding: 0px 0px 0px 0px;
  white-space:nowrap;
  display:inline-block;
}
#main-menu li a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 93%;
  margin: 0;
  padding: 4px 10px 4px 10px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
#main-menu li a:hover {background: #759FCF; color: #fff; }
#main-menu li:hover ul.menu-children, #main-menu li ul.menu-children.visible {display: block;}
#main-menu li a.selected, #main-menu li a.selected:hover {background: #fff; color: #555; font-weight: bold;}
#main-menu li a.new-object {background-color: #759FCF; }

#main-menu .menu-children {
  display: none;
  position:absolute;
  width: inherit;
  z-index:45;
  background-color:#fff;
  border-right: 1px solid #759FCF;
  border-bottom: 1px solid #759FCF;
  border-left: 1px solid #759FCF;
}
#main-menu .menu-children li {float:left; clear:both; width:100%;}
#main-menu .menu-children li a {color: #555; background-color:#fff; font-weight:normal; border-radius: 0;}
#main-menu .menu-children li a:hover {color: #fff; background-color: #759FCF;}

#main-menu .tabs-buttons {
  inset-inline-end: 6px;
  background-color: transparent;
  border-bottom-color: transparent;
}

#admin-menu ul {margin: 0;  padding: 0;}
#admin-menu li {margin: 0;  padding: 0 0 6px 0; list-style-type:none;}

#main {flex-grow: 2; display: flex; flex-direction: row-reverse;}

#sidebar{ font-size: 0.8125rem; flex-shrink: 0; padding-left: 20px; padding-right: 8px; background: #f9fafb; border-left: 1px solid #d0d7de}
@media screen and (min-width: 0px) and (max-width: 1089px) {#sidebar{width: 22%;}}
@media screen and (min-width: 1090px) and (max-width: 1279px) {#sidebar{width: 240px;}}
@media screen and (min-width: 1280px) and (max-width: 1599px) {#sidebar{width: 280px;}}
@media screen and (min-width: 1600px) and (max-width: 1919px) {#sidebar{width: 320px;}}
@media screen and (min-width: 1920px) and (max-width: 2559px) {#sidebar{width: 360px;}}
@media screen and (min-width: 2560px) {#sidebar{width: 380px;}}
#sidebar h3{ font-size: 0.875rem; margin-top: 14px; color: #555; }
#sidebar h3:first-child{ margin-top: 0; }
#sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
#sidebar .contextual { margin-right: 1em; }
#sidebar ul, ul.flat {margin: 0;  padding: 0;}
#sidebar ul li, ul.flat li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
#sidebar div.wiki ul {margin:inherit; padding-left:40px;}
#sidebar div.wiki ul li {list-style-type:inherit;}
#sidebar a.icon-only svg {opacity: 0.2; margin-left: 5px;}
#sidebar a.icon-only:hover svg {opacity: 1;}
#sidebar span.icon-warning {margin-left: 5px;}
#sidebar li input[type=checkbox] {height: 20px;}

#sidebar-switch-panel {
  margin-left: -20px;
  padding-right: 28px;
  width: 100%;
}

#sidebar-switch-button {
  display: block;
  padding: 3px 0;
  padding-right: 28px;
  width: 100%;
}

#sidebar-switch-button svg {
  stroke: #555;
}

#sidebar-switch-button:hover {
  background-color: #eeeeee;
}

#content { flex-grow: 1; background-color: #fff; margin: 0px; padding: 10px 16px 10px 16px; overflow-x: auto;}

#main.nosidebar #sidebar { display: none; }
#main.collapsedsidebar #sidebar { width: 0; padding-right: 0 }
#main.collapsedsidebar #sidebar-wrapper { display: none; }

#footer {clear: both; border-top: 1px solid #d0d7de; font-size: 0.9em; color: #aaa; padding: 5px; text-align:center; background:#fff;}

#login-form {margin:5em auto 2em auto; padding:20px; width:340px; border:1px solid #FDBF3B; background-color:#FFEBC1; border-radius:4px; box-sizing: border-box;}
#login-form label {display:block; margin-bottom:5px; font-weight:bold;}
#login-form label[for=autologin] {font-weight:normal;}
#login-form input {height: 29px;}
#login-form input[type=text], #login-form input[type=password], #login-form input[type=submit] {display: block; width: 100%;}
#login-form input[type=text], #login-form input[type=password] {margin-bottom: 15px;}
#login-form a.lost_password {float:inline-end; font-weight:normal;}
#login-form h3 {text-align: center;}

div.modal { border-radius:5px; background:#fff; z-index:50; padding:4px;}
div.modal h3.title {display:none;}
div.modal p.buttons {margin-bottom:0;}
div.modal .box p {margin: 0.3em 0;}

.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }

.mobile-show {display: none;}
.hidden {display: none;}
.inline-block {display: inline-block;}
.inline-flex {display: inline-flex;}
.decoration-red, a.decoration-red {color: #c22 !important;}

/***** Links *****/
a, a:link, a:visited{ color: #169; text-decoration: none; }
a:hover, a:active{ color: #c61a1a; text-decoration: underline;}
a img{ border: 0; }

a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: #999; text-decoration: line-through; }
a.project.closed, a.project.closed:link, a.project.closed:visited { color: #999; }
a.user.locked, a.user.locked:link, a.user.locked:visited {color: #999;}
a.user.user-mention {
  background-color: #DDEEFF;
  padding: 0.1em 0.1em;
  border-radius: 0.1em;
}

#sidebar a.selected {line-height:1.7em; padding:1px 3px 2px 2px; margin-left:-2px; background-color:#9DB9D5; color:#fff; border-radius:2px;}
#sidebar a.selected:hover {text-decoration:none;}
#sidebar a.selected svg.icon-svg { stroke: #fff !important; }
#sidebar .query.default {font-weight: bold;}
#admin-menu a {line-height:1.7em;}
#admin-menu a.selected:not(:has(svg))  {padding-left: 20px !important; background-position: 2px 40%;}

a#toggle-completed-versions {color:#999;}
a#toggle-completed-versions span.icon-label {margin-left: 0}
a#toggle-completed-versions svg, a#toggle-completed-versions:hover svg {stroke:#999}

/***** Dropdown *****/
.drdn {position:relative;}
.drdn-trigger {
  box-sizing:border-box;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  -moz-user-select:none;
  -webkit-user-select:none;
}
.drdn-content {
  display:none;
  position:absolute;
  inset-inline-end:0px;
  top:25px;
  min-width:100px;
  background-color:#fff;
  border:1px solid #ccc;
  border-radius:4px;
  color:#555;
  z-index:99;
}
.drdn.expanded .drdn-content {display:block;}

.drdn-content .quick-search {margin:8px; display: flex; align-items: center;}
.drdn-content .quick-search svg {margin-inline-start: 5px; position: absolute;}
.drdn-content .quick-search input.autocomplete {background: none; padding-inline-start: 24px !important;}
.drdn-content .autocomplete {box-sizing: border-box; width:100% !important; height:28px;}
.drdn-content .autocomplete:focus {border-color:#5ad;}
.drdn-items {max-height:400px; overflow:auto;}
div + .drdn-items {border-top:1px solid #ccc;}
.drdn-items>* {
  display:block;
  border:1px solid #fff;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space:nowrap;
  padding:4px 8px;
}
.drdn-items>a:hover {text-decoration:none;}
.drdn-items>*:focus {border:1px dotted #bbb;}

.drdn-items.selection>*:before {
  content:' ';
  display:inline-block;
  line-height:1em;
  width:1em;
  height:1em;
  margin-inline-end:4px;
  font-weight:bold;
}
.drdn-items.selection>*.selected:before {
  content:"\2713 ";
}
.drdn-items.selection:empty {
  border: none;
}
.drdn-items>span {color:#999;}

.contextual .drdn-content, .journal-actions .drdn-content {
  top: 18px;
}

.contextual .drdn-items, .journal-actions .drdn-items {
  padding: 2px;
  min-width: 160px;
}

.contextual .drdn-items > a, .journal-actions .drdn-items > a {
  display: flex;
  padding: 5px 8px;
}

.contextual .drdn-items > a.icon:not(:has(svg)), .journal-actions .drdn-items > a.icon:not(:has(svg)) {
  padding-left: 24px;
  background-position-x: 4px;
}

.contextual .drdn-items > a:hover, .journal-actions .drdn-items > a:hover {
  color: #2A5685;
  border: 1px solid #628db6;
  background-color: #eef5fd;
  border-radius: 3px;
}

#project-jump.drdn {width:200px;display:inline-block;}
#project-jump .drdn-trigger {
  width:100%;
  height:24px;
  display:inline-block;
  padding:1.5px 18px 3px 6px;
  border-radius:3px;
  border:1px solid #ccc;
  margin:0 !important;
  vertical-align:middle;
  color:#555;
  background:#fff url(/chevron-down.svg) no-repeat 98% 50%;
}
#project-jump .drdn.expanded .drdn-trigger {background-image:url(/arrow_up.png);}
#project-jump .drdn-content {width:280px;}
#project-jump .drdn-items>* {color:#555 !important;}
#project-jump .drdn-items>a:hover {background-color:#759FCF; color:#fff !important;}

/***** Tables *****/
table.list, .table-list {
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  border-top: 1px solid #d0d7de;
  border-bottom: 1px solid #d0d7de;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 4px;
  overflow: hidden;
}
table.list th, .table-list-header { background-color:#EEEEEE; padding: 4px; white-space:nowrap; font-weight:bold; border-bottom: 2px solid #d0d7de; }
table.list th.whitespace-normal {white-space: normal;}
table.list td {text-align:center; vertical-align:middle; padding-top: 3px; padding-right: 10px; padding-bottom: 3px; border-top: 1px solid #d0d7de;}
table.list td.icon {width: 100%;} /* Prevents border from disappearing due to inline-flex shrinking */
table.list td.id { width: 2%; text-align: center;}
table.list td.name, table.list td.description, table.list td.subject, table.list td.parent-subject, table.list td.comments, table.list td.roles, table.list td.attachments, table.list td.text,  table.list td.short_description {text-align: left;}

table.list td.attachments span.attachment-filename {display: block; height: 16px;}
table.list td.attachments span.attachment-filename a.icon-download {visibility: hidden;}
table.list td.attachments span.attachment-filename:hover a.icon-download {visibility: visible;}
table.list td.tick {width:15%}
table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
table.list .checkbox input {padding:0px; height: initial;}
table.list td.buttons, div.buttons { white-space:nowrap; text-align: right; }
table.list td.buttons a, div.buttons a, table.list td.buttons span.icon-only { margin-right: 0.6em; }
table.list td.buttons a:last-child, div.buttons a:last-child { margin-right: 0; }
table.list td.buttons img, div.buttons img {vertical-align:middle;}
table.list td.reorder {width:15%; white-space:nowrap; text-align:center; }
table.list table.progress td {padding-right:0; border-top: none;}
table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
table.list tr.overdue:not(.context-menu-selection) td.due_date  { color: #c22; }
table.list thead.related-issues th { background-color: inherit; font-size: 11px; border: none; }
#role-permissions-trackers table.list th {white-space:normal;}
table.list div.wiki p {
  margin: 0;
}

.table-list-cell {display: table-cell; vertical-align: top; padding:2px; }
.table-list div.buttons {width: 15%;}

tr.project td.name a { white-space:nowrap; }
tr.project.closed, tr.project.archived { color: #aaa; }
tr.project.closed a, tr.project.archived a { color: #aaa; }

tr.issue { text-align: center; white-space: nowrap; }
tr.issue td.subject, tr.issue td.parent-subject, tr.issue td.category, td.assigned_to, td.last_updated_by, tr.issue td.string, tr.issue td.text, tr.issue td.list, tr.issue td.relations, tr.issue td.parent, tr.issue td.watcher_users { white-space: normal; }
tr.issue td.relations { text-align: left; }
tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
tr.issue td.relations span, tr.issue td.watcher_users a {white-space: nowrap;}
tr.issue td.watcher_users ul {list-style: none; padding: 0; margin: 0}
tr.issue.created-by-me td.author {font-weight: bold;}
tr.issue.assigned-to-me td.assigned_to {font-weight: bold;}
tr.issue.assigned-to-my-group td.assigned_to {font-weight: bold;}
table.issues td.block_column {color:#777; font-size:90%; padding:4px 4px 4px 24px; text-align:left; white-space:normal;}
table.issues td.block_column>span {font-weight: bold; display: block; margin-bottom: 4px;}
table.issues td.block_column>pre {white-space:normal;}

tr.idnt :is(td.subject, td.name) {background: url(/chevron-right-idnt.svg) no-repeat 2px center;}
tr.idnt-1 :is(td.subject, td.name) {padding-inline-start: 24px; background-position: 4px center;}
tr.idnt-2 :is(td.subject, td.name) {padding-inline-start: 40px; background-position: 20px center;}
tr.idnt-3 :is(td.subject, td.name) {padding-inline-start: 56px; background-position: 36px center;}
tr.idnt-4 :is(td.subject, td.name) {padding-inline-start: 72px; background-position: 52px center;}
tr.idnt-5 :is(td.subject, td.name) {padding-inline-start: 88px; background-position: 68px center;}
tr.idnt-6 :is(td.subject, td.name) {padding-inline-start: 104px; background-position: 84px center;}
tr.idnt-7 :is(td.subject, td.name) {padding-inline-start: 120px; background-position: 100px center;}
tr.idnt-8 :is(td.subject, td.name) {padding-inline-start: 136px; background-position: 116px center;}
tr.idnt-9 :is(td.subject, td.name) {padding-inline-start: 152px; background-position: 132px center;}

table.issue-report {table-layout:fixed;}
table.issue-report tr.total, table.issue-report-detailed tr.total { font-weight: bold; border-top:2px solid #d0d7de;}
.issue-report-graph {width: 75%; margin: 2em 0;}

tr.entry td { white-space: nowrap; }
tr.entry td.filename {width:30%; text-align:left;}
tr.entry td.filename_no_report {width:70%; text-align:left;}
tr.entry td.size { text-align: right; font-size: 90%; }
tr.entry td.revision, tr.entry td.author { text-align: center; }
tr.entry td.age { text-align: right; }
tr.entry.file td.filename a { margin-left: 26px; }
tr.entry.file td.filename_no_report a { margin-left: 16px; }

tr span.expander, .gantt_subjects div > span.expander {margin-left: 0; cursor: pointer;}
.gantt_subjects .avatar {margin-right: 4px;}
.gantt_subjects div.project-name a, .gantt_subjects div.version-name a {margin-left: 4px;}

tr.changeset { height: 20px }
tr.changeset :is(ul, ol) { margin-top: 0px; margin-bottom: 0px; }
tr.changeset td.revision_graph { width: 15%; background-color: #fffffb; }
tr.changeset td.author { text-align: center; width: 15%; white-space:nowrap;}
tr.changeset td.committed_on { text-align: center; width: 15%; white-space:nowrap;}

table.files tbody th {text-align:left;}
table.files tr.file td.filename { text-align: left; }
table.files tr.file td.digest { font-size: 86%; }

table.members td.roles, table.memberships td.roles { width: 45%; }
table.members td.buttons { text-align: left; width: 1px; white-space: nowrap;}

table.messages td.last_message {text-align:left;}
tr.message { height: 2.6em; }
tr.message td.created_on { white-space: nowrap; }
tr.message td.last_message { font-size: 93%; white-space: nowrap; }
tr.message.sticky td.subject { font-weight: bold; }
tr.message td.subject:not(:has(.icon)) { padding-left: 20px; }

tr.version.closed, tr.version.closed a { color: #999; }
tr.version:not(.shared) td.name { padding-left: 20px; }
tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; white-space:nowrap; }

#principals_for_new_member .icon-user, #users_for_watcher .icon-user {background:transparent;}
#principals_for_new_member svg, #principals_for_new_member .avatar  {margin-right: 4px;}

tr.user td {white-space: nowrap;}
td.login, td.firstname, td.lastname, td.mail {text-align:start !important;}
tr.user.locked, tr.user.registered { color: #aaa; }
tr.user.locked a, tr.user.registered a { color: #aaa; }

table.permissions td.role {color:#999;font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;}
table.permissions td.name {min-width: 10rem;}
table.permissions tr.group>td:nth-of-type(1),
table.tracker-summary tr.group>td:nth-of-type(1) {font-weight: bold;}

tr.wiki-page-version td.updated_on, tr.wiki-page-version td.author {text-align:center;}

tr.time-entry { text-align: center; white-space: nowrap; }
tr.time-entry td.issue, tr.time-entry td.comments, tr.time-entry td.subject, tr.time-entry td.activity, tr.time-entry td.project { text-align: left; white-space: normal; }
table.time-entries td.hours { text-align: right; font-weight: bold; padding-right: 0.5em; }
table.time-entries td.hours .hours-dec { font-size: 0.9em; }

table.plugins td { vertical-align: middle; }
table.plugins td.configure { text-align: right; padding-right: 1em; }
table.plugins span.name { font-weight: bold; display: block; margin-bottom: 6px; }
table.plugins span.description { display: block; font-size: 0.9em; }
table.plugins span.url { display: block; font-size: 0.9em; }

table.list.enumerations {table-layout: fixed; margin-bottom: 2em;}

tr.group td { padding: 0.8em 0 0.5em 0.3em; border-bottom: 2px solid #d0d7de; text-align:left; background-color: #fff;}
tr.group span.count {top:-1px;}
tr.group span.name {font-weight:bold;}
tr.group span.totals {color: #aaa; font-size: 93%;}
tr.group span.totals .value {font-weight:bold; color:#777;}
tr.group a.toggle-all { color: #aaa; font-size: 93%; display:none; float:right; margin-right:4px;}
tr.group:hover a.toggle-all { display:inline;}
a.toggle-all:hover {text-decoration:none;}

table.list tbody tr.group:hover { background-color:inherit; }

table td {padding:2px;}
table p {margin:0;}

table.list:not(.odd-even) tbody tr:nth-child(odd), .odd, #issue-changesets div.changeset:nth-child(odd) { background-color: #fff; }
table.list:not(.odd-even) tbody tr:nth-child(even), .even, #issue-changesets div.changeset:nth-child(even) { background-color: #f6f7f8; }
table.list:not(.odd-even) tbody tr:nth-child(odd):hover, .odd:hover, #issue-changesets div.changeset:nth-child(odd):hover,
table.list:not(.odd-even) tbody tr:nth-child(even):hover, .even:hover, #issue-changesets div.changeset:nth-child(even):hover { background-color:#ffffdd; }

tr.builtin td.name {font-style:italic;}

a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }

table.boards td.last-message {text-align:left;font-size:93%;}

div.table-list.boards .table-list-cell.name {width: 30%;}
#message_subject { max-width: 99%; }

#query_form_content {font-size:90%;}
#query_form_with_buttons > p.contextual {font-size:0.75rem; margin:12px 0px;}

.query_sort_criteria_count {
  display: inline-block;
  min-width: 1em;
}

/* query form - options */
#list-definition {
  margin: 0 15px;
  width: auto !important;
}
#list-definition > div {
  margin: 6px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 10px;
}
#list-definition > div .field{
  width: 160px;
}
.query-columns label {
  display:block;
}
#list-definition .buttons button {
  width:35px;
  display:block;
}
.query-columns select {
  min-width:150px;
}

.query-totals {text-align:right; margin-top:-2.3em; font-size: 93%;}
.query-totals>span:not(:first-child) {margin-left:0.6em;}
.query-totals .value {font-weight:bold;}
body.controller-timelog .query-totals {margin-top:initial;}

body.controller-gantts fieldset#options > div > div {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 5px 10px;
}

td.center {text-align:center;}

#watchers select {width: 95%; display: block;}
#watchers .avatar {margin: 0 4px 2px 0;}
#watchers svg.icon-svg {margin: 0 2px 2px 0;}
#users_for_watcher .avatar {padding-bottom: 2px; margin-right: 4px;}
#users_for_watcher svg {margin-right: 4px;}
#users_for_watcher span.icon-user {display: inline;}

span#watchers_inputs {overflow:auto; display:block;}
span.search_for_watchers {display:block;}
span.search_for_watchers, span.add_attachment {font-size:93%; line-height:2.5em;}
span.add_attachment a {padding-left:16px; background: url(/bullet_add.png) no-repeat 0 50%; }

input:disabled, select:disabled, textarea:disabled {
  cursor: not-allowed;
  color: graytext;
  background-color: #ebebe4;
}


.highlight { background-color: #FCFD8D;}
.highlight.token-1 { background-color: #faa;}
.highlight.token-2 { background-color: #afa;}
.highlight.token-3 { background-color: #aaf;}

.box{
  padding: 8px;
  margin-bottom: 12px;
  background-color: #f9fafb;
  color: #505050;
  line-height: 1.5em;
  border: 1px solid #d0d7de;
  word-wrap: break-word;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

div.square {
  border: 1px solid #999;
  float: left;
  margin: .3em .4em 0 .4em;
  overflow: hidden;
  width: .6em; height: .6em;
}
.contextual {float:right; white-space: nowrap; line-height:1.4em;margin:5px 0px; padding-left: 10px; font-size:0.9em;}
.contextual input, .contextual select {font-size:0.9em;}

.splitcontent {overflow: auto; display: flex; flex-wrap: wrap;}
.splitcontentleft {flex: 1; margin-right: 5px;}
.splitcontentright {flex: 1; margin-left: 5px;}
.splitcontenttop {flex: 2; flex-basis: 100%;}

form {display: inline;}
input, select, button {vertical-align: middle; margin-top: 1px; margin-bottom: 1px; height: 24px; padding: 0 7px;}
input, select, textarea, button { color: #333; background-color: #fff; border:1px solid #ccc; border-radius:3px; box-sizing: border-box;}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url(/chevron-down.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 2px) 50%;
  padding-right: 20px;
}
input[type="file"] {border: 0; padding-left: 0; padding-right: 0; height: initial; background-color: initial; }
input[type="submit"], button[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  background-color: #fff;
  height: 28px;
  -webkit-transition: background-color 100ms linear;
  -moz-transition: background-color 100ms linear;
  -o-transition: background-color 100ms linear;
  transition: background-color 100ms linear;
}
input[type="submit"]:hover, button[type="submit"]:hover {
  background-color: #ddd;
}

input[type="text"]:focus, input[type="text"]:active,
input[type="password"]:focus, input[type="password"]:active,
input[type="date"]:focus, input[type="date"]:active,
input[type="number"]:focus, input[type="number"]:active,
select:focus, select:active,
textarea:focus, textarea:active {
  border: 1px solid #5ad;
  outline: none;
}

input:placeholder-shown {
  text-overflow: ellipsis;
}

select[multiple=multiple] {background: #fff; padding-right: initial; height: auto;}
fieldset {border: 1px solid #d0d7de; margin:0; min-width: inherit;}
legend {color: #333;}
hr { width: 100%; height: 1px; background: #ccc; border: 0;}
blockquote { font-style: italic; border-left: 3px solid #e0e0e0; padding-left: 0.6em; margin-left: 0;}
blockquote blockquote { margin-left: 0;}
abbr, span.field-description[title] { text-decoration: none; border-bottom: 1px dotted #aaa; cursor: help; }
textarea.wiki-edit {width:99%; resize:vertical; box-sizing: border-box;}
body.textarea-monospace textarea.wiki-edit {font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
body.textarea-proportional textarea.wiki-edit {font-family: var(--fonts-main);}
li p {margin-top: 0;}
div.issue {
  background: #ffffdd;
  padding: 8px;
  margin-bottom: 6px;
  border: 1px solid #d0d7de;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
p.breadcrumb { font-size: 0.8125rem; margin: 4px 0 4px 0;}
p.subtitle { font-size: 0.8125rem; margin: -6px 0 12px 0; font-style: italic; }
p.footnote { font-size: 0.9em; margin-top: 0px; margin-bottom: 0px; }
.wiki-class-ltr {direction:ltr !important;}
.wiki-class-rtl {direction:rtl !important;}

div.issue div.subject div div { padding-left: 16px; word-break: break-word; }
div.issue div.subject p {margin: 0; margin-bottom: 0.1em; font-size: 90%; color: #999;}
div.issue div.subject>div>p { margin-top: 0.5em; }
div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
div.issue p.author {margin-top:0.5em; font-size: 93%}
div.issue span.private, div.journal span.private {font-size: 60%;}
div.issue .next-prev-links {color:#999;}
div.issue .attributes {margin-top: 2em;}
div.issue .attributes .attribute {padding-left:180px; clear:left; min-height: 1.8em;}
div.issue .attributes .attribute .label {width: 170px; margin-left:-180px; font-weight:bold; float:left;  overflow: clip visible; text-overflow: ellipsis;}
div.issue .attribute .value {overflow:auto; text-overflow: ellipsis;}
div.issue .attribute.string_cf .value .wiki p {margin-top: 0; margin-bottom: 0;}
div.issue .attribute.text_cf .value .wiki p:first-of-type {margin-top: 0;}
div.issue.overdue .due-date .value { color: #c22; }
body.controller-issues h2.inline-flex {padding-right: 0}
div#sticky-issue-header {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: white;
  border-bottom: 1px solid #d0d7de;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  font-size: 0.8125rem;
  align-items: center;
  z-index: 1000;
  padding: 10px 6px;
  border-radius: 0px;
}
div#sticky-issue-header.is-visible {
  display: flex;
}
div#sticky-issue-header .issue-heading {
  flex-shrink: 0;
  white-space: nowrap;
  margin-right: 6px;
}
div#sticky-issue-header .subject {
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-grow: 1;
}

#issue_tree table.issues, #relations table.issues {border: 0;}
#issue_tree table.issues td, #relations table.issues td {border: 0;}
#issue_tree td.checkbox, #relations td.checkbox {display:none;}
#issue_tree td.buttons, #relations td.buttons {padding:0;}
#issue_tree .issues-stat, #relations .issues-stat {font-size: 93%}
#issue_tree .issues-stat .badge, #relations .issues-stat .badge {bottom: initial;}
#issue_tree .issue > td, #relations .issue > td, #issue_tree .issue .user {
  text-overflow: ellipsis; /* if text exceeds its space, add ... */
  overflow: hidden;
}
#issue_tree .issue > td.subject, #relations .issue > td.subject {
  width: 50%;
  word-break: break-word; /* break word if subject is too long */
  padding-right: 25px; /* this is the spaces that .buttons uses next to subject */
}
#issue_tree .issue > td.assigned_to, #relations .issue > td.assigned_to {
  white-space: nowrap;
}
#trackers_description, #issue_statuses_description {display:none;}
#trackers_description dt, #issue_statuses_description dt {font-weight: bold; text-decoration: underline;}
#trackers_description dd, #issue_statuses_description dd {margin: 0; padding: 0 0 1em 0;}

#issue-form .assign-to-me-link { padding-left: 5px; }

fieldset.collapsible {border-width: 1px 0 0 0;}
fieldset.collapsible>legend { cursor:pointer;}
fieldset.collapsible>legend:not(:has(svg)) {padding-left: 18px; background-position: 4px;}
fieldset#date-range p { margin: 2px 0 2px 0; }

#query_form_content > fieldset {
  min-width: 0;
  max-width: 100%;
}
#filters-table {
  float: inline-start;
  width: auto;
}
#filters-table .field {
  width: 230px;
}
#filters-table .filter {
  margin-block: 5px 0;
  margin-inline: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0 10px;
}
#filters-table .filter .operator select {
  width: 120px;
}

.add-filter {width: 35%; float: inline-end; text-align: end; vertical-align: top;}

#issue_is_private_wrap {float:right; margin-right:1em;}
.toggle-multiselect { margin-inline-end:5px; cursor:pointer;}
.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 1em; }

div#issue-changesets {float:right; width:45%; margin-left: 1em; margin-bottom: 1em; background: #fff; padding-left: 1em; font-size: 90%;}
div#issue-changesets div.changeset {border-bottom: 1px solid #ddd; padding: 4px;}
div#issue-changesets p { margin-top: 0; margin-bottom: 1em;}
.changeset-comments {margin-bottom:1em;}

#update {margin-bottom: 1.4em;}

#history p.nodata {display: none;}
/* Prevent content from being hidden behind a #sticky-issue-header when scrolling via anchor links. */
.controller-issues.action-show div.wiki a[name],
.controller-issues.action-show #history div[id^="note-"],
.controller-issues.action-show #history div[id^="change-"],
.controller-issues.action-show #update {
  scroll-margin-top: 50px;
}

div#activity dl, #search-results { margin-left: 2em; }
div#activity dd, #search-results dd { margin-bottom: 1em; padding-left: 22px; font-size: 0.8125rem;}
div#activity dt svg.icon-svg {margin-right: 4px;}
div#activity dt.me .time { border-bottom: 1px solid #999; }
div#activity dt .time { color: #555; font-size: 0.8125rem; margin-right: 4px; }
div#activity dd .description, #search-results dd .description { font-style: italic; margin: 2px 0;}
div#activity span.project:after, #search-results span.project:after { content: " - "; white-space: pre;}
div#activity dd span.description, #search-results dd span.description { display:block; color: #666; }
div#activity dt.grouped {padding-left:5em;}
div#activity dd.grouped {margin-left:9em;}
div#activity h3 {
  padding: 5px;
  background-color: #f6f7f8;
}
div#activity dt {
  padding-top: 10px;
  border-top: 1px solid #e8eaed;
  width: 100%; /* Prevents border from disappearing due to inline-flex shrinking */
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
}
div#activity dl dt:first-child {
  border: 0px;
}

#activity_scope_form select#user_id {
  max-width: 100%;
}

#search-results dd { margin-bottom: 1em; padding-left: 20px; margin-left:0px; }

div#search-results-counts {float:right;}
div#search-results-counts ul { margin-top: 0.5em; }
div#search-results-counts  li { list-style-type:none; float: left; margin-left: 1em; }

div#roadmap .related-issues { margin-bottom: 1em; }
div#roadmap .related-issues td.checkbox { display: none; }
div#roadmap .related-issues td.assigned_to { width:1px; white-space:nowrap; padding: 0; }
div#roadmap .related-issues td.assigned_to img { padding-left: 4px; padding-right: 4px;}
div#roadmap .wiki h1:first-child { display: none; }
div#roadmap .wiki h1 { font-size: 120%; }
div#roadmap .wiki h2 { font-size: 110%; }
div#roadmap h2, div#roadmap h3 {padding-right: 0;}
div#roadmap h3 svg {margin-right: 4px;}
body.controller-versions.action-show div#roadmap .related-issues {width:70%;}

div#roadmap .version-article {padding-bottom: 12px;}

div#version-summary { float:right; width:28%; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
div#version-summary fieldset { margin-bottom: 1em; }
div#version-summary fieldset.time-tracking table { width:100%; }
div#version-summary th, div#version-summary td.total-hours { text-align: right; }

table#time-report td.hours, table#time-report th.period, table#time-report th.total { text-align: right; padding-right: 0.5em; }
table#time-report tbody tr.subtotal { font-style: italic; color:#777;}
table#time-report tbody tr.subtotal td.hours { color:#b0b0b0; }
table#time-report tbody tr.total { font-weight: bold; background-color:#EEEEEE; border-top:2px solid #d0d7de;}
table#time-report .hours-dec { font-size: 0.9em; }

div.wiki-page .contextual a {opacity: 0.4}
div.wiki-page .contextual a:hover {opacity: 1}

div.wiki a:target + h1, div.wiki a:target + h2, div.wiki a:target + h3, div.wiki a:target + h4, div.wiki a:target + h5, div.wiki a:target + h6 {
  background-color:#DDEEFF;
}

.wiki-update-info {text-align:right; color:#666; font-size:90%;}

form .attributes select { width: 60%; }
form .attributes select + a.icon-only { vertical-align: middle; margin-left: 4px; }
input#issue_subject, input#document_title { width: 99%; }
select#issue_done_ratio { width: 95px; }

ul.projects {margin:0; padding-left:1em;}
ul.projects ul.projects {padding-left:1.6em;}
ul.projects.root {margin:0; padding:0;}
ul.projects li.root, ul.projects li.child {list-style-type:none;}
ul.projects li.root div.archived, ul.projects li.child div.archived {color: #aaa;}
ul.projects div.description ul li {list-style-type:initial;}

#projects-index {
  column-count: auto;
  column-width: 400px;
  -webkit-column-count: auto;
  -webkit-column-width: 400px;
  -webkit-column-gap : 0.5rem;
  -moz-column-count: auto;
  -moz-column-width: 400px;
  -moz-column-gap : 0.5rem;
  margin-bottom: 1.2em;
}
#projects-index li.root ul.projects { border-left: 3px solid #e0e0e0; padding-left:1em;}
#projects-index ul.projects li.root {
  margin-bottom: 1em;
  padding: 15px 20px;
  border: 1px solid #d0d7de;
  border-radius: 3px;
  box-sizing: border-box;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  break-inside: avoid-column;
  -webkit-break-inside: avoid-column;
  -moz-break-inside: avoid-column;
  page-break-inside:avoid;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  width: 100%;
}
#projects-index ul.projects li.child {margin-top: 1em;}
#projects-index ul.projects div.root a.project {
  font-family: var(--fonts-main);
  font-weight: bold;
  font-size: 1rem;
  margin: 0 0 10px 0;
  /* @ToDo: Remove below lines when legacy icon styles are removed */
  background-image: none;
  padding-left: 0;
}
#projects-index ul.projects .icon-bookmarked-project svg,
#projects-index ul.projects .my-project svg {
  margin-left: 4px;
}
#projects-index ul.projects div.root .icon-bookmarked-project svg, #projects-index ul.projects div.root .my-project svg {
  stroke-width: 2;
  margin-bottom: 10px;
}
#projects-index ul.projects div.description {
  padding-top: 0.5em;
}
#projects-index a.icon-user, #projects-index a.icon-bookmarked-project {
  background-image: none;
  padding-left: 0;
}
#projects-index div.wiki p {
  margin-top: 0px;
}

table.projects td.name .icon-bookmarked-project svg,
table.projects td.name .my-project svg {
  margin-left: 4px;
}

#notified-projects>ul, #tracker_project_ids>ul, #custom_field_project_ids>ul {max-height:250px; overflow-y:auto;}

ul.subprojects {list-style: none; display: inline-block; padding: 0; margin: 0;}
ul.subprojects li {float: left;}
ul.subprojects li:not(:last-child)::after {content: ', '; white-space: pre;}

#related-issues li img {vertical-align:middle;}

ul.properties {padding:0; font-size: 0.9em; color: #777;}
ul.properties li {list-style-type:none;}
ul.properties li span {font-style:italic;}

.total-hours { font-size: 110%; font-weight: bold; }
.total-hours span.hours-int { font-size: 120%; }

.autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em; position: relative;}
#user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select { width: 90%; }

#workflow_copy_form select { width: 200px; }
table.transitions td.enabled {background: #bfb;}
#workflow_form table select {font-size:90%; max-width:100px;}
table.fields_permissions td.readonly {background:#ddd;}
table.fields_permissions td.required {background:#d88;}

select.expandable {vertical-align:top;}

textarea#custom_field_possible_values {width: 95%; resize:vertical}
textarea#custom_field_default_value {width: 95%; resize:vertical}
.sort-handle { cursor: move; }

input#content_comments {width: 99%}

span.pagination {margin-left:3px; color:#888; display:block;}
.pagination ul.pages {
  margin: 0 5px 0 0;
  padding: 0;
  display: inline;
}
.pagination ul.pages li {
  display: inline-block;
  padding: 0;
  border: 1px solid #ddd;
  margin-left: 0;
  line-height: 2em;
  margin-bottom: 1em;
  white-space: nowrap;
  text-align: center;
}
.pagination ul.pages li a,
.pagination ul.pages li span {
  padding: 3px 8px;
}
.pagination ul.pages li:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-inline-start-width: 1px;
}
.pagination ul.pages li:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.pagination ul.pages li.current {
  color: white;
  background-color: #628DB6;
}
.pagination ul.pages li.page:hover {
  background-color: #ddd;
}
.pagination ul.pages li.page a:hover,
.pagination ul.pages li.page a:active {
  color: #169;
  text-decoration: inherit;
}
.pagination .per-page span.selected {
  font-weight: bold;
}
span.pagination>span {white-space:nowrap;}
.controller-attachments.action-show span.pagination, .controller-repositories.action-entry span.pagination {
  display: block;
  margin-top: 1.2em;
}

#search-form fieldset p {margin:0.2em 0;}

/***** Tabular forms ******/
.tabular p{
  margin: 0;
  padding: 3px 0 3px 0;
  padding-left: 180px; /* width of left column containing the label elements */
  min-height: 2em;
  clear:left;
}
html>body .tabular p {overflow:hidden;}

.tabular input, .tabular select {max-width:95%}
.tabular textarea {width:95%; resize:vertical;}
input#twofa_code, img#twofa_code { width: 140px; }
ul.twofa_backup_codes { list-style-type: none; padding: 0; display: inline-block; columns: 14em 2;}
ul.twofa_backup_codes code { font-size: 1rem; line-height: 2em }

.tabular label{
  font-weight: bold;
  float: left;
  text-align: right;
  /* width of left column */
  margin-left: -180px;
  /* width of labels. Should be smaller than left column to create some right margin */
  width: 175px;
  line-height: 24px;
}

.tabular label.floating{
  font-weight: normal;
  margin-left: 0px;
  text-align: left;
  width: 270px;
}

label.block {
  display: block;
  width: auto !important;
}

.tabular label.block{
  font-weight: normal;
  margin-left: 0px !important;
  text-align: left;
  float: none;
}

.tabular label.inline{
  font-weight: normal;
  float:none;
  margin-left: 5px !important;
  width: auto;
}

.tabular label.error {
  color: #bb0000;
}

.tabular label.error + *:not(#issue_description_and_toolbar), .tabular label.error + span#issue_description_and_toolbar div.jstBlock {
  border: 1px solid #bb0000;
}

label.no-css {
  font-weight: inherit;
  float:none;
  text-align:left;
  margin-left:0px;
  width:auto;
}
input#time_entry_comments { width: 90%;}
input#months { width: 46px; }

.jstBlock .jstTabs, .jstBlock .wiki-preview { width: 99%; }

.jstBlock .jstTabs { padding-right: 6px; }
.jstBlock .wiki-preview { padding: 2px; }
.jstBlock .wiki-preview > p:first-child { padding-top: 0 !important; margin-top: 0 !important;}
.jstBlock .wiki-preview > p:last-child { padding-bottom: 0 !important; margin-bottom: 0 !important;}

.tabular .wiki-preview, .tabular .jstTabs {width: 95%;}
.tabular.settings .wiki-preview, .tabular.settings .jstTabs { width: 99%; }
.tabular.settings .wiki-preview p {padding-left: 0 !important}
.tabular .wiki-preview p {
  min-height: initial;
  overflow: initial;
}

.tabular.settings p { padding-left: 300px; font-size: 93%; }
.tabular.settings label{ margin-left: -300px; width: 295px; }
.tabular.settings textarea, .tabular.settings .wiki-preview, .tabular.settings .jstTabs { width: 99%; }

.settings.enabled_scm table {width:100%}
.settings.enabled_scm td.scm_name{ font-weight: bold; }

fieldset.settings label { display: block; }
fieldset#notified_events .parent { padding-left: 20px; }

span.required {color: #bb0000;}
.summary {font-style: italic;}

.check_box_group {
  display:block;
  width:95%;
  max-height:120px;
  overflow-y:auto;
  padding:2px 4px 4px 2px;
  background:#fff;
  border:1px solid #9EB1C2;
  border-radius:2px
}
.check_box_group label {
  font-weight: normal;
  margin-left: 0px !important;
  text-align: left;
  float: none;
  display: block;
  width: auto;
}
.check_box_group.bool_cf {border:0; background:inherit;}
.check_box_group.bool_cf label {display: inline;}

.attachments_fields input.description, #existing-attachments input.description {margin-left:4px; width:340px;}
.attachments_fields>span, #existing-attachments>span {display:block; white-space:nowrap;}
/* ToDo: delete this line when legacy icons are deleted */
.attachments_fields .icon-attachment, #existing-attachments .icon-attachment {background-image: none; padding-left: 0}
.attachments_fields input.filename, #existing-attachments .filename {border:0; width:250px; color:#555; background-color:inherit; }
.tabular input.filename {max-width:75% !important;}
.attachments_fields div.ui-progressbar { width: 100px; height:14px; margin: 2px 0 -5px 8px; display: inline-block; }
.attachments_fields input.filename {
  height:1.8em;
  padding-left: 3px;
  padding-right: 0;
}

a.remove-upload:hover {text-decoration:none !important;}
.existing-attachment.deleted .filename {text-decoration:line-through; color:#999 !important;}

div.fileover, p.custom-field-filedroplistner.fileover { background-color: lavender; }

div.attachments p { margin:4px 0 2px 0; }
div.attachments img { vertical-align: middle; }
div.attachments span.author { font-size: 0.9em; color: #888; }

div.thumbnails {margin:0.6em;}
div.thumbnail {background:#fff;border:2px solid #ddd;display:inline-block;margin-right:2px;}
div.thumbnail img {margin: 3px; vertical-align: middle;}

p.other-formats { text-align: right; font-size:0.9em; color: #666; }
.other-formats span + span:before { content: "| "; }

em.info {font-style:normal;display:block;font-size:90%;color:#888;}
em.info.error {padding-left:20px; background:url(/exclamation.png) no-repeat 0 50%;}

textarea.text_cf {width:95%; resize:vertical;}
input.string_cf, input.link_cf {width:95%;}
select.bool_cf {width:auto !important;}

#tab-content-modules fieldset p {margin:3px 0 4px 0;}

#users_for_watcher {height: 200px; overflow:auto;}
#users_for_watcher label {display: block;}

input#principal_search, input#user_search {width:90%}
.roles-selection label {display:inline-block; width:210px;}

input.autocomplete {
  background: #fff url(/search.svg) no-repeat 2px 50%; padding-left:20px !important;
}
input.autocomplete.ajax-loading {
  background-image: url(/loading.gif);
}

.role-visibility {padding-left:2em;}

.objects-selection {
  height: 300px;
  overflow: auto;
  margin-bottom: 1em;
}

.objects-selection label {
  display: block;
}

.objects-selection>div, #user_group_ids {
  column-count: auto;
  column-width: 200px;
  -webkit-column-count: auto;
  -webkit-column-width: 200px;
  -webkit-column-gap : 0.5rem;
  -webkit-column-rule: 1px solid #ccc;
  -moz-column-count: auto;
  -moz-column-width: 200px;
  -moz-column-gap : 0.5rem;
  -moz-column-rule: 1px solid #ccc;
}

/***** Flash & error messages ****/
#errorExplanation, div.flash, .nodata, .warning, .conflict {
  padding: 6px 4px 6px 30px;
  margin-bottom: 12px;
  font-size: 1.1em;
  border: 1px solid;
  border-radius: 3px;
}

div.flash {margin-top: 8px;}
div.flash svg.icon-svg, #errorExplanation svg.icon-svg, .conflict svg.icon-svg {
  margin-right: 4px;
  margin-left: -26px;
}

div.flash.error, #errorExplanation {
  background-color: #ffe3e3;
  border-color: #d88;
  color: #880000;
}
div.flash.error:not(:has(svg)), #errorExplanation:not(:has(svg)) {
  background: url(/exclamation.png) 8px 50% no-repeat #ffe3e3;
}
div.flash.error svg.icon-svg, #errorExplanation svg.icon-svg {
  stroke: #880000;
}

#errorExplanation:has(svg) {
  position: relative;
}

#errorExplanation:has(svg) > svg.icon-svg {
  position: absolute;
  top: 50%;
  bottom: 50%;
  margin-left: -24px;
  margin-top: -9px;
}

div.flash.notice {
  background-color: #dfffdf;
  border-color: #9fcf9f;
  color: #005f00;
}
div.flash.notice:not(:has(svg)) {
  background: url(/true.png) 8px 50% no-repeat #dfffdf;
}
div.flash.notice svg.icon-svg {
  stroke: #005f00;
}

div.flash.warning, .conflict {
  background-color: #F3EDD1;
  border-color: #eadbbc;
  color: #A6750C;
  text-align: left;
}
div.flash.warning:not(:has(svg)), .conflict:not(:has(svg)) {
  background: url(/warning.png) 8px 5px no-repeat #F3EDD1;
}
div.flash.warning svg.icon-svg, .conflict svg.icon-svg {
  stroke: #A6750C;
}

.nodata, .warning {
  text-align: center;
  background-color: #F3EDD1;
  border-color: #eadbbc;
  color: #A6750C;
}

.warning .oauth-permissions { display:inline-block;text-align:left; }
.warning .oauth-permissions p { margin-top:0;-webkit-margin-before:0;}

#errorExplanation ul { font-size: 0.9em;}
#errorExplanation h2, #errorExplanation p { display: none; }

.conflict-details {font-size:93%;}

/***** CommonMark Alerts *****/
.markdown-alert {
  border-inline-start: 4px solid;
  padding-inline-start: 0.6em;
  margin: 1em 0;
}

.markdown-alert-title {
  font-weight: bold;
}

.markdown-alert-tip { border-color: #37b24d; /* oc-green-7 */ }
.markdown-alert-tip .markdown-alert-title { color: #2b8a3e; /* oc-green-9 */ }
.markdown-alert-tip .markdown-alert-title svg {stroke: #2b8a3e; /* oc-green-9 */ }

.markdown-alert-important { border-color: #ae3ec9; /* oc-grape-7 */ }
.markdown-alert-important .markdown-alert-title { color: #862e9c; /* oc-grape-9 */ }
.markdown-alert-important .markdown-alert-title svg { stroke: #862e9c; /* oc-grape-9 */ }

.markdown-alert-caution { border-color: #f59f00; /* oc-yellow-7 */}
.markdown-alert-caution .markdown-alert-title { color: #e67700; /* oc-yellow-9 */ }
.markdown-alert-caution .markdown-alert-title svg { stroke: #e67700; /* oc-yellow-9 */ }

.markdown-alert-warning { border-color: #f76707; /* oc-orange-7 */ }
.markdown-alert-warning .markdown-alert-title { color: #d9480f; /* oc-orange-9 */ }
.markdown-alert-warning .markdown-alert-title svg { stroke: #d9480f; /* oc-orange-9 */ }

.markdown-alert-note { border-color: #4263eb; /* oc-indigo-7 */ }
.markdown-alert-note .markdown-alert-title { color: #364fc7; /* oc-indigo-9 */ }
.markdown-alert-note .markdown-alert-title svg { stroke: #364fc7; /* oc-indigo-9 */ }

/***** Ajax indicator ******/
#ajax-indicator {
position: absolute; /* fixed not supported by IE */
background-color:#eee;
border: 1px solid #bbb;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:20%;
font-weight:bold;
text-align:center;
padding:0.6em;
z-index:100;
opacity: 0.5;
}

html>body #ajax-indicator { position: fixed; }

#ajax-indicator:not(:has(svg)) span {
background-position: 0% 40%;
background-repeat: no-repeat;
background-image: url(/loading.gif);
padding-left: 26px;
vertical-align: bottom;
}

/***** Calendar *****/
ul.cal {
  list-style: none;
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 2rem repeat(7, 1fr);
  margin: 0;
  border: 1px solid #d0d7de;
  border-spacing: 0;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.cal .calhead {
  background-color:#eee;
  text-align: center;
  font-weight: bold;
  padding: 4px
}

.cal .week-number {
  background-color:#eee;
  border:none;
  font-size: 1em;
  padding: 4px;
  text-align: center;
}

.cal .week-number .label-week {
  display: none;
}

.cal .calbody {
  border: 1px solid #d0d7de;
  vertical-align: top;
  font-size: 0.9em;
  border-bottom: 0;
  border-right: 0;
  line-height: 1.2;
  min-height: calc(1.2em * 6);
  padding: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.cal .calbody p.day-num {font-size: 1.1em; text-align:right;}
.cal .calbody .abbr-day {display:none}
.cal .calbody.this-month {background-color:#fff;}
.cal .calbody.other-month {background-color:#f6f7f8;}
.cal .calbody.other-month p.day-num {color: #bbb;}
.cal .calbody.today {background:#ffd;}
.cal .calbody.today p.day-num {font-weight: bold;}

.cal .calbody .icon {padding-top: 2px; padding-bottom: 3px;}
.cal .calbody.nwday:not(.other-month) {background-color:#f1f1f1;}

p.cal.legend span {display:flex;}
.controller-calendars p.buttons {margin-top: unset;}

/***** Tooltips ******/
.tooltip{position:relative;z-index:24;}
.tooltip:hover{z-index:25;color:#000;}
.tooltip span.tip{display: none; text-align:left;}
.tooltip span.tip a { color: #169 !important; }

.tooltip span.tip .avatar {
  float: none;
  margin: 0;
}

div.tooltip:hover span.tip{
display:block;
position:absolute;
top:12px; width:270px;
border:1px solid #555;
border-radius: 3px;
background-color:#fff;
padding: 4px;
font-size: 0.75rem;
color:#505050;
box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

table.cal div.tooltip:hover span.tip {
  top: 25px;
}

img.ui-datepicker-trigger {
  cursor: pointer;
  vertical-align: middle;
  margin-left: 4px;
}

/***** Documents *****/

#document-list .document-group {
  margin-bottom: 15px;
}

/***** Progress bar *****/
table.progress {
  border-collapse: collapse;
  border-spacing: 0pt;
  empty-cells: show;
  text-align: center;
  float:left;
  margin: 1px 6px 1px 0px;
  width:80px;
}

table.progress td { height: 1em; }
table.progress td.closed { background: #BAE0BA none repeat scroll 0%; }
table.progress td.done { background: #D3EDD3 none repeat scroll 0%; }
table.progress td.todo { background: #eee none repeat scroll 0%; }
p.percent {font-size: 86%; margin:0;}
p.progress-info {clear: left; font-size: 86%; margin-top:-4px; color:#777;}

.version-overview table.progress {width:40em;}
.version-overview table.progress td { height: 1.2em; }

/***** Tabs *****/
#content .tabs {height: 2.6em; margin-bottom:1.2em; position:relative; overflow:hidden;}
#content .tabs ul {margin:0; position:absolute; bottom:0; padding-left:0.5em; min-width: 2000px; width: 100%;  border-bottom: 1px solid #d0d7de;}
#content .tabs ul li {
  float:left;
  list-style-type:none;
  white-space:nowrap;
  margin-right:4px;
  position:relative;
  margin-bottom:-1px;
}
#content .tabs ul li a{
  display:block;
  font-size: 0.9em;
  text-decoration:none;
  line-height:1.3em;
  padding:4px 6px 4px 6px;
  border: 1px solid #d0d7de;
  border-bottom: 1px solid #d0d7de;
  color:#999;
  font-weight:bold;
  border-top-left-radius:3px;
  border-top-right-radius:3px;
}

#content .tabs ul li a:hover {
  color:#777;
  text-decoration:none;
}

#content .tabs ul li a.selected {
  background-color: #fff;
  border: 1px solid #d0d7de;
  border-bottom: 1px solid #fff;
  color:#444;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

#content .tabs ul li a.selected:hover {background-color: #fff;}

div.tabs-buttons {
  position: absolute;
  inset-inline-end: 0;
  width: 54px;
  height: 24px;
  background: white;
  bottom: 0;
  border-bottom: 1px solid #bbbbbb;
}

button.tab-left, button.tab-right {
  font-size: 0.9em;
  cursor: pointer;
  height:24px;
  border: 1px solid #ccc;
  border-bottom: 1px solid #bbbbbb;
  position:absolute;
  padding:4px;
  width: 24px;
  bottom: -1px;
}
button.tab-left:hover, button.tab-right:hover {
  background-color: #f5f5f5;
}
button.tab-left:focus, button.tab-right:focus {
  outline: 0;
}
button.tab-left svg.icon-svg, button.tab-right svg.icon-svg {
  stroke: #999;
  stroke-width: 2;
}

button.tab-left {
  inset-inline-end: 28px;
  border-top-left-radius:3px;
}
button.tab-left:not(:has(svg)) {
  background: #eeeeee url(/arrow_left.png) no-repeat 50% 50%;
}

button.tab-right {
  inset-inline-end: 4px;
  border-top-right-radius:3px;
}
button.tab-right:not(:has(svg)) {
  background: #eeeeee url(/arrow_right.png) no-repeat 50% 50%;
}

button.tab-left.disabled, button.tab-right.disabled {
  background-color: #ccc;
  cursor: unset;
}

/***** Diff *****/
.diff_out { background: #fcc; }
.diff_out span { background: #faa; }
.diff_in { background: #cfc; }
.diff_in span { background: #afa; }

.text-diff {
  padding: 1em;
  background-color:#f6f6f6;
  color:#505050;
  border: 1px solid #e4e4e4;
  white-space: pre-wrap;
}

/***** Wiki *****/
div.wiki { font-variant-numeric: proportional-nums; }
div.wiki table, div.wiki pre, div.wiki code, div.wiki ol>li::marker { font-variant-numeric: tabular-nums; }

/* Wiki tables */
div.wiki table {
  border-collapse: collapse;
  margin-bottom: 1em;
}

div.wiki table, div.wiki td, div.wiki th {
  border: 1px solid #bbb;
  padding: 4px;
}

div.wiki table td[align=left], div.wiki table th[align=left] { text-align: left; }
div.wiki table td[align=right], div.wiki table th[align=right] { text-align: right; }

div.wiki .wiki-class-noborder, div.wiki .wiki-class-noborder td, div.wiki .wiki-class-noborder th {border:0;}

div.wiki .external {
  background-position: 0% 60%;
  background-repeat: no-repeat;
  padding-left: 12px;
  background-image: url(/external.png);
}

div.wiki a {word-wrap: break-word;}
div.wiki a.new {color: #b73535;}

div.wiki p {
  line-height: 1.6;
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0;
}
div.wiki ul, div.wiki ol {margin-bottom:1em;}
div.wiki li {line-height: 1.6; margin-bottom: 0.125rem;}
div.wiki li>ul, div.wiki li>ol {margin-bottom: 0;}

div.wiki div.pre-wrapper {
  position: relative;
}

div.wiki pre {
  margin: 1em 1em 1em 1.6em;
  padding: 8px;
  background-color: #fafafa;
  border: 1px solid #e2e2e2;
  border-radius: 3px;
  width:auto;
  overflow-x: auto;
  overflow-y: hidden;
}

div.wiki *:not(pre)>code, div.wiki>code {
  background: rgba(62, 91, 118, 0.08);
  padding: 0.1em 0.1em;
  border-radius: 0.1em;
  white-space: pre-wrap;
}

div.pre-wrapper a.copy-pre-content-link {
  position: absolute;
  top: 3px;
  inset-inline-end: calc(1em + 3px);
  cursor: pointer;
  display: none;
  border-radius: 3px;
  background: #fff;
  border: 1px solid #ccc;
  padding-block: 0 3px;
  padding-inline: 3px;
}

div.pre-wrapper:hover a.copy-pre-content-link {
  display: block;
}

div.wiki ul.toc {
  background-color: #ffffdd;
  border: 1px solid #e4e4e4;
  padding: 8px;
  line-height: 1.4em;
  margin-bottom: 12px;
  margin-right: 12px;
  margin-left: 0;
  display: table
}
* html div.wiki ul.toc { width: 50%; } /* IE6 doesn't autosize div */

div.wiki ul.toc.right { float: right; margin-left: 12px; margin-right: 0; width: auto; clear: right
;}
div.wiki ul.toc.left  { float: left; margin-right: 12px; margin-left: 0; width: auto; clear: left
  ; }
div.wiki ul.toc ul { margin: 0; padding: 0; }
div.wiki ul.toc li {list-style-type:none; margin: 0;}
div.wiki ul.toc>li:first-child {margin-bottom: .5em; color: #777;}
div.wiki ul.toc li li {margin-left: 1.5em;}
div.wiki ul.toc a {
  font-size: 93%;
  font-weight: normal;
  text-decoration: none;
  color: #606060;
}
div.wiki ul.toc a:hover { color: #c61a1a; text-decoration: underline;}

a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
a.wiki-anchor:hover { color: #aaa !important; text-decoration: none; }
h1:hover a.wiki-anchor, h2:hover a.wiki-anchor, h3:hover a.wiki-anchor, h4:hover a.wiki-anchor, h5:hover a.wiki-anchor, h6:hover a.wiki-anchor { display: inline; color: #ddd; }

div.wiki img {vertical-align:middle; max-width:100%;}

div.wiki .contains-task-list .task-list-item {
  list-style-type: none;
}
div.wiki .contains-task-list .task-list-item-checkbox { margin-left: -1.4em; }
div.wiki .task-list input.task-list-item-checkbox {
  height: initial;
}

/***** My page layout *****/
.block-receiver {
  border:1px dashed #fff;
  padding: 15px 0 0 0;
}
.dragging .block-receiver {
  border:1px dashed #777;
  margin-bottom: 20px;
}
.mypage-box {
  border:1px solid #d0d7de;
  padding:8px;
  margin:0 0 20px 0;
  color:#505050;
  line-height:1.5em;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.mypage-box>.contextual {opacity:0.001; transition: opacity 0.2s;}
.mypage-box:hover>.contextual {opacity:1;}

.handle {cursor: move;}

#my-page .list th.checkbox, #my-page .list td.checkbox {display:none;}

/***** Gantt chart *****/
table.gantt-table {
  width: 100%;
  border-collapse: collapse;
}
table.gantt-table td {
  padding: 0px;
}
.gantt_hdr {
  position:absolute;
  top:0;
  height:16px;
  border-top: 1px solid #c0c0c0;
  border-bottom: 1px solid #c0c0c0;
  border-left: 1px solid #c0c0c0;
  text-align: center;
  overflow: hidden;
}
#gantt_area .gantt_hdr {
  border-left: 0px;
  border-right: 1px solid #c0c0c0;
}
.gantt_subjects_container:not(.draw_selected_columns) .gantt_hdr,
.last_gantt_selected_column .gantt_hdr {
  border-right: 1px solid #c0c0c0;
}
.last_gantt_selected_column .gantt_selected_column_container,
.gantt_subjects_container .gantt_subjects * {
  z-index: 10;
}

.gantt_subjects_column + td {
  padding: 0;
}

.gantt_hdr.nwday {background-color:#f1f1f1; color:#999;}

.gantt_subjects,
.gantt_selected_column_content.gantt_hdr {
  font-size: 0.8em;
  position: relative;
  z-index: 1;
}
.gantt_subjects div,
.gantt_selected_column_content div {
  line-height: 16px;
  height: 16px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: clip;
  width: 100%;
}
.gantt_subjects div.issue-subject:hover { background-color:#ffffdd; }
.gantt_selected_column_content > div { padding-left: 3px; box-sizing: border-box; }

.gantt_hdr_selected_column_name {
  position: absolute;
  top: 50%;
  width:100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-size: 0.8em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

}
td.gantt_selected_column {
  width: 50px;
}
td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container {
  width: 49px;
}

td.gantt_watcher_users_column div.issue_watcher_users ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

td.gantt_watcher_users_column div.issue_watcher_users ul li {
  display: inline;
}

td.gantt_watcher_users_column div.issue_watcher_users ul li:not(:last-child)::after {
  content: ', ';
  white-space: pre;
}

.task {
  position: absolute;
  height:8px;
  font-size:0.8em;
  color:#888;
  padding:0;
  margin:0;
  line-height:16px;
  white-space:nowrap;
}

.task.label {width:100%;}
.task.label.project, .task.label.version { font-weight: bold; }

.task_late { background:#f66 url(/task_late.png); border: 1px solid #f66; }
.task_done { background:#00c600 url(/task_done.png); border: 1px solid #00c600; }
.task_todo { background:#aaa url(/task_todo.png); border: 1px solid #aaa; }

.task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
.task_late.parent, .task_done.parent { height: 3px;}
.task.parent.marker.starting  { position: absolute; background: url(/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
.task.parent.marker.ending { position: absolute; background: url(/task_parent_end.png) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}

.version.task_late { background:#f66 url(/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
.version.task_done { background:#00c600 url(/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
.version.task_todo { background:#fff url(/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
.version.marker { background-image:url(/version_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }

.project.task_late { background:#f66 url(/milestone_late.png); border: 1px solid #f66; height: 2px; margin-top: 3px;}
.project.task_done { background:#00c600 url(/milestone_done.png); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
.project.task_todo { background:#fff url(/milestone_todo.png); border: 1px solid #fff; height: 2px; margin-top: 3px;}
.project.marker { background-image:url(/project_marker.png); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }

.version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
.version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}

/***** User events (ex: journal, notes, replies, comments) *****/
.journals h4.journal-header {
  background-color: #f6f7f8;
  border-bottom: 0;
  padding: 8px;
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.journals h4.journal-header .update-info {
  color: #666;
  font-size: 0.9em;
}

.journals h4.journal-header .badge {
  position: static;
}

.journals div:target h4.journal-header {
  background-color:#DDEEFF;
}

.journals .journal-content {
  padding-left: 8px;
  margin-bottom: 1.2em;
}

.journals .journal .journal-content .wiki {
  margin-left: 0.6em;
}

.journals .private-notes  {
  border-left: 2px solid #d22;
}

.journals .journal-meta, .journals .journal-actions  {
  display: inline-flex;
  gap: 10px;
}

.journals .journal-meta .journal-link {
  color: #555;
}

.journals .journal-actions .reaction-button-wrapper {
  display: inline-flex;
}

.journals .journal-details, ul.revision-info {
  color: #959595;
  margin-bottom: 1.5em;
}

.journals .journal-details a, ul.revision-info a {
  color: #70A7CD;
}

.journals .journal-details a:hover, ul.revision-info a:hover {
  color: #D14848;
}

/***** Badges *****/
.badge {
  position:relative;
  font-weight:bold;
  font-size: 0.6875rem;
  bottom: 4px;
  padding: 1px 4px;
  margin-right: 2px;
  margin-left: 2px;
  border-radius: 2px;
  text-transform: uppercase;
  text-decoration: none;
  user-select: none;
}
.badge-private {
  background: #d22;
  color: #fff;
  border: 1px solid #d22;
}
.badge-count {
  color: #fff;
  background:#9DB9D5;
}
.badge-status-open {
  color: #205D86;
  border: 1px solid #205D86;
}
.badge-status-locked {
  color: #696969;
  border: 1px solid #696969;
}
.badge-status-closed {
  color: #1D781D;
  border: 1px solid #1D781D;
}
.badge-issues-count {
  background: #EEEEEE;
}

/***** Tooltips *****/
.ui-tooltip {
  background: #000;
  color: #fff;
  border-radius: 3px;
  border: 0;
  box-shadow: none;
  white-space: pre-wrap;
  pointer-events: none;
}

/***** SVG Icons *****/
.icon, .icon-only {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.icon svg, .icon-only svg {
  flex-shrink: 0;
}

a.icon .icon-svg,
a.icon-only .icon-svg,
span.icon-actions .icon-svg {
  stroke: #169;
  fill: none;
}

a.icon:hover .icon-svg,
a.icon-only:hover .icon-svg,
span.icon-actions:hover .icon-svg {
  stroke: #c61a1a;
}

a.icon .icon-svg-filled,
a.icon-only .icon-svg-filled {
  stroke: none;
  fill: #169;
}

a.icon:hover .icon-svg-filled, a.icon-only:hover .icon-svg-filled {
  stroke: none;
  fill: #c61a1a;
}

svg.icon-ok {
  stroke: #5db651;
}

.icon-error svg.icon-svg {
  stroke: #c61a1a
}

.icon-warning svg.icon-svg {
  stroke: #e4bc4b;
}

.icon-only span {
  display: none;
}

svg.icon-svg {
  stroke: #343a40; /* oc-gray-8 */
  fill: none;
  stroke-width: 1.5;
  vertical-align: middle;
}

svg.icon-svg-filled {
  fill: #343a40; /* oc-gray-8 */
  stroke: none;
}

svg.s20 {
  width: 1.25rem;
  height: 1.25rem;
}

svg.s18 {
  width: 1.125rem;
  height: 1.125rem;
}

svg.s16 {
  width: 1rem;
  height: 1rem;
}

svg.s14 {
  width: 0.875rem;
  height: 0.875rem;
}

svg.s12 {
  width: 0.75rem;
  height: 0.75rem;
}

span.icon-label {
  margin-left: 4px;
}

span.icon-checked:has(:not(a svg.icon-svg)) svg.icon-svg {
  stroke: #2f9e44; /* oc-green-8 */
}

/***** Legacy icons *****/
.icon:not(:has(svg)) {
  background-position: 0% 50%;
  background-repeat: no-repeat;
  padding-left: 20px;
}
.icon-only:not(:has(svg)) {
  background-position: 0% 50%;
  background-repeat: no-repeat;
  padding-left: 16px;
  display: inline-block;
  width: 0;
  height: 16px;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0.5rem;
  vertical-align: middle;
}
.icon-only:not(:has(svg))::after {
  content: "\a0";
}

.icon-add:not(:has(svg)) { background-image: url(/add.png); }
.icon-edit:not(:has(svg)) { background-image: url(/edit.png); }
.icon-copy:not(:has(svg)) { background-image: url(/copy.png); }
.icon-duplicate { background-image: url(/duplicate.png); }
.icon-del:not(:has(svg)) { background-image: url(/delete.png); }
.icon-move:not(:has(svg)) { background-image: url(/move.png); }
.icon-save:not(:has(svg)) { background-image: url(/save.png); }
.icon-download:not(:has(svg)) { background-image: url(/download.png); }
.icon-cancel:not(:has(svg)) { background-image: url(/cancel.png); }
.icon-multiple:not(:has(svg)) { background-image: url(/table_multiple.png); }
.icon-folder:not(:has(svg)) { background-image: url(/folder.png); }
.open .icon-folder:not(:has(svg)) { background-image: url(/folder_open.png); }
.icon-package:not(:has(svg)) { background-image: url(/package.png); }
.icon-user:not(:has(svg)) { background-image: url(/user.png); }
.icon-project:not(:has(svg)), .icon-projects:not(:has(svg)) { background-image: url(/projects.png); }
.icon-help:not(:has(svg)) { background-image: url(/help.png); }
.icon-attachment:not(:has(svg)) { background-image: url(/attachment.png); }
.icon-history:not(:has(svg)) { background-image: url(/history.png); }
.icon-time-entry:not(:has(svg)), .icon-time:not(:has(svg))  { background-image: url(/time.png); }
.icon-time-add:not(:has(svg)) { background-image: url(/time_add.png); }
.icon-stats:not(:has(svg)) { background-image: url(/stats.png); }
.icon-warning:not(:has(svg)) { background-image: url(/warning.png); }
.icon-error:not(:has(svg)) { background-image: url(/exclamation.png); }
.icon-fav:not(:has(svg))  { background-image: url(/fav.png); }
.icon-fav-off:not(:has(svg))  { background-image: url(/fav_off.png); }
.icon-reload:not(:has(svg)) { background-image: url(/reload.png); }
.icon-lock:not(:has(svg)), .icon-locked:not(:has(svg))  { background-image: url(/locked.png); }
.icon-unlock:not(:has(svg)) { background-image: url(/unlock.png); }
.icon-checked:not(:has(svg)) { background-image: url(/toggle_check.png); }
.icon-report { background-image: url(/report.png); }
.icon-comment:not(:has(svg)), .icon-comments:not(:has(svg)) { background-image: url(/comment.png); }
.icon-summary:not(:has(svg)) { background-image: url(/lightning.png); }
.icon-server-authentication:not(:has(svg)) { background-image: url(/server_key.png); }
.icon-issue:not(:has(svg)) { background-image: url(/ticket.png); }
.icon-zoom-in:not(:has(svg)) { background-image: url(/zoom_in.png); }
.icon-zoom-out:not(:has(svg)) { background-image: url(/zoom_out.png); }
.icon-magnifier { background-image: url(/magnifier.png); }
.icon-passwd:not(:has(svg)) { background-image: url(/textfield_key.png); }
.icon-arrow-right, .icon-test:not(:has(svg)), .icon-sticky:not(:has(svg)) { background-image: url(/bullet_go.png); }
.icon-email:not(:has(svg)) { background-image: url(/email.png); }
.icon-email-disabled:not(:has(svg)) { background-image: url(/email_disabled.png); }
.icon-email-add:not(:has(svg)) { background-image: url(/email_add.png); }
.icon-ok:not(:has(svg)) { background-image: url(/true.png); }
.icon-not-ok:not(svg) { background-image: url(/false.png); }
.icon-link-break:not(:has(svg)) { background-image: url(/link_break.png); }
.icon-list:not(:has(svg)) { background-image: url(/text_list_bullets.png); }
.icon-close:not(:has(svg)) { background-image: url(/close.png); }
.icon-close:hover:not(:has(svg)) { background-image: url(/close_hl.png); }
.icon-settings:not(:has(svg)) { background-image: url(/changeset.png); }
.icon-group:not(:has(svg)),.icon-groupnonmember:not(:has(svg)), .icon-groupanonymous:not(:has(svg)) { background-image: url(/group.png); }
.icon-roles:not(:has(svg)) { background-image: url(/database_key.png); }
.icon-issue-edit:not(:has(svg)) { background-image: url(/ticket_edit.png); }
.icon-workflows:not(:has(svg)) { background-image: url(/ticket_go.png); }
.icon-custom-fields:not(:has(svg)) { background-image: url(/textfield.png); }
.icon-plugins:not(:has(svg)) { background-image: url(/plugin.png); }
.icon-news:not(:has(svg)) { background-image: url(/news.png); }
.icon-issue-closed:not(:has(svg)) { background-image: url(/ticket_checked.png); }
.icon-issue-note:not(:has(svg)) { background-image: url(/ticket_note.png); }
.icon-changeset:not(:has(svg)) { background-image: url(/changeset.png); }
.icon-message:not(:has(svg)) { background-image: url(/message.png); }
.icon-reply:not(:has(svg)) { background-image: url(/comments.png); }
.icon-wiki-page:not(:has(svg)) { background-image: url(/wiki_edit.png); }
.icon-document:not(:has(svg)) { background-image: url(/document.png); }
.icon-add-bullet:not(:has(svg)) { background-image: url(/bullet_add.png); }
.icon-shared:not(:has(svg)) { background-image: url(/link.png); }
.icon-actions:not(:has(svg)) { background-image: url(/3_bullets.png); }
.icon-sort-handle:not(:has(svg)) { background-image: url(/reorder.png); }
.icon-expanded:not(:has(svg)) { background-image: url(/arrow_down.png); }
.icon-collapsed:not(:has(svg)) { background-image: url(/arrow_right.png); }
.icon-bookmark:not(:has(svg)) { background-image: url(/tag_blue_delete.png); }
.icon-bookmark-off:not(:has(svg)) { background-image: url(/tag_blue_add.png); }
.icon-bookmarked-project:not(:has(svg)) { background-image: url(/tag_blue.png); }
.icon-sorted-asc:not(:has(svg)) { background-image: url(/arrow_down.png); }
.icon-sorted-desc:not(:has(svg)) { background-image: url(/arrow_up.png); }
.icon-toggle-plus:not(:has(svg)) { background-image: url(/bullet_toggle_plus.png) }
.icon-toggle-minus:not(:has(svg)) { background-image: url(/bullet_toggle_minus.png) }
.icon-clear-query:not(:has(svg)) { background-image: url(/close_hl.png); }
.icon-import:not(:has(svg)) { background-image: url(/database_go.png); }

.icon-file:not(:has(svg)) { background-image: url(/files/default.png); }
.icon-file.text-plain:not(:has(svg)) { background-image: url(/files/text.png); }
.icon-file.text-x-c:not(:has(svg)) { background-image: url(/files/c.png); }
.icon-file.text-x-csharp:not(:has(svg)) { background-image: url(/files/csharp.png); }
.icon-file.text-x-java:not(:has(svg)) { background-image: url(/files/java.png); }
.icon-file.application-javascript:not(:has(svg)) { background-image: url(/files/js.png); }
.icon-file.text-x-php:not(:has(svg)) { background-image: url(/files/php.png); }
.icon-file.text-x-ruby:not(:has(svg)) { background-image: url(/files/ruby.png); }
.icon-file.text-xml:not(:has(svg)) { background-image: url(/files/xml.png); }
.icon-file.text-css:not(:has(svg)) { background-image: url(/files/css.png); }
.icon-file.text-html:not(:has(svg)) { background-image: url(/files/html.png); }
.icon-file.image-gif:not(:has(svg)) { background-image: url(/files/image.png); }
.icon-file.image-jpeg:not(:has(svg)) { background-image: url(/files/image.png); }
.icon-file.image-png:not(:has(svg)) { background-image: url(/files/image.png); }
.icon-file.image-tiff:not(:has(svg)) { background-image: url(/files/image.png); }
.icon-file.application-pdf:not(:has(svg)) { background-image: url(/files/pdf.png); }
.icon-file.application-zip:not(:has(svg)) { background-image: url(/files/zip.png); }
.icon-file.application-gzip:not(:has(svg)) { background-image: url(/files/zip.png); }
.icon-copy-link:not(:has(svg)) { background-image: url(/copy_link.png); }

.sort-handle.ajax-loading { background-image: url(/loading.gif); }
tr.ui-sortable-helper { border:1px solid #e4e4e4; }
svg.svg-loader {
  animation: spin 1s linear infinite;
  transform-origin: center;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.contextual>*:not(:first-child), .buttons>.icon:not(:first-child), .contextual .journal-actions>*:not(:first-child) { margin-left: 5px; }

div.issue .avatar {
  float: inline-start;
  margin-top: 0;
  margin-bottom: 6px;
  margin-inline-start: 0;
  margin-inline-end: 12px;
}

div.avatar-with-child {
  position: relative;
}

div.avatar-with-child > .avatar:nth-child(2) {
  position: absolute;
  top: 30px;
  inset-inline-start: 30px;
  border-radius: 20%;
  border: 2px solid rgba(255, 255, 255, 0.9);
}

div.avatar-with-child > .avatar:nth-child(2).group-avatar {
    background-color: #ffffff;
}

h2 .avatar, h3 .avatar {margin-right: 4px;}
h4 img.gravatar {margin: -2px 4px -4px 0;}
/*# TODO: check where this rule is still used*/
td.username img.gravatar {margin: 0 0.5em 0 0; vertical-align: top;}
#activity dt .avatar {margin: 0 1em 0 0;}

#activity dt, .journal {clear: left;}

h2 img { vertical-align:middle; }

.hascontextmenu { cursor: context-menu; }

.sample-data {border:1px solid #ccc; border-collapse:collapse; background-color:#fff; margin:0.5em;}
.sample-data td {border:1px solid #ccc; padding: 2px 4px; font-family: Consolas, Menlo, "Liberation Mono", Courier, monospace;}
.sample-data tr:first-child td {font-weight:bold; text-align:center;}

.ui-progressbar {position: relative;}
#progress-label {
position: absolute; left: 50%; top: 4px;
font-weight: bold;
color: #555; text-shadow: 1px 1px 0 #fff;
}

.repository-graph {width:75%; margin-bottom:2em;}

img.filecontent.image {background-image: url(/transparent.png);}

/* Avatar styles */
.avatar {
  border-radius: 20%;
  display: inline-flex;
  vertical-align: middle;
  flex-shrink: 0;
}

span[role="img"].avatar {
  font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  align-items: center;
  display: inline-flex;
  font-size: calc(24px * .4);
  justify-content: center;
  user-select: none;
  font-weight: 700;
}
.avatar.s13 {
  block-size: 13px;
  inline-size: 13px;
}
span[role="img"].avatar.s13 {
  font-size: calc(16px * .3);
}
.avatar.s16 {
  block-size: 16px;
  inline-size: 16px;
}
span[role="img"].avatar.s16 {
  font-size: calc(16px * .4);
}
.avatar.s22 {
  block-size: 22px;
  inline-size: 22px;
}
span[role="img"].avatar.s22 {
  font-size: calc(22px * .4);
}
.avatar.s24 {
  block-size: 24px;
  inline-size: 24px;
}
span[role="img"].avatar.s24  {
  font-size: calc(24px * .4);
}
.avatar.s40 {
  block-size: 40px;
  inline-size: 40px;
}
span[role="img"].avatar.s40  {
  font-size: calc(40px * .4);
}
.avatar.s50 {
  block-size: 50px;
  inline-size: 50px;
}
span[role="img"].avatar.s50  {
  font-size: calc(50px * .4);
}

.avatar-color-0 {
  background-color: #f03e3e; /* oc-red-7 */
  color: #ffffff;
}
.avatar-color-1 {
  background-color: #fd7e14; /* oc-orange-6 */
  color: #ffffff;
}
.avatar-color-2 {
  background-color: #ffd43b; /* oc-yellow-4 */
  color: #000000;
}
.avatar-color-3 {
  background-color: #37b24d; /* oc-green-7 */
  color: #ffffff;
}
.avatar-color-4 {
  background-color: #15aabf; /* oc-cyan-6 */
  color: #ffffff;
}
.avatar-color-5 {
  background-color: #1c7ed6; /* oc-blue-7 */
  color: #ffffff;
}
.avatar-color-6 {
  background-color: #ae3ec9; /* oc-grape-7 */
  color: #ffffff;
}
.avatar-color-7 {
  background-color: #e64980; /* oc-pink-6 */
  color: #ffffff;
}

/* Reaction styles */
.reaction-button:hover, .reaction-button:active {
  text-decoration: none;
}
.reaction-button .icon-label {
  margin-inline-start: 3px;
  margin-bottom: -1px;
  font-weight: bold;
}
.reaction-button.has-reactions .icon-svg {
  stroke-width: 2.0;
}
.reaction-button.readonly {
  cursor: default;
}
.reaction-button.readonly .icon-svg {
  stroke: #999;
}
.reaction-button.readonly .icon-label {
  color: #999;
}
div.issue.details .reaction {
  float: inline-end;
  font-size: 0.9em;
  margin-top: 0.5em;
  margin-inline-start: 10px;
  clear: inline-end;
}
div.message .reaction {
  float: inline-end;
  font-size: 0.9em;
  margin-inline-start: 10px;
}
div.news .reaction {
  float: inline-end;
  font-size: 0.9em;
  margin-inline-start: 10px;
}

/* Custom JQuery styles */
.ui-autocomplete, .ui-menu {
  border-radius: 2px;
  border: 1px solid #ccc;
}
.ui-autocomplete .ui-menu-item > div, .ui-menu .ui-menu-item > div {
  padding: 4px 8px;
  max-width: 500px;
}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
  border-color: #759FCF;
  background: #759FCF;
}
.ui-widget-overlay {
    background: #000;
    opacity: 70%;
}

/* Custom tribute styles */
.tribute-container ul {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.tribute-container li.highlight {background-color: #759FCF; color:#fff;}

/************* Rouge styles *************/
/* generated by: pygmentize -f html -a .syntaxhl -S colorful */
.syntaxhl .hll { background-color: #ffffcc }
.syntaxhl  { background: #fafafa; }
.syntaxhl .c { color: #888888 } /* Comment */
.syntaxhl .err { color: #FF0000; background-color: #FFAAAA } /* Error */
.syntaxhl .k { color: #008800; font-weight: bold } /* Keyword */
.syntaxhl .o { color: #333333 } /* Operator */
.syntaxhl .ch { color: #888888 } /* Comment.Hashbang */
.syntaxhl .cm { color: #888888 } /* Comment.Multiline */
.syntaxhl .cp { color: #557799 } /* Comment.Preproc */
.syntaxhl .cpf { color: #888888 } /* Comment.PreprocFile */
.syntaxhl .c1 { color: #888888 } /* Comment.Single */
.syntaxhl .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
.syntaxhl .gd { color: #A00000 } /* Generic.Deleted */
.syntaxhl .ge { font-style: italic } /* Generic.Emph */
.syntaxhl .gr { color: #FF0000 } /* Generic.Error */
.syntaxhl .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.syntaxhl .gi { color: #00A000 } /* Generic.Inserted */
.syntaxhl .go { color: #888888 } /* Generic.Output */
.syntaxhl .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.syntaxhl .gs { font-weight: bold } /* Generic.Strong */
.syntaxhl .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.syntaxhl .gt { color: #0044DD } /* Generic.Traceback */
.syntaxhl .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.syntaxhl .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.syntaxhl .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.syntaxhl .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
.syntaxhl .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.syntaxhl .kt { color: #333399; font-weight: bold } /* Keyword.Type */
.syntaxhl .m { color: #6600EE; font-weight: bold } /* Literal.Number */
.syntaxhl .s { background-color: #fff0f0 } /* Literal.String */
.syntaxhl .na { color: #0000CC } /* Name.Attribute */
.syntaxhl .nb { color: #007020 } /* Name.Builtin */
.syntaxhl .nc { color: #BB0066; font-weight: bold } /* Name.Class */
.syntaxhl .no { color: #003366; font-weight: bold } /* Name.Constant */
.syntaxhl .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.syntaxhl .ni { color: #880000; font-weight: bold } /* Name.Entity */
.syntaxhl .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
.syntaxhl .nf { color: #0066BB; font-weight: bold } /* Name.Function */
.syntaxhl .nl { color: #997700; font-weight: bold } /* Name.Label */
.syntaxhl .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.syntaxhl .nt { color: #007700 } /* Name.Tag */
.syntaxhl .nv { color: #996633 } /* Name.Variable */
.syntaxhl .ow { color: #000000; font-weight: bold } /* Operator.Word */
.syntaxhl .w { color: #bbbbbb } /* Text.Whitespace */
.syntaxhl .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
.syntaxhl .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
.syntaxhl .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
.syntaxhl .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.syntaxhl .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
.syntaxhl .sa { background-color: #fff0f0 } /* Literal.String.Affix */
.syntaxhl .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
.syntaxhl .sc { color: #0044DD } /* Literal.String.Char */
.syntaxhl .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
.syntaxhl .sd { color: #DD4422 } /* Literal.String.Doc */
.syntaxhl .s2 { background-color: #fff0f0 } /* Literal.String.Double */
.syntaxhl .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
.syntaxhl .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
.syntaxhl .si { background-color: #eeeeee } /* Literal.String.Interpol */
.syntaxhl .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
.syntaxhl .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
.syntaxhl .s1 { background-color: #fff0f0 } /* Literal.String.Single */
.syntaxhl .ss { color: #AA6600 } /* Literal.String.Symbol */
.syntaxhl .bp { color: #007020 } /* Name.Builtin.Pseudo */
.syntaxhl .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
.syntaxhl .vc { color: #336699 } /* Name.Variable.Class */
.syntaxhl .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
.syntaxhl .vi { color: #3333BB } /* Name.Variable.Instance */
.syntaxhl .vm { color: #996633 } /* Name.Variable.Magic */
.syntaxhl .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */

/***** Media print specific styles *****/
@media print {
  #top-menu, #header, #main-menu, #sidebar, #footer, .contextual, .other-formats { display:none; }
  #main { background: #fff; }
  #content { width: 99%; margin: 0; padding: 0; border: 0; background: #fff; overflow: visible !important;}
  #wiki_add_attachment { display:none; }
  .hide-when-print, .pagination ul.pages, .pagination .per-page { display: none !important; }
  .autoscroll {overflow-x: visible;}
  table.list {margin-top:0.5em;}
  table.list th, table.list td {border: 1px solid #aaa;}
}

/* Accessibility specific styles */
.hidden-for-sighted {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

img {
  image-orientation: from-image;
}

.filecontent-container {
  position: relative;
  margin-bottom: 20px;
  min-height: 200px;
}
.filecontent-container > .filecontent {
  position: absolute;
  max-height: 100%;
  max-width: 100%;
}

.filecontent.wiki {
  position: relative;
  padding: 1em;
  border: 1px solid #d0d7de;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* tablesort */
th[role=columnheader]:not(.no-sort) {
	cursor: pointer;
}

th[role=columnheader]:not(.no-sort):after {
	content: '';
	float: right;
	margin-top: 7px;
	border-width: 0 4px 4px;
	border-style: solid;
	border-color: #404040 transparent;
	display: none;
	opacity: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

th[aria-sort=ascending]:not(.no-sort):after {
	border-bottom: none;
	border-width: 4px 4px 0;
}

th[aria-sort]:not(.no-sort):after {
	display: inline;
	opacity: 0.4;
}

th[role=columnheader]:not(.no-sort):hover:after {
	display: inline;
	opacity: 1;
}

.svg-icon-sample {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  max-width: 1000px
}

.svg-icon-sample li {
  padding: 0.5rem;
  width: calc(200px - 0.5rem * 2);
}

.api-key-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.api-key-actions .copy-api-key-link {
  padding: 4px 6px;
  cursor: pointer;
}

#sidebar .api-key-actions .copy-api-key-link svg {
  opacity: 1;
}
