/* * @copyright Copyright (c) 2016 Julius Härtl * * @author Julius Härtl * @author Artem Anufrij * * @license GNU AGPL version 3 or any later version * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * */ /** * General styles */ button, .button, .app-deck .icon { display: flex; } input.input-inline { font-size: inherit !important; font-weight: inherit; background-color: transparent; padding: 0; border: none; width: 100%; border-bottom: 1px solid #333333; -webkit-border-radius: 0; line-height: 100%; margin: -4px 0; } button.button-inline { border: 0; background-color: transparent; } button.button-inline:hover { border: 0; background-color: transparent; } #searchbox { display: flex !important; } .editable-inline { cursor: text; } /** * Navigation sidebar */ .app-navigation-entry-menu ul { flex-direction: row; } .app-navigation-entry-utils-menu-button { display: block !important; } .app-navigation-entry-utils-menu-share { display: flex !important; padding: 14px; opacity: 0.4; } #app-navigation .app-navigation-entry-edit { height: auto; } #app-navigation .board-bullet { position: absolute; margin-left: 17px; margin-top: 16px; width: 12px; height: 12px; border: none; border-radius: 50%; cursor: pointer; } #app-navigation .app-navigation-entry-utils li.board-delete-undo { background-color: #aa0000; color: #fff; cursor: pointer; width: auto !important; } #app-navigation .app-navigation-entry-menu ul { flex-direction: row; } /** * Board view */ #board-status { position: absolute; z-index: 999; width: 100%; height: 100%; background-color: #fff; } #board { position: relative; height: 100%; white-space: nowrap; overflow: auto; z-index: 100; width: 100%; } #board #innerBoard { padding: 10px; } #board-header { width: inherit; color: #333333; position: relative; z-index: 120; min-height: 44px; display: flex; align-items: center; font-size: 14pt; } #board-header .crumb { background-image: url('../../../core/img/breadcrumb.svg?v=1'); background-size: auto 24px; background-position: right center; background-repeat: no-repeat; padding: 7px 14px; } #board-header > h1 { white-space: nowrap; padding: 7px; } #app-navigation-toggle { position: relative; top: 0px; width: 44px; height: 44px; cursor: pointer; } .board-header-controls { margin-left: auto; align-items: center; } .board-header-controls.app-popover-menu-utils { display: flex; } .board-header-controls > button { padding: 16px 20px; } .board-header-controls.app-popover-menu-utils #popover-controls { display: flex; align-items: center; } .board-header-controls.app-popover-menu-utils .popovermenu { margin-top: 35px; margin-right: 6px; } .filter-select { position: absolute; right: auto; top: 42px; left: -21%; } .filter-select li { padding: 3px; overflow: hidden; width: auto; } .filter-select li span { display: block; float: left; width: 20px; height: 20px; margin-right: 5px; } #stack-add { background-color: rgba(240,240,240,.9); border-radius: 3px; margin: 3px; } #stack-add > form { display: flex; } #stack-add input { padding: 4px 5px; border: 0px none transparent; min-height: initial; background-color: transparent; } #stack-add input:invalid { box-shadow: none; } #stack-add input:-moz-submit-invalid { box-shadow: none; } #stack-add input:-moz-ui-invalid { box-shadow:none; } .stack { width: 100%; margin-right: 10px; vertical-align: top; background-color: #f8f8f8; } .stack h2 { padding: 10px 10px 8px; margin: 0; font-size: 12pt; font-weight: 700; overflow: hidden; display: flex; min-height: 40px; } .stack h2 input { padding: 0; width: 100%; margin: 0; font-size: 12pt; font-weight: 700; border: 0; background-color: white; min-height: initial; } .stack form { width: 100%; } .stack h2 span { white-space: normal; overflow: hidden; text-overflow: ellipsis; } .stack h2 button { margin-left: auto; display: flex; opacity: 0.25; padding-right: 0; } .stack h2:hover button { display: flex; } .card { background-color: #ffffff; margin: 10px; white-space: normal; position: relative; opacity: 1.0; -webkit-box-shadow: 0 0 5px #bbb; } .card.archived .card-upper { opacity: 0.5; } .card-upper { overflow: hidden; position: relative; padding: 5px; } .card .card-controls { padding: 10px; background: #f8f8f8; display: flex; position: relative; } .card .card-controls .card-options { opacity: 0.25; position: absolute; right: 10px; top: 8px; } .card .card-controls:hover .card-options { opacity: 1; } .card .card-controls button { padding: 0px; margin-right: 0px; } .app-popover-menu-utils { margin-left: auto; min-height: 16px; } .popovermenu { z-index: 999; opacity: 1; display: block; margin-top: 25px; margin-right: 0px; } .popovermenu.hidden { display: none; } .card .card-assignees { margin: 5px; } .card:hover { background-color: #fcfcfc; } .card a { display: block; } .card h3 { font-weight: bold; font-size: 10pt; padding: 0; margin: 5px; overflow: hidden; text-overflow: ellipsis; } .card.has-labels h3 { margin-top: 15px; } .card .labels { position: absolute; top: -5px; left: 10px; } .card .labels li { padding: 0; width: 15px; height: 20px; -webkit-border-radius: 3px; font-size: 80%; border: none transparent; float: left; } .card .labels li span { display: none; } .card .labels li:hover { } .card .labels li:hover span { position: absolute; padding: 3px; background-color: inherit; } .as-sortable-placeholder { margin: 10px; border: 1px dashed #aaa; } #innerBoard > .as-sortable-placeholder { display: inline-block !important; margin-top: 0; margin-left: 0; } .info { padding-left: 5px; padding-right: 5px; display: inline-block; color: #aaa; } .info i { margin-left: 2px; } .info span { margin-right: 2px; } .card.create { text-align: center; padding: 10px; margin: 10px; border: none; overflow: hidden; -webkit-box-shadow: none; } .card.create:hover { text-align: center; opacity: 1; } .card.create h3 { width: 100%; padding: 0; margin: 0 0 1px; } .card.create h3 input { width: 100%; border: 0; font-weight: bold; font-size: 10pt; margin: 0; padding: 0; border-bottom: 1px solid #ffffff; border-radius: 0; color: #ffffff; background-color: transparent !important; min-height: initial; } .card-controls .icon-filetype-text { margin-right: 10px; } .due { border-radius: 3px; margin: -4px 4px -4px -4px; padding: 0px 4px; font-size: 90%; opacity: .7; display: flex; align-items: center; } .due .icon { background-size: contain; float:left; opacity: 0.7; width: 16px; height: 16px; } .overdue { background-color: #e12419; color: #fff; } .due.now { background-color: #fbd850; } .due.next { background-color: #fbf790; } .due .badge-icon { background-image: url(../../../core/img/places/calendar-dark.svg); margin-right: 3px; } .overdue .badge-icon { background-image: url(../img/calendar-white.svg); } .now .badge-icon { background-image: url(../../../core/img/places/calendar-dark.svg); } .next .badge-icon { background-image: url(../../../core/img/places/calendar-dark.svg); } /** * Card view right sidebar */ #card-header { } #card-header h2 { font-size: 14pt; padding: 10px 10px 9px; overflow: hidden; margin-bottom: 0; background-color: #f0f0f0; } .icon-close { position: absolute; top: 5px; right: 5px; } #card-meta { height: 100%; display: flex; flex-direction: column; } #card-dates { font-size: 80%; color: #aaaaaa; margin-bottom: 3px; } #card-meta #labels { margin-bottom: 10px; } #card-meta .duedate { display: flex; } #card-description { height: 100%; display: flex; flex-direction: column; } #card-description > h3 { border-bottom: 1px solid #333333; font-weight: 600; font-size: 10pt; padding: 5px; } #card-description > div { height: 100%; } #card-description textarea { width: 100%; height: 200px; border: none; margin: 0; padding: 0; } #card-description .container { background-color: white; } #card-description .save-indicator { background-color: #009900; color: #ffffff; border-radius: 3px; float: right; padding: 1px 10px; font-size: 8pt !important; display: none; } #card-description .icon-help { float: right; } #sidebar-header, .card-block { padding: 15px; } #card-attachments ul { margin: 5px; } #card-attachments .details { font-size: 8pt; padding-left: 15px; } #attachment-add button { background-color: #eeeeee; font-size: 9pt; } #app-sidebar { right: -500px; max-width: 100%; border-left: none; width: 500px; border-left: 1px solid #eeeeee; display:flex; flex-direction: column; } #app-sidebar.details-visible { right: 0; } #app-content { overflow: hidden; display: flex; flex-direction: column; } #app-content.details-visible { margin-right: 500px; } .labels { display: block; overflow: hidden; } .labels li { padding: 1px; -webkit-border-radius: 3px; margin: 1px; float: left; color: #ffffff; font-size: 80%; font-weight: 900; min-width: 20px; display: inline-block; text-align: center; } #assigned-users .avatardiv { float: left; background-color: #eee; border-radius: 16px; width: 32px; height: 32px; margin-right: 3px; } #assigned-users .avatardiv .icon-group { margin: 7px; opacity: 0.5; display: block !important; } /** * Color selection */ .colorselect { overflow: hidden; border-radius:3px; flex-direction: row; min-width: 240px; height: 34px; display: flex; margin: 3px 3px 3px 0; } .colorselect .color { opacity: 0.7; height: 100%; flex-grow: 1; border: none; } .colorselect .selected { background-image: url(../../../core/img/actions/checkmark.svg); background-position: center center; background-repeat: no-repeat; opacity: 1.0; } .colorselect .dark.selected { background-image: url(../../../core/img/actions/checkmark-white.svg); } .labels .colorselect { padding: 0; clear: none; overflow: visible; } .labels .colorselect .color { width: 26px; height: 26px; } /** * Board list main screen area */ #boardlist { width: 100%; height: 100%; overflow: scroll; } #boardlist thead td { color: #999; } #boardlist td .board-bullet { width: 30px; height: 30px; border: none; border-radius: 50%; position: relative; cursor: pointer; display: block; } .popovermenu ul { display: flex !important; flex-direction: column; } #boardlist td { padding: 10px; border-bottom: 1px solid #eee; } #boardlist span.icon { width: 30px; height: 30px; display: inline-block; } .cell-board-bullet { width: 50px; } .cell-board-title { width: 50%; } #boardlist tr.deleted td * { opacity: 0.5; } #boardlist tbody tr:last-child td { opacity: 0.5; } #boardlist td form { display: flex; width: 100%; } #boardlist td .colorselect { flex-grow: 1; } #boardlist td input[type=text] { flex-grow: 2; } #boardlist td input[type=submit] { width: 32px; } #boardlist td .app-popover-menu-utils { float: right; width: 30px; display: inline; position: relative; } #boardlist td .app-popover-menu-utils button { opacity: 0.3; } #boardlist td .app-popover-menu-utils:hover button { opacity: 0.7; } #boardlist .popovermenu { margin-top: 5px; } /** * Board details */ #shareWithList { list-style-type: none; padding: 0 0 16px; } #shareWithList li { padding-top: 5px; padding-bottom: 5px; font-weight: bold; white-space: normal; display: flex; align-items: center; } #shareWithList .username { padding-right: 8px; padding-left: 8px; white-space: nowrap; text-overflow: ellipsis; display: inline-block; overflow: hidden; vertical-align: middle; } .shareWithList .icon-delete { display: inline-block; background-size: 16px 16px; width: 16px; height: 16px; padding: 0; margin-top: 5px; } .shareOption { margin-top: 4px; } #board-detail-labels { padding: 10px; } #board-detail-labels ul li { display: block; font-size: 10pt; float: none; margin-bottom: 1px; overflow: hidden; } #board-detail-labels ul li input { float: left; font-size: 10pt; padding: 5px; } #board-detail-labels ul li .label-title { float: left; width: 88%; font-size: 10pt; padding: 5px; border: none; margin-right: 2px; } #board-detail-labels ul li a.icon { float: right; padding: 5px; } .label-create { width: 88%; } .label-create .icon { margin-bottom: -3px; } #board-detail-labels .color { width: 28px; height: 31px; } .tabHeaders { clear: both; overflow: hidden; margin-bottom: 0; } #shareWithList .avatar { float: left; margin-top: -5px; margin-right: 10px; } .ui-select-offscreen { display: none; } .ui-select-match-close { float: right; z-index: 100; position: relative; display: inline-block !important; margin-right: 7px; } .ui-select-match-item { padding: 0; float: left !important; display: block; } .ui-select-match-item .select-label { color: #fff; padding: 6px 23px 6px 6px; margin-right: -23px !important; } .select2-container-multi .select2-choices .select2-search-choice { padding: 3px 0 !important; border: 0 !important; overflow: hidden; } .ui-select-container[disabled] .ui-select-match-item .select-label { padding: 4px; min-width: 26px !important; height: 100%; display: inline-block; } .ui-select-container[disabled] .ui-select-match-item { margin-right: 0 !important; } .select2-search input { width:100% !important; } .select2-result-label span { display: flex; } /** * Mobile optimizations */ @media (min-width: 481px) { /* hide board actions on mobile */ .board-header-controls { display: flex; } .board-header-controls.app-popover-menu-utils { display: none; } .stack { width: 320px; display: inline-block; } .stack h2 button { display: none; } } @media (max-width: 768px) { #app-navigation-toggle { display: none !important; } } /** * Markdown rendering */ #markdown { width: 100% !important; } #markdown p { margin-bottom: 15px; } #markdown * { white-space: normal; word-wrap: break-word; overflow-wrap: break-word; } #markdown a { color: #666666; text-decoration: underline; } #markdown ol, #markdown ul { margin-left: 20px; margin-bottom: 10px; } #markdown ul { list-style-type: disc; } #markdown h1 { font-size: 18px; font-weight: 600; margin-bottom: 5px; } #markdown h2 { font-size: 16px; font-weight: 600; } #markdown h3 { font-size: 14px; font-weight: 600; } #markdown h4 { font-size: 13px; font-weight: 600; } #markdown h6 { font-size: 12px; font-weight: 600; } #markdown pre { background-color: #eeeeee; padding: 3px; } /** * Custom icons */ .icon-deck { background-image: url(../img/deck.svg); } .icon-group { background-image: url('../../../settings/img/users.svg'); } .icon-help { background-image: url('../../../settings/img/help.svg'); padding: 11px 20px; vertical-align: text-bottom; } .icon-add-white { background-image: url('../img/add-white.svg'); } .icon-archive { background-image: url('../img/archive.svg'); } .icon-archive-white { background-image: url('../img/archive-white.svg'); } .icon-details { background-image: url('../img/details.svg'); } .icon-details-white { background-image: url('../img/details-white.svg'); } .icon-home { background-image: url('../../../core/img/places/home.svg'); } /** * Hotfix for https://github.com/angular-ui/ui-select/issues/1652 */ .ui-select-dropdown.select2-drop-active { opacity: 1 !important; }