.gantt-row-grouping,
.gantt-unscheduled-grouping,
.unit-row,
.header-row {
    height: 27px;
    background-color: var(--surface-accent);
    color: var(--text-default);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.33px;
    border-top: 2px solid var(--border-default);
    z-index: 35;
}

.gantt-unscheduled-grouping .gantt-label-link {
    font-size: 11px;
}

.gantt-row-grouping span .icon-contracted,
.gantt-row-grouping span .icon-expanded,
.gantt-row-grouping span .icon-filter-expanded {
    margin-right: 6px;
    padding-left: 2px;
}

.gantt-row-grouping > span > span {
    padding-left: 0 !important;
    width: 100%;
}

.gantt-row-grouping > span {
    position: relative;
}

.gantt-row-grouping .button-expand,
.gantt-row-grouping .button-collapse {
    display: none;
    margin-left: auto;
    margin-right: 3px;
}

.unit-row,
.header-row {
    display: flex;
}

.engagement-view .unit-row.separator,
.engagement-view .gantt-row-grouping.separator {
    background-color: var(--surface-subtle-dark);
    color: var(--text-accent);
    border: none;
}

.gantt-job-header {
    background-color: var(--surface-accent);
    color: var(--text-default);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.33px;
}

span.gantt-job-header .icon-expanded,
span.gantt-job-header .icon-contracted {
    flex-shrink: 0;
}

/*devo 518 - performance issues with sticky headers */
.gantt-unscheduled-grouping,
.gantt-labels-row {
    overflow: visible !important;
    padding-left: 2px;
}

.unit-row.separator {
    padding-left: 40px;
}

.gantt-unscheduled-grouping span:not(.gantt-resource-header) {
    padding-left: 2px;
}

span.gantt-label-name,
.gantt-unscheduled-grouping span:not(.gantt-resource-header):not(.unscheduled-gantt-ellipsis) {
    width: 100%;
}

.gantt-unscheduled-grouping .fa-angle-double-up {
    background: rgba(240, 240, 240, 0.6);
    padding: 2px 5px;
    border-radius: 3px;
}

.gantt-labels-row .fa-angle-double-up {
    background: rgba(240, 240, 240, 0.6);
    padding: 2px 5px;
    border-radius: 3px;
    margin-right: 5px;
}

.engagement-view .gantt-labels-row-name {
    margin-left: 1px;
}

.gantt-row-grouping i.icon-enabled,
.gantt-row-grouping i.icon-home {
    display: none;
}

.gantt-row-grouping.enabled i.icon-enabled,
.gantt-row-grouping.home i.icon-home {
    display: inline-block;
}

.gantt-row-grouping.contracted i.icon-expanded,
.gantt-row-grouping.contracted i.icon-filter-expanded,
.gantt-row-grouping.expanded i.icon-contracted,
.gantt-row-grouping.expanded i.icon-filter-expanded,
.gantt-row-grouping.filter-expanded i.icon-expanded,
.gantt-row-grouping.filter-expanded i.icon-contracted,
.gantt-unscheduled-grouping.contracted i.icon-expanded,
.gantt-unscheduled-grouping.expanded i.icon-contracted,
.gantt-unscheduled-grouping.contracted i.icon-filter-expanded,
.gantt-unscheduled-grouping.expanded i.icon-filter-expanded,
.gantt-unscheduled-grouping.filter-expanded i.icon-expanded,
.gantt-unscheduled-grouping.filter-expanded i.icon-contracted {
    display: none;
}

i.icon-filter-expanded {
    color: #999999;
}

.gantt-row-grouping.expanded i.icon-expanded,
.gantt-row-grouping.contracted i.contracted,
.gantt-unscheduled-grouping.expanded i.icon-expanded,
.gantt-unscheduled-grouping.contracted i.icon-contracted {
    display: inline-block;
}

.gantt-labels-row.no-rows {
    height: 28px;
    padding-left: 8px;
}

/* todo could maybe be combined with gantt-labels-row */
.gantt-labels-row-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
}

.gantt-labels-row-asgn {
    width: 50px;
    min-width: 50px;
    padding-top: 1px;
}

.utilisation-slim-view-visible .gantt-labels-row-asgn {
    padding-top: 6px;
}

.gantt-job-header .icon-expanded,
.gantt-job-header .icon-contracted,
.gantt-resource-header-label .icon-expanded,
.gantt-resource-header-label .icon-contracted {
    flex-shrink: 0;
    width: 17px;
}

.gantt-resource-header-label {
    align-items: center;
}

.gantt-resource-header-label .GanttTemplates-rowselect-checkbox {
    margin-left: 2px;
}

/* reserved blank section in the beginning of certain separator
 rows for future compatibility and padding */
.gantt-labels-separator-row-reserved-area {
    min-width: 10px;
    width: 10px;
}

.gantt-labels-resource-row-checkbox-area {
    flex-direction: row-reverse;
    min-width: 50px;
    width: 50px;
}

#unscheduledGanttLabelsBody .gantt-labels-resource-row-checkbox-area {
    min-width: 43px;
    width: 43px;
}

/* Bootstrap positions its checkbox pseudo-elements with rems, which doesn't leave us with much flexibility. This resets positioning. */
.GanttView-selectAllResourcesControl .custom-control-label::before,
.GanttView-selectAllResourcesControl .custom-control-label::after {
    top: 0;
}

.GanttTemplates-rowselect-checkbox {
    padding-left: 0.2rem;
}

.gantt-labels-row-name {
    flex-grow: 3;
    flex-shrink: 1;
    flex-basis: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    height: 27px;
}

.gantt-labels-row-data {
    display: flex;
    flex-wrap: wrap;
    align-content: normal;
    flex-grow: 3;
    flex-shrink: 1;
    flex-basis: 0;
    padding: 6px 3px;
    border-left: 1px solid #ddd;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 100%;
}

.gantt-labels-row-data.narrow {
    flex-grow: 1;
}

.utilisation-slim-view-visible .gantt-labels-row-data {
    padding-top: 11px;
}

.gantt-labels-row .button-assignable,
.gantt-labels-row .button-partial-assignable,
.gantt-labels-row .button-expand-collapse {
    display: inline-block;
    width: 15px;
    height: 15px;
    position: absolute;
}

.gantt-labels-row .button-assignable {
    visibility: hidden;
    left: 3px;
}

.gantt-labels-row .button-partial-assignable {
    visibility: hidden;
    left: 23px;
}

.gantt-labels-row-expand {
    display: none;
    margin-right: 3px;
}

.utilisation-blocks-view .gantt-labels-row-expand {
    display: block;
}

.gantt-labels-row .button-expand,
.gantt-labels-row .button-collapse {
    color: var(--interactive-primary-d2);
    padding: 2px;
}

.gantt-labels-row .button-expand:hover,
.gantt-labels-row .button-collapse:hover {
    background-color: rgb(144 144 144 / 40%);
    color: #7a7a7a;
}

.gantt-row-grouping.gantt-labels-row .button-expand,
.gantt-row-grouping.gantt-labels-row .button-collapse {
    color: var(--interactive-primary-d2);
    padding: 2px;
}

.gantt-row-grouping.gantt-labels-row .button-expand:hover,
.gantt-row-grouping.gantt-labels-row .button-collapse:hover {
    background-color: rgb(144 144 144 / 40%);
    color: var(--text-inverse);
}

.gantt-labels-row .button-collapse {
    display: none;
}

.gantt-labels-row.utilisation-expanded .button-expand {
    display: none;
}

.utilisation-blocks-view .gantt-labels-row.utilisation-expanded .button-collapse {
    display: inline-block;
}

.utilisation-blocks-view .gantt-labels-row:not(.utilisation-expanded) .button-expand {
    display: inline-block;
}

.gantt-labels-row-suitability {
    width: 40px;
}

.utilisation-slim-view-visible .gantt-labels-row-suitability {
    padding-top: 5px;
}

.gantt-labels-row span.badge {
    float: right;
    margin: 0 5px;
    padding: 4px;
    position: relative;
    top: 3px;
}

.gantt-labels-row i.icon-restriction,
.gantt-labels-row i.icon-incomplete,
.gantt-labels-row i.icon-continuity,
.gantt-labels-row i.icon-unlinked,
.gantt-labels-row .button-select {
    display: none;
    visibility: hidden;
}

.gantt-labels-row.assignable:hover .button-assignable,
.gantt-labels-row.assignable:hover .button-partial-assignable,
.gantt-labels-row.selectable .button-select {
    display: inline-block;
    visibility: visible;
    padding-top: 5px;
}

.gantt-labels-row.restriction i.icon-restriction,
.gantt-labels-row.incomplete i.icon-incomplete,
.gantt-labels-row.continuity i.icon-continuity {
    display: block;
    padding-left: 5px;
    /* AR: 1px top for visual alignment with label text */
    padding-top: 1px;
    padding-right: 5px;
    visibility: visible;
}

.gantt-labels-row.unlinked i.icon-unlinked {
    display: inline-block;
    visibility: visible;
    padding-right: 1.5em;
    font-size: 12px;
}

.gantt-worker-row-identifier {
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow: hidden;
    flex-grow: 3;
    flex-shrink: 1;
    flex-basis: 0;
}

.utilisation-slim-view-visible .gantt-worker-row-identifier {
    padding-top: 5px;
}

.gantt-labels-row-name {
    padding-right: 5px;
}

/* If we color-code the assign work icon */
/*
.gantt-labels-row.assignable.highlight-a .button-assignable {
    color: #5cb85c;
}

.gantt-labels-row.assignable.highlight-b .button-assignable
    color:  #f0ad4e;
}

.gantt-labels-row.assignable.highlight-c .button-assignable {
    color: var(--danger);
} */

.gantt-labels-row.highlight-review {
    font-weight: var(--font-weight-bold);
}
