Files
Redmine/app/assets/stylesheets/application.css
2025-10-06 21:01:29 +00:00

2435 lines
77 KiB
CSS

/**
* Redmine - project management software
* Copyright (C) 2006- Jean-Philippe Lang
* This code is released under the GNU General Public License.
*/
@import url('/open-color.css');
@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: var(--oc-gray-9); 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: var(--oc-gray-7);}
h2 {font-size: 1.25rem;}
h3 {font-size: 1.0625rem;}
h4 {font-size: 0.875rem; border-bottom: 1px solid var(--oc-gray-4); 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: var(--oc-gray-6);}
/***** Layout *****/
#wrapper {
min-height: inherit;
background: white;
overflow: hidden;
display: flex;
flex-direction: column;
}
#top-menu {
background: #3E5B76; /* no match in Open Color, using hex code */
color: var(--oc-white);
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: var(--oc-white); margin-right: 8px; font-weight: bold;}
#top-menu #loggedas { float: right; margin-right: 0.5em; color: var(--oc-white); }
#account {float:right;}
#header {
min-height: 8.7ex;
margin: 0;
background: linear-gradient(180deg, #628DB6 30%, #356D92); /* no match in Open Color, using hex code */
color: var(--oc-gray-0);
padding: 4px 16px 20px 16px;
position: relative;
}
#header a {color: var(--oc-gray-0);}
#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 var(--oc-gray-4); 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: var(--oc-white);
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: rgba(var(--oc-white-rgb), 0.4); color: var(--oc-white); }
#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: var(--oc-white); color: var(--oc-gray-7); font-weight: bold;}
#main-menu li a.new-object {background-color: rgba(var(--oc-white-rgb), 0.4); }
#main-menu .menu-children {
display: none;
position:absolute;
width: inherit;
z-index:45;
background-color:var(--oc-white);
border-right: 1px solid var(--oc-blue-7);
border-bottom: 1px solid var(--oc-blue-7);
border-left: 1px solid var(--oc-blue-7);
box-shadow: 0 2px 4px rgba(var(--oc-gray-9-rgb), 0.1);
}
#main-menu .menu-children li {float:left; clear:both; width:100%;}
#main-menu .menu-children li a {color: var(--oc-gray-7); background-color:var(--oc-white); font-weight:normal; border-radius: 0;}
#main-menu .menu-children li a:hover {color: var(--oc-white); background-color: var(--oc-blue-7);}
#main-menu .tabs-buttons {
right: 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: var(--oc-gray-0); border-left: 1px solid var(--oc-gray-4)}
@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: var(--oc-gray-7); }
#sidebar h3:first-child{ margin-top: 0; }
#sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: var(--oc-gray-4); 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 {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: var(--oc-gray-7);
}
#sidebar-switch-button:hover {
background-color: var(--oc-gray-2);
}
#content { flex-grow: 1; background-color: var(--oc-white); 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 var(--oc-gray-4); font-size: 0.9em; color: var(--oc-gray-5); padding: 5px; text-align:center; background:var(--oc-white);}
#login-form {margin:5em auto 2em auto; padding:20px; width:340px; border:1px solid var(--oc-yellow-5); background-color: var(--oc-orange-1); 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:right; font-weight:normal;}
#login-form h3 {text-align: center;}
div.modal { border-radius:5px; background:var(--oc-white); 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: var(--oc-red-9) !important;}
/***** Links *****/
a, a:link, a:visited{ color: var(--oc-blue-9); text-decoration: none; }
a:hover, a:active{ color: var(--oc-red-9); text-decoration: underline;}
a img{ border: 0; }
a.issue.closed, a.issue.closed:link, a.issue.closed:visited { color: var(--oc-gray-6); text-decoration: line-through; }
a.project.closed, a.project.closed:link, a.project.closed:visited { color: var(--oc-gray-6); }
a.user.locked, a.user.locked:link, a.user.locked:visited {color: var(--oc-gray-6);}
a.user.user-mention {
background-color: var(--oc-blue-0);
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:rgba(var(--oc-blue-9-rgb), 0.6); color:var(--oc-white); border-radius:2px;}
#sidebar a.selected:hover {text-decoration:none;}
#sidebar a.selected svg.icon-svg { stroke: var(--oc-white) !important; }
#sidebar .query.default {font-weight: bold;}
#admin-menu a {line-height:1.7em;}
a#toggle-completed-versions {color:var(--oc-gray-6);}
a#toggle-completed-versions span.icon-label {margin-left: 0}
a#toggle-completed-versions svg, a#toggle-completed-versions:hover svg {stroke:var(--oc-gray-6)}
/***** 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;
right:0px;
top:25px;
min-width:100px;
background-color:var(--oc-white);
border:1px solid var(--oc-gray-4);
border-radius:4px;
color:var(--oc-gray-7);
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-left: 5px; position: absolute;}
.drdn-content .quick-search input.autocomplete {background: none; padding-left: 24px !important;}
.drdn-content .autocomplete {box-sizing: border-box; width:100% !important; height:28px;}
.drdn-content .autocomplete:focus {border-color: var(--oc-blue-5);}
.drdn-items {max-height:400px; overflow:auto;}
div + .drdn-items {border-top:1px solid var(--oc-gray-4);}
.drdn-items>* {
display:block;
border:1px solid var(--oc-white);
overflow:hidden;
text-overflow: ellipsis;
white-space:nowrap;
padding:4px 8px;
}
.drdn-items>a:hover {text-decoration:none;}
.drdn-items>*:focus {border:1px dotted var(--oc-gray-5);}
.drdn-items.selection>*:before {
content:' ';
display:inline-block;
line-height:1em;
width:1em;
height:1em;
margin-right:4px;
font-weight:bold;
}
.drdn-items.selection>*.selected:before {
content:"\2713 ";
}
.drdn-items.selection:empty {
border: none;
}
.drdn-items>span {color:var(--oc-gray-6);}
.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:hover, .journal-actions .drdn-items > a:hover {
color: var(--oc-blue-9);
border: 1px solid var(--oc-blue-7);
background-color: var(--oc-blue-0);
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 var(--oc-gray-4);
margin:0 !important;
vertical-align:middle;
color:var(--oc-gray-7);
background:var(--oc-white) 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:var(--oc-gray-7) !important;}
#project-jump .drdn-items>a:hover {background-color: var(--oc-blue-7); color:var(--oc-white) !important;}
/***** Tables *****/
table.list, .table-list {
font-size: 0.8125rem;
font-variant-numeric: tabular-nums;
border-top: 1px solid var(--oc-gray-4);
border-bottom: 1px solid var(--oc-gray-4);
border-collapse: collapse;
width: 100%;
margin-bottom: 4px;
overflow: hidden;
}
table.list th, .table-list-header { background-color:var(--oc-gray-2); padding: 4px; white-space:nowrap; font-weight:bold; border-bottom: 2px solid var(--oc-gray-4); }
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 var(--oc-gray-4);}
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 {display: block; height: 16px;}
table.list td.attachments span a.icon-download {display: inline-block; visibility: hidden;}
table.list td.attachments span: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 td.due_date { color: var(--oc-red-9); }
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: var(--oc-gray-5); }
tr.project.closed a, tr.project.archived a { color: var(--oc-gray-5); }
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:var(--oc-gray-6); 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 td.subject, tr.idnt td.name {background: url(/chevron-right-idnt.svg) no-repeat 2px 50%;}
tr.idnt-1 td.subject, tr.idnt-1 td.name {padding-left: 24px; background-position: 4px 50%;}
tr.idnt-2 td.subject, tr.idnt-2 td.name {padding-left: 40px; background-position: 20px 50%;}
tr.idnt-3 td.subject, tr.idnt-3 td.name {padding-left: 56px; background-position: 36px 50%;}
tr.idnt-4 td.subject, tr.idnt-4 td.name {padding-left: 72px; background-position: 52px 50%;}
tr.idnt-5 td.subject, tr.idnt-5 td.name {padding-left: 88px; background-position: 68px 50%;}
tr.idnt-6 td.subject, tr.idnt-6 td.name {padding-left: 104px; background-position: 84px 50%;}
tr.idnt-7 td.subject, tr.idnt-7 td.name {padding-left: 120px; background-position: 100px 50%;}
tr.idnt-8 td.subject, tr.idnt-8 td.name {padding-left: 136px; background-position: 116px 50%;}
tr.idnt-9 td.subject, tr.idnt-9 td.name {padding-left: 152px; background-position: 132px 50%;}
table.issue-report {table-layout:fixed;}
table.issue-report tr.total, table.issue-report-detailed tr.total { font-weight: bold; border-top:2px solid var(--oc-gray-4);}
.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 ul, ol { margin-top: 0px; margin-bottom: 0px; }
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: var(--oc-gray-6); }
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 {width:13%;white-space: nowrap;}
td.username, td.firstname, td.lastname, td.email {text-align:left !important;}
tr.user td.email { width:18%; }
tr.user.locked, tr.user.registered { color: var(--oc-gray-5); }
tr.user.locked a, tr.user.registered a { color: var(--oc-gray-5); }
table.permissions td.role {color:var(--oc-gray-6);font-size:90%;font-weight:normal !important;text-align:center;vertical-align:bottom;}
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 var(--oc-gray-4); text-align:left; background-color: var(--oc-white);}
tr.group span.count {top:-1px;}
tr.group span.name {font-weight:bold;}
tr.group span.totals {color: var(--oc-gray-5); font-size: 93%;}
tr.group span.totals .value {font-weight:bold; color:var(--oc-gray-6);}
tr.group a.toggle-all { color: var(--oc-gray-5); 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;}
/* No table striping within `.box` */
.box table.list:not(.odd-even) tbody tr:nth-child(even), .box .even { background-color: var(--oc-white); }
table.list:not(.odd-even) tbody tr:nth-child(odd), .odd { background-color: var(--oc-white); }
table.list:not(.odd-even) tbody tr:nth-child(even), .even { background-color: var(--oc-gray-0); }
table.list:not(.odd-even) tbody tr:nth-child(odd):hover, .odd:hover,
table.list:not(.odd-even) tbody tr:nth-child(even):hover, .even:hover { background-color:var(--oc-yellow-0); }
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 input[type=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: var(--oc-gray-2);
}
.highlight { background-color: var(--oc-yellow-2);}
.highlight.token-1 { background-color: var(--oc-red-2);}
.highlight.token-2 { background-color: var(--oc-green-2);}
.highlight.token-3 { background-color: var(--oc-violet-1);}
.box{
padding: 8px;
margin-bottom: 12px;
background-color: var(--oc-gray-0);
color: var(--oc-gray-7);
line-height: 1.5em;
border: 1px solid var(--oc-gray-4);
word-wrap: break-word;
border-radius: 3px;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 0.05);
}
div.square {
border: 1px solid var(--oc-gray-6);
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: var(--oc-gray-9); background-color: var(--oc-white); border:1px solid var(--oc-gray-4); border-radius:3px; box-sizing: border-box;}
select {
-webkit-appearance: none;
-moz-appearance: none;
-o-appearance: none;
appearance: none;
background-color: var(--oc-white);
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: var(--oc-white);
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: var(--oc-gray-2);
}
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 var(--oc-blue-5);
outline: none;
}
input:placeholder-shown {
text-overflow: ellipsis;
}
select[multiple=multiple] {background: var(--oc-white); padding-right: initial; height: auto;}
fieldset {border: 1px solid var(--oc-gray-4); margin:0; min-width: inherit;}
legend {color: var(--oc-gray-9);}
hr { width: 100%; height: 1px; background: var(--oc-gray-4); border: 0;}
blockquote { font-style: italic; border-left: 3px solid var(--oc-gray-3); padding-left: 0.6em; margin-left: 0;}
blockquote blockquote { margin-left: 0;}
abbr, span.field-description[title] { border-bottom: 1px dotted var(--oc-gray-5); 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: var(--oc-yellow-0);
padding: 8px;
margin-bottom: 6px;
border: 1px solid var(--oc-gray-4);
border-radius: 3px;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 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: var(--oc-gray-6);}
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:var(--oc-gray-6);}
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: var(--oc-red-9); }
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 var(--oc-gray-4);
box-shadow: 0 2px 6px rgba(var(--oc-black-rgb), 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#date-range p { margin: 2px 0 2px 0; }
#query_form_content > fieldset {
min-width: 0;
max-width: 100%;
}
#filters-table {
float:left;
width: auto;
}
#filters-table .field {
width: 230px;
}
#filters-table .filter {
margin: 5px 0 0 0;
display: flex;
flex-wrap: wrap;
gap: 0 10px;
}
#filters-table .filter .operator select {
width: 120px;
}
.add-filter {width:35%; float:right; text-align: right; vertical-align: top;}
#issue_is_private_wrap {float:right; margin-right:1em;}
.toggle-multiselect { margin-right:5px; cursor:pointer;}
.buttons { font-size: 0.9em; margin-bottom: 1.4em; margin-top: 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 var(--oc-gray-6); }
div#activity dt .time { color: var(--oc-gray-7); 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: var(--oc-gray-6); }
div#activity dt.grouped {padding-left:5em;}
div#activity dd.grouped {margin-left:9em;}
div#activity h3 {
padding: 5px;
background-color: var(--oc-gray-1);
}
div#activity dt {
padding-top: 10px;
border-top: 1px solid var(--oc-gray-2);
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: var(--oc-white); }
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:var(--oc-gray-6);}
table#time-report tbody tr.subtotal td.hours { color:var(--oc-gray-6); }
table#time-report tbody tr.total { font-weight: bold; background-color:var(--oc-gray-2); border-top:2px solid var(--oc-gray-4);}
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:var(--oc-blue-0);
}
.wiki-update-info {text-align:right; color:var(--oc-gray-6); 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: var(--oc-gray-5);}
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 var(--oc-gray-3); padding-left:1em;}
#projects-index ul.projects li.root {
margin-bottom: 1em;
padding: 15px 20px;
border: 1px solid var(--oc-gray-4);
border-radius: 3px;
box-sizing: border-box;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 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: var(--oc-gray-6);}
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: var(--oc-green-2);}
#workflow_form table select {font-size:90%; max-width:100px;}
table.fields_permissions td.readonly {background:var(--oc-gray-4);}
table.fields_permissions td.required {background:var(--oc-red-4);}
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:var(--oc-gray-6); 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 var(--oc-gray-4);
margin-left: -1px;
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;
}
.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: var(--oc-blue-7);
border-color: var(--oc-blue-7);
}
.pagination ul.pages li.page:hover {
background-color: var(--oc-gray-2);
}
.pagination ul.pages li.page a:hover,
.pagination ul.pages li.page a:active {
color: var(--oc-blue-9);
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: var(--oc-red-9);
}
.tabular label.error + *:not(#issue_description_and_toolbar), .tabular label.error + span#issue_description_and_toolbar div.jstBlock {
border: 1px solid var(--oc-red-9);
}
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: var(--oc-red-9);}
.summary {font-style: italic;}
.check_box_group {
display:block;
width:95%;
max-height:120px;
overflow-y:auto;
padding:2px 4px 4px 2px;
background:var(--oc-white);
border:1px solid var(--oc-gray-4);
border-radius:3px
}
.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:var(--oc-gray-7); 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:var(--oc-gray-6) !important;}
div.fileover, p.custom-field-filedroplistner.fileover { background-color: var(--oc-violet-0); }
div.attachments p { margin:4px 0 2px 0; }
div.attachments img { vertical-align: middle; }
div.attachments span.author { font-size: 0.9em; color: var(--oc-gray-6); }
div.thumbnails {margin:0.6em;}
div.thumbnail {background:var(--oc-white);border:2px solid var(--oc-gray-3);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: var(--oc-gray-6); }
.other-formats span + span:before { content: "| "; }
em.info {font-style:normal;display:block;font-size:90%;color:var(--oc-gray-6);}
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: var(--oc-white) 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 var(--oc-gray-4);
-moz-column-count: auto;
-moz-column-width: 200px;
-moz-column-gap : 0.5rem;
-moz-column-rule: 1px solid var(--oc-gray-4);
}
/***** 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: var(--oc-red-1);
border-color: var(--oc-red-3);
color: var(--oc-pink-9);
}
div.flash.error svg.icon-svg, #errorExplanation svg.icon-svg {
stroke: var(--oc-pink-9);
}
#errorExplanation {
position: relative;
}
#errorExplanation > svg.icon-svg {
position: absolute;
top: 50%;
bottom: 50%;
margin-left: -24px;
margin-top: -9px;
}
div.flash.notice {
background-color: var(--oc-green-1);
border-color: var(--oc-green-3);
color: var(--oc-green-9);
}
div.flash.notice svg.icon-svg {
stroke: var(--oc-green-9);
}
div.flash.warning, .conflict {
background-color: var(--oc-yellow-1);
border-color: var(--oc-yellow-3);
color: var(--oc-pink-9);
text-align: left;
}
div.flash.warning svg.icon-svg, .conflict svg.icon-svg {
stroke: var(--oc-pink-9);
}
.nodata, .warning {
text-align: center;
background-color: var(--oc-yellow-1);
border-color: var(--oc-yellow-3);
color: var(--oc-pink-9);
}
.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-left: 4px solid;
padding-left: 0.6em;
margin: 1em 0;
}
.markdown-alert-title {
font-weight: bold;
}
.markdown-alert-tip { border-color: var(--oc-green-7); }
.markdown-alert-tip .markdown-alert-title { color: var(--oc-green-9); }
.markdown-alert-tip .markdown-alert-title svg {stroke: var(--oc-green-9); }
.markdown-alert-important { border-color: var(--oc-grape-7); }
.markdown-alert-important .markdown-alert-title { color: var(--oc-grape-9); }
.markdown-alert-important .markdown-alert-title svg { stroke: var(--oc-grape-9); }
.markdown-alert-caution { border-color: var(--oc-red-7); }
.markdown-alert-caution .markdown-alert-title { color: var(--oc-red-9); }
.markdown-alert-caution .markdown-alert-title svg { stroke: var(--oc-red-9); }
.markdown-alert-warning { border-color: var(--oc-yellow-7); }
.markdown-alert-warning .markdown-alert-title { color: var(--oc-yellow-9); }
.markdown-alert-warning .markdown-alert-title svg { stroke: var(--oc-yellow-9); }
/* Indigo is used instead of blue to avoid confusion with links */
.markdown-alert-note { border-color: var(--oc-indigo-7); }
.markdown-alert-note .markdown-alert-title { color: var(--oc-indigo-9); }
.markdown-alert-note .markdown-alert-title svg { stroke: var(--oc-indigo-9); }
/***** Ajax indicator ******/
#ajax-indicator {
position: absolute; /* fixed not supported by IE */
background-color:var(--oc-gray-2);
border: 1px solid var(--oc-gray-5);
top:35%;
left:40%;
width:20%;
font-weight:bold;
text-align:center;
padding:0.6em;
z-index:100;
opacity: 0.5;
}
html>body #ajax-indicator { position: fixed; }
/***** Calendar *****/
ul.cal {
list-style: none;
width: 100%;
padding: 0;
display: grid;
grid-template-columns: 2rem repeat(7, 1fr);
margin: 0;
border: 1px solid var(--oc-gray-4);
border-spacing: 0;
border-radius: 3px;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 0.05);
}
.cal .calhead {
background-color:var(--oc-gray-2);
text-align: center;
font-weight: bold;
padding: 4px
}
.cal .week-number {
background-color:var(--oc-gray-2);
border:none;
font-size: 1em;
padding: 4px;
text-align: center;
}
.cal .week-number .label-week {
display: none;
}
.cal .calbody {
border: 1px solid var(--oc-gray-4);
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(var(--oc-gray-9-rgb), 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:var(--oc-white);}
.cal .calbody.other-month {background-color:var(--oc-gray-1);}
.cal .calbody.other-month p.day-num {color: var(--oc-gray-5);}
.cal .calbody.today {background:var(--oc-yellow-0);}
.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:var(--oc-gray-1);}
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:var(--oc-black);}
.tooltip span.tip{display: none; text-align:left;}
.tooltip span.tip a { color: var(--oc-blue-9) !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 var(--oc-gray-7);
border-radius: 3px;
background-color:var(--oc-white);
padding: 4px;
font-size: 0.75rem;
color:var(--oc-gray-7);
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 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: var(--oc-green-7) none repeat scroll 0%; }
table.progress td.done { background: var(--oc-green-4) none repeat scroll 0%; }
table.progress td.todo { background: var(--oc-gray-3) none repeat scroll 0%; }
p.percent {font-size: 86%; margin:0;}
p.progress-info {clear: left; font-size: 86%; margin-top:-4px; color:var(--oc-gray-6);}
.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 var(--oc-gray-4);}
#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 var(--oc-gray-4);
border-bottom: 1px solid var(--oc-gray-4);
color:var(--oc-gray-6);
font-weight:bold;
border-top-left-radius:3px;
border-top-right-radius:3px;
}
#content .tabs ul li a:hover {
color:var(--oc-gray-6);
text-decoration:none;
}
#content .tabs ul li a.selected {
background-color: var(--oc-white);
border: 1px solid var(--oc-gray-4);
border-bottom: 1px solid var(--oc-white);
color: var(--oc-gray-8);
box-shadow: 0 1px 2px rgba(var(--oc-black-rgb), 0.1);
}
#content .tabs ul li a.selected:hover {background-color: var(--oc-white);}
div.tabs-buttons { position:absolute; right: 0; width: 54px; height: 24px; background: white; bottom: 0; border-bottom: 1px solid var(--oc-gray-5); }
button.tab-left, button.tab-right {
font-size: 0.9em;
cursor: pointer;
height:24px;
border: 1px solid var(--oc-gray-4);
border-bottom: 1px solid var(--oc-gray-5);
position:absolute;
padding:4px;
width: 24px;
bottom: -1px;
}
button.tab-left:hover, button.tab-right:hover {
background-color: var(--oc-gray-0);
}
button.tab-left:focus, button.tab-right:focus {
outline: 0;
}
button.tab-left svg.icon-svg, button.tab-right svg.icon-svg {
stroke: var(--oc-gray-6);
stroke-width: 2;
}
button.tab-left {
right: 28px;
border-top-left-radius:3px;
}
button.tab-right {
right: 4px;
border-top-right-radius:3px;
}
button.tab-left.disabled, button.tab-right.disabled {
background-color: var(--oc-gray-4);
cursor: unset;
}
/***** Diff *****/
.diff_out { background: var(--oc-red-1); }
.diff_out span { background: var(--oc-red-3); }
.diff_in { background: var(--oc-green-1); }
.diff_in span { background: var(--oc-green-3); }
.text-diff {
padding: 1em;
background-color:var(--oc-gray-0);
color:var(--oc-gray-7);
border: 1px solid var(--oc-gray-4);
border-radius: 3px;
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 var(--oc-gray-5);
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: var(--oc-red-9);}
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: var(--oc-gray-0);
border: 1px solid var(--oc-gray-4);
border-radius: 3px;
width:auto;
overflow-x: auto;
overflow-y: hidden;
}
div.wiki pre .syntaxhl { background: var(--oc-gray-0); } /* Override Rouge style */
div.wiki *:not(pre)>code, div.wiki>code {
background: rgba(var(--oc-gray-9-rgb), 0.08);
padding: 0.1em 0.1em;
border-radius: 0.1em;
}
div.pre-wrapper a.copy-pre-content-link {
position: absolute;
top: 3px;
right: calc(1em + 3px);
cursor: pointer;
display: none;
border-radius: 3px;
background: var(--oc-white);
border: 1px solid var(--oc-gray-4);
padding: 0px 3px 3px 3px;
}
div.pre-wrapper:hover a.copy-pre-content-link {
display: block;
}
div.wiki ul.toc {
background-color: var(--oc-yellow-0);
border: 1px solid var(--oc-gray-4);
border-radius: 3px;
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: var(--oc-gray-7);}
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: var(--oc-gray-7);
}
div.wiki ul.toc a:hover { color: var(--oc-red-9); text-decoration: underline;}
a.wiki-anchor { display: none; margin-left: 6px; text-decoration: none; }
a.wiki-anchor:hover { color: var(--oc-gray-5) !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: var(--oc-gray-4); }
div.wiki img {vertical-align:middle; max-width:100%;}
div.wiki>.contains-task-list {
padding-left: 0;
}
div.wiki .contains-task-list {
list-style-type: none;
}
div.wiki .task-list input.task-list-item-checkbox {
height: initial;
}
/***** My page layout *****/
.block-receiver {
border:1px dashed var(--oc-white);
padding: 15px 0 0 0;
}
.dragging .block-receiver {
border:1px dashed var(--oc-gray-6);
margin-bottom: 20px;
}
.mypage-box {
border:1px solid var(--oc-gray-4);
padding:8px;
margin:0 0 20px 0;
color:var(--oc-gray-7);
line-height:1.5em;
border-radius: 3px;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 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 var(--oc-gray-4);
border-bottom: 1px solid var(--oc-gray-4);
border-left: 1px solid var(--oc-gray-4);
text-align: center;
overflow: hidden;
}
#gantt_area .gantt_hdr {
border-left: 0px;
border-right: 1px solid var(--oc-gray-4);
}
.gantt_subjects_container:not(.draw_selected_columns) .gantt_hdr,
.last_gantt_selected_column .gantt_hdr {
border-right: 1px solid var(--oc-gray-4);
}
.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:var(--oc-gray-1); color:var(--oc-gray-6);}
.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:var(--oc-yellow-0); }
.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:var(--oc-gray-6);
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:var(--oc-red-5) url(/task_late.png); border: 1px solid var(--oc-red-5); }
.task_done { background:var(--oc-green-7) url(/task_done.png); border: 1px solid var(--oc-green-7); }
.task_todo { background:var(--oc-gray-5) url(/task_todo.png); border: 1px solid var(--oc-gray-5); }
.task_todo.parent { background: var(--oc-gray-6); border: 1px solid var(--oc-gray-6); 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:var(oc-red-5) url(/milestone_late.png); border: 1px solid var(oc-red-5); height: 2px; margin-top: 3px;}
.version.task_done { background:var(--oc-green-7) url(/milestone_done.png); border: 1px solid var(--oc-green-7); height: 2px; margin-top: 3px;}
.version.task_todo { background:var(--oc-white) url(/milestone_todo.png); border: 1px solid var(--oc-white); 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:var(oc-red-5) url(/milestone_late.png); border: 1px solid var(oc-red-5); height: 2px; margin-top: 3px;}
.project.task_done { background:var(--oc-green-7) url(/milestone_done.png); border: 1px solid var(--oc-green-7); height: 2px; margin-top: 3px;}
.project.task_todo { background:var(--oc-white) url(/milestone_todo.png); border: 1px solid var(--oc-white); 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: var(--oc-yellow-8);}
.version-overdue a, .issue-overdue a, .project-overdue a {color: var(--oc-red-8);}
/***** User events (ex: journal, notes, replies, comments) *****/
.journals h4.journal-header {
background-color: var(--oc-gray-1);
border-bottom: 0;
padding: 8px;
align-items: center;
display: flex;
justify-content: space-between;
}
.journals h4.journal-header .update-info {
color: var(--oc-gray-6);
font-size: 0.9em;
}
.journals h4.journal-header .badge {
position: static;
}
.journals div:target h4.journal-header {
background-color:var(--oc-blue-0);
}
.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 var(--oc-red-8);
}
.journals .journal-meta, .journals .journal-actions {
display: inline-flex;
gap: 10px;
}
.journals .journal-meta .journal-link {
color: var(--oc-gray-7);
}
.journals .journal-actions .reaction-button-wrapper {
display: inline-flex;
}
.journals .journal-details, ul.revision-info {
color: var(--oc-gray-6);
margin-bottom: 1.5em;
}
.journals .journal-details a, ul.revision-info a {
color: var(--oc-blue-6);
}
.journals .journal-details a:hover, ul.revision-info a:hover {
color: var(--oc-red-9);
}
/***** 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: var(--oc-red-8);
color: var(--oc-white);
border: 1px solid var(--oc-red-8);
}
.badge-count {
color: var(--oc-white);
background: var(--oc-blue-5);
}
.badge-status-open {
color: var(--oc-blue-9);
border: 1px solid var(--oc-blue-9);
}
.badge-status-locked {
color: var(--oc-gray-7);
border: 1px solid var(--oc-gray-7);
}
.badge-status-closed {
color: var(--oc-green-9);
border: 1px solid var(--oc-green-9);
}
.badge-issues-count {
background: var(--oc-gray-2);
}
/***** Tooltips *****/
.ui-tooltip {
background: var(--oc-black);
color: var(--oc-white);
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:link .icon-svg, a.icon-only:link .icon-svg, span.icon-actions:link .icon-svg,
a.icon:visited .icon-svg, a.icon-only:visited .icon-svg, span.icon-actions:visited .icon-svg {
stroke: var(--oc-blue-9);
fill: none;
}
a.icon:hover .icon-svg, a.icon-only:hover .icon-svg, span.icon-actions:hover .icon-svg {
stroke: var(--oc-red-9);
}
a.icon:link .icon-svg-filled, a.icon-only:link .icon-svg-filled,
a.icon:visited .icon-svg-filled, a.icon-only:visited .icon-svg-filled {
stroke: none;
fill: var(--oc-blue-9);
}
a.icon:hover .icon-svg-filled, a.icon-only:hover .icon-svg-filled {
stroke: none;
fill: var(--oc-red-9);
}
.icon-ok svg.icon-svg {
stroke: var(--oc-green-8);
}
.icon-error svg.icon-svg {
stroke: var(--oc-red-8);
}
.icon-warning svg.icon-svg {
stroke: var(--oc-yellow-8);
}
.icon-only span {
display: none;
}
svg.icon-svg {
stroke: var(--oc-gray-8);
fill: none;
stroke-width: 1.5;
vertical-align: middle;
}
svg.icon-svg-filled {
fill: var(--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;
}
.sort-handle.ajax-loading { background-image: url(/loading.gif); }
tr.ui-sortable-helper { border:1px solid var(--oc-gray-4); }
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: left;
margin: 0 12px 6px 0;
}
div.avatar-with-child {
position: relative;
}
div.avatar-with-child > .avatar:nth-child(2) {
position: absolute;
top: 30px;
left: 30px;
border-radius: 20%;
border: 2px solid rgba(var(--oc-white-rgb), 0.9);
}
div.avatar-with-child > .avatar:nth-child(2).group-avatar {
background-color: var(--oc-white);
}
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 var(--oc-gray-4); border-collapse:collapse; background-color:var(--oc-white); margin:0.5em;}
.sample-data td {border:1px solid var(--oc-gray-4); 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: var(--oc-gray-7); text-shadow: 1px 1px 0 var(--oc-white);
}
.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;
}
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: var(--oc-red-7);
color: var(--oc-white);
}
.avatar-color-1 {
background-color: var(--oc-orange-6);
color: var(--oc-white);
}
.avatar-color-2 {
background-color: var(--oc-yellow-4);
color: var(--oc-black);
}
.avatar-color-3 {
background-color: var(--oc-green-7);
color: var(--oc-white);
}
.avatar-color-4 {
background-color: var(--oc-cyan-6);
color: var(--oc-white);
}
.avatar-color-5 {
background-color: var(--oc-blue-7);
color: var(--oc-white);
}
.avatar-color-6 {
background-color: var(--oc-grape-7);
color: var(--oc-white);
}
.avatar-color-7 {
background-color: var(--oc-pink-5);
color: var(--oc-white);
}
/* Reaction styles */
.reaction-button:hover, .reaction-button:active {
text-decoration: none;
}
.reaction-button .icon-label {
margin-left: 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: var(--oc-gray-6);
}
.reaction-button.readonly .icon-label {
color: var(--oc-gray-6);
}
div.issue.details .reaction {
float: right;
font-size: 0.9em;
margin-top: 0.5em;
margin-left: 10px;
clear: right;
}
div.message .reaction {
float: right;
font-size: 0.9em;
margin-left: 10px;
}
div.news .reaction {
float: right;
font-size: 0.9em;
margin-left: 10px;
}
/* Custom JQuery styles */
.ui-autocomplete, .ui-menu {
border-radius: 2px;
border: 1px solid var(--oc-gray-4);
}
.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: var(--oc-blue-7);
background: var(--oc-blue-7);
}
.ui-widget-overlay {
background: var(--oc-black);
opacity: 70%;
}
/* Custom tribute styles */
.tribute-container ul {
background-color: var(--oc-white);
border: 1px solid var(--oc-gray-4);
border-radius: 2px;
}
.tribute-container li.highlight {background-color: var(--oc-blue-7); color:var(--oc-white);}
/************* 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: var(--oc-white); }
#content { width: 99%; margin: 0; padding: 0; border: 0; background: var(--oc-white); 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 var(--oc-gray-5);}
}
/* 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 var(--oc-gray-4);
border-radius: 3px;
box-shadow: 0 1px 2px rgba(var(--oc-gray-9-rgb), 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: var(--oc-gray-8) 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;
}