2 // System wide notifications
9 background-color: #FFF;
10 @include lightDark(background-color, #fff, #444);
12 border-inline-start: 6px solid currentColor;
13 box-shadow: $bs-large;
17 transition: transform ease-in-out 280ms;
18 transform: translateX(580px);
20 grid-template-columns: 42px 1fr 12px;
24 vertical-align: middle;
31 padding-inline-end: $-s;
38 @include lightDark(color, #444, #888);
42 vertical-align: middle;
49 color: var(--color-positive);
52 color: var(--color-negative);
55 color: var(--color-warning);
58 transform: translateX(0);
61 transform: translate3d(0, -2px, 0);
65 .chapter-contents-toggle {
68 transition: all ease-in-out 180ms;
70 svg[data-icon="caret-right"] {
73 transition: all ease-in-out 180ms;
74 transform: rotate(0deg);
75 transform-origin: 50% 50%;
77 &.open svg[data-icon="caret-right"] {
78 transform: rotate(90deg);
80 svg[data-icon="caret-right"] + * {
81 margin-inline-start: $-xxs;
85 [overlay], .popup-background {
86 @include lightDark(background-color, rgba(0, 0, 0, 0.333), rgba(0, 0, 0, 0.6));
98 justify-content: center;
107 @include lightDark(background-color, #fff, #333);
114 box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
118 flex-direction: column;
132 align-self: flex-start;
142 .popup-header button, .popup-footer button {
151 .popup-header button:not(.popup-header-close) {
155 .popup-header button:hover {
156 background-color: rgba(255, 255, 255, 0.1);
160 justify-content: end;
161 background-color: var(--color-primary-light);
168 .popup-header-close {
178 .popup-header, .popup-footer {
185 margin-inline-end: auto;
188 &.flex-container-row {
189 display: flex !important;
192 body.flexbox-support #entity-selector-wrap .popup-body .form-group {
196 #entity-selector-wrap .popup-body .form-group {
199 .popup-body .entity-selector-container {
206 justify-content: center;
214 border: 1px dashed var(--color-primary);
216 box-sizing: content-box;
217 background-clip: padding-box;
218 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a9a9a9' fill-opacity='0.52' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
219 background-color: var(--color-primary);
223 pointer-events: none;
224 animation: dzAnimIn 240ms ease-in-out;
227 .dropzone-landing-area {
228 background-color: var(--color-primary-light);
231 border: 1px dashed var(--color-primary);
232 color: var(--color-primary);
236 @keyframes dzAnimIn {
239 transform: scale(.7);
242 transform: scale(1.1);
250 @keyframes dzFileItemIn {
253 transform: translateY(28px);
257 transform: translateY(0);
260 @keyframes dzFileItemOut {
263 transform: translateY(0);
267 transform: translateY(28px);
271 .dropzone-file-item {
278 @include lightDark(background, #FFF, #444);
279 box-shadow: $bs-large;
283 animation: dzFileItemIn ease-in-out 240ms;
284 transition: transform ease-in-out 120ms, box-shadow ease-in-out 120ms;
287 transform: translateY(-3px);
288 box-shadow: 0 3px 8px 1px rgba(22, 22, 22, 0.2);
291 .dropzone-file-item.dismiss {
292 animation: dzFileItemOut ease-in-out 240ms;
294 .dropzone-file-item .loading-container {
295 text-align: start !important;
298 .dropzone-file-item-image-wrap {
301 background-color: var(--color-primary-light);
309 .dropzone-file-item-text-wrap {
315 .dropzone-file-item-progress {
321 background-color: var(--color-primary);
322 transition: width ease-in-out 240ms;
324 .dropzone-file-item-label {
326 margin-bottom: .2rem;
328 .dropzone-file-item-label,
329 .dropzone-file-item-status {
334 .dropzone-file-item-status[data-status] {
340 .dropzone-file-item-status[data-status="success"] {
341 color: var(--color-positive);
343 .dropzone-file-item-status[data-status="error"] {
344 color: var(--color-negative);
346 .dropzone-file-item-status[data-status] + .dropzone-file-item-label {
350 .image-manager-body {
353 .image-manager-filter-bar {
357 @include lightDark(background-color, rgba(255, 255, 255, 0.85), rgba(80, 80, 80, 0.85));
359 .image-manager-filter-bar-bg {
369 .image-manager-filters {
373 border-bottom: 0 !important;
375 border: 1px solid #000 !important;
379 @include lightDark(background-color, #FFF, #333);
386 .image-manager-list {
389 grid-template-columns: repeat( auto-fill, minmax(max(140px, 17%), 1fr) );
397 .image-manager-list .image {
407 @include lightDark(border-color, #ddd, #000);
408 transition: all linear 80ms;
411 background-color: var(--color-primary-light);
412 outline: currentColor 3px solid;
414 transform: scale3d(0.95, 0.95, 0.95);
430 background-color: rgba(0, 0, 0, 0.7);
433 pointer-events: none;
434 transition: opacity ease-in-out 80ms;
439 &.selected .image-meta,
441 &:focus .image-meta {
444 @include smaller-than($m) {
451 .image-manager .load-more {
460 .image-manager .loading-container {
464 .image-manager-list .image-manager-list-warning {
469 .image-manager-warning {
470 @include lightDark(background, #FFF, #333);
471 color: var(--color-warning);
473 border-inline: 3px solid var(--color-warning);
476 .image-manager-sidebar {
481 border-inline-start: 1px solid #DDD;
482 @include lightDark(border-color, #ddd, #000);
487 .image-manager-viewer img {
491 margin: 0 auto $-m auto;
492 box-shadow: 0 1px 21px 1px rgba(76, 76, 76, 0.3);
494 .image-manager-viewer {
498 justify-content: center;
500 display: inline-block;
504 @include smaller-than($m) {
505 .image-manager-sidebar {
506 border-inline-start: 0;
510 .image-manager-content {
512 flex-direction: column;
523 .tab-container.bordered [role="tablist"] button[role="tab"] {
524 border-inline-end: 1px solid #DDD;
525 @include lightDark(border-inline-end-color, #DDD, #000);
527 border-inline-end: none;
531 .tab-container [role="tablist"] {
534 justify-items: start;
536 border-bottom: 1px solid #DDD;
537 @include lightDark(border-color, #ddd, #444);
541 .tab-container [role="tablist"] button[role="tab"] {
542 display: inline-block;
544 @include lightDark(color, rgba(0, 0, 0, .5), rgba(255, 255, 255, .5));
546 border-bottom: 2px solid transparent;
548 &[aria-selected="true"] {
549 color: var(--color-link) !important;
550 border-bottom-color: var(--color-link) !important;
551 outline: 0 !important;
554 @include lightDark(color, rgba(0, 0, 0, .8), rgba(255, 255, 255, .8));
555 @include lightDark(border-bottom-color, rgba(0, 0, 0, .2), rgba(255, 255, 255, .2));
558 outline: 1px dotted var(--color-primary);
559 outline-offset: -2px;
562 .tab-container [role="tablist"].controls-card {
568 .image-picker .none {
572 .code-editor .CodeMirror {
578 .code-editor .lang-options {
584 .code-editor .lang-options button {
587 border-bottom: 1px solid;
588 @include lightDark(color, #333, #AAA);
589 @include lightDark(border-bottom-color, #EEE, #000);
593 font-family: var(--font-code);
595 padding-left: 24px + $-xs;
597 background-color: var(--color-primary-light);
598 color: var(--color-primary);
602 .code-editor button.lang-option-favorite-toggle {
614 color: var(--color-primary);
620 .code-editor button[data-favourite="true"] ~ .action-favourite,
621 .code-editor button[data-favourite="false"] ~ .action-unfavourite {
625 .code-editor .action-favourite {
628 .code-editor button:hover ~ .action-favourite {
633 background-color: var(--color-primary-light);
635 color: var(--color-primary);
640 .code-editor-language-list {
644 align-items: stretch;
647 .code-editor-language-list input {
650 border-bottom: 1px solid #DDD;
666 .code-editor-body-wrap {
670 @include smaller-than($s) {
671 .code-editor .lang-options {
674 .code-editor-body-wrap {
675 flex-direction: column;
677 .code-editor-language-list, .code-editor-language-list input {
682 .comments-container {
683 padding-inline: $-xl;
684 @include smaller-than($m) {
685 padding-inline: $-xs;
690 border: 1px solid #DDD;
691 @include lightDark(border-color, #ddd, #000);
692 @include lightDark(background-color, #FFF, #222);
703 transition: opacity ease-in-out 120ms;
705 &:hover .actions, &:focus-within .actions {
708 .actions button:focus {
709 outline: 1px dotted var(--color-primary);
711 @include smaller-than($m) {
718 .comment-box .header {
719 border-bottom: 1px solid #DDD;
721 @include lightDark(border-color, #DDD, #000);
728 .meta a, .meta span {
731 .right-meta .text-muted {
736 .comment-thread-indicator {
737 border-inline-start: 3px dotted #DDD;
738 @include lightDark(border-color, #DDD, #444);
739 margin-inline-start: $-xs;
741 height: calc(100% - $-m);
744 .comment-branch .comment-branch .comment-branch .comment-branch .comment-thread-indicator {
750 margin: 0 !important;
751 margin-bottom: -$-xxs !important;
754 .comment-branch .comment-branch .comment-branch .comment-branch .comment-reply {
758 .comment-container-compact .comment-box {
772 .comment-container-compact .comment-thread-indicator {
776 #tag-manager .drag-card {
783 &:hover, .template-item-actions button:hover {
784 background-color: #F2F2F2;
786 .template-item-actions {
793 flex-direction: column;
794 border-inline-start: 1px solid;
795 @include lightDark(border-color, #ddd, #000);
797 .template-item-actions button {
800 @include lightDark(background-color, #FFF, #222);
802 border-top: 1px solid;
803 @include lightDark(border-color, #DDD, #000);
805 .template-item-actions button svg {
808 .template-item-actions button:first-child {
817 .dropdown-search-toggle-breadcrumb {
818 border: 1px solid transparent;
826 margin-inline-end: 0;
829 .dropdown-search-toggle-select {
845 text-overflow: ellipsis;
848 .dropdown-search-toggle-caret {
852 .dropdown-search-toggle-select-label {
856 .dropdown-search-toggle-select-caret {
864 .dropdown-search-dropdown {
879 .dropdown-search-search .svg-icon {
888 pointer-events: none;
890 .dropdown-search-list {
895 .dropdown-search-item {
898 background-color: #F2F2F2;
899 text-decoration: none;
903 padding-inline-start: $-xl;
906 border-bottom: 1px solid #DDD;
913 @include smaller-than($l) {
914 .dropdown-search-dropdown {
915 inset-inline: $-m auto;
917 .dropdown-search-dropdown .dropdown-search-list {
923 box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
927 @include lightDark(border-color, #E2E2E2, #444);
928 border-bottom-width: 0;
933 @include lightDark(background-color, #F6F6F6, #333);
936 .item-list-row:first-child {
937 border-radius: 4px 4px 0 0;
939 .item-list-row:last-child {
940 border-radius: 0 0 4px 4px;
941 border-bottom-width: 1.5px;
943 .item-list-row:first-child:last-child {
946 .item-list-row-toggle-all {
949 .item-list-row:hover .item-list-row-toggle-all {
953 .status-indicator-active, .status-indicator-inactive {
957 display: inline-block;
959 .status-indicator-active {
960 background-color: var(--color-positive);
962 .status-indicator-inactive {
963 background-color: var(--color-negative);
966 .shortcut-container {
967 background-color: rgba(0, 0, 0, 0.25);
968 pointer-events: none;
978 box-shadow: 0 0 4px 0 #FFF;
983 padding: $-xxs $-xxs;
987 background-color: #eee;
989 border: 1px solid #b4b4b4;
990 box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
997 background-color: var(--color-primary);
1006 width: math.div($btt-size, 1.5);
1007 height: math.div($btt-size, 1.5);
1008 margin-inline-end: 4px;
1012 border-radius: $btt-size;
1013 transition: all ease-in-out 180ms;
1018 width: $btt-size*3.4;
1019 opacity: 1 !important;
1022 width: $btt-size*3.4;
1026 vertical-align: top;
1031 // Sortable scroll boxes
1039 @include lightDark(border-color, #DDD, #000);
1042 @include lightDark(background-color, #EEE, #000);
1045 border-bottom: 1px solid;
1046 border-top: 1px solid;
1047 @include lightDark(border-color, #DDD, #000);
1049 @include lightDark(background-color, #FFF, #222);
1051 align-items: flex-start;
1058 @include lightDark(background-color, #f8f8f8, #333);
1077 @include lightDark(color, #444, #FFF);
1083 text-decoration: none;
1087 input.scroll-box-search, .scroll-box-header-item {
1090 @include lightDark(border-color, #DDD, #000);
1091 @include lightDark(background-color, #FFF, #222);
1092 margin-bottom: -1px;
1093 border-radius: 3px 3px 0 0;
1101 .scroll-box-search + .scroll-box,
1102 .scroll-box-header-item + .scroll-box {
1103 border-radius: 0 0 3px 3px;
1106 .scroll-box[refs="shelf-sort@shelf-book-list"] [data-action="add"] {
1109 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="remove"],
1110 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_up"],
1111 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_down"],