@import "constants"; @import "mixins"; @import "main_navigation"; @import "repositories"; /** Layout **/ body, #main-nav, #notifications, #notifications .alert { min-width: 320px; } // Word wrapping everywhere, except for table header of "datatables.js" body, table.dataTable td { text-overflow: ellipsis; word-break: break-word; overflow-wrap: break-word; } // All tables are fixed, except for table of "datatables.js" table { table-layout: fixed; } #alert-container { margin-bottom: 20px; } #project-archive-btn { margin-left: 15px; } #projects-toolbar { margin: 15px 0; } #projects-toolbar .form-group { width: 100%; } .form-inline { .form-group .dropdown { display: inline-block; } } #fluid-content { padding-left: 15px; padding-right: 15px; padding-top: 80px; } .spacer { margin-left: 0.5em; margin-right: 0.5em; } .center-block-narrow { max-width: 400px; } @media(max-width:450px) { .dropdown-notifications { width: 100%; } } .well-search-checklist { background-color: $color-concrete !important; margin-bottom: 5px; } .blockquote-search { font-size: $font-size-base; margin-bottom: 10px; } .vertical-spacer-one-half { display: inline-block; width: 1.5em; } // Global invisible setter (hide element, but keep its size) .invisible { visibility: hidden !important; } /** Skin **/ body { font-size: $font-size-small; } .jumbotron { background-color: inherit; } .badge { background-color: $brand-primary; font-size: 11px; border-radius: 5px; } .badge-indicator, .btn .badge-indicator { font-size: 9px; margin-left: -8px; padding: 3px 5px; top: 3px; } .handle-move { cursor: move; cursor: -webkit-grabbing; } .bg-primary { background-color: $brand-primary; } /* this rule is strict because the order of css files is not correct */ .bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) { width: 100% !important; } mark,.mark { background-color: $brand-warning; } .label-default { background-color: $color-alto; } .label-primary { background-color: $brand-primary; } .circle { @extend .badge; background-color: $brand-primary; border-radius: 1em; &.disabled { background-color: $color-silver-chalice; } } .align-right { text-align: right; } a[data-toggle="tooltip"] { color: inherit; border-bottom: 1px dashed $color-emperor; &:hover { text-decoration: none; cursor: help; } } .nav-tabs { margin-bottom: 15px; & > li.has-error { & > a { color: $brand-danger; &:hover { color: $brand-danger; } } } } .has-error { .ql-container.ql-snow, .ql-toolbar.ql-snow { border: 1px solid $brand-danger; } } .nav-tabs-less { margin-bottom: 0; } .nav-pills { & > li { a { color: $brand-primary; } &:not(.active):hover a { background-color: $color-alto; } &.active a { color: $color-white; background-color: $brand-primary; } } } .breadcrumb { background-color: transparent; padding: 15px; margin-bottom: 0; text-overflow: ellipsis; overflow: hidden; } .nav-tabs-less > li.active > a { &,&:hover,&:focus { color: $brand-default; background-color: transparent; border-color: transparent; } } .tag.label.label-info { font-size: 100%; background-color: $brand-primary; } #secondary-navigation { white-space: nowrap; overflow: hidden; } .panel-body { .ql-editor { padding: 0; white-space: normal; blockquote { padding: 10px 20px; } } } .navbar-secondary { background: $color-concrete !important; margin-left: -280px; padding-left: 295px; padding-right: 15px; margin-bottom: 0; border-color: transparent; z-index: 500; position: fixed; width: 100%; .container-fluid { border-left: 0; border-top: 0; border-right: 0; border-bottom: 4px solid $color-silver; padding-right: 0; padding-left: 0; } .navbar-toggle { margin-right: 100px; } #secondary-menu { padding-left: 0; } .nav-name { padding: 15px 0; } ul.nav { margin-right: 60px; & > li { text-transform: uppercase; & > a { color: $color-silver-chalice; span { //width: 14px; } } &.active { @include box-shadow(0 4px 0 $brand-primary); &> a { font-weight: bold; color: $color-emperor; } } } } } .navbar-secondary { -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; } .navbar-without-sidebar{ padding-left: 15px; margin-left: 0px; -webkit-transition: all 0.5s ease; -moz-transition: all 0.5s ease; -o-transition: all 0.5s ease; transition: all 0.5s ease; } /** Chat bubble */ .chat-bubble { background-color: $color-white; border-radius: 1em; padding: 10px; } /** Settings */ .nav-settings { margin-top: 15px; margin-bottom: 0; } .tab-pane-settings { background-color: $color-white; padding: 15px; border-left: 1px solid $color-alto; border-right: 1px solid $color-alto; border-bottom: 1px solid $color-alto; margin-bottom: 50px; } .breadcrumb-teams { background-color: $color-concrete; margin-bottom: 15px; } .notification-settings-labels { line-height: 3em; margin-top: 40px; } // Help link #help-link { padding: 13px; .glyphicon.glyphicon-info-sign { font-size: $font-size-large; margin-top: 4px; } } // Checkbox tree .checkbox-tree ul { list-style: none; margin: 0; padding-left: 15px; } .existing-users-smalltext { width: 100%; text-align: center; } // Teams datatable .teams-datatable { margin-bottom: 20px; .dataTables_paginate { float: right; } } /** Users datatable */ .panel-team-users .panel-body { padding-bottom: 0; } .users-datatable { margin-bottom: 20px; #users-table_filter { float: right; margin-top: 19px; } #users-table_paginate { float: right; } .dropdown-teams-user { .dropdown-menu li.user-team-role { & > :first-child { padding-left: 10px; } &:not(.disabled) span.glyphicon { color: transparent !important; } } } } .user-statistics { .list-inline { margin-left: 15px; } .label { font-size: 100%; } li { height: 100px; margin: 15px; padding-bottom: 15px; padding-left: 10px; padding-right: 10px; width: 100px; } } /** Protocols management */ .tab-pane-protocols { & > div.protocols-description { margin-bottom: 15px; } & > .btn-group { margin-right: 30px; } } @media(max-width:768px) { .tab-pane-protocols > .btn-group { margin-right: 5px; } } @media(max-width:768px) { .navbar-secondary ul.breadcrumb { margin-left: 15px; } } .protocols-datatable table { tbody tr.selected { & > td:nth-child(3), td:nth-child(4) { color: $color-emperor; & a { color: $color-emperor; } } } } .well-protocols-results { margin-top: 15px; margin-bottom: 0; background-color: $color-concrete !important; & > ul { list-style: none; padding-left: 0; margin-bottom: 0; & > li { margin: 2px 0; } } } .linked-children-datatable { clear: right; table thead { display: none; } table tbody tr .breadcrumb { padding: 0 5px; & li + li::before { content: "> "; } } .dataTables_paginate { float: right; .pagination { margin: 2px 0; } } .dataTables_info { padding-top: 8px; } } a.edit-name-link small { margin-left: 5px; display: none; } a.edit-name-link:hover small { display: initial; } #edit-protocol-metadata-modal { & div.bootstrap-tagsinput { width: 100%; min-height: 64px; } } ul.no-style { list-style: none; margin: 0; padding: 0; } ul.double-line > li { margin-bottom: 1em; } .page-header { border-color: $color-alto; } .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus, .pagination > .active > span, .pagination > .active > span:hover, .pagination > .active > span:focus { background-color: $brand-primary; } .pagination > li > a, .pagination > li > span { color: $brand-primary; } .panel-default > .panel-heading { background-color: $brand-primary-light; &>.panel-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } } .panel-project { .panel-heading { background-color: $brand-primary; color: $color-white; } } .panel-archive { .panel-heading { background-color: darken($brand-primary-light, 5%); color: lighten($color-emperor, 15%); } } .panel-options { position: relative; bottom: 6px; } .panel-footer { padding: 0 15px; } .panel-footer-scinote { background: linear-gradient(to bottom, $color-concrete, $color-white 10px); padding: 0; hr { margin-top: 10px; margin-bottom: 10px; } .btn-link { color: $color-silver-chalice; } .btn-link:hover { color: darken($color-silver-chalice, 15%); } .tab-content { ul { margin-bottom: 15px; } li { padding-left: 15px; padding-right: 15px; } .manage-users-link { padding-left: 15px; } } .content-module-info { max-height: 250px; overflow: auto; } .content-comments { max-height: 250px; overflow: auto; } .content-activities { max-height: 250px; overflow: auto; } .content-users { max-height: 250px; overflow: auto; } .content-notifications { max-height: 250px; overflow: auto; li.notification.alert-red > .date-time { font-weight: bold; color: $brand-danger; } li.notification.alert-yellow > .date-time { font-weight: bold; color: $brand-warning; } } } /* Accordion panel */ .panel-accordion { border: 0; border-radius: 0; margin-bottom: 0; &> .panel-heading { background-color: $brand-primary-light; border-bottom: 1px solid $color-alto; .panel-title > a { &:hover, &:focus { text-decoration: none; } & > span { @include rotate(90deg); } } } & .panel-body { background-color: $color-white; padding: 0; } } .form-control.bootstrap-select { background-color: inherit; @include box-shadow(inherit); } .panel-heading .dropdown { bottom: 8px; left: 8px; } #global-activity-page { margin-top: 50px; } .btn-more-activities { margin-bottom: 15px; } /** Activity list resembling Bootstrap wells */ ul.content-activities { li.activity-item { border-radius: .25em; background-color: $color-white; border: 1px solid $color-concrete; .activity-item-date { min-width: 150px; display: table-cell; vertical-align: middle; border-top-left-radius: .25em; border-bottom-left-radius: .25em; border: 3px solid $color-alto; background-color: $color-alto; padding-left: 10px; padding-right: 10px; vertical-align: top; } .activity-item-text { display: table-cell; padding: 3px 10px; text-align: justify; } } } ul.content-module-activities { li.activity-item { margin-bottom: 15px; .activity-item-date { font-size: 1.2em; background-color: $brand-primary; border-color: $brand-primary; color: $color-white; padding-top: 5px; padding-bottom: 5px; } .activity-item-text { padding-top: 5px; padding-bottom: 5px; } } } .step { .panel-heading a[data-toggle] { color: inherit; } &.not-completed { .badge-num > span.badge { background-color: $color-silver; } } } .well { background-color: $color-white; } .well-sm { border-radius: 0; } .panel-protocol-status { display: inline-block; margin-bottom: 5px; & > .panel-body { padding: 5px 5px 5px 15px; } } .load-from-repository-protocols-datatable { clear: right; & .dataTables_wrapper .dataTables_filter { float: right; margin-top: 15px; } } // Preview protocol modal @media (min-width: 768px) { #protocol-preview-modal .modal-dialog { width: 70%; } } #protocol-preview-modal .modal-dialog { .modal-body { max-height: 75vh; overflow-y: auto; width: 100%; .ql-editor { min-height: initial; } } } /* Import protocol/s modal */ #import-protocol-modal .modal-dialog { width: 70%; } .import-protocols-modal-preview-container { height: 300px; overflow-y: scroll; width: 100%; .eln-table { text-align: center; height: 21px; } .badge-preview { background-color: $color-silver; border-radius: 2em; float: left; font-size: 20px; padding: 5px 14px; position: relative; top: -10px; } } // Protocolsio Import protocol modal .import-protocols-modal-preview-container-json { height: 300px; overflow-y: scroll; width: 100%; .eln-table { height: 21px; text-align: center; } .badge-preview { background-color: $color-silver; border-radius: 2em; float: left; font-size: 20px; padding: 5px 14px; position: relative; top: -10px; } } // Protocolsio Preview protocol modal @media (min-width: 768px) { #modal-import-json-protocol-preview .modal-dialog { width: 70%; } } #modal-import-json-protocol-preview .modal-dialog { .modal-body { max-height: 75vh; overflow-y: auto; width: 100%; .ql-editor { min-height: initial; } } } /* Steps and Results */ #steps { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAAIUlEQVQImWNgoD5gZGBgMILSjKRo/P//vwiSGQwMDAwMAEnaA0jgHoquAAAAAElFTkSuQmCC"); background-repeat: repeat-y; background-position: -3px 0; } .badge-icon { font-size: 1.4em; float: left; padding: 6px 10px; & + .well-sm { margin-left: 38px; } } .new-asset-box { border: 1px solid $color-silver; border-radius: 2px; font-size: 2rem; margin-bottom: 20px; margin-top: 20px; padding-bottom: 30px; padding-top: 30px; } .dnd-error, .dnd-total-error { color: $brand-danger; } .is-dragover { background: $color-black; bottom: 0; display: none; height: 100%; left: 0; min-height: 100%; opacity: .4; pointer-events: none; position: fixed; right: 0; top: 0; width: 100%; z-index: 999999; span { color: $color-white; display: block; font-size: 4em; font-weight: bold; padding-top: 25%; pointer-events: none; text-align: center; } } .step, .result { .panel { margin-left: 38px; } .row { padding: 0 20px; } .badge-num { position: absolute; & > .badge { border-radius: 2em; float: left; font-size: 23.4px; padding: 6px 11px; position: relative; top: 2px; } .size-digit-2 { font-size: 18px; padding: 8px; } .size-digit-3 { font-size: 14px; padding: 10px 6px; } & > .badge.icon { font-size: 16.5px; padding: 9px; } } .panel-heading a[data-toggle] { color: inherit; } .content-comments { max-height: 250px; overflow: auto; padding: 0 15px; } } .hot-table { margin-bottom: 25px; } .step-result-hot-table { max-height: 400px; overflow: hidden; width: 100%; } /* Data table */ table.dataTable { background-color: $color-alabaster; table-layout: initial; text-overflow: initial; width: 100%; word-break: initial; thead { background-color: $color-silver-chalice; } thead > tr > th { border-bottom-width: 0; border-left: 2px solid $color-alabaster; color: $color-white; font-weight: normal; } thead > tr > th:first-child { border-left: none; } thead > tr > th, thead > tr > td { padding: 6px; } tbody > tr.selected, tbody > tr > .selected { background-color: $color-alto !important; color: $color-emperor !important; a { color: $brand-primary !important; } } .sorting_desc, .sorting_asc { background-color: $brand-primary; } } /* Helpers */ .line-wrap { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; &.short { position: relative; top: 6px; max-width: 78%; } } #samples_length { display: inline-block; } .toolbarButtons { display: inline-block; padding-left: 20px; } /* Pills with arrow */ .nav-stacked-arrow > li > a { border-radius: 2px; } .nav-stacked-arrow > li.active > a:after, .nav-stacked-arrow > li.active > a:hover:after, .nav-stacked-arrow > li.active > a:focus:after { content: ''; position: absolute; left: 100%; top: 50%; margin-top: -19px; border-top: 19px solid transparent; border-left: 13px solid $brand-primary; border-bottom: 19px solid transparent; } .nav-stacked-arrow > li.active > a:hover:after { border-left: 13px solid darken($brand-primary, 15%); } /* Overlay to disable interaction while loading ajax */ .loading-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1000000000; cursor: wait; } .loading-overlay-center { position: fixed; left:50%; top:50%; z-index: 1000000000; } .turbolinks-progress-bar::before { background-color: $brand-primary; } /* Loading animation for ajax events, inspired by Codrops */ #loading-animation { position: fixed; top: 0; left: 0; z-index: -1; width: 100%; height: 3px; background: $brand-primary; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); pointer-events: none; } #loading-animation.animate { z-index: 10000000; opacity: 0; -webkit-transition: -webkit-transform 5s ease-in, opacity 1s 5s; transition: transform 5s ease-in, opacity 1s 5s; -webkit-transform: translate3d(0%, 0, 0); transform: translate3d(0%, 0, 0); } .modal-tooltip { border-bottom: 1px dotted $color-alto; cursor: help; display: inline-block; .modal-tooltiptext { background-color: $color-alto; border-radius: 6px; color: $color-emperor; display: block; margin-left: 100px; padding: 5px; position: absolute; text-align: center; visibility: hidden; width: 200px; word-wrap: break-word; z-index: $infinity; } } .modal-tooltip:hover .modal-tooltiptext { visibility: visible; } // don't display tooltip, it's handeled with js .repository-table .modal-tooltip:hover .modal-tooltiptext { visibility: hidden; } // Comments .comment-more { margin-left: 15px; } .dropdown.dropdown-comment { display: inline-block; [data-role="comment-options"] { color: $color-emperor; } } .dropdown-menu.dropdown-menu-fixed { left: auto; position: fixed; top: auto; li:not(.dropdown-header):hover { background-color: $color-concrete; } } .edit-comment-form { .help-block { display: inline; } } //edit avatar .avatar-container { background-color: lighten($color-concrete, 2%); height: 100px; position: relative; width: 100px; } .avatar-container:hover .avatar-edit { display: block; } .avatar-image { left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); } .avatar-edit { display: none; margin-top: 70%; opacity: .8; position: absolute; z-index: 10; .btn-grey { background-color: $color-silver-chalice; border-color: $color-silver-chalice; border-radius: 0; color: $color-white; width: 100px; &:hover, &:focus { background-color: darken($color-silver-chalice, 15%); border-color: darken($color-silver-chalice, 15%); color: $color-white; } } } .avatar-file-upload input[type=file] { max-width: 100%; } .modal-invite-users { .bootstrap-tagsinput { min-width: 450px; } .results-container .alert { margin-bottom: 10px; padding: 5px; } .results-container .results-wrap { max-height: 400px; overflow-y: auto; padding-right: 10px; } .team-selector .heading { margin-top: 15px; margin-bottom: 5px; input[type=checkbox] { vertical-align: middle; margin: 0; } } } // Image preview modal .modal-file-preview { background: transparent; font-size: $font-size-large; padding-right: 0 !important; z-index: 1060; .preview-close { background: transparent; border: 0; color: $color-white; display: inline-block; float: right; } .file-wopi-controls { display: inline-block; .btn { margin: 0 15px; } } .modal-dialog { height: 100%; margin: 0; padding: 0; width: auto; } .modal-content { background: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; color: $color-white; height: 100%; width: auto; } .file-preview-container { align-items: center; color: $gray-dark; display: -moz-flex; display: -webkit-flex; display: flex; height: 100%; justify-content: center; text-align: center; width: 60%; .file-name { color: $color-black; margin: 30px 0; } } img { height: auto; max-width: 100%; @media (max-height: 520px) { height: 80%; max-width: 100%; } } .modal-header { background: $color-black; border: 0; height: 60px; text-align: center; .file-name { float: left; } } .modal-body { align-items: center; display: -moz-flex; display: -webkit-flex; display: flex; height: calc(100% - 120px); justify-content: center; overflow: hidden; padding: 0; } .modal-footer { background: $color-black; border: 0; bottom: 0; height: 60px; position: absolute; text-align: center; width: 100%; } .file-download-link { color: $color-white; display: inline-block; float: right; margin-right: 20px; } } // Disable textarea resizing throughout application // (will be done via autosize JS plugin) textarea { resize: none; } textarea.textarea-sm { height: 34px; min-height: 34px; &.form-control { height: 34px; } } .comment-form .input-group { height: 100%; textarea { -webkit-margin-before: 1px; -webkit-margin-after: 1px; } .input-group-btn { height: 100%; .btn.btn-default { height: 100%; min-height: 34px; -webkit-padding-before: 0; -webkit-padding-after: 0; } } } // new smart dropdown styles .smart-dropdown { overflow-y: auto; padding: 0; width: 300px; .modal-tooltiptext { margin-left: 0; z-index: 99999999; } li { background: $color-white; border: 1px solid $color-alto; padding: 10px 10px 10px 0; vertical-align: middle; &.dropdown-header { padding-left: 30px; } } [data-position] { cursor: -webkit-grab; cursor: grab; } .ui-sortable-helper { cursor: -webkit-grabbing; cursor: grabbing; } .form-group { margin-bottom: 0; margin-left: 10px; } .grippy { background-repeat: none; display: inline-block; height: 19px; margin-top: 5px; width: 10px; } li:not(.editing) .grippy-img { background: url(asset-path('custom/grippy.png')); } .text { display: inline-block; padding-left: 15px; padding-top: 5px; position: absolute; } .text-edit { display: inline-block; margin-left: 2px; margin-top: -2.5px; position: absolute; width: 180px; } .col-invisible { color: $color-alto; } .controls { display: inline-block; margin-top: 5px; span { cursor: pointer; &.disabled { visibility: hidden; } &:hover { color: $color-emperor; } } .ok { color: $brand-default; margin-right: 5px; } .cancel { margin-left: 5px; margin-right: 15px; } .vis { margin-right: 5px; } .edit { margin-right: 5px; } .del { } } .help-block { display: inline-block; margin-bottom: 0; margin-left: 25px; } } .add-new-column-form .help-block { margin-left: 0; } th.custom-field .modal-tooltiptext { margin-left: 0; z-index: 99999999; } .disable-click { pointer-events: none; } // AtWho (smart annotations) // .atwho-view { position: absolute; top: 0; left: 0; display: none; margin-top: 18px; background: $color-white; color: $color-black; border: 1px solid $color-emperor; border-radius: 3px; box-shadow: 0 0 5px $color-gainsboro; max-width: 800px; min-width: 700px; overflow: auto; z-index: 11110 !important; small { font-size: smaller; color: $color-emperor; font-weight: normal; } strong { color: $brand-primary; } .cur { background: $brand-primary; color: $color-white; small { color: $color-white; } strong { color: $color-white; font: bold; } } ul { list-style: none; padding: 0; margin: auto; li { display: block; padding: 5px 10px; border-bottom: 1px solid $color-emperor; cursor: pointer; } } } // .atwho-header-res { background-color: $color-concrete; border-bottom: 1px solid $color-emperor; display: flex; flex-wrap: wrap; padding: 3px 5px; .btn { border-radius: 4px; margin: 5px; padding: 3px; } .btn-default { background-color: transparent; } .title-user { padding-top: 4px; } .help { margin-left: auto; margin-right: 15px; order: 99; padding: 4px; white-space: nowrap; div { display: inline; font-size: smaller; margin-left: 15px; } strong { color: $color-black; } } .dismiss { color: $color-emperor; position: absolute; right: 5px; top: 5px; } .dismiss:hover { color: $color-black; cursor: pointer; } } .atwho-li-user { .avatar { border-radius: 50%; margin-left: 5px; margin-right: 10px; height: 20px; width: 20px; } } .atwho-li-res { .glyphicon-tint { margin-left: 5px; margin-right: 5px; } .res-type { border: 1px solid $color-black; border-radius: 4px; font-weight: 600; margin-left: 5px; margin-right: 5px; padding: 0 2px; text-transform: capitalize; } .res-name { font-weight: 600; margin-right: 5px; } .res-description { color: $color-emperor; font-size: 10px; } } .sa-type { border: 1px solid $color-black; border-radius: 4px; color: $color-black; font-weight: 600; padding: 0 2px; text-decoration: none; text-transform: capitalize; &:hover { text-decoration: none; } } .atwho-user-popover { cursor: pointer; padding-left: 5px; } .atwho-user-img-popover { cursor: not-allowed; } .atwho-no-results { padding: 5px 10px; } .popover { border-radius: 3px; min-width: 450px; padding: 15px 10px; z-index: 9999; h5 { font-weight: bold; line-height: 0; } .silver { color: $color-silver-chalice; } p { max-width: 260px; word-wrap: break-word; } } .popover-remove { cursor: pointer; } .my_module-state-buttons { padding-top: 6px; } .parse-records-table { max-height: 200px; }