/*============================================

	RESET

============================================*/
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing:border-box;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
	box-sizing:border-box;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select {
	box-sizing:border-box;
	cursor:pointer;
	font-size:1rem;
}

input:disabled {
	cursor:default;
}

/*============================================

	GLOBAL

============================================*/
html, body {
	font-family:calibri;
	font-size:14px;
	line-height:14px;
	color:black;
	text-size-adjust:100%; 
	-ms-text-size-adjust:100%; 
	-moz-text-size-adjust:100%; 
	-webkit-text-size-adjust:100%;
}

@media only screen and (min-width: 2000px) {
	html, body {
		font-size:min(.73vw, 1.29vh);
		line-height:min(.73vw, 1.29vh);
	}
}

.pre, .hide {
	visibility:hidden;
	opacity:0;
}

a {
	color:#00b1b0;
  text-decoration:none;
  cursor:pointer;
}

b, strong {
	font-weight:bold;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub { bottom: -0.25rem; }
sup { top: -0.5rem; }

button {
	font-family:calibri;
	width:min-content;
	padding:.4rem 1.5rem;
	border-radius:10rem;
	border:.2rem solid black;
	background-color:white;
	color:black;
	white-space:nowrap;
	cursor:pointer;
}

button.active {
	color:white;
	background-color:black;
	font-weight: bold;
}

#pageChange {
	display:inline-block;
	position:relative;
	z-index:2;
	width: 10.5rem;
	vertical-align:top;
	margin:.6rem .6rem 0 0;
	padding: 0.4rem .8rem;
	outline:none;
	border: 0.2rem solid black;
	border-radius: 1.2rem;
	background-color: white;
	color: black;
	white-space: nowrap;
	text-transform:uppercase;
}

#pageChange .ddHeader {
	display:flex;
	width:100%;
	height: 1.2rem;
	align-items: center;
	justify-content:space-between;
	cursor:pointer;

	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
}

#pageChange .ddHeader > div:first-child {
	height:.9rem;
}

#pageChange .ddHeader .arrow {
	height:.9rem;
	width:.9rem;
	background-image:url(arrow.png);
	background-size:340%;
	background-position:center;
}

#pageChange.open .ddHeader .arrow {
	transform:rotate(180deg);
}

#pageChange .container {
	display:none;
	text-align:left;
	margin-top:.5rem;
	width:100%;
}

#pageChange.open .container {
	display:block;
}

#pageChange .container > div:hover {
	cursor:pointer;
	text-decoration:underline;
}

#utilCondense {
	display:inline-flex;
	justify-content:space-between;
	vertical-align:top;
	width:4.8rem;
	height:2.4rem;
	margin-top:.5rem;
	border-radius:50vw;
	background:#999999;
}

#utilCondense > div {
	height:2.4rem;
	width:2.4rem;
	background-size:100%;
	background-position:center;
	background-repeat:no-repeat;
	cursor:pointer;
}

#utilCondense > .i1 { background-image:url(../utilCondensed.png); }
#utilCondense > .i1.active { background-image:url(../utilCondensed_dn.png); }
#utilCondense > .i2 { background-image:url(../utilFull.png); }
#utilCondense > .i2.active { background-image:url(../utilFull_dn.png); }


/*============================================

	MAIN BODY

============================================*/
wrapper {
	position:absolute;
	top:0; left:0; right:0; bottom:0;
	overflow-y:auto;
	overflow-x:hidden;
	width:100vw;
	display:grid;
	grid-template-rows:auto 1fr;
}

wrapper * {
	transition:visibility .5s ease, opacity .5s ease, color .5s ease, background .5s ease;
}

header {
	padding:.5rem 2rem;
	background:#222;
	display:grid;
	grid-template-columns:auto 1fr auto;
	background-color:white;
}

header nav button {
	margin:0 .5rem;
}

header, header button, #pageChange {
	font-size:1.15rem;
}

.corner.logout {
	text-align:right;
}

.corner.logout .hide {
	display:none;
}

#refreshButton, #logoutButton, #settingsB {
	margin:.5rem 0 0 .5rem;
	height:2.4rem;
	cursor:pointer;
}

header .corner {
	place-self:center;
	height:3.5rem;
	width:23rem;
}

header .corner .logo {
	height:100%;
}

nav {
	place-self:center;
}

main {
	padding:0 1rem;
	overflow-y:hidden;
	overflow-x:auto;
}

section {
	position:relative;
	display:none;
}

section.active {
	display:block;
}

ul {
	padding:1rem;
	margin-left:1rem;
}

#tsBreakdown {
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%, -50%);
	padding:2rem;
	background-color:white;
	border:.2rem solid #444;
	border-radius:.5rem;
	z-index:2;
}

#tsBreakdown .header {
	margin-bottom: 1rem;
	font-size: 1.3rem;
	font-weight: bold;
}

#tsBreakdown .weekHeader {
	font-weight: bold;
}

#tsBreakdown .tsContainer {
	max-height:60vh;
	overflow-y:auto;
}

#tsBreakdown table {
	border-top:1px solid #a5a5a5;
	border-left:1px solid #a5a5a5;
	margin-bottom: 1px;
}

#tsBreakdown table tr {
	border-bottom:1px solid #a5a5a5;
}

#tsBreakdown table tr.hide {
	display:none;
}

#tsBreakdown table td {
	border-right:1px solid #a5a5a5;
	padding:.5rem 1rem;
}

#tsBreakdown .project-row.subs .pName {
	cursor:pointer;
}

#tsBreakdown .project-row.subs .pName:after {
	content: ' [+]';
}

#tsBreakdown .project-row.subs.on .pName:after {
	content: ' [-]';
}

#tsBreakdown tr td:nth-child(2),
#tsBreakdown tr td:nth-child(8) {
	background-color:#efefef;
}

#tsBreakdown .descRow {
	font-size:.85em;
	line-height:.5em;
}

#tsBreakdown .close {
	position:absolute;
	top:1rem;
	right:1rem;
	width:2rem;
	height:2rem;
	padding:.4rem;
	text-align:center;
	color:black;
	font-weight:bold;
	background-color:white;
	border:.2rem solid black;
	border-radius:.5rem;
	cursor:pointer;
}

#tsBreakdown .close:hover {
	background-color:black;
	color:white;
}


#notice {
	position:absolute;
	top:0; left:0;
	background-color:rgba(0, 0, 0, .5);
	width:100vw;
	height:100vh;
	z-index:2;
}

#notice .msg {
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	top:35%; left:50%;
	padding:1rem 2rem;
	min-width:7rem;
	background-color:white;
	border-radius:.5rem;
	transform:translate(-50%, -50%);
}

#notice .msg p {
	min-height:8rem;
	max-height:50vh;
	margin-right:1rem;
	overflow:auto;
}

#notice .msg .close {
	position:absolute;
	top:.5rem;
	right:.5rem;
	width:2rem;
	height:2rem;
	padding:.4rem;
	text-align:center;
	color:black;
	font-weight:bold;
	background-color:white;
	border:.2rem solid black;
	border-radius:.5rem;
	cursor:pointer;
}

#notice .msg .close:hover {
	background-color:black;
	color:white;
}

#titleBar {
	display:flex;
	background-color:#0000CC;
	font-size:1.25rem;
	padding:0 0 0 2rem;
	margin:0 -1rem 1rem;
	color:white;
	text-transform:capitalize;
}

#titleBar #title {
	padding:1rem 0;
	width:18rem;
}

#pTitle {
	flex-grow:1;
	padding:1rem 0;
	font-size:1.1rem;
	text-align:center;
}

#latestLastUpdate {
	width:13rem;
	font-size:1.1rem;
	padding:1rem 0;
}

#titleUtilization {
	width:5rem;
	text-align:center;
	background-color:white;
	border:.2rem solid black;
	color:black;
}

#titleUtilization .theRate {
	font-weight:bold;
	font-size:1.3rem;
	padding:.3rem 0;
}

#titleUtilization .theRate:after {
	content:'%';
}

#titleUtilization label {
	border-top:.2rem solid black;
	display:block;
	font-size:.7rem;
	height:.9rem;
	line-height:.9rem;
}

#floatingTable {
	margin:0 0 1rem 38rem;
}

#floatingTable > div {
	vertical-align:top;
}

.floatSide {
	display:inline-block;
	border: 2px solid black;
}

.floatSide > div {
}

.floatSide > div > div {
	display:inline-block;
	padding:0 .5rem;
	width:7rem;
	height:1.3rem;
	line-height:1.3rem;
	overflow:hidden;
}

.floatHeaders {
	font-size:.8rem;
}

.floatSide > div > .twoWide {
	width:12rem;
}

.floatData {
	border-top:2px solid black;
}

.floatData > div {
	text-align:center;
}

.floatHeaders > div:nth-child(2),
.floatHeaders > div:nth-child(4),
.floatData > div:nth-child(2),
.floatData > div:nth-child(5) {
	width:4.9rem;
	background-color:#f2f2f2;
	color:#a5a5a5;
}

.floatData > div:nth-child(3),
.floatData > div:nth-child(6) {
	width:5rem;
}

.floatSide > div > div:not(:last-child) {
	border-right:1px solid #a5a5a5;
}

.floatSide > .floatData > div:nth-child(6) {
	border-right:2px solid #0000CC;
}

.floatData > div:nth-child(6),
.floatSide > .floatData > div:nth-child(7),
.floatSide > .floatHeaders > div:nth-child(odd) {
	font-weight:bold;
	background-color: #0000CC;
	border-right:1px solid #0000CC;
	color: white;
}

.floatHeaders > div:not(:first-child) {
	text-align:center;
}

.floatData > div:nth-child(3),
.floatData > div:nth-child(4),
.floatData > div:nth-child(1) {
	font-weight:bold;
}

#filterContainer {
	display:inline-flex;
	flex-direction:column;
	border: 1px solid black;
}

#filterContainer > div {
	height:1.5rem;
	line-height:1.5rem;
	padding:0 .3rem;
}

#filterContainer > div:not(:last-child) {
	border-bottom:1px solid #a5a5a5;
}

#filterContainer label {
	display:inline-block;
	width:8ch;
	text-align:right;
	padding-right:1ch;
	border-right:1px solid #a5a5a5;
}

#filterContainer select {
	width:17ch;
	outline:none;
	border:none;
	text-transform:uppercase;
}

#projects {
	display:inline-block;
	overflow-y:scroll;
	height:calc(100% - 26.75rem);
	width:130.1rem;
	border-top:1px solid #a5a5a5;
}

#overheadFloatingTable {
	margin: 1rem 0 1rem 44.7rem;
	border: 2px solid black;
	display: grid;
	grid-template: 1fr 1fr / 1fr 1fr;
	width: 34.4rem;
	align-items: end;
	text-align: right;
	justify-content: end;
}

#overheadFloatingTable > div {
	padding:0.2rem 0.4rem;
}

#overheadFloatingTable > div:nth-child(1),
#overheadFloatingTable > div:nth-child(2) {
	border-bottom:2px solid black;
}

#overheadFloatingTable > div:nth-child(3),
#overheadFloatingTable > div:nth-child(4) {
	color:#ff0000;
}

#overheadProjects {
	display:inline-block;
	overflow-y:scroll;
	height:6.9rem;
	width:130.1rem;
	border-top:1px solid #a5a5a5;
}

#overheadProjects.monthly .rollupRow div:nth-child(5),
#overheadProjects.monthly .rollupRow div:nth-child(8) {
	color:transparent;
}

.rollupRow {
	display:flex;
	border-bottom:1px solid #a5a5a5;
}

.rollupRow.hide {
	display:none;
}

.rollupRow > div {
	display:inline-block;
	vertical-align:top;
	text-align:right;
	height:1.3rem;
	line-height:1.3rem;
	width:7rem;
	padding:0 .5rem;
	border-left:1px solid #a5a5a5;
}

.rollupRow > .projectName {
	text-align:left;
	width:38rem;
}

.rollupRow > .noTotals {
	width:83rem;
	text-align:center;
}

.rollupRow div:nth-child(2) {
	font-weight:bold;
}

.rollupRow > div:nth-child(3),
.rollupRow > div:nth-child(6) {
	width:5rem;
	color:#a5a5a5;
}

.rollupRow > div:nth-child(4),
.rollupRow > div:nth-child(7) {
	width:5rem;
	color:#a5a5a5;
}

.rollupRow > .projectStatus {
	width:9.5rem;
}

.rollupRow > div:nth-child(10) {
	width:13rem;
}

.rollupRow > div:nth-child(11) {
	flex-grow:1;
}

.overBudget select {
	height:1.3rem;
	line-height:1.3rem;
	outline:none;
	border:none;
	width:100%;
}

.projectStatus select {
	text-transform:uppercase;
	text-align:left;
	font-weight:bold;
	height:1.3rem;
	line-height:1.3rem;
	outline:none;
	border:none;
}
.projectStatus .In-Progress {
	color:#4472c4;
}
.projectStatus .On_Hold {
	color:#e06666;
}

.projectName,
.toggle > .name {
	cursor:pointer;
}

#toggleCO:after,
.toggle > .name:after {
	content: ' [+]';
}

#toggleCO.on:after,
.toggle > .name.on:after {
	content: ' [-]';
}

.aboveTable {
	display:flex;
	min-width:133rem;
	margin:1.25rem 1rem;
	align-items:start;
	justify-content:space-between;
}

.aboveTable > div:nth-child(2) {
	position:relative;
}

#projectFlex {
	display:flex;
	margin:0 1rem;
	flex-direction:column;
	width:133.1rem;
	height:calc(100vh - 20rem);
}

.aboveTable.hide, #projectFlex.hide {
	display:none;
}

#projectFlex.floatOn .cogIntro .estimateHours,
#projectFlex.floatOn .salaryIntro .estimateHours,
#projectFlex.floatOn .task_row .estimateHours,
#projectFlex.floatOn .employee > div:nth-child(14),
#projectFlex.floatOn .department > div:nth-child(14),
#projectFlex.floatOn input:disabled {
	color:#a5a5a5;
	background-color:white;
}

#incomeBox {
	border: 1px solid #a5a5a5;
	border-top: none;
	width:50.9rem;
}

#incomeBox .changeOrderRow,
#incomeBox .incomeRow {
	display:inline-flex;
	align-items:center;
	width:100%;
	border-top: 1px solid #a5a5a5;
}

#incomeBox .changeOrderRow.hide {
	display:none;
}

#incomeBox .changeOrderRow > div:first-child,
#incomeBox .incomeRow > div:first-child {
	flex-grow:1;
	border-right: 1px solid #a5a5a5;
}

.incomeRow > div:first-child {
	font-weight:bold;
	padding:.4rem;
}

#toggleCO {
	cursor:pointer;
}

#addCO {
	border-right: 1px solid #a5a5a5;
	width:10.5rem;
	cursor:pointer;
	text-align:right;
	padding:.2rem .4rem;
}

.estRemaining > div,
#addCO > div {
	display:inline-block;
	padding:.2rem .4rem;
	margin-left:.5rem;
	background-color:black;
	color:white;
	border-radius:.3rem;
	cursor:pointer;
}

.estRemaining > div {
	text-align:center;
	width:2.8rem;
}

.estRemaining > div.on {
	background-color:#0000cc;
}

.estRemaining > div:after {
	content: 'OFF';
}

.estRemaining > div.on:after {
	content: 'ON';
}

.changeOrderRow .description {
	flex-grow:1;
	padding:.3rem 1rem;
	border:none;
	outline:none;
}

.changeOrderRow .delete {
	padding:.4rem .5rem;
	border-left: 1px solid #a5a5a5;
	border-right: 1px solid #a5a5a5;
	cursor:pointer;
}

#income,
.changeOrderRow .amount {
	text-align:right;
	border:none;
	outline:none;
	width:6rem;
}

.incomeHeader {
	display:flex;
	border-left: 1px solid #a5a5a5;
	border-right: 1px solid #a5a5a5;
}

.incomeHeader > div:first-child {
	border-right: 1px solid #a5a5a5;
	width:44.8rem;
	padding:.4rem;
	font-weight:bold;
}

.incomeHeader > div:nth-child(2) {
	padding:.4rem .4rem;
	border-right: 1px solid #a5a5a5;
	width:6rem;
}

.incomeHeader > div:nth-child(3) {
	flex-grow:1;
}

#statusBox {
	width:14rem;
	position:relative;
	display:flex;
	flex-direction:column;
}

#statusBox .statusContainer {
	position:absolute;
	top:-.8rem;left:0;
	width:14rem;
	padding-right:1rem;
	background-color:white;
	border-radius:.5rem;
}

#statusBox .statusRow {
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-top:.6rem;
}

#statusBox input[type="text"] {
	font-size:.8rem;
	width:10rem;
	margin-right:.9rem;
	cursor:initial;
	text-overflow:ellipsis;
}

#statusBox .milestone {
	position:relative;
	margin-top:.4rem;
}

#statusBox .statusContainer .statusRow:nth-child(3) {
	margin-top:.7rem;
}

#statusBox .milestone input[type="text"] {
	border:none;
	border-top: 1px solid #a5a5a5;
	outline:none;
}

#statusBox .milestone .dot {
	position:absolute;
	top:-.5rem; right:-.2rem;
	height:.8rem;
	aspect-ratio:1/1;
	border-radius:10rem;
}

#statusBox .milestone .n {
	position: absolute;
	font-size: .6rem;
	top: -0.45rem;
	right: .1rem;
	width: 0.8rem;
	cursor:pointer;
	text-align: center;
}

#statusBox .milestone .cb {
	height:.9rem;
	aspect-ratio:1/1;
	margin:.1rem 0;
}

.wbsNreport {
	display: flex;
	align-items:center;
	justify-content:end;
	position: absolute;
	bottom: -2.4rem;
	right: 0rem;
}

.wbsNreport h3 {
	margin:0 1rem 0 2rem;
	flex-grow:1;
}

#rightButtons > button {
	font-size:1rem;
	margin-left:1.5rem;
}

#project, #unassigned {
	flex-grow:1;
	overflow: auto;
}

#project .hide {
	display:none;
}

#project > div {
	display:flex;
	border-bottom:1px solid #a5a5a5;
	border-right:1px solid #a5a5a5;
}

#project > div > div {
	border-left:1px solid #a5a5a5;
	padding:.4rem;
	min-height: 1.8rem;
	width: 6rem;
	text-align:right;
}

.employee > div:first-child {
	white-space:nowrap;
	padding-left:1rem;
}

#project > div > div:first-child {
	text-align:left;
	width:20.8rem;
	font-weight:bold;
}

#project .introline > div:first-child {
	width:44.8rem;
}

#project  .introline > div.prepercent {
	padding-left:1rem;
	width:38.8rem;
}

#project .blackTopBorder {
	border-top:1px solid black;
}

#project > div > div.name {
	padding-left:1rem;
}

#project .contractor .name,
#project .good .name,
#project .travel .name,
#project .employee .name {
	padding-left:1.6rem;
}

#project .expense_row .name,
#project .task_row .desc {
	padding-left:2.2rem;
	width:44.8rem;
}

#project .eTaskButton {
	float:right;
	cursor:pointer;
}

#project .expense_task .expenseDate {
	border-left:none;
	width:9rem;
}

#project .expense_task .remove {
	padding-left:2.1rem;
	width:3.7rem;
	cursor:pointer;
}

#project .expense_task .name {
	border-left:none;
	padding-left:0;
	width:8.1rem;
}

#project .expense_task .name input {
	text-align:left;
}

#project input {
	width:100%;
	outline: none;
	border: none;
	text-align: right;
}

.bHeader {
	background-color:#0000cc;
	color:white;
}

.incomeBox {
	text-align:right;
}

.sectionHeader {
	display:flex;
	border:1px solid #a5a5a5;
	border-left:none;
}

#projectFlex .totalRow > div:first-child,
.sectionHeader > div:first-child {
	text-align:left;
	width:44.8rem !important;
}

.sectionHeader > div:nth-child(2) {
	width:21rem;
}

.sectionHeader > div:nth-child(3) {
	width:27rem;
}

.sectionHeader > div:nth-child(4) {
	flex-grow:1;
}

.sectionHeader > div {
	border-left:1px solid #a5a5a5;
	padding:.4rem;
	text-align:center;
}

.sectionSubHeader {
	display:flex;
	border-bottom:1px solid #a5a5a5;
	border-right:1px solid #a5a5a5;
}

.sectionSubHeader > div:first-child {
	width:20.8rem;
}

.sectionSubHeader > div {
	border-left:1px solid #a5a5a5;
	padding:.2rem .4rem;
	width:6rem;
	display:flex;
	justify-content:center;
	align-items:center;
}

.sectionSubHeader > div.triple {
	width:18rem;
}

.employee .actualHours {
	cursor:pointer;
}

.employee .actualHours:hover {
	text-decoration:underline;
	color:#0000cc;
}

.sectionSubHeader > div.estRemaining {
	width:12rem;
	color:#a5a5a5;
}

.budgetDirect, .actualDirect, .estimateDirect,
.sectionSubHeader > div.dc {
	width:6.5rem !important;
}

.budgetBurden, .actualBurden, .estimateBurden,
.sectionSubHeader > div.wohb {
	width:8.5rem !important;
}

.sectionSubHeader > div:last-child {
	flex-grow:1;
}

#unassigned {
	margin:2rem 1rem 0;
}

#unassigned.hide {
	display:none;
}

#unassigned th,
#unassigned td {
	text-align:left;
	border:1px solid #a5a5a5;
	padding:.5rem 1rem;
}

#unassigned select {
	border:none;
	outline:none;
}

.budgetDirect, .budgetBurden, .budgetBillable, .paleGray {
	background-color:#efefef;
}

.rollupRow.In-Progress .colored, .lightBlue {
	background-color:#e5ecff;
}

.rollupRow.Complete .colored, .actualDirect, .actualBurden, .actualBillable, .paleGreen {
	background-color:#d9ead3;
}

.rollupRow.Complete.Under .colored {
	background-color:#ffebeb;
}

.estimateDirect, .estimateBurden, .estimateBillable, .paleYellow {
	background-color:#fff2cc;
}

.darkBlue {
	background-color:#0000CC;
}

.darkGray {
	background-color:#b7b7b7;
}

.darkGreen {
	background-color:#92d050;
}

.darkYellow {
	background-color:#ffc000;
}

.remaining,
.remainingHours {
	color:#0000CC;
}

.remainingHours.bad {
	color:#ff0000;
}

#projectFlex .totalRow {
	display:flex;
	border-bottom:1px solid #a5a5a5;
	border-right:1px solid #a5a5a5;
}

#projectFlex .totalRow > div {
	padding:.4rem;
	width:6rem;
	border-left:1px solid #a5a5a5;
	text-align:right;
	font-weight:bold;
}

.bHeader > div {
	background-color:#0000cc;
	color:white;
}

.sectionHeader {
	font-weight:bold;
}

.lightGray {
	background-color:#d9d9d9;
}
.sectionHeader .lightGreen {
	color:#6aa84f;
}
.lightGreen {
	background-color:#c4e59f;
}
.sectionHeader .lightYellow {
	color:#F19020;
}
.lightYellow {
	background-color:#ffda65;
}

.totalProfit .lightGray {
	color:#A6A6A6;
}
.totalProfit .white {
	background-color:white;
	color:#0000CC;
}
.totalProfit .darkBlue {
	flex-grow:1;
	color:white;
	padding-right:1.6rem;
}

#project thead .incomeTH {
	font-weight:bold;
	text-align:left;
}

.rollupRow td:nth-child(11),
.contractHeader td:not(:nth-child(2)),
.travelHeader td:not(:nth-child(2)),
.goodsHeader td:not(:nth-child(2)) {
	text-align:left;
}

#project #contractOH,
#project #goodsOH,
#project #travelOH {
	width:6ch;
	text-align:right;
}

.chartContainer {
	position:relative;
	width:55rem;
	height:7rem;
	margin-right:13ch;
}

.chartContainer > div {
	position:absolute;
	top:0; left:0;
	width:55rem;
	height:2rem;
}

.chartContainer .actualLine {
	top:2rem;
}
.chartContainer .eacLine {
	top:4rem;
}

.chartContainer .total,
.chartContainer > div > div {
	white-space:nowrap;
	position:absolute;
	top:0; left:0;
	width:0;
	text-align:right;
	padding:0 .5%;
	height:2rem;
	line-height:2rem;
	z-index: 2;
	font-weight: bold;
	transition:width .5s ease, right .5s ease, visibility .5s ease, opacity .5s ease, color .5s ease, background .5s ease;
}

.chartContainer .total {
	left:unset; right:0;
}

.chartContainer .total.negative {
	z-index:4 !important;
	left:55rem;
	right:unset;
	overflow:hidden;
	background-color:#ff0000 !important;
	color:white !important;
}

.chartContainer .outsideTotal {
	position:absolute;
	top:0;
	left: 55rem;
	width:unset;
	padding:0 .5%;
	height:2rem;
	line-height:2rem;
	z-index: 2;
	font-weight:bold;
	background-color:white;
	color:black;
}

.chartContainer .budgetLine > div:nth-child(1) {
	z-index:3;
	background-color:#b7b7b7;
	color:#979797;
}
.chartContainer .budgetLine > div:nth-child(2) {
	z-index:2;
	background-color:#d9d9d9;
	color:#A6A6A6;
}
.chartContainer .budgetLine > .total {
	z-index:1;
	background-color:#e5ecff;
	color:black;
}

.chartContainer .actualLine > div:nth-child(1) {
	z-index:2;
	background-color:#92d050;
	color:#6aa84f;
}
.chartContainer .actualLine > div:nth-child(2) {
	z-index:1;
	background-color:#c4e59f;
	color:#6aa84f;
}

.chartContainer .eacLine > div:nth-child(1) {
	z-index:3;
	background-color:#ffc000;
	color:#ed7d31;
}
.chartContainer .eacLine > div:nth-child(2) {
	z-index:2;
	background-color:#ffda65;
	color:#F19020;
}
.chartContainer .eacLine > .total {
	z-index:1;
	background-color:#0000CC;
	color:white;
}

.profitChart thead {
	font-weight:bold;
}

.profitChart thead tr:first-child {
	border-bottom: 1px solid #a5a5a5;
	border-top: 1px solid #a5a5a5;
}

.profitChart thead tr {
	font-weight:bold;
}

.profitChart thead th {
	text-align:center;
}

.profitChart .profitPercentages td {
	font-size:3rem;
	line-height:4rem;
	font-weight:bold;
}

.profitChart td {
	width:5ch;
	text-align:center;
	font-size:1.1rem;
	line-height:1.2rem;
	padding:.2rem .4rem;
	border:1px solid #a5a5a5;
}

.budgetDirectAmount,
.budgetDirectPercentage {
	color:#979797;
}
.actualBurdenAmount,
.actualBurdenPercentage {
	color:#0000CC;
}
.estimateBurdenAmount,
.estimateBurdenPercentage {
	color:white;
}

#dashboard_view {
	height:calc(100vh - 9.5rem);
	overflow-y:auto;
}

.dashViewRow {
	width:110rem;
	margin:0 auto 2rem;
	border-bottom:.2rem solid black;
	cursor:pointer;
}

.dashViewRow .topRow {
	display:flex;
	justify-content:space-between;
}

.dashViewRow .bottomRow {
	display:inline-grid;
	grid-template:auto auto / auto auto;
	margin-bottom:1rem;
}

.dashViewRow .bottomRow > div {
	width:40rem;
	padding:.4rem;
}

.dashViewRow .bottomRow > div:first-child > span {
	background-color:#e5ecff;
	font-weight:bold;
	padding:0 .4rem;
	margin:0 -.4rem;
}

#utilization .filterBox {
	display:flex;
	width:100%;
	justify-content:center;
}

#utilization .filterBox .selectContainer {
	position:relative;
	border:1px solid black;
	border-right:none;
}

#employeeF {
	min-width:13rem;
}

#employeeF, #utilStart {
	height:3.2rem;
	vertical-align:top;
	margin:0 .5rem;
	padding:0 .5rem;
	border:none;
	outline:none;
}

#utilizationRate {
	display: inline-block;
	border:1px solid black;
	width:7.5rem;
	text-align:center;
	padding: 1rem 0.5rem;
	font-size: 1.5rem;
	font-weight: bold;
}

#utilizationRate:after {
	content: '%';
}

#utilization .container {
	margin-top:1rem;
	height:calc(100vh - 14.5rem);
	width:100%;
	overflow:auto;
}

#utilization .yearContainer {
	display:flex;
	flex-wrap:nowrap;
}

#utilization .body .total label,
#utilization .header .title {
	height:1rem;
}

.utilizationBlock .body .row.individualAverage {
	border-bottom:1px solid black;
	padding-bottom:1.2rem;
	margin-bottom:.5rem;
}

.utilizationBlock {
	flex-shrink:0;
	display:inline-block;
	margin:.5rem;
	padding:.4rem;
	width:17rem;
	border:1px solid black;
}

.condensed .utilizationBlock {
	width:9.5rem;
}

.condensed .utilizationBlock > .header > .rate {
	border:none;
	width:3.5rem;
}

.condensed .magLine {
	opacity:0;
}

.monthContainer, 
.yearContainer {
	position:relative;
	margin-left:3rem;
	white-space:nowrap;
}

.magLine {
	position:absolute;
	top:.5rem;
	left:-2.5rem;
	width: 1px;
	height: 1px;
	background: black;
}

.magLine.o2 {
	top:13rem;
	left:-1.5rem;
}

.magLine.emp {
	top:0;
	left:-1.5rem;
}

.magLine.o1.open {
	height:calc(100% - 1rem);
}

.magLine.o2.open {
	height:calc(100% - 13.5rem);
}

.magLine.emp.open {
	height:5.5rem;
}

.magLine .icon {
	position:absolute;
	top:0;
	left:-.5rem;
	width:1.1rem;
	height:1.1rem;
	background-image:url('../plus.png');
	background-size:100%;
	background-repeat:no-repeat;
	cursor:pointer;
}

.magLine.open .icon {
	background-image:url('../minus.png');
}

.utilizationBlock.year {
	display:block;
}

.utilizationBlock > .header {
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.utilizationBlock > .header .rate {
	border:1px solid black;
	padding: 0.5rem;
	width: 5rem;
	text-align: center;
	font-size:1.3rem;
	font-weight: bold;
}

.utilizationBlock > .body {
	display:flex;
	flex-direction:column;
	margin-top:1rem;
}

.utilizationBlock .breakdown {
	margin-top:1rem;
}

.utilizationBlock .qRow div,
.utilizationBlock .rate,
.utilizationBlock .total,
.utilizationBlock .qHeader,
.utilizationBlock .eHeader {
	font-weight:bold;
}

.utilizationBlock .qRow,
.utilizationBlock .body .row {
	display:flex;
	height:1rem;
	margin:.1rem 0;
	justify-content:space-between;
}

.utilizationBlock .body .row.total {
	border-top:1px solid black;
	margin-top:.2rem;
	padding-top:.3rem;
}

.utilizationBlock .qHeader {
	border-bottom:1px solid black;
}

.utilizationBlock .Q4 {
	margin-bottom:1rem;
}

.utilizationEmployee {
	position:relative;
	margin:.25rem 0;
}

.utilizationEmployee > .header {
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.utilizationEmployee > .body {
	display:flex;
	flex-direction:column;
	margin-bottom:.5rem;
}

.condensed .utilizationBlock > .body,
.condensed .utilizationBlock > .body > .breakdown,
.condensed .utilizationEmployee > .body,
.utilizationBlock .hide {
	display:none;
}

.utilizationBlock .actualCapacity,
.utilizationBlock .totalHours,
.utilizationBlock .individualActual {
	color:#4a86e8;
}

.utilizationBlock .svHours {
	color:#999999;
}

.utilizationBlock .averageCapacity,
.utilizationBlock .paidHours,
.utilizationBlock .individualAverage,
.utilRateGood {
	color:#6aa84f;
}

.utilRateOK {
	color:#fbbc04;
}

.utilRateBad {
	color:#FF0000;
}

.clientAlias,
.departmentEmp {
	margin:.5rem;
}

.clientAlias input,
.departmentEmp input {
	width:calc(100% - 3rem);
}

#addClient {
	position:absolute;
	left:1rem;
	top:1rem;
}