@import './list/v1-import-modal.less'; @keyframes pulse { 0% { opacity: 0.7; } 100% { opacity: 0.9; } } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } .project-list-page { position: absolute; top: @header-height; bottom: @footer-height; padding-bottom: 0; width: 100%; overflow-x: hidden; overflow-y: auto; // Specificity needed to override default `body > .content` values body > .content& { min-height: calc(~'100vh -' (@header-height + @footer-height)); padding-top: 0; } } .project-list-content when (@is-overleaf) { margin: 0; height: 100%; overflow: hidden; } .project-list-content when (@is-overleaf = false) { .container; } .project-list-empty { height: 100%; overflow-y: scroll; } .project-list-empty-col { display: flex; height: 100%; flex-direction: column; flex-wrap: nowrap; .row:first-child { flex-grow: 1; /* fill vertical space so notifications are pushed to bottom */ } } .sidebar-new-proj-btn when (@is-overleaf) { .btn-block; } .project-list-row when (@is-overleaf) { height: 100%; min-height: calc(~'100vh -' (@header-height + @footer-height)); } .project-list-container when (@is-overleaf) { height: 100%; } .project-list-sidebar { background-color: @sidebar-bg; padding-top: @content-margin-vertical; padding-bottom: @content-margin-vertical; color: @sidebar-color; .small { color: @sidebar-color; } } .project-list-sidebar when (@is-overleaf) { overflow-x: hidden; overflow-y: auto; -ms-overflow-style: -ms-autohiding-scrollbar; } .project-list-main { padding-top: @content-margin-vertical; padding-bottom: @content-margin-vertical; height: 100%; margin-left: -(@grid-gutter-width / 2); overflow-y: auto; } .project-header { .btn-group > .btn { padding-left: @line-height-base / 2; padding-right: @line-height-base / 2; } } .project-search { margin: @line-height-base 0; } .project-tools { display: inline; float: right; } .tags-dropdown-menu { max-width: 50vw; &.dropdown-menu > li > a { overflow: hidden; text-overflow: ellipsis; } } .project-list-table { width: 100%; table-layout: fixed; } .project-list-table-header-row { border-bottom: 1px solid @structured-list-border-color; } .project-list-table-row { position: relative; border-bottom: 1px solid @structured-list-border-color; &:last-child { border-bottom: 0 none; } &:hover { background-color: @structured-list-hover-color; } &:first-child { border-bottom-color: @structured-header-border-color; &:hover { background-color: transparent; } } } .project-list-table-name-cell, .project-list-table-owner-cell, .project-list-table-lastupdated-cell, .project-list-table-actions-cell, .project-list-table-no-projects-cell { padding: (@line-height-computed / 4) 0; vertical-align: top; } .project-list-table-no-projects-cell { text-align: center; } .project-list-table-name-cell { width: 50%; padding-right: @line-height-computed / 2; @media (min-width: @screen-md) { width: 47%; } @media (min-width: @screen-lg) { width: 50%; } } .project-list-table-name-container { position: relative; overflow: hidden; text-overflow: ellipsis; } // Extra specificity needed to override Bootstrap's own specificity. input.project-list-table-select-item[type='checkbox'] { position: absolute; left: @line-height-computed - (@grid-gutter-width / 2); margin-top: 5px; } .project-list-table-v1-badge-container { position: absolute; } .project-list-table-name { display: inline-block; padding-left: @line-height-computed * 1.5; vertical-align: top; } .project-list-table-name-link { padding: 0; } .project-list-table-owner-cell { width: 23%; padding-right: @line-height-computed / 2; overflow: hidden; text-overflow: ellipsis; @media (min-width: @screen-sm) { width: 12%; } } .project-list-table-lastupdated-cell { width: 27%; padding-right: @line-height-computed / 2; overflow: hidden; text-overflow: ellipsis; @media (min-width: @screen-sm) { width: 14%; } } .project-list-table-actions-cell { display: none; padding-right: @line-height-computed - (@grid-gutter-width / 2); text-align: right; white-space: nowrap; @media (min-width: @screen-sm) { display: table-cell; width: 18%; } @media (min-width: @screen-md) { width: 11%; } @media (min-width: @screen-lg) { width: 10%; } } .action-btn { padding: 0 0.3em; margin-left: 0.2em; } .first-project { width: 127px; text-align: center; } .user-profile { .progress { height: @line-height-computed / 2; margin-bottom: @line-height-computed / 4; } p { margin-bottom: @line-height-computed / 4; } } .user-notifications { ul { margin-bottom: 0px; } .notification-entry { .alert { .box-shadow(2px 4px 6px rgba(0, 0, 0, 0.25)); display: flex; flex-wrap: wrap; @media (min-width: @screen-sm-min) { flex-wrap: nowrap; } } } } .notification-body { flex-grow: 1; width: 90%; @media (min-width: @screen-sm-min) { width: auto; } } .notification-action { margin-top: (@line-height-computed / 2); // match paragraph padding order: 1; @media (min-width: @screen-sm-min) { margin-top: 0; order: 0; padding-left: @padding-sm; } } .notification-close { padding-left: @padding-sm; text-align: right; width: 10%; @media (min-width: @screen-sm-min) { width: auto; } } ul.folders-menu { margin: @folders-menu-margin; .subdued { color: @gray-light; } > li { cursor: pointer; position: relative; > a { display: block; color: @sidebar-link-color; padding: @folders-menu-item-v-padding @folders-menu-item-h-padding; border-bottom: solid 1px transparent; &:hover { background-color: @sidebar-hover-bg; text-decoration: @sidebar-hover-text-decoration; } &:focus { text-decoration: none; } } > a when (@is-overleaf = false) { font-size: 0.9rem; } &.separator { padding: @folders-menu-item-v-padding @folders-menu-item-h-padding; cursor: auto; } } > li.active { border-radius: @sidebar-active-border-radius; > a { background-color: @sidebar-active-bg; font-weight: @sidebar-active-font-weight; color: @sidebar-active-color; .subdued { color: @sidebar-active-color; } } } > li.folders-menu-item-with-tooltip { > a { padding-right: 1.5 * @folders-menu-item-h-padding + @folders-menu-tooltip-size; } } > li > a.small { color: @gray; } h2 { margin-top: @folders-title-margin-top; margin-bottom: @folders-title-margin-bottom; font-size: @folders-title-font-size; color: @folders-title-color; text-transform: @folders-title-text-transform; padding: @folders-title-padding; font-weight: @folders-title-font-weight; font-family: @font-family-sans-serif; } > li.tag { &.active { .tag-menu > a { color: white; border-color: white; &:hover { background-color: @folders-tag-menu-active-hover; } } } &.untagged { a.tag-name { span.name { font-style: italic; padding-left: 0; } } } &:hover { &:not(.active) { background-color: @folders-tag-hover; } .tag-menu { display: block; } } &:not(.active) { .tag-menu > a:hover { background-color: @folders-tag-menu-hover; } } a.tag-name { position: relative; padding: @folders-tag-padding; display: @folders-tag-display; span.name { padding-left: 0.5em; line-height: @folders-tag-line-height; } } .tag-menu { > a { border: 1px solid @folders-tag-border-color; border-radius: @border-radius-small; color: @folders-tag-menu-color; display: block; width: 16px; height: 16px; position: relative; .caret { position: absolute; top: 6px; left: 1px; } } display: none; position: absolute; top: 50%; margin-top: -8px; // Half the element height. right: 4px; &.open { display: block; } } } } .folders-menu-tooltip-trigger { display: none; position: absolute; top: 50%; right: @folders-menu-item-h-padding; width: @folders-menu-tooltip-size; height: @folders-menu-tooltip-size; margin-top: -(floor(@folders-menu-tooltip-size / 2)); line-height: @folders-menu-tooltip-size; background-color: @folders-menu-tooltip-bg; font-family: @font-family-serif; color: #fff; font-style: italic; border-radius: ceil(@folders-menu-tooltip-size / 2); text-align: center; font-weight: 700; @media (min-width: @screen-sm-min) { display: block; } } .project-action-alert { display: flex; margin-bottom: 0; align-items: center; } .project-action-alert-msg { flex-grow: 1; padding-right: 10px; } form.project-search { .form-group { margin-bottom: 0; } } ul.structured-list { list-style-type: none; margin: 0; overflow: hidden; overflow-y: auto; -ms-overflow-style: -ms-autohiding-scrollbar; li { border-bottom: 1px solid @structured-list-border-color; padding: (@line-height-computed / 4) 0; &:last-child { border-bottom: 0 none; } &:hover { background-color: @structured-list-hover-color; } &:first-child { border-bottom-color: @structured-header-border-color; &:hover { background-color: transparent; } } a { color: @structured-list-link-color; } .header when (@is-overleaf = true) { font-weight: 600; } .header when (@is-overleaf = false) { text-transform: uppercase; } .select-item, .select-all { position: absolute; left: @line-height-computed; } .select-item + span, .select-all + span { display: inline-block; padding-left: @line-height-computed * 1.5; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: top; } } } .project-list-card when (@is-overleaf) { padding: 0 (@line-height-computed / 4); } ul.project-list { li { .last-modified when (@is-overleaf = false) { font-size: 0.8rem; } .owner when (@is-overleaf = false) { font-size: 0.8rem; } .owner when (@is-overleaf = false) { margin-right: 0; } .projectName { margin-right: @line-height-computed / 4; padding: 0; vertical-align: inherit; white-space: normal; text-align: left; } .v1-badge { margin-left: -4px; } .action-btn { padding: 0 0.3em; margin-left: 0.2em; } } i.tablesort { padding-left: 8px; } } .tag-label { margin-left: @line-height-computed / 4; position: relative; display: inline-block; white-space: nowrap; top: @tag-top-adjustment; } // Extra specificity needed to override Bootstrap's own specificity. .label.tag-label-name, .label.tag-label-remove { display: inline-block; padding: 3px 4px; border-radius: @tag-border-radius; background-color: @tag-bg-color; color: @tag-color; vertical-align: text-bottom; border-width: 0; &:hover, &:focus { color: @tag-color; background-color: @tag-bg-hover-color; outline-width: 0; } } .label.tag-label-name { padding-right: 2px; border-top-right-radius: 0; border-bottom-right-radius: 0; max-width: @tag-max-width; overflow: hidden; text-overflow: ellipsis; > .fa { margin-right: 0.3em; } } .label.tag-label-remove { padding-left: 2px; border-top-left-radius: 0; border-bottom-left-radius: 0; } .user_details_auto_complete { ul > li { list-style: none; } .autocomplete { width: 100%; position: relative; } .autocomplete ul { position: absolute; top: 100%; left: 0; z-index: @zindex-dropdown; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; // override default ul list-style: none; font-size: @font-size-base; background-color: @dropdown-bg; border: 1px solid @dropdown-fallback-border; // IE8 fallback border: 1px solid @dropdown-border; border-radius: @border-radius-base; .box-shadow(0 6px 12px rgba(0, 0, 0, 0.175)); background-clip: padding-box; // Links within the dropdown menu > li { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: @line-height-base; color: @dropdown-link-color; white-space: nowrap; // prevent links from randomly breaking onto new lines } > li.active { text-decoration: none; color: @dropdown-link-hover-color; background-color: @dropdown-link-hover-bg; } } .autocomplete .highlight { font-weight: 700; } } .minimal-create-proj-dropdown { text-align: center; &-menu { width: 200px; left: 50%; margin-left: -100px; } }