.project-list-empty-col { display: flex; height: 100%; flex-flow: column nowrap; .row:first-child { flex-grow: 1; /* fill vertical space so notifications are pushed to bottom */ } .card-body { // h2 + .card-thin top padding padding-bottom: calc(var(--line-height-03) + var(--line-height-03) / 2); } } .action-btn { padding: 0 var(--spacing-02); } .project-list-react { body > &.content { padding-top: $header-height; padding-bottom: 0; min-height: calc(100vh - #{$header-height}); display: flex; flex-direction: column; } .user-notifications ul { margin-bottom: 0; } .project-list-wrapper { display: flex; align-items: stretch; width: 100%; min-height: calc(100vh - #{$header-height}); } .project-list-sidebar-wrapper-react { position: relative; background-color: var(--bg-dark-secondary); flex: 0 0 15%; min-height: calc(100vh - #{$header-height}); max-width: 320px; min-width: 200px; .project-list-sidebar-subwrapper { display: flex; flex-direction: column; height: 100%; .project-list-sidebar-react { flex-grow: 1; padding: var(--spacing-08) var(--spacing-06); -ms-overflow-style: -ms-autohiding-scrollbar; color: var(--neutral-40); .small { color: var(--neutral-40); } button { white-space: normal; word-wrap: anywhere; // prevents buttons from expanding sidebar width } > .dropdown { width: 100%; .new-project-button { width: 100%; } } } } } .new-project-button.dropdown-toggle::after { display: none; } .project-list-welcome-wrapper { width: 100%; padding-bottom: var(--spacing-08); .welcome-new-wrapper { .welcome-title { @include heading-xl; margin-top: var(--spacing-08); } .welcome-message-cards-wrapper { display: flex; flex-direction: column; justify-content: space-between; align-items: center; margin-top: var(--spacing-11); @include media-breakpoint-up(lg) { flex-direction: row; justify-content: center; } } .welcome-message-card { border: 1px solid $bg-light-tertiary; border-radius: $border-radius-large; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: var(--spacing-08) var(--spacing-06); margin: var(--spacing-05) 0; height: 200px; position: relative; cursor: pointer; @include media-breakpoint-up(lg) { margin: 0 var(--spacing-06); height: 240px; } &:hover { background-color: $bg-light-secondary; } .welcome-message-card-img { max-width: 100%; @include media-breakpoint-up(lg) { margin-bottom: var(--spacing-07); } } } .welcome-message-card-item { display: flex; flex: 1; flex-direction: column; width: 280px; @include media-breakpoint-up(lg) { flex: 0 1 312px; width: auto; } } .create-new-project-dropdown { transform: none !important; top: 100% !important; left: var(--spacing-06) !important; right: var(--spacing-06) !important; margin-top: var(--spacing-04); margin-left: var(--spacing-06); margin-right: var(--spacing-06); @include media-breakpoint-down(lg) { left: 0 !important; right: 0 !important; margin-top: calc((var(--spacing-05) - var(--spacing-04)) * -1); } } .welcome-message-card-link { &, &:hover { text-decoration: none; color: var(--bs-body-color); } } } } .project-list-main-react { flex: 1; overflow-x: hidden; padding: var(--spacing-08) var(--spacing-06); } .project-list-header-row { display: flex; align-items: center; margin-bottom: var(--spacing-05); min-height: 36px; } .project-list-title { min-width: 0; color: $content-secondary; @include heading-sm; font-weight: bold; } .project-tools { flex-shrink: 0; margin-left: auto; } @include media-breakpoint-down(md) { .project-tools { float: left; margin-left: initial; } } .projects-toolbar { display: flex; align-items: center; .dropdown, .dropdown-toggle { max-width: 100%; } .dropdown { min-width: 0; } } .projects-sort-dropdown { flex-shrink: 0; margin-left: auto; } .project-menu-item-edit-btn { position: absolute; top: 0; right: var(--spacing-09); width: initial; background-color: transparent; } .project-menu-item-tag-name { padding-right: var(--spacing-13); } ul.project-list-filters { margin: var(--spacing-05) calc(-1 * var(--spacing-06)); .subdued { color: var(--content-disabled); } > li { cursor: pointer; position: relative; > button { width: 100%; font-weight: normal; text-align: left; color: var(--white); background-color: transparent; border-radius: unset; border: none; border-bottom: solid 1px transparent; padding: var(--spacing-03) var(--spacing-06); &:hover { background-color: var(--neutral-70); text-decoration: none; } &:focus { text-decoration: none; outline: none; } } &.separator { padding: var(--spacing-03) var(--spacing-06); cursor: auto; } } .dropdown-header { @include body-sm; padding: var(--spacing-05) var(--spacing-06); text-transform: uppercase; } > li.active { border-radius: 0; > button { background-color: var(--neutral-90); font-weight: 700; color: var(--white); .subdued { color: var(--white); } } } h2 { font-size: var(--font-size-02); margin-bottom: var(--spacing-00); color: var(--content-disabled); text-transform: uppercase; padding: var(--spacing-03) var(--spacing-00); } > li.tag { &.active { .tag-menu > button { color: var(--white); border-color: var(--white); &:hover { background-color: var(--neutral-90); } } } &.untagged { button.tag-name { span.name { font-style: italic; padding-left: 0; } } } &:hover { &:not(.active) { background-color: var(--neutral-70); } .tag-menu { display: block; } } &:not(.active) { .tag-menu > a:hover { background-color: var(--neutral-90); } } button.tag-name { position: relative; padding: var(--spacing-03) var(--spacing-09) var(--spacing-03) var(--spacing-06); display: flex; align-items: center; word-wrap: anywhere; .tag-list-icon { vertical-align: sub; font-weight: bold; } span.name { padding-left: 0.5em; line-height: 1.4; } } } .tag-menu { button.dropdown-toggle { border: 1px solid var(--white); border-radius: var(--border-radius-base); background-color: transparent; color: var(--white); display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; position: relative; padding: var(--spacing-01) var(--spacing-03); &::after { margin: 0; } } display: none; width: auto; position: absolute; top: 50%; margin-top: -8px; // Half the element height. right: 4px; &.open { display: block; } button.tag-action { border-radius: unset; width: 100%; background-color: transparent; border-color: transparent; color: var(--neutral-70); text-align: left; font-weight: normal; &:hover { color: var(--white); background-color: var(--bg-accent-01); } &:active { outline: none; } } } } .project-dash-table { width: 100%; table-layout: fixed; @include media-breakpoint-down(md) { tr:not(:last-child) { border-bottom: 1px solid $table-border-color; } td { border-bottom-width: 0; } } tbody { tr.no-projects:hover { td { box-shadow: none; } } } .table-header-sort-btn { border: 0; text-align: left; color: var(--content-secondary); background-color: transparent; padding: 0; font-weight: bold; max-width: 100%; overflow: hidden; text-overflow: ellipsis; text-decoration: none; &:hover, &:focus { color: var(--content-secondary); text-decoration: none; } .material-symbols { vertical-align: bottom; font-size: var(--font-size-06); } } .dash-cell-name { hyphens: auto; width: 50%; word-break: break-word; } .dash-cell-owner { width: 20%; } .dash-cell-date { width: 25%; } .dash-cell-actions { display: none; text-align: right; .btn { text-decoration: none; } } .dash-cell-date-owner { font-size: $font-size-sm; @include text-truncate; } .dash-cell-tag, .clone-project-tag { .badge-tag { margin-top: var(--spacing-06); margin-bottom: var(--spacing-06); &:first-child { margin-left: initial !important; } } } @include media-breakpoint-up(sm) { .dash-cell-checkbox { width: 4%; } .dash-cell-name { width: 50%; } .dash-cell-owner { width: 21%; } .dash-cell-date { width: 25%; } .dash-cell-actions { width: 0%; } } @include media-breakpoint-up(md) { .dash-cell-checkbox { width: 4%; } .dash-cell-name { width: 44%; } .dash-cell-owner { width: 16%; } .dash-cell-date { width: 21%; } .dash-cell-actions { display: table-cell; width: 15%; } .project-tools { float: none; } } @include media-breakpoint-up(lg) { .dash-cell-checkbox { width: 3%; } .dash-cell-name { width: 46%; } .dash-cell-owner { width: 13%; } .dash-cell-date { width: 16%; } .dash-cell-actions { width: 22%; } tbody { .dash-cell-actions { white-space: nowrap; } } } @include media-breakpoint-up(xl) { .dash-cell-checkbox { width: 3%; } .dash-cell-name { width: 46%; } .dash-cell-owner { width: 15%; } .dash-cell-date { width: 19%; } .dash-cell-actions { width: 17%; } } @include media-breakpoint-up(xxl) { .dash-cell-checkbox { width: 2%; } .dash-cell-name { width: 49%; } .dash-cell-owner { width: 16%; } .dash-cell-date { width: 19%; } .dash-cell-actions { width: 14%; } } @include media-breakpoint-down(md) { tr { position: relative; display: flex; flex-direction: column; td { padding-top: var(--spacing-02); padding-bottom: var(--spacing-02); } td:not(.dash-cell-actions) { padding-right: 55px; } } .dash-cell-name, .dash-cell-owner, .dash-cell-date, .dash-cell-tag, .dash-cell-actions { display: block; width: auto; } .dash-cell-actions { position: absolute; top: var(--spacing-04); right: var(--spacing-04); padding: 0 !important; } .dropdown-table-button-toggle { @include action-button; padding: var(--spacing-04); } } } .loading-container { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: calc(100vh - #{$header-height}); .loading-screen-brand-container { margin: 0 auto; } } } .current-plan { a.current-plan-label { text-decoration: none; color: $content-secondary; } .current-plan-label-icon { vertical-align: text-bottom; color: var(--bg-info-01); } } /* stylelint-disable selector-class-pattern */ .project-list-upload-project-modal-uppy-dashboard .uppy-Root { .uppy-Dashboard-AddFiles-title { display: flex; flex-direction: column; color: var(--neutral-60); white-space: pre-line; button.uppy-Dashboard-browse { @extend .btn; @extend .btn-lg; @extend .btn-primary; margin-bottom: var(--spacing-07); } } } .survey-notification { display: flex; flex-wrap: wrap; padding: var(--spacing-06); background-color: var(--bg-dark-tertiary); border-color: transparent; color: var(--neutral-20); box-shadow: 2px 4px 6px rgb(0 0 0 / 25%); border-radius: var(--border-radius-base); @include media-breakpoint-up(md) { flex-wrap: nowrap; } button.close { @extend .text-white; padding: 0; } } .project-list-sidebar-survey-wrapper { position: sticky; bottom: 0; .survey-notification { font-size: var(--font-size-02); a { text-decoration: none; } } @include media-breakpoint-down(md) { position: static; margin-top: var(--spacing-05); .survey-notification { font-size: unset; .project-list-sidebar-survey-link { display: block; align-items: center; min-width: 48px; min-height: 48px; padding-top: var(--spacing-07); } } } } .project-list-load-more-button { margin-bottom: var(--spacing-05); } .clone-project-tag { display: flex; .form-label { margin-top: var(--spacing-01); } } form.project-search { .form-group { margin-bottom: 0; } } .project-search-clear-btn { @include reset-button; } .add-affiliation-mobile-wrapper { padding: var(--spacing-07) 0; } .add-affiliation { .progress { height: var(--spacing-05); margin-bottom: var(--spacing-03); } p { margin-bottom: var(--spacing-03); } &.is-mobile p { @include body-xs; white-space: normal; } } .color-picker-item { height: 28px; width: 28px; cursor: pointer; position: relative; outline: none; border-radius: var(--border-radius-base); margin: 0 var(--spacing-06) 0 0; display: inline-block; vertical-align: middle; &:focus-visible { box-shadow: 0 0 0 2px var(--white), 0 0 0 3px var(--blue-50), 0 0 0 5px var(--blue-30); } &.more-button { border: 1px solid var(--neutral-70); .color-picker-more { color: var(--neutral-70); margin: 3px; // it's centered, no matching spacing variable font-weight: bold; @include media-breakpoint-down(md) { margin: 5px; // it's centered, no matching spacing variable } } .color-picker-more-open { color: var(--neutral-70); margin: 3px; font-weight: bold; @include media-breakpoint-down(md) { margin: 5px; } } } .color-picker-item-icon { margin: 3px; // it's centered, no matching spacing variable color: var(--white); font-weight: bold; } @include media-breakpoint-down(md) { height: 32px; width: 32px; margin: var(--spacing-08); .color-picker-item-icon { margin: 5px; // it's centered, no matching spacing variable color: var(--white); } } } .color-picker-more-wrapper { position: relative; display: inline-block; .custom-picker { position: absolute; user-select: none; z-index: 1; @include media-breakpoint-down(sm) { top: 56px; left: 24px; } } .popover-backdrop { position: fixed; inset: 0; } }