]> BookStack Code Mirror - bookstack/blob - resources/sass/_components.scss
Merge pull request #4193 from BookStackApp/custom_dropzone
[bookstack] / resources / sass / _components.scss
1
2 // System wide notifications
3 .notification {
4   position: fixed;
5   top: 0;
6   right: 0;
7   margin: $-xl;
8   padding: $-m $-l;
9   background-color: #FFF;
10   @include lightDark(background-color, #fff, #444);
11   border-radius: 4px;
12   border-inline-start: 6px solid currentColor;
13   box-shadow: $bs-large;
14   z-index: 999999;
15   cursor: pointer;
16   max-width: 360px;
17   transition: transform ease-in-out 280ms;
18   transform: translateX(580px);
19   display: grid;
20   grid-template-columns: 42px 1fr 12px;
21   color: #444;
22   font-weight: 700;
23   span, svg {
24     vertical-align: middle;
25     justify-self: center;
26     align-self: center;
27   }
28   svg {
29     width: 2.8rem;
30     height: 2.8rem;
31     padding-inline-end: $-s;
32     fill: currentColor;
33   }
34   .dismiss {
35     margin-top: -8px;
36     svg {
37       height: 1.0rem;
38       @include lightDark(color, #444, #888);
39     }
40   }
41   span {
42     vertical-align: middle;
43     line-height: 1.3;
44     @include whenDark {
45       color: #BBB;
46     }
47   }
48   &.pos {
49     color: $positive;
50   }
51   &.neg {
52     color: $negative;
53   }
54   &.warning {
55     color: $warning;
56   }
57   &.showing {
58     transform: translateX(0);
59   }
60   &.showing:hover {
61     transform: translate3d(0, -2px, 0);
62   }
63 }
64
65 .chapter-contents-toggle {
66   cursor: pointer;
67   margin: 0;
68   transition: all ease-in-out 180ms;
69   user-select: none;
70   svg[data-icon="caret-right"] {
71     margin-inline-end: 0;
72     font-size: 1rem;
73     transition: all ease-in-out 180ms;
74     transform: rotate(0deg);
75     transform-origin: 50% 50%;
76   }
77   &.open svg[data-icon="caret-right"] {
78     transform: rotate(90deg);
79   }
80   svg[data-icon="caret-right"] + * {
81     margin-inline-start: $-xxs;
82   }
83 }
84
85 [overlay], .popup-background {
86   @include lightDark(background-color, rgba(0, 0, 0, 0.333), rgba(0, 0, 0, 0.6));
87   position: fixed;
88   z-index: 95536;
89   width: 100%;
90   height: 100%;
91   min-width: 100%;
92   min-height: 100%;
93   top: 0;
94   left: 0;
95   right: 0;
96   bottom: 0;
97   align-items: center;
98   justify-content: center;
99   display: none;
100 }
101
102 .popup-body-wrap {
103   display: flex;
104 }
105
106 .popup-body {
107   @include lightDark(background-color, #fff, #333);
108   max-height: 90%;
109   max-width: 1200px;
110   width: 90%;
111   height: auto;
112   margin: 2% auto;
113   border-radius: 4px;
114   box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
115   overflow: hidden;
116   z-index: 999;
117   display: flex;
118   flex-direction: column;
119   position: relative;
120   &.small {
121     margin: 2% auto;
122     width: 800px;
123     max-width: 90%;
124   }
125   &.very-small {
126     margin: 2% auto;
127     width: 600px;
128     max-width: 90%;
129   }
130   &:before {
131     display: flex;
132     align-self: flex-start;
133   }
134   .popup-content {
135     overflow-y: auto;
136   }
137   &:focus {
138     outline: 0;
139   }
140 }
141
142 .popup-header button, .popup-footer button {
143   margin: 0;
144   border-radius: 0;
145   box-shadow: none;
146   color: #FFF;
147   padding: $-xs $-m;
148   cursor: pointer;
149 }
150
151 .popup-header button:not(.popup-header-close) {
152   font-size: 0.8rem;
153 }
154
155 .popup-header button:hover {
156     background-color: rgba(255, 255, 255, 0.1);
157 }
158
159 .popup-footer {
160   justify-content: end;
161   background-color: var(--color-primary-light);
162   min-height: 41px;
163   button {
164     padding: 10px $-m;
165   }
166 }
167
168 .popup-header-close {
169   border: 0;
170   color: #FFF;
171   font-size: 16px;
172   cursor: pointer;
173   svg {
174     margin-right: 0;
175   }
176 }
177
178 .popup-header, .popup-footer {
179   display: flex;
180   position: relative;
181   height: 40px;
182   flex: 0;
183   .popup-title {
184     color: #FFF;
185     margin-right: auto;
186     padding: 8px $-m;
187   }
188   &.flex-container-row {
189     display: flex !important;
190   }
191 }
192 body.flexbox-support #entity-selector-wrap .popup-body .form-group {
193   height: 444px;
194   min-height: 444px;
195 }
196 #entity-selector-wrap .popup-body .form-group {
197   margin: 0;
198 }
199 .popup-body .entity-selector-container {
200   flex: 1;
201 }
202
203 .image-manager-body {
204   min-height: 70vh;
205 }
206
207 .dropzone-overlay {
208   position: absolute;
209   display: flex;
210   justify-content: center;
211   align-items: center;
212   font-size: 1.333rem;
213   width: 98%;
214   height: 98%;
215   left: 1%;
216   top: 1%;
217   border-radius: 4px;
218   border: 1px dashed var(--color-primary);
219   font-style: italic;
220   box-sizing: content-box;
221   background-clip: padding-box;
222   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");
223   background-color: var(--color-primary);
224   color: #FFF;
225   opacity: .8;
226   z-index: 9;
227   pointer-events: none;
228   animation: dzAnimIn 240ms ease-in-out;
229 }
230
231 .dropzone-landing-area {
232   background-color: var(--color-primary-light);
233   padding: $-m $-l;
234   width: 100%;
235   border: 1px dashed var(--color-primary);
236   color: var(--color-primary);
237   border-radius: 4px;
238 }
239
240 @keyframes dzAnimIn {
241   0% {
242     opacity: 0;
243     transform: scale(.7);
244   }
245   60% {
246     transform: scale(1.1);
247   }
248   100% {
249     transform: scale(1);
250     opacity: .8;
251   }
252 }
253
254 @keyframes dzFileItemIn {
255   0% {
256     opacity: .5;
257     transform: translateY(28px);
258   }
259   100% {
260     opacity: 1;
261     transform: translateY(0);
262   }
263 }
264 @keyframes dzFileItemOut {
265   0% {
266     opacity: 1;
267     transform: translateY(0);
268   }
269   100% {
270     opacity: .5;
271     transform: translateY(28px);
272   }
273 }
274
275 .dropzone-file-item {
276   width: 260px;
277   height: 80px;
278   position: relative;
279   display: flex;
280   margin: 1rem;
281   flex-direction: row;
282   @include lightDark(background, #FFF, #444);
283   box-shadow: $bs-large;
284   border-radius: 4px;
285   overflow: hidden;
286   padding-bottom: 3px;
287   animation: dzFileItemIn ease-in-out 240ms;
288   transition: transform ease-in-out 120ms, box-shadow ease-in-out 120ms;
289   cursor: pointer;
290   &:hover {
291     transform: translateY(-3px);
292     box-shadow: 0 3px 8px 1px rgba(22, 22, 22, 0.2);
293   }
294 }
295 .dropzone-file-item.dismiss {
296   animation: dzFileItemOut ease-in-out 240ms;
297 }
298 .dropzone-file-item .loading-container {
299   text-align: start !important;
300   margin: 0;
301 }
302 .dropzone-file-item-image-wrap {
303   width: 80px;
304   position: relative;
305   background-color: var(--color-primary-light);
306   img {
307     object-fit: cover;
308     width: 100%;
309     height: 100%;
310     opacity: .8;
311   }
312 }
313 .dropzone-file-item-text-wrap {
314   flex: 1;
315   display: block;
316   padding: 1rem;
317   overflow: auto;
318 }
319 .dropzone-file-item-progress {
320   position: absolute;
321   bottom: 0;
322   left: 0;
323   font-size: 0;
324   height: 3px;
325   background-color: var(--color-primary);
326   transition: width ease-in-out 240ms;
327 }
328 .dropzone-file-item-label,
329 .dropzone-file-item-status {
330   align-items: center;
331   font-size: .8rem;
332   font-weight: 700;
333 }
334 .dropzone-file-item-status[data-status] {
335   display: flex;
336   font-size: .6rem;
337   font-weight: 500;
338   line-height: 1.2;
339 }
340 .dropzone-file-item-status[data-status="success"] {
341   color: $positive;
342 }
343 .dropzone-file-item-status[data-status="error"] {
344   color: $negative;
345 }
346 .dropzone-file-item-status[data-status] + .dropzone-file-item-label {
347   display: none;
348 }
349
350 .image-manager-list .image {
351   display: block;
352   position: relative;
353   border-radius: 0;
354   float: left;
355   margin: 0;
356   cursor: pointer;
357   width: math.div(100%, 6);
358   height: auto;
359   @include lightDark(border-color, #ddd, #000);
360   box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
361   transition: all cubic-bezier(.4, 0, 1, 1) 160ms;
362   overflow: hidden;
363   &.selected {
364     transform: scale3d(0.92, 0.92, 0.92);
365     outline: currentColor 2px solid;
366   }
367   img {
368     width: 100%;
369     max-width: 100%;
370     display: block;
371   }
372   .image-meta {
373     position: absolute;
374     width: 100%;
375     bottom: 0;
376     left: 0;
377     color: #EEE;
378     background-color: rgba(0, 0, 0, 0.4);
379     font-size: 10px;
380     padding: 3px 4px;
381     span {
382       display: block;
383     }
384   }
385   @include smaller-than($xl) {
386     width: math.div(100%, 4);
387   }
388   @include smaller-than($m) {
389     .image-meta {
390       display: none;
391     }
392   }
393 }
394
395 .image-manager .load-more {
396   display: block;
397   text-align: center;
398   padding: $-s $-m;
399   clear: both;
400   .loading-container {
401     margin: 0;
402   }
403 }
404
405 .image-manager .loading-container {
406   text-align: center;
407 }
408
409 .image-manager-sidebar {
410   width: 300px;
411   overflow-y: auto;
412   overflow-x: hidden;
413   border-inline-start: 1px solid #DDD;
414   @include lightDark(border-color, #ddd, #000);
415   .inner {
416     min-height: auto;
417     padding: $-m;
418   }
419   .image-manager-viewer img {
420     max-width: 100%;
421     max-height: 180px;
422     display: block;
423     margin: 0 auto $-m auto;
424     box-shadow: 0 1px 21px 1px rgba(76, 76, 76, 0.3);
425   }
426   .image-manager-viewer {
427     height: 196px;
428     display: flex;
429     align-items: center;
430     justify-content: center;
431     a {
432       display: inline-block;
433     }
434   }
435 }
436
437 .image-manager-list {
438   overflow-y: scroll;
439   flex: 1;
440 }
441
442 .image-manager-content {
443   display: flex;
444   flex-direction: column;
445   flex: 1;
446   .container {
447     width: 100%;
448   }
449   .full-tab {
450     text-align: center;
451   }
452 }
453
454 .image-manager [role="tablist"] button[role="tab"] {
455   border-right: 1px solid #DDD;
456   @include lightDark(border-color, #DDD, #000);
457   &:last-child {
458     border-right: none;
459   }
460 }
461
462 .image-manager-header {
463   z-index: 4;
464 }
465
466 .tab-container [role="tablist"] {
467   display: flex;
468   align-items: end;
469   justify-items: start;
470   text-align: start;
471   border-bottom: 1px solid #DDD;
472   @include lightDark(border-color, #ddd, #444);
473   margin-bottom: $-m;
474 }
475
476 .tab-container [role="tablist"] button[role="tab"],
477 .image-manager [role="tablist"] button[role="tab"] {
478   display: inline-block;
479   padding: $-s;
480   @include lightDark(color, rgba(0, 0, 0, .5), rgba(255, 255, 255, .5));
481   cursor: pointer;
482   border-bottom: 2px solid transparent;
483   margin-bottom: -1px;
484   &[aria-selected="true"] {
485     color: var(--color-link) !important;
486     border-bottom-color: var(--color-link) !important;
487   }
488   &:hover, &:focus {
489     @include lightDark(color, rgba(0, 0, 0, .8), rgba(255, 255, 255, .8));
490     @include lightDark(border-bottom-color,  rgba(0, 0, 0, .2), rgba(255, 255, 255, .2));
491   }
492 }
493 .tab-container [role="tablist"].controls-card {
494   margin-bottom: 0;
495   border-bottom: 0;
496   padding: 0 $-xs;
497 }
498
499 .image-picker .none {
500   display: none;
501 }
502
503 .code-editor .CodeMirror {
504   height: auto;
505   min-height: 50vh;
506   border-bottom: 0;
507 }
508
509 .code-editor .lang-options {
510   overflow-y: scroll;
511   flex-basis: 200px;
512   flex-grow: 1;
513 }
514
515 .code-editor .lang-options button {
516   display: block;
517   padding: $-xs $-m;
518   border-bottom: 1px solid;
519   @include lightDark(color, #333, #AAA);
520   @include lightDark(border-bottom-color, #EEE, #000);
521   cursor: pointer;
522   width: 100%;
523   text-align: left;
524   font-family: $mono;
525   font-size: 0.7rem;
526   padding-left: 24px + $-xs;
527   &:hover, &.active {
528     background-color: var(--color-primary-light);
529     color: var(--color-primary);
530   }
531 }
532
533 .code-editor button.lang-option-favorite-toggle {
534   position: absolute;
535   top: 0;
536   left: 0;
537   width: 28px;
538   font-size: 1rem;
539   border: 0;
540   line-height: 1;
541   padding: 2px;
542   z-index: 2;
543   height: 100%;
544   text-align: center;
545   color: var(--color-primary);
546   svg {
547     margin: 0;
548   }
549 }
550
551 .code-editor button[data-favourite="true"] ~ .action-favourite,
552 .code-editor button[data-favourite="false"] ~ .action-unfavourite {
553   display: none;
554 }
555
556 .code-editor .action-favourite {
557   opacity: 0.5;
558 }
559 .code-editor button:hover ~ .action-favourite {
560   opacity: 1;
561 }
562
563 .code-editor label {
564   background-color: var(--color-primary-light);
565   width: 100%;
566   color: var(--color-primary);
567   padding: $-xxs $-s;
568   margin-bottom: 0;
569 }
570
571 .code-editor-language-list {
572   position: relative;
573   width: 160px;
574   z-index: 2;
575   align-items: stretch;
576 }
577
578 .code-editor-language-list input {
579   border-radius: 0;
580   border: 0;
581   border-bottom: 1px solid #DDD;
582   padding: $-xs $-s;
583   height: auto;
584 }
585
586 .code-editor-main {
587   flex: 1;
588   min-width: 0;
589   .cm-editor {
590     margin-bottom: 0;
591     z-index: 1;
592     max-width: 100%;
593     width: 100%;
594   }
595 }
596
597 .code-editor-body-wrap {
598   height: 80vh;
599 }
600
601 @include smaller-than($s) {
602   .code-editor .lang-options {
603     display: none;
604   }
605   .code-editor-body-wrap {
606     flex-direction: column;
607   }
608   .code-editor-language-list, .code-editor-language-list input {
609     width: 100%;
610   }
611 }
612
613 .comment-box {
614   border-radius: 4px;
615   border: 1px solid #DDD;
616   @include lightDark(border-color, #ddd, #000);
617   @include lightDark(background-color, #FFF, #222);
618   .content {
619     font-size: 0.666em;
620     p, ul, ol {
621       font-size: $fs-m;
622       margin: .5em 0;
623     }
624   }
625   .actions {
626     opacity: 0;
627     transition: opacity ease-in-out 120ms;
628   }
629   &:hover .actions, &:focus-within .actions {
630     opacity: 1;
631   }
632 }
633
634 .comment-box .header {
635   .meta {
636     img, a, span {
637       display: inline-block;
638       vertical-align: top;
639     }
640     a, span {
641       padding: $-xxs 0 $-xxs 0;
642       line-height: 1.6;
643     }
644     a { color: #666; }
645     span {
646       padding-inline-start: $-xxs;
647     }
648   }
649   .text-muted {
650     color: #999;
651   }
652 }
653
654 #tag-manager .drag-card {
655   max-width: 500px;
656 }
657
658 .template-item {
659   cursor: pointer;
660   position: relative;
661   &:hover, .template-item-actions button:hover {
662     background-color: #F2F2F2;
663   }
664   .template-item-actions {
665     position: absolute;
666     top: 0;
667     inset-inline-end: 0;
668     width: 50px;
669     height: 100%;
670     display: flex;
671     flex-direction: column;
672     border-inline-start: 1px solid;
673     @include lightDark(border-color, #ddd, #000);
674   }
675   .template-item-actions button {
676     cursor: pointer;
677     flex: 1;
678     @include lightDark(background-color, #FFF, #222);
679     border: 0;
680     border-top: 1px solid;
681     @include lightDark(border-color, #DDD, #000);
682   }
683   .template-item-actions button svg {
684     margin: 0;
685   }
686   .template-item-actions button:first-child {
687     border-top: 0;
688   }
689 }
690
691
692 .dropdown-search {
693   position: relative;
694 }
695 .dropdown-search-toggle-breadcrumb {
696   border: 1px solid transparent;
697   border-radius: 4px;
698   line-height: normal;
699   padding: $-xs;
700   &:hover {
701     border-color: #DDD;
702   }
703   .svg-icon {
704     margin-inline-end: 0;
705   }
706 }
707 .dropdown-search-toggle-select {
708   display: flex;
709   gap: $-s;
710   line-height: normal;
711   .svg-icon {
712     height: 26px;
713     width: 26px;
714     margin: 0;
715   }
716   .avatar {
717     height: 22px;
718     width: 22px;
719   }
720   .avatar + span {
721     max-width: 100%;
722     overflow: hidden;
723     text-overflow: ellipsis;
724     white-space: nowrap;
725   }
726   .dropdown-search-toggle-caret {
727     font-size: 1.15rem;
728   }
729 }
730 .dropdown-search-toggle-select-label {
731   min-width: 0;
732   white-space: nowrap;
733 }
734 .dropdown-search-toggle-select-caret {
735   line-height: 0;
736   margin-left: auto;
737   margin-top: -2px;
738   display: flex;
739   align-items: center;
740 }
741
742 .dropdown-search-dropdown {
743   box-shadow: $bs-med;
744   overflow: hidden;
745   min-height: 100px;
746   width: 240px;
747   display: none;
748   position: absolute;
749   z-index: 80;
750   right: 0;
751   top: 0;
752   margin-top: $-m;
753   @include rtl {
754     right: auto;
755     left: -$-m;
756   }
757   .dropdown-search-search .svg-icon {
758     position: absolute;
759     left: $-s;
760     @include rtl {
761       right: $-s;
762       left: auto;
763     }
764     top: 11px;
765     fill: #888;
766     pointer-events: none;
767   }
768   .dropdown-search-list {
769     max-height: 400px;
770     overflow-y: scroll;
771     text-align: start;
772   }
773   .dropdown-search-item {
774     padding: $-s $-m;
775     &:hover,&:focus {
776       background-color: #F2F2F2;
777       text-decoration: none;
778     }
779   }
780   input, input:focus {
781     padding-inline-start: $-xl;
782     border-radius: 0;
783     border: 0;
784     border-bottom: 1px solid #DDD;
785   }
786   input:focus {
787     outline: 0;
788   }
789 }
790
791 @include smaller-than($m) {
792   .dropdown-search-dropdown {
793     position: fixed;
794     right: auto;
795     left: $-m;
796   }
797   .dropdown-search-dropdown .dropdown-search-list {
798     max-height: 240px;
799   }
800 }
801
802 .item-list {
803   box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
804 }
805 .item-list-row {
806   border: 1.5px solid;
807   @include lightDark(border-color, #E2E2E2, #444);
808   border-bottom-width: 0;
809   label {
810     padding-bottom: 0;
811   }
812   &:hover {
813     @include lightDark(background-color, #F6F6F6, #333);
814   }
815 }
816 .item-list-row:first-child {
817   border-radius: 4px 4px 0 0;
818 }
819 .item-list-row:last-child {
820   border-radius: 0 0 4px 4px;
821   border-bottom-width: 1.5px;
822 }
823 .item-list-row:first-child:last-child {
824   border-radius: 4px;
825 }
826 .item-list-row-toggle-all {
827   visibility: hidden;
828 }
829 .item-list-row:hover .item-list-row-toggle-all {
830   visibility: visible;
831 }
832
833 .status-indicator-active, .status-indicator-inactive {
834   width: 8px;
835   height: 8px;
836   border-radius: 50%;
837   display: inline-block;
838 }
839 .status-indicator-active {
840   background-color: $positive;
841 }
842 .status-indicator-inactive {
843   background-color: $negative;
844 }
845
846 .shortcut-container {
847   background-color: rgba(0, 0, 0, 0.25);
848   pointer-events: none;
849   position: fixed;
850   left: 0;
851   top: 0;
852   width: 100%;
853   height: 100%;
854   z-index: 99;
855 }
856 .shortcut-linkage {
857   position: fixed;
858   box-shadow: 0 0 4px 0 #FFF;
859   border-radius: 3px;
860 }
861 .shortcut-hint {
862   position: fixed;
863   padding: $-xxs $-xxs;
864   font-size: .85rem;
865   font-weight: 700;
866   line-height: 1;
867   background-color: #eee;
868   border-radius: 3px;
869   border: 1px solid #b4b4b4;
870   box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 2px 0 0 rgba(255, 255, 255, .7) inset;
871   color: #333;
872 }
873
874 // Back to top link
875 $btt-size: 40px;
876 .back-to-top {
877   background-color: var(--color-primary);
878   position: fixed;
879   bottom: $-m;
880   right: $-l;
881   padding: 5px 7px;
882   cursor: pointer;
883   color: #FFF;
884   fill: #FFF;
885   svg {
886     width: math.div($btt-size, 1.5);
887     height: math.div($btt-size, 1.5);
888     margin-inline-end: 4px;
889   }
890   width: $btt-size;
891   height: $btt-size;
892   border-radius: $btt-size;
893   transition: all ease-in-out 180ms;
894   opacity: 0;
895   z-index: 999;
896   overflow: hidden;
897   &:hover {
898     width: $btt-size*3.4;
899     opacity: 1 !important;
900   }
901   .inner {
902     width: $btt-size*3.4;
903   }
904   span {
905     position: relative;
906     vertical-align: top;
907     line-height: 2;
908   }
909 }
910
911 // Sortable scroll boxes
912 .scroll-box {
913   list-style: none;
914   padding: 0;
915   margin: 0;
916   max-height: 280px;
917   overflow-y: scroll;
918   border: 1px solid;
919   @include lightDark(border-color, #DDD, #000);
920   border-radius: 3px;
921   min-height: 20px;
922   @include lightDark(background-color, #EEE, #000);
923 }
924 .scroll-box-item {
925   border-bottom: 1px solid;
926   border-top: 1px solid;
927   @include lightDark(border-color, #DDD, #000);
928   margin-top: -1px;
929   @include lightDark(background-color, #FFF, #222);
930   display: flex;
931   align-items: flex-start;
932   padding: 1px;
933   &:last-child {
934     border-bottom: 0;
935   }
936   &:hover {
937     cursor: pointer;
938     @include lightDark(background-color, #f8f8f8, #333);
939   }
940   .handle {
941     color: #AAA;
942     cursor: grab;
943   }
944   button {
945     opacity: .6;
946   }
947   .handle svg {
948     margin: 0;
949   }
950   > * {
951     padding: $-xs $-m;
952   }
953   .handle + * {
954     padding-left: 0;
955   }
956   &:hover .handle {
957     @include lightDark(color, #444, #FFF);
958   }
959   &:hover button {
960     opacity: 1;
961   }
962   a:hover {
963     text-decoration: none;
964   }
965 }
966
967 input.scroll-box-search, .scroll-box-header-item {
968   font-size: 0.8rem;
969   border: 1px solid;
970   @include lightDark(border-color, #DDD, #000);
971   @include lightDark(background-color, #FFF, #222);
972   margin-bottom: -1px;
973   border-radius: 3px 3px 0 0;
974   width: 100%;
975   max-width: 100%;
976   height: auto;
977   line-height: 1.4;
978   color: #666;
979 }
980
981 .scroll-box-search + .scroll-box,
982 .scroll-box-header-item + .scroll-box {
983   border-radius: 0 0 3px 3px;
984 }
985
986 .scroll-box[refs="shelf-sort@shelf-book-list"] [data-action="add"] {
987   display: none;
988 }
989 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="remove"],
990 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_up"],
991 .scroll-box[refs="shelf-sort@all-book-list"] [data-action="move_down"],
992 {
993   display: none;
994 }