@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
:root {
	--text-color: #212121;
	--border-color: #7dbfb3;
	--section-background: #fafdfb;
}
*				{ box-sizing: border-box; }
html			{ scroll-behavior: smooth; }
body			{ background-color: #f3f9f8; color: var(--text-color); font-family: Inter, Arial, sans-serif; font-size: 0.75rem; margin: 30px 3% 20px; }
b				{ font-weight: 600; }
address 		{ font-size: 0.75rem }
pre				{ margin-top: 0px; margin-bottom: 0px; }
small			{ font-size: 0.9167em; }
a				{ text-decoration: none; }
a:link    		{ color: #0056B4; }
a:visited 		{ color: #BB4488; }
a:hover			{ background-color: #e5e5e5; }
a:active 		{ color: #0b93ff; }
a.subtle		{ color: blue; text-decoration: none; }
a.resolved		{ text-decoration: line-through underline; }
a > img			{ border: none; }

form			{ display: inline; }
textarea		{ padding: 4px 8px; font-family: Inter, arial, sans-serif; font-size: 0.8125rem; width: calc(100% - 18px); border: 1px solid var(--border-color); border-radius: 5px; }
input			{ padding: 3px 8px 4px; font-family: Inter, arial, sans-serif; font-size: 0.8125rem; border: 1px solid var(--border-color); margin-bottom: 1px; border-radius: 5px; }
input.fullwidth	{ width: calc(100% - 18px); }
input[type="button"], input[type="submit"], input.button, input.button-small, a.button, button, input[type="file"]::file-selector-button {
	background-color: #E9EAEA;
    color: var(--text-color);
	font-family: Inter, arial, sans-serif;
	font-weight: 500;
    font-size: 0.75rem;
	border: 1px solid #67676b;
	border-radius: 5px;
	-moz-border-radius: 5px;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
	padding: 4px 8px;
	white-space: nowrap;
	display: inline-block;
  	margin-bottom: 1px;
	transition: all 400ms;
}
input[type="file"] { padding: 0 0 3px; border:none; font-size: 0.75rem; }
input.button-small button.button-small {
    font-size: 0.75rem;
}
input[type="button"]:hover:not(:disabled), input[type="submit"]:hover:not(:disabled), input.button:hover:not(:disabled), input.button-small:hover:not(:disabled), a.button:hover, button:hover:not(:disabled), input[type="file"]:hover:not(:disabled)::file-selector-button {
	background-color: #d0d0d7;
}
input[type="button"]:active, input[type="submit"]:active, input.button:active, input.button-small:active, a.button:active, button:active, input[type="file"]:active::file-selector-button {
	background-color: #d0d0d7;
	box-shadow: none;
}
input[type="submit"]:disabled, input[type="button"]:disabled {
	color: #868698;
	border-color: #d4d4d6;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.1);
}
input[type="submit"].danger:not(:disabled) {
	color: #b00;
}
input[type="submit"].danger:hover:not(:disabled) {
	color: #fff;
	background-color: #b00;
}
input[type="checkbox"] {
    position: relative;
    top: 2px;
}
input:invalid { border: 1px solid #b00; }
input[type="image"] { vertical-align: middle; margin-bottom: 2px; }
select				{ border: 1px solid var(--border-color); background: #fff; padding: 3px 6px 4px; margin-bottom: 1px; border-radius: 5px; }

label				{ font-weight: 600; margin-right: 1em; margin-bottom: 5px; }
label + div			{ display: inline-block; }
#filters_form_open td > label { display: inline-block; min-width: 37%; vertical-align: top; }
#filters_form_open td[colspan="3"] > label { min-width: 12%; }

span.print			{ font-size: 0.8125rem; }
span.required 		{ font-size: 0.8125rem; color: #bb0000; }
span.small 			{ font-size: 0.75rem; font-weight: normal; }
span.pagetitle		{ font-size: 1rem; font-weight: bold; text-align: center }
span.bracket-link	{ white-space: nowrap; font-weight: 500; }

span.dependency_dated	{ color: maroon; }
span.dependency_met		{ color: green; }
span.dependency_unmet	{ color: red; }
span.dependency_upgrade	{ color: orange; }

table.hide			{ width: 100%; border: solid 0px #ffffff; border-spacing: 0; }
table.width100		{ width: 100%; }
table.width90		{ width: 90%;  margin-left: auto; margin-right: auto; }
table.width75		{ width: 75%;  margin-left: auto; margin-right: auto; }
table.width60		{ width: 60%;  margin-left: auto; margin-right: auto; }
table.width50		{ width: 50%;  margin-left: auto; margin-right: auto; }
table.width100, table.width90, table.width75, table.width60, table.width50 { border: solid 1px var(--border-color); border-radius: 8px; background: var(--section-background); }
table#buglist tr:hover > td:not(:has(.issue-status)) { background: #f8fffa; }

div.width100		{ width: 100%; border: solid 1px var(--border-color); padding:15px; }
/*table.menu			{ width: 100%; border: none; }*/

#fixed_scroll 		{ position: fixed; top: 0; width: 94%; border: solid 2px #000; background: white; z-index: 1000; }
#fixed_scroll table { width: 100%; }
.hidden-first 		{ opacity: 0; filter:alpha(opacity=0); }
.transparent		{ opacity: 0; filter:alpha(opacity=0); -webkit-animation: hide 1s; animation: hide 1s; }
.opaque				{ opacity: 1; filter:alpha(opacity=100); -webkit-animation: show 1s; animation: show 1s; }
@-webkit-keyframes show { from { opacity: 0; filter:alpha(opacity=0); } to { opacity: 1; filter:alpha(opacity=100); } }
@keyframes show         { from { opacity: 0; filter:alpha(opacity=0); } to { opacity: 1; filter:alpha(opacity=100); } }
@-webkit-keyframes hide { from { opacity: 1; filter:alpha(opacity=100); } to { opacity: 0; filter:alpha(opacity=0); } }
@keyframes hide         { from { opacity: 1; filter:alpha(opacity=100); } to { opacity: 0; filter:alpha(opacity=0); } }

tr.row-category th	{ text-align: center; }
th { padding: 8px; text-align: center; color: var(--text-color); vertical-align: top; font-size: 0.8125rem; font-weight: 600; }
th:not(:first-child){ border-left: 1px solid var(--border-color); }
table#buglist tr > td:not(:first-child) { border-left: 1px solid var(--border-color); }
table#buglist tr:not(:last-child) > td, table#buglist tr > th { border-bottom: 1px solid var(--border-color); }
table#buglist td	{ word-wrap: break-word; max-width: 300px; position: relative; }
table#buglist tr.expandable td div { overflow: hidden; max-height: 74px; transition: max-height 1s; }
table#buglist tr.expanded td div { overflow: hidden; max-height: 400px; transition: max-height 1s; }
table#buglist td .toggle-height { position: absolute; right: 2px; bottom: 2px; font-size: 1.5rem; line-height: 1em; }
td 					{ font-size: 0.75rem; padding: 6px 12px; text-align: left; }
tr.header + tr > td { padding-top: 12px; }
table.width90 td	{ padding: 2px 12px 2px 0; }
table.width90 > tbody > tr > td:first-child	{ padding: 2px 12px; }
table.width90 tr:has(th) + tr > td			{ padding-top: 15px !important; }
table.width90 tr:has(+ tr.footer) > td		{ padding-bottom: 15px !important; }
input::placeholder, textarea::placeholder	{ color: #555; }
table.width90 select						{ min-width: 280px; }
table.width90 input.error, table.width90 select.error, table.width90 textarea.error, em.error { border: 1px solid #b00; }
em.error									{ padding: 2px 4px; border-radius: 8px; margin-left: -4px; }
table.width90 table.width100				{ border: none; }
div#profile_open, div#profile_closed		{ display: inline-block; margin-bottom: 10px; }
div#profile_open							{ width: 94%; }
div#profile_open.hidden, div#profile_closed.hidden	{ display: none; }
td tr:first-child.vcenter td	{ padding: 0px 10px; }
tr.footer > td > input.button	{ margin-left: 10px; margin-right: 10px; }
.row-2 td.small-caption			{ text-align: center; }
#history_open .row-2 td.small-caption, #bugnotestats_open .row-2 td.small-caption	{ text-align: left; }
#bugnotes_open > table > tbody > tr:not(.header,.spacer) > td { padding-bottom: 10px; }
.row-2 td.small-caption #due_date { width:102px; }
td.center			{ text-align: center; }
td.center > table	{ margin-left: auto; margin-right: auto; }
td.left				{ text-align: left; }
td.right			{ text-align: right; }
td.category			{ color: var(--text-color); vertical-align: top; font-weight: 600; }
tr.header > td.category	{ vertical-align: middle; }
tr.header > td		{ padding: 6px 12px !important; }
tr.bug-primary td	{ font-size: 0.75rem; vertical-align: top; }
td.overdue			{ color: #ff6060; font-weight: bold; }
td.disabled			{ background-color: #eeece5; color: #4A727F; font-style: italic; font-weight: normal; }
td.gap				{ background-color: white; padding: 4px; }
td.error			{ background-color: #ff6060; color: var(--text-color); font-weight: bold; }
td.col-1			{ background-color: #F9F9F9; }
td.col-2			{ background-color: #8FD594; }
td.form-title		{ font-size: 0.875rem; font-weight: 600; color: var(--text-color); }
tr:not(:last-child) td.form-title	 { border-bottom: 1px solid var(--border-color); }
tr:not(:first-child) > td.form-title	{ border-top: 1px solid var(--border-color); }
td.form-title > form { margin-left: 12px; }
td.form-title-caps	{ font-weight: bold; text-align: left; text-transform: uppercase; }
td.nopad			{ padding: 0px; }
td.small-caption	{ font-size: 0.75rem; }
td.print			{ font-size: 0.75rem; text-align: left; padding: 2px; }
td.print-category	{ font-size: 0.75rem; font-weight: bold; text-align: right; padding: 2px; }
td.print-overdue		{ font-size: 0.75rem; font-weight: bold; padding: 2px; }
td.print-bottom		{ border-bottom: 1px solid #212121; }
td.print-spacer		{ background-color: #e5f1e2; font-size: 1px; line-height: 0.1; padding: 0px; }

tr.spacer			{ background-color: var(--border-color); height: 1px; }
tr.spacer td		{ padding: 0; }
tr.padded-spacer	{ background-color: #e5f1e2; }
tr.padded-spacer td	{ padding: 2px; border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
tr.bug-primary > td:nth-child(2n + 3),
#issue_metadata_closed tr:first-child td.category, #history_open td:not(:first-child),
#bugnotestats_open table td:not(.category) table td:not(:first-child),
.with-columns > tbody > tr > td:not(.form-title):not(:first-child) { border-left: 1px solid var(--border-color); }
#bugnotestats_open table td:not(.category) table { border: 1px solid var(--border-color); }
.with-paging tr:last-child td { border-top: 1px solid var(--border-color); }

tr.header, tr.footer, tr:has(td.form-title), tr:has(th.form-title) { background-color: #e2f1ee; }
th.form-title, tr.header:not(:last-child) > td	{ border-bottom: 1px solid var(--border-color); }
table:not(#buglist) tr.footer > td	{ border-top: 1px solid var(--border-color); }
table.width90 tr.footer > td		{ padding: 8px 12px; }
#filter_closed						{ position: sticky; top: -15px; z-index: 1; }
#filter_closed.stuck table.width100 { border-radius: 0; }
#buglist tr:first-child				{ position: sticky; top: 40px; z-index: 1; }
#buglist tr:nth-child(2)			{ position: sticky; top: 70px; z-index: 1; }
#filter_closed tr.footer > td		{ border-top: none !important; }
#filter_closed tr.footer select		{ margin-bottom: 0; }
tr.footer:first-child > td			{ padding: 0; }
tr.subheader, td.subheader			{ background: #e5f1e2; }
tr.subheader > th, tr.subheader > td{ border-bottom: 1px solid var(--border-color); text-align: center; border-top: 1px solid var(--border-color); }
tr:has(.form-title) + tr.subheader > td, tr:has(.form-title) + tr.subheader > th { border-top: none; }
tr.subheader > th.form-title, tr.subheader > td.form-title	{ border-bottom: none; }
tr.bottom-border > td, tr.bottom-border > th			{ border-bottom: 1px solid var(--border-color); }
tr.subtotal > td, tr.subtotal > th						{ background: #e5f1e2; font-weight: 600; border-top: 1px solid var(--border-color); }
table.width90 > tbody > tr:first-child > td, table.width90 > tbody > tr:first-child > th, tbody > tr.first-visible > td	{ padding-top: 15px; }
table.width90 > tbody > tr:last-child > td, tbody > tr:last-child > th	{ padding-bottom: 15px; }
#profile_open tbody > tr:first-child > td				{ padding-top: 0px !important; }
#profile_open tbody > tr:last-child > td				{ padding-bottom: 0px; }

tr.top-border > td	{ border-top: 1px solid var(--border-color); }
tr.row-category td	{  text-align:center; border-bottom: 1px solid var(--border-color); }
tr.row-category-history { font-weight: bold;}
tr.row-category-history td {  text-align: left; border-bottom:1px solid var(--border-color); }
tr.vcenter			{ vertical-align: middle; }
tr.print			{ vertical-align: top; }
tr.print-category	{ font-weight: bold; }

#buglist tr			{ text-align: center; }

td.bugnote-public		{ font-weight: bold; width: 25%; line-height: 1.4; vertical-align: top; }
td.bugnote-private		{ background-color: #e2f1ee; font-weight: bold; width: 25%; line-height: 1.4; vertical-align: top; }
td.bugnote-note-public	{ width: 75%; vertical-align: top; }
td.bugnote-note-private	{ background-color: #e2f1ee; width: 75%; vertical-align: top; }
tr.bugnote-hashelp > td:first-child { border-right: 6px solid var(--border-color); }
tr.bugnote-hashelp > td:last-child b { color: #007a7c; }

.grid				{ display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; }
.grid-middle		{ grid-column: 2; justify-self: center; }
.grid-right			{ text-align: right; grid-column: 3; justify-self: end; }

.project-current	{ padding: 5px 0 2px; text-align: center; font-size: 1.25rem; font-weight: 600; font-family: "Plus Jakarta Sans", sans-serif; color: #054c32; }
.project-current > span { font-weight: 400; }
.menu				{ color: var(--text-color); text-align: center; padding: 5px; font-size: 0.9375rem; font-weight: 500; }
.menu a				{ white-space: nowrap; }

td.news-body		{ background-color: #ffffff; padding: 16px; }

img.icon			{ width: 11px; height: 11px; }
img.delete-icon		{ position: relative; top: 5px; border: 0; }

/*div.menu			{ color: var(--text-color); text-align: center; width: 100%; padding: 1px; }*/

ul.project-menu, ul.project-menu ul.sub-menu {
    list-style: none;
    margin: 0;
	font-family: "Plus Jakarta Sans", sans-serif;
}
ul.project-menu > li.menu-item {
    display: inline;
    position: relative;
    padding: 0 0 3px;
}
ul.project-menu ul.sub-menu {
    display: none;
    padding: 5px 1px;
	text-align: left;
    /* border: 1px solid #AC7F2A; */
    position: absolute;
    left: 0;
    top: 16px;
    z-index: 1000;
    background: #fff; /* #F7EBD9; */
    box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
}
ul.project-menu ul.sub-menu ul.sub-menu {
    left: 99%;
    top: -8px;
}
ul.project-menu > li.menu-item:last-child > ul.sub-menu {
    right: 0;
    left: auto;
}
ul.project-menu li.menu-item:hover > ul.sub-menu {
    display: block;
}
ul.project-menu ul.sub-menu > li.menu-item {
    display: block;
    padding: 2px 18px 2px 6px;
    position: relative;
}
ul.project-menu ul.sub-menu > li.menu-item:has(ul)::after {
	content: ">";
	position: absolute;
	right: 2px;
	font-size: 0.9375rem;
	top: 4px;
}
ul.project-menu ul.sub-menu > li.menu-item:hover {
    background: #E0F2F1;
}

div.center			{
	width: 50%;
	margin-right: auto;
	margin-left: auto;
}

div.border			{
	background-color: #ffeae8;
	border: solid 1px var(--text-color);
	text-align: center;
	position: relative;
}

div.quick-summary-left	{ width: 49%; padding: 2px; text-align: left;  float: left; }
div.quick-summary-right	{ width: 49%; padding: 2px; text-align: right; float: right; font-size: 0.875rem; }

.center				{ text-align: center; }
.left				{ text-align: left; }
.right				{ text-align: right; }
.floatright			{ float: right; }
.floatleft			{ float: left; }
.small				{ font-size: 0.75rem; }
.small-normal 		{ font-size: 0.75rem; font-weight: normal; }
.small-subprojects	{ font-size: 0.75rem; width: 200px; }
.bold				{ font-weight: bold; }
.bold-small			{ font-weight: bold; font-size: 0.75rem; }
.italic				{ font-style: italic; }
.italic-small		{ font-style: italic; font-size: 0.75rem; }
.underline			{ text-decoration: underline; }
.underline-small	{ text-decoration: underline; font-size: 0.75rem; }
.strike				{ text-decoration: line-through; }
.strike-small		{ text-decoration: line-through; font-size: 0.75rem; }
.hidden				{ display: none; }

.nowrap				{ white-space: nowrap; }
.positive			{ color: green; }
.negative			{ color: red; }
.avatar				{ float: right; border: 0; }

.progress400		{ position: relative; width: 400px; border: 1px solid #d7d7d7; margin-top: 1em; margin-bottom: 1em; padding: 1px; }
.progress400 .bar	{ display: block; position: relative; background: #6bba70; text-align: center; font-weight: normal; color: var(--text-color); height: 2em; line-height: 2em; }

div.main-page-content		{ background: var(--section-background); width: fit-content; margin: 30px auto; font-size: 1rem; line-height: 2em; padding: 8px 40px 20px; border: 1px solid var(--border-color); border-radius: 8px; }
div.main-page-content h4	{ margin-top: 30px; margin-bottom: 10px; }
div.main-page-content > ul	{ margin-top: 10px; }

.companylogo img			{ border-radius: 5px; position: absolute; z-index: -1; max-height: 98px; }

.markdown					{ line-height: 1.25em; }
.markdown div				{ margin: 0.1em 0 0.1em 1em; }
.markdown div > span		{ display: inline-block; min-width: 1.4em; }
.markdown ul				{ padding-left: 2em; margin: 0.35em 0; }
.markdown ul:first-child	{ margin-top: 0; }
.markdown li				{ padding-left: 0.4em; }
.markdown blockquote		{ margin: 0 1em; border-left: 6px solid #ccc; padding: 0.3em 0.7em; }
.markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 { font-family: Inter, arial, sans-serif; margin-top: 0.4em; margin-bottom: 0.2em; }
.markdown h1				{ font-size: 1.167em; font-weight: 700; color: #054c32; }
.markdown h2				{ font-size: 1.083em; font-weight: 700; color: #054c32; }
.markdown h3				{ font-size: 1.083em; font-weight: 600; }
.markdown h4				{ font-size: 1.083em; font-weight: 500; }
.markdown h5				{ font-size: 1em; font-weight: 500;}
.markdown h6				{ font-size: 0.917em; font-weight: 500; }
.markdown h1:first-child, .markdown h2:first-child, .markdown h3:first-child, .markdown h4:first-child, .markdown h5:first-child, .markdown h6:first-child { margin-top: 0; }
.markdown h1 + br, .markdown h2 + br, .markdown h3 + br, .markdown h4 + br, .markdown h5 + br, .markdown h6 + br, .markdown ul + br { margin-top: -1em; }
.markdown table				{ border-collapse: collapse; }
.markdown th, .markdown td { border: 1px solid var(--border-color); padding: 6px 8px; }
.markdown hr				{ margin: 2px 0; max-width: 24px; border: 1px solid #ccc; }

@media (max-width: 768px) {
	body								{ margin: 5px; }
	table								{ display: block; overflow-x: auto; width: 100%; }
	#bugnotestats_open table td:not(.category) table { display: table; }
	#fixed_scroll						{ width:calc(100% - 14px); }
	#fixed_scroll td:nth-child(3)		{ display: none; }
	#bugnote_add_open td:first-child { min-width: 125px; }
	input[type="text"][size="5"]		{ min-width: 56px; }
	table.width100, table.width90, table.width75, table.width60 { width: 100%; }
	table.width50						{ width: 80%; }
	table.width50 thead, table.width50 tbody, table.width50 tr, table.width50 th, table.width50 td { display: block; width: 100%; }
	table.width50 td:not(:last-child)	{ border-bottom-width: 0; padding-bottom: 5px; }
	table.width50 td:not(:first-child)	{ padding-top: 5px; }
	table.width50 td input[type="text"], table.width50 td input[type="password"] { width: calc(100% - 42px); }
	input[type="text"], input[type="password"], textarea { font-size: 1rem; }
	.grid			{ grid-template-columns: 1fr; gap: 0; }
	.grid-middle	{ grid-column: 1; grid-row: 2; }
	.grid-right		{ grid-column: 1; grid-row: 1; }
	.companylogo img { max-width: 45%; max-height: 90px; }
	#buglist tr:first-child				{ position: relative; top: 0; z-index: 0; }
	#buglist tr:nth-child(2)			{ position: relative; top: 0; z-index: 0; }
}