631 lines
13 KiB
CSS
631 lines
13 KiB
CSS
/***** RESET BROWSER STYLE *****/
|
|
/*******************************/
|
|
|
|
html, body, div, span, applet, object, iframe,
|
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
|
a, abbr, acronym, address, big, cite, code,
|
|
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
|
small, strike, strong, sub, sup, tt, var,
|
|
b, u, i, center, ol, ul, li,
|
|
fieldset, form, label, legend,
|
|
table, caption, tbody, tfoot, thead, tr, th, td {
|
|
background: transparent;
|
|
border: 0;
|
|
margin: 0;
|
|
padding: 0;
|
|
vertical-align: baseline;
|
|
line-height: 1.5;
|
|
outline: none;
|
|
}
|
|
|
|
html {
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
-ms-overflow-style: scrollbar
|
|
}
|
|
|
|
body {
|
|
color:var(--primary-font-color);
|
|
}
|
|
|
|
*, ::after, ::before {
|
|
-webkit-box-sizing: inherit;
|
|
box-sizing: inherit
|
|
}
|
|
|
|
.container {
|
|
position: relative;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding-right: 15px;
|
|
padding-left: 15px
|
|
}
|
|
|
|
.container-fluid {
|
|
position: relative;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding-right: 15px;
|
|
padding-left: 15px
|
|
}
|
|
|
|
.row {
|
|
display: -webkit-box;
|
|
display: -webkit-flex;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-flex-wrap: wrap;
|
|
-ms-flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
margin-right: -5px;
|
|
margin-left: -5px
|
|
}
|
|
|
|
.no-gutters {
|
|
margin-right: 0;
|
|
margin-left: 0
|
|
}
|
|
|
|
.no-gutters > .col, .no-gutters > [class*=col-] {
|
|
padding-right: 0;
|
|
padding-left: 0
|
|
}
|
|
|
|
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9 {
|
|
position: relative;
|
|
width: 100%;
|
|
min-height: 1px;
|
|
padding-right: 10px;
|
|
padding-left: 10px;
|
|
}
|
|
|
|
.col {
|
|
-webkit-flex-basis: 0;
|
|
flex-basis: 200px;
|
|
-webkit-box-flex: 1;
|
|
-webkit-flex-grow: 1;
|
|
flex-grow: 1;
|
|
max-width: 100%
|
|
}
|
|
|
|
.col-auto {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 auto;
|
|
-ms-flex: 0 0 auto;
|
|
flex: 0 0 auto;
|
|
width: auto
|
|
}
|
|
|
|
.col-1 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 8.555555%;
|
|
-ms-flex: 0 0 8.555555%;
|
|
flex: 0 0 8.555555%;
|
|
max-width: 8.555555%
|
|
}
|
|
|
|
.col-2 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 16.666667%;
|
|
-ms-flex: 0 0 16.666667%;
|
|
flex: 0 0 16.666667%;
|
|
max-width: 16.666667%
|
|
}
|
|
|
|
.col-3 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 25%;
|
|
-ms-flex: 0 0 25%;
|
|
flex: 0 0 25%;
|
|
max-width: 25%
|
|
}
|
|
|
|
.col-4 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 33.555555%;
|
|
-ms-flex: 0 0 33.555555%;
|
|
flex: 0 0 33.555555%;
|
|
max-width: 33.555555%
|
|
}
|
|
|
|
.col-5 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 41.666667%;
|
|
-ms-flex: 0 0 41.666667%;
|
|
flex: 0 0 41.666667%;
|
|
max-width: 41.666667%
|
|
}
|
|
|
|
.col-6 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 50%;
|
|
-ms-flex: 0 0 50%;
|
|
flex: 0 0 50%;
|
|
max-width: 50%
|
|
}
|
|
|
|
.col-7 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 58.555555%;
|
|
-ms-flex: 0 0 58.555555%;
|
|
flex: 0 0 58.555555%;
|
|
max-width: 58.555555%
|
|
}
|
|
|
|
.col-8 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 66.666667%;
|
|
-ms-flex: 0 0 66.666667%;
|
|
flex: 0 0 66.666667%;
|
|
max-width: 66.666667%
|
|
}
|
|
|
|
.col-9 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 75%;
|
|
-ms-flex: 0 0 75%;
|
|
flex: 0 0 75%;
|
|
max-width: 75%
|
|
}
|
|
|
|
.col-10 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 83.555555%;
|
|
-ms-flex: 0 0 83.555555%;
|
|
flex: 0 0 83.555555%;
|
|
max-width: 83.555555%
|
|
}
|
|
|
|
.col-11 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 91.666667%;
|
|
-ms-flex: 0 0 91.666667%;
|
|
flex: 0 0 91.666667%;
|
|
max-width: 91.666667%
|
|
}
|
|
|
|
.col-12 {
|
|
-webkit-box-flex: 0;
|
|
-webkit-flex: 0 0 100%;
|
|
-ms-flex: 0 0 100%;
|
|
flex: 0 0 100%;
|
|
max-width: 100%
|
|
}
|
|
|
|
.pull-0 {
|
|
right: auto
|
|
}
|
|
|
|
.pull-1 {
|
|
right: 8.555555%
|
|
}
|
|
|
|
.pull-2 {
|
|
right: 16.666667%
|
|
}
|
|
|
|
.pull-3 {
|
|
right: 25%
|
|
}
|
|
|
|
.pull-4 {
|
|
right: 33.555555%
|
|
}
|
|
|
|
.pull-5 {
|
|
right: 41.666667%
|
|
}
|
|
|
|
.pull-6 {
|
|
right: 50%
|
|
}
|
|
|
|
.pull-7 {
|
|
right: 58.555555%
|
|
}
|
|
|
|
.pull-8 {
|
|
right: 66.666667%
|
|
}
|
|
|
|
.pull-9 {
|
|
right: 75%
|
|
}
|
|
|
|
.pull-10 {
|
|
right: 83.555555%
|
|
}
|
|
|
|
.pull-11 {
|
|
right: 91.666667%
|
|
}
|
|
|
|
.pull-12 {
|
|
right: 100%
|
|
}
|
|
|
|
.push-0 {
|
|
left: auto
|
|
}
|
|
|
|
.push-1 {
|
|
left: 8.555555%
|
|
}
|
|
|
|
.push-2 {
|
|
left: 16.666667%
|
|
}
|
|
|
|
.push-3 {
|
|
left: 25%
|
|
}
|
|
|
|
.push-4 {
|
|
left: 33.555555%
|
|
}
|
|
|
|
.push-5 {
|
|
left: 41.666667%
|
|
}
|
|
|
|
.push-6 {
|
|
left: 50%
|
|
}
|
|
|
|
.push-7 {
|
|
left: 58.555555%
|
|
}
|
|
|
|
|
|
.push-8 {
|
|
left: 66.666667%
|
|
}
|
|
|
|
.push-9 {
|
|
left: 75%
|
|
}
|
|
|
|
.push-10 {
|
|
left: 83.555555%
|
|
}
|
|
|
|
.push-11 {
|
|
left: 91.666667%
|
|
}
|
|
|
|
.push-12 {
|
|
left: 100%
|
|
}
|
|
|
|
.offset-1 {
|
|
margin-left: 8.555555%
|
|
}
|
|
|
|
.offset-2 {
|
|
margin-left: 16.666667%
|
|
}
|
|
|
|
.offset-3 {
|
|
margin-left: 25%
|
|
}
|
|
|
|
.offset-4 {
|
|
margin-left: 33.555555%
|
|
}
|
|
|
|
.offset-5 {
|
|
margin-left: 41.666667%
|
|
}
|
|
|
|
.offset-6 {
|
|
margin-left: 50%
|
|
}
|
|
|
|
.offset-7 {
|
|
margin-left: 58.555555%
|
|
}
|
|
|
|
.offset-8 {
|
|
margin-left: 66.666667%
|
|
}
|
|
|
|
.offset-9 {
|
|
margin-left: 75%
|
|
}
|
|
|
|
.offset-10 {
|
|
margin-left: 83.555555%
|
|
}
|
|
|
|
.offset-11 {
|
|
margin-left: 91.666667%
|
|
}
|
|
|
|
.mainwrapper {
|
|
background:var(--header-gradient);
|
|
background-size: 100vw 100vh;
|
|
background-attachment: fixed;
|
|
}
|
|
|
|
.rightpanel {
|
|
background-size: contain;
|
|
background-position: bottom;
|
|
min-height: 100vh;
|
|
|
|
}
|
|
|
|
.rightpanel:before {
|
|
|
|
position: absolute;
|
|
height: calc(100% + 50px);
|
|
width: 100%;
|
|
left: 0;
|
|
top: -50px;
|
|
content: " ";
|
|
opacity: .5;
|
|
mix-blend-mode: multiply;
|
|
background-size:cover;
|
|
background-image:url(/dist/images/backgrounds/bg5.png);
|
|
background-repeat:no-repeat;
|
|
background-position:center;
|
|
background-attachment: fixed;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.rightpanel.personal:before {
|
|
|
|
}
|
|
|
|
.rightpanel.project:before {
|
|
|
|
}
|
|
|
|
.rightpanel.company:before {
|
|
|
|
}
|
|
|
|
.rightpanel {
|
|
padding-top:50px;
|
|
}
|
|
|
|
.rightpanel::after {
|
|
clear: both;
|
|
content: '';
|
|
display: block;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.overlay::after {
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
|
|
.primaryContent {
|
|
min-height:calc(100vh - 50px);
|
|
padding-top:10px;
|
|
padding-bottom:10px;
|
|
position: relative;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
|
|
|
|
.leftpanel {
|
|
width: 240px;
|
|
color: #fff;
|
|
float: left;
|
|
clear: both;
|
|
background:var(--left-panel-bg);
|
|
position:sticky;
|
|
height:calc(100vh - 70px);
|
|
z-index: 9;
|
|
display: flex;
|
|
flex-direction: column;
|
|
top:70px;
|
|
margin-top:20px;
|
|
left:10px;
|
|
border-radius: var(--box-radius-large);
|
|
|
|
overflow:hidden;
|
|
}
|
|
|
|
.header {
|
|
clear: both;
|
|
height: 50px;
|
|
position: fixed;
|
|
top:0px;
|
|
z-index: 15;
|
|
width: 100%;
|
|
box-shadow: var(--large-shadow);
|
|
backdrop-filter: var(--glass-blur);
|
|
/*background:var(--header-bg-color);*/
|
|
}
|
|
|
|
/* Pageheader is a glass card matching the content card below it, floating on
|
|
the app's gradient background (which lives on .rightpanel, untouched). The
|
|
old design used a 150px invisible cushion + a -95px content overlap to make
|
|
the header float transparently on the gradient; that's replaced by a proper
|
|
boxed header. Applied globally so every page's header is consistent. */
|
|
.pageheader {
|
|
display: flex;
|
|
align-items: center;
|
|
/* Allow the right cluster (meta/summary + actions) to wrap below the title
|
|
on narrow viewports instead of forcing horizontal overflow — mobile.css
|
|
only adjusts padding/min-height, not the flex behavior. */
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
padding: 8px 18px;
|
|
height: auto;
|
|
line-height: 1.3;
|
|
position: relative;
|
|
/* Above the nav bar (z-index 11) so the breadcrumb + sprint ⋮ dropdowns,
|
|
which open downward into the nav bar's area, render on top of it. */
|
|
z-index: 12;
|
|
/* Match the content card exactly (same bg, NO backdrop blur) so the header
|
|
and content read as one cohesive surface, not mismatched cards. */
|
|
background: var(--glass-background);
|
|
border: var(--glass-border);
|
|
border-radius: var(--box-radius);
|
|
box-shadow: var(--large-shadow);
|
|
/* Horizontal margin matches .maincontent's 15px padding so the header card
|
|
lines up with the content card below it (was full-width → stuck out
|
|
wider, which read as a box-inside-a-box). No bottom margin: the gap to the
|
|
next block comes solely from .maincontent's 10px padding-top, so the
|
|
vertical rhythm (top-nav→header, header→nav/content) is an even 10px
|
|
everywhere (was 8px margin + 10px padding = an uneven 18px). */
|
|
margin: 0 15px 0 15px;
|
|
}
|
|
|
|
.pageheader .pagetitle {
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
/* Must be visible, not hidden — the breadcrumb switcher's dropdown menu
|
|
lives inside here and overflow:hidden would clip it shut. */
|
|
overflow: visible;
|
|
}
|
|
|
|
/* Header content must be able to shrink so it never forces the card wider than
|
|
the viewport (flex children need min-width:0 to shrink below content size). */
|
|
.pageheader .pagetitle > * {
|
|
min-width: 0;
|
|
}
|
|
|
|
/* Right cluster on the header: secondary metadata (board stats, "updated …")
|
|
plus optional actions (the sprint ⋮ menu), on ONE line with the title — so
|
|
the header stays compact instead of adding a sub-line row. Shared by Tasks +
|
|
the report header. */
|
|
.pageheader-right {
|
|
flex: 0 0 auto;
|
|
margin-left: auto;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding-left: 16px;
|
|
}
|
|
.pageheader-meta {
|
|
font-size: var(--font-size-s);
|
|
color: var(--primary-font-color);
|
|
/* .75 (was .6): review feedback — the meta text was hard to read. */
|
|
opacity: .75;
|
|
}
|
|
/* Muted crumb separator — the "/" between orientation segments in a page
|
|
title ("Resources / Plan", "Docs / Default"), matching the report header.
|
|
Opacity (not --secondary-font-color, which is #000 in the default theme)
|
|
so it reads as muted on every theme. */
|
|
.pagetitle h1 .crumb-sep,
|
|
.subjectSwitcher-sep {
|
|
color: var(--primary-font-color);
|
|
opacity: .45;
|
|
}
|
|
/* Sprint edit/delete ⋮ menu — a subtle icon button inline in the right cluster
|
|
(only rendered for a real sprint view). */
|
|
.pageheader-right .headerEditDropdown {
|
|
padding: 0;
|
|
line-height: 1;
|
|
}
|
|
.pageheader-right .headerEditDropdown > .btn-transparent {
|
|
color: var(--primary-font-color);
|
|
opacity: .5;
|
|
border: none;
|
|
background: transparent;
|
|
padding: 4px 8px;
|
|
box-shadow: none;
|
|
}
|
|
.pageheader-right .headerEditDropdown > .btn-transparent:hover {
|
|
opacity: .9;
|
|
}
|
|
|
|
.maincontent {
|
|
float: left;
|
|
width: 100%;
|
|
padding: 10px 15px;
|
|
margin-top: 0;
|
|
position:relative;
|
|
z-index:5;
|
|
}
|
|
|
|
.maincontentinner {
|
|
border-radius:var(--box-radius);
|
|
background:var(--glass-background);
|
|
position:relative;
|
|
padding:14px; /* account for 1px border */
|
|
margin-bottom:10px;
|
|
box-shadow: var(--large-shadow);
|
|
|
|
border: var(--glass-border);
|
|
}
|
|
|
|
.footer {
|
|
border-radius:var(--box-radius);
|
|
background: var(--glass-background);
|
|
backdrop-filter: var(--glass-blur);
|
|
-webkit-backdrop-filter: var(--glass-blur);
|
|
position:relative;
|
|
|
|
margin-bottom:20px;
|
|
box-shadow: var(--large-shadow);
|
|
|
|
border: var(--glass-border);
|
|
|
|
font-size: var(--font-size-s);
|
|
|
|
color: var(--primary-font-color);
|
|
padding:10px 20px;
|
|
|
|
overflow: hidden;
|
|
clear: both;
|
|
margin: 10px 15px;
|
|
margin-bottom:40px;
|
|
}
|
|
|
|
.footer .footer-left {
|
|
float: left;
|
|
}
|
|
|
|
.footer .footer-right {
|
|
float: right;
|
|
}
|
|
|
|
.announcementBanner{
|
|
background:linear-gradient(170deg, var(--accent1) 20%,var(--accent2) 90%);
|
|
height:40px;
|
|
width:100%;
|
|
text-align:center;
|
|
line-height:40px;
|
|
color:var(--main-action-color);
|
|
position: fixed;
|
|
bottom:0px;
|
|
z-index: 100;
|
|
}
|
|
|
|
.announcementBanner:before {
|
|
|
|
}
|
|
|
|
/* ── Document-page mode ──────────────────────────────────────────────
|
|
body.lt-doc-page: for pages whose content card renders its OWN doc-shell
|
|
header (the stakeholder reports' .rd-hdr — see report-deck.css). The shared
|
|
teal pageheader collapses (kept in the DOM so its lifecycle hooks still
|
|
fire) and the content shell goes flush/transparent so the document card IS
|
|
the page. ONE implementation for every doc-shell page — never re-create
|
|
this per page in a template. Specificity (body + class) outranks the plain
|
|
.pageheader/.maincontentinner base rules, so no !important is needed.
|
|
(RA's body.ra-page-active predates this mode and should converge onto it
|
|
in the tab-component rollout follow-ups.) */
|
|
body.lt-doc-page .pageheader {
|
|
display: none;
|
|
}
|
|
body.lt-doc-page .maincontent {
|
|
margin-top: 0;
|
|
padding-top: 14px;
|
|
}
|
|
body.lt-doc-page .maincontentinner {
|
|
background: transparent;
|
|
border: none;
|
|
box-shadow: none;
|
|
border-radius: 0;
|
|
padding: 0;
|
|
backdrop-filter: none;
|
|
-webkit-backdrop-filter: none;
|
|
}
|