]> BookStack Code Mirror - bookstack/blob - resources/assets/sass/_grid.scss
Finished migration of last angular code
[bookstack] / resources / assets / sass / _grid.scss
1
2 /** Flexbox styling rules **/
3 body.flexbox {
4   display: flex;
5   flex-direction: column;
6   align-items: stretch;
7   height: 100%;
8   min-height: 100%;
9   max-height: 100%;
10   overflow: hidden;
11   #content {
12     flex: 1;
13     display: flex;
14     min-height: 0;
15   }
16 }
17
18 .flex-fill {
19   display: flex;
20   align-items: stretch;
21   min-height: 0;
22   position: relative;
23   &.rows {
24     flex-direction: row;
25   }
26   &.columns {
27     flex-direction: column;
28   }
29 }
30
31 .flex {
32   min-height: 0;
33   flex: 1;
34 }
35
36 .flex.scroll {
37   //overflow-y: auto;
38   display: flex;
39   &.sidebar {
40     margin-right: -14px;
41   }
42 }
43 .flex.scroll .scroll-body {
44   overflow-y: scroll;
45   flex: 1;
46 }
47
48 .flex-child > div {
49   flex: 1;
50 }
51
52 .flex.sidebar {
53   flex: 1;
54   background-color: #F2F2F2;
55   max-width: 360px;
56   min-height: 90vh;
57 }
58 .flex.sidebar + .flex.content {
59   flex: 3;
60   background-color: #FFFFFF;
61   padding: 0 $-l;
62   border-left: 1px solid #DDD;
63   max-width: 100%;
64 }
65 .flex.sidebar .sidebar-toggle {
66   display: none;
67 }
68
69 @include smaller-than($xl) {
70   body.sidebar-layout {
71     padding-left: 30px;
72   }
73   .flex.sidebar {
74     position: fixed;
75     top: 0;
76     left: 0;
77     bottom: 0;
78     z-index: 100;
79     padding-right: 30px;
80     width: 360px;
81     box-shadow: none;
82     transform: translate3d(-330px, 0, 0);
83     transition: transform ease-in-out 120ms;
84     display: flex;
85     flex-direction: column;
86   }
87   .flex.sidebar.open {
88     box-shadow: 1px 2px 2px 1px rgba(0,0,0,.10);
89     transform: translate3d(0, 0, 0);
90     .sidebar-toggle i {
91       transform: rotate(180deg);
92     }
93   }
94   .flex.sidebar .sidebar-toggle {
95     display: block;
96     position: absolute;
97     opacity: 0.9;
98     right: 0;
99     top: 0;
100     bottom: 0;
101     width: 30px;
102     color: #666;
103     font-size: 20px;
104     vertical-align: middle;
105     text-align: center;
106     border: 1px solid #DDD;
107     border-top: 1px solid #BBB;
108     padding-top: $-m;
109     cursor: pointer;
110     i {
111       opacity: 0.5;
112       transition: all ease-in-out 120ms;
113       padding: 0;
114     }
115     &:hover i {
116       opacity: 1;
117     }
118   }
119   .sidebar .scroll-body {
120     flex: 1;
121     overflow-y: scroll;
122   }
123   #sidebar .scroll-body.fixed {
124     width: auto !important;
125   }
126 }
127
128 @include larger-than($xl) {
129   #sidebar .scroll-body.fixed {
130     z-index: 5;
131     position: fixed;
132     top: 0;
133     padding-right: $-m;
134     width: 30%;
135     left: 0;
136     height: 100%;
137     overflow-y: scroll;
138     -ms-overflow-style: none;
139     //background-color: $primary-faded;
140     border-left: 1px solid #DDD;
141     &::-webkit-scrollbar { width: 0 !important }
142   }
143 }
144
145
146 /** Rules for all columns */
147 div[class^="col-"] img {
148   max-width: 100%;
149 }
150
151 .container {
152   max-width: $max-width;
153   margin-left: auto;
154   margin-right: auto;
155   padding-left: $-m;
156   padding-right: $-m;
157   &.fluid {
158     max-width: 100%;
159   }
160   &.medium {
161     max-width: 992px;
162   }
163   &.small {
164     max-width: 840px;
165   }
166   &.nopad {
167     padding-left: 0;
168     padding-right: 0;
169   }
170 }
171
172 .row {
173   margin-left: -$-m;
174   margin-right: -$-m;
175 }
176
177 .float {
178   float: left;
179   &.right {
180     float: right;
181   }
182 }
183
184 .block {
185   display: block;
186   position: relative;
187 }
188
189 .inline {
190   display: inline;
191 }
192
193 .block.inline {
194   display: inline-block;
195 }
196
197 .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
198   position: relative;
199   min-height: 1px;
200   padding-left: $-m;
201   padding-right: $-m;
202 }
203 .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
204   float: left;
205 }
206 .col-xs-12 {
207   width: 100%;
208 }
209 .col-xs-11 {
210   width: 91.66666667%;
211 }
212 .col-xs-10 {
213   width: 83.33333333%;
214 }
215 .col-xs-9 {
216   width: 75%;
217 }
218 .col-xs-8 {
219   width: 66.66666667%;
220 }
221 .col-xs-7 {
222   width: 58.33333333%;
223 }
224 .col-xs-6 {
225   width: 50%;
226 }
227 .col-xs-5 {
228   width: 41.66666667%;
229 }
230 .col-xs-4 {
231   width: 33.33333333%;
232 }
233 .col-xs-3 {
234   width: 25%;
235 }
236 .col-xs-2 {
237   width: 16.66666667%;
238 }
239 .col-xs-1 {
240   width: 8.33333333%;
241 }
242 .col-xs-pull-12 {
243   right: 100%;
244 }
245 .col-xs-pull-11 {
246   right: 91.66666667%;
247 }
248 .col-xs-pull-10 {
249   right: 83.33333333%;
250 }
251 .col-xs-pull-9 {
252   right: 75%;
253 }
254 .col-xs-pull-8 {
255   right: 66.66666667%;
256 }
257 .col-xs-pull-7 {
258   right: 58.33333333%;
259 }
260 .col-xs-pull-6 {
261   right: 50%;
262 }
263 .col-xs-pull-5 {
264   right: 41.66666667%;
265 }
266 .col-xs-pull-4 {
267   right: 33.33333333%;
268 }
269 .col-xs-pull-3 {
270   right: 25%;
271 }
272 .col-xs-pull-2 {
273   right: 16.66666667%;
274 }
275 .col-xs-pull-1 {
276   right: 8.33333333%;
277 }
278 .col-xs-pull-0 {
279   right: auto;
280 }
281 .col-xs-push-12 {
282   left: 100%;
283 }
284 .col-xs-push-11 {
285   left: 91.66666667%;
286 }
287 .col-xs-push-10 {
288   left: 83.33333333%;
289 }
290 .col-xs-push-9 {
291   left: 75%;
292 }
293 .col-xs-push-8 {
294   left: 66.66666667%;
295 }
296 .col-xs-push-7 {
297   left: 58.33333333%;
298 }
299 .col-xs-push-6 {
300   left: 50%;
301 }
302 .col-xs-push-5 {
303   left: 41.66666667%;
304 }
305 .col-xs-push-4 {
306   left: 33.33333333%;
307 }
308 .col-xs-push-3 {
309   left: 25%;
310 }
311 .col-xs-push-2 {
312   left: 16.66666667%;
313 }
314 .col-xs-push-1 {
315   left: 8.33333333%;
316 }
317 .col-xs-push-0 {
318   left: auto;
319 }
320 .col-xs-offset-12 {
321   margin-left: 100%;
322 }
323 .col-xs-offset-11 {
324   margin-left: 91.66666667%;
325 }
326 .col-xs-offset-10 {
327   margin-left: 83.33333333%;
328 }
329 .col-xs-offset-9 {
330   margin-left: 75%;
331 }
332 .col-xs-offset-8 {
333   margin-left: 66.66666667%;
334 }
335 .col-xs-offset-7 {
336   margin-left: 58.33333333%;
337 }
338 .col-xs-offset-6 {
339   margin-left: 50%;
340 }
341 .col-xs-offset-5 {
342   margin-left: 41.66666667%;
343 }
344 .col-xs-offset-4 {
345   margin-left: 33.33333333%;
346 }
347 .col-xs-offset-3 {
348   margin-left: 25%;
349 }
350 .col-xs-offset-2 {
351   margin-left: 16.66666667%;
352 }
353 .col-xs-offset-1 {
354   margin-left: 8.33333333%;
355 }
356 .col-xs-offset-0 {
357   margin-left: 0%;
358 }
359 @media (min-width: $screen-sm) {
360   .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
361     float: left;
362   }
363   .col-sm-12 {
364     width: 100%;
365   }
366   .col-sm-11 {
367     width: 91.66666667%;
368   }
369   .col-sm-10 {
370     width: 83.33333333%;
371   }
372   .col-sm-9 {
373     width: 75%;
374   }
375   .col-sm-8 {
376     width: 66.66666667%;
377   }
378   .col-sm-7 {
379     width: 58.33333333%;
380   }
381   .col-sm-6 {
382     width: 50%;
383   }
384   .col-sm-5 {
385     width: 41.66666667%;
386   }
387   .col-sm-4 {
388     width: 33.33333333%;
389   }
390   .col-sm-3 {
391     width: 25%;
392   }
393   .col-sm-2 {
394     width: 16.66666667%;
395   }
396   .col-sm-1 {
397     width: 8.33333333%;
398   }
399   .col-sm-pull-12 {
400     right: 100%;
401   }
402   .col-sm-pull-11 {
403     right: 91.66666667%;
404   }
405   .col-sm-pull-10 {
406     right: 83.33333333%;
407   }
408   .col-sm-pull-9 {
409     right: 75%;
410   }
411   .col-sm-pull-8 {
412     right: 66.66666667%;
413   }
414   .col-sm-pull-7 {
415     right: 58.33333333%;
416   }
417   .col-sm-pull-6 {
418     right: 50%;
419   }
420   .col-sm-pull-5 {
421     right: 41.66666667%;
422   }
423   .col-sm-pull-4 {
424     right: 33.33333333%;
425   }
426   .col-sm-pull-3 {
427     right: 25%;
428   }
429   .col-sm-pull-2 {
430     right: 16.66666667%;
431   }
432   .col-sm-pull-1 {
433     right: 8.33333333%;
434   }
435   .col-sm-pull-0 {
436     right: auto;
437   }
438   .col-sm-push-12 {
439     left: 100%;
440   }
441   .col-sm-push-11 {
442     left: 91.66666667%;
443   }
444   .col-sm-push-10 {
445     left: 83.33333333%;
446   }
447   .col-sm-push-9 {
448     left: 75%;
449   }
450   .col-sm-push-8 {
451     left: 66.66666667%;
452   }
453   .col-sm-push-7 {
454     left: 58.33333333%;
455   }
456   .col-sm-push-6 {
457     left: 50%;
458   }
459   .col-sm-push-5 {
460     left: 41.66666667%;
461   }
462   .col-sm-push-4 {
463     left: 33.33333333%;
464   }
465   .col-sm-push-3 {
466     left: 25%;
467   }
468   .col-sm-push-2 {
469     left: 16.66666667%;
470   }
471   .col-sm-push-1 {
472     left: 8.33333333%;
473   }
474   .col-sm-push-0 {
475     left: auto;
476   }
477   .col-sm-offset-12 {
478     margin-left: 100%;
479   }
480   .col-sm-offset-11 {
481     margin-left: 91.66666667%;
482   }
483   .col-sm-offset-10 {
484     margin-left: 83.33333333%;
485   }
486   .col-sm-offset-9 {
487     margin-left: 75%;
488   }
489   .col-sm-offset-8 {
490     margin-left: 66.66666667%;
491   }
492   .col-sm-offset-7 {
493     margin-left: 58.33333333%;
494   }
495   .col-sm-offset-6 {
496     margin-left: 50%;
497   }
498   .col-sm-offset-5 {
499     margin-left: 41.66666667%;
500   }
501   .col-sm-offset-4 {
502     margin-left: 33.33333333%;
503   }
504   .col-sm-offset-3 {
505     margin-left: 25%;
506   }
507   .col-sm-offset-2 {
508     margin-left: 16.66666667%;
509   }
510   .col-sm-offset-1 {
511     margin-left: 8.33333333%;
512   }
513   .col-sm-offset-0 {
514     margin-left: 0%;
515   }
516 }
517 @media (min-width: $screen-md) {
518   .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
519     float: left;
520   }
521   .col-md-12 {
522     width: 100%;
523   }
524   .col-md-11 {
525     width: 91.66666667%;
526   }
527   .col-md-10 {
528     width: 83.33333333%;
529   }
530   .col-md-9 {
531     width: 75%;
532   }
533   .col-md-8 {
534     width: 66.66666667%;
535   }
536   .col-md-7 {
537     width: 58.33333333%;
538   }
539   .col-md-6 {
540     width: 50%;
541   }
542   .col-md-5 {
543     width: 41.66666667%;
544   }
545   .col-md-4 {
546     width: 33.33333333%;
547   }
548   .col-md-3 {
549     width: 25%;
550   }
551   .col-md-2 {
552     width: 16.66666667%;
553   }
554   .col-md-1 {
555     width: 8.33333333%;
556   }
557   .col-md-pull-12 {
558     right: 100%;
559   }
560   .col-md-pull-11 {
561     right: 91.66666667%;
562   }
563   .col-md-pull-10 {
564     right: 83.33333333%;
565   }
566   .col-md-pull-9 {
567     right: 75%;
568   }
569   .col-md-pull-8 {
570     right: 66.66666667%;
571   }
572   .col-md-pull-7 {
573     right: 58.33333333%;
574   }
575   .col-md-pull-6 {
576     right: 50%;
577   }
578   .col-md-pull-5 {
579     right: 41.66666667%;
580   }
581   .col-md-pull-4 {
582     right: 33.33333333%;
583   }
584   .col-md-pull-3 {
585     right: 25%;
586   }
587   .col-md-pull-2 {
588     right: 16.66666667%;
589   }
590   .col-md-pull-1 {
591     right: 8.33333333%;
592   }
593   .col-md-pull-0 {
594     right: auto;
595   }
596   .col-md-push-12 {
597     left: 100%;
598   }
599   .col-md-push-11 {
600     left: 91.66666667%;
601   }
602   .col-md-push-10 {
603     left: 83.33333333%;
604   }
605   .col-md-push-9 {
606     left: 75%;
607   }
608   .col-md-push-8 {
609     left: 66.66666667%;
610   }
611   .col-md-push-7 {
612     left: 58.33333333%;
613   }
614   .col-md-push-6 {
615     left: 50%;
616   }
617   .col-md-push-5 {
618     left: 41.66666667%;
619   }
620   .col-md-push-4 {
621     left: 33.33333333%;
622   }
623   .col-md-push-3 {
624     left: 25%;
625   }
626   .col-md-push-2 {
627     left: 16.66666667%;
628   }
629   .col-md-push-1 {
630     left: 8.33333333%;
631   }
632   .col-md-push-0 {
633     left: auto;
634   }
635   .col-md-offset-12 {
636     margin-left: 100%;
637   }
638   .col-md-offset-11 {
639     margin-left: 91.66666667%;
640   }
641   .col-md-offset-10 {
642     margin-left: 83.33333333%;
643   }
644   .col-md-offset-9 {
645     margin-left: 75%;
646   }
647   .col-md-offset-8 {
648     margin-left: 66.66666667%;
649   }
650   .col-md-offset-7 {
651     margin-left: 58.33333333%;
652   }
653   .col-md-offset-6 {
654     margin-left: 50%;
655   }
656   .col-md-offset-5 {
657     margin-left: 41.66666667%;
658   }
659   .col-md-offset-4 {
660     margin-left: 33.33333333%;
661   }
662   .col-md-offset-3 {
663     margin-left: 25%;
664   }
665   .col-md-offset-2 {
666     margin-left: 16.66666667%;
667   }
668   .col-md-offset-1 {
669     margin-left: 8.33333333%;
670   }
671   .col-md-offset-0 {
672     margin-left: 0%;
673   }
674 }
675 @media (min-width: $screen-lg) {
676   .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
677     float: left;
678   }
679   .col-lg-12 {
680     width: 100%;
681   }
682   .col-lg-11 {
683     width: 91.66666667%;
684   }
685   .col-lg-10 {
686     width: 83.33333333%;
687   }
688   .col-lg-9 {
689     width: 75%;
690   }
691   .col-lg-8 {
692     width: 66.66666667%;
693   }
694   .col-lg-7 {
695     width: 58.33333333%;
696   }
697   .col-lg-6 {
698     width: 50%;
699   }
700   .col-lg-5 {
701     width: 41.66666667%;
702   }
703   .col-lg-4 {
704     width: 33.33333333%;
705   }
706   .col-lg-3 {
707     width: 25%;
708   }
709   .col-lg-2 {
710     width: 16.66666667%;
711   }
712   .col-lg-1 {
713     width: 8.33333333%;
714   }
715   .col-lg-pull-12 {
716     right: 100%;
717   }
718   .col-lg-pull-11 {
719     right: 91.66666667%;
720   }
721   .col-lg-pull-10 {
722     right: 83.33333333%;
723   }
724   .col-lg-pull-9 {
725     right: 75%;
726   }
727   .col-lg-pull-8 {
728     right: 66.66666667%;
729   }
730   .col-lg-pull-7 {
731     right: 58.33333333%;
732   }
733   .col-lg-pull-6 {
734     right: 50%;
735   }
736   .col-lg-pull-5 {
737     right: 41.66666667%;
738   }
739   .col-lg-pull-4 {
740     right: 33.33333333%;
741   }
742   .col-lg-pull-3 {
743     right: 25%;
744   }
745   .col-lg-pull-2 {
746     right: 16.66666667%;
747   }
748   .col-lg-pull-1 {
749     right: 8.33333333%;
750   }
751   .col-lg-pull-0 {
752     right: auto;
753   }
754   .col-lg-push-12 {
755     left: 100%;
756   }
757   .col-lg-push-11 {
758     left: 91.66666667%;
759   }
760   .col-lg-push-10 {
761     left: 83.33333333%;
762   }
763   .col-lg-push-9 {
764     left: 75%;
765   }
766   .col-lg-push-8 {
767     left: 66.66666667%;
768   }
769   .col-lg-push-7 {
770     left: 58.33333333%;
771   }
772   .col-lg-push-6 {
773     left: 50%;
774   }
775   .col-lg-push-5 {
776     left: 41.66666667%;
777   }
778   .col-lg-push-4 {
779     left: 33.33333333%;
780   }
781   .col-lg-push-3 {
782     left: 25%;
783   }
784   .col-lg-push-2 {
785     left: 16.66666667%;
786   }
787   .col-lg-push-1 {
788     left: 8.33333333%;
789   }
790   .col-lg-push-0 {
791     left: auto;
792   }
793   .col-lg-offset-12 {
794     margin-left: 100%;
795   }
796   .col-lg-offset-11 {
797     margin-left: 91.66666667%;
798   }
799   .col-lg-offset-10 {
800     margin-left: 83.33333333%;
801   }
802   .col-lg-offset-9 {
803     margin-left: 75%;
804   }
805   .col-lg-offset-8 {
806     margin-left: 66.66666667%;
807   }
808   .col-lg-offset-7 {
809     margin-left: 58.33333333%;
810   }
811   .col-lg-offset-6 {
812     margin-left: 50%;
813   }
814   .col-lg-offset-5 {
815     margin-left: 41.66666667%;
816   }
817   .col-lg-offset-4 {
818     margin-left: 33.33333333%;
819   }
820   .col-lg-offset-3 {
821     margin-left: 25%;
822   }
823   .col-lg-offset-2 {
824     margin-left: 16.66666667%;
825   }
826   .col-lg-offset-1 {
827     margin-left: 8.33333333%;
828   }
829   .col-lg-offset-0 {
830     margin-left: 0%;
831   }
832 }
833 .clearfix:before,
834 .clearfix:after,
835 .container:before,
836 .container:after,
837 .container-fluid:before,
838 .container-fluid:after,
839 .row:before,
840 .row:after {
841   content: " ";
842   display: table;
843 }
844 .clearfix:after,
845 .container:after,
846 .container-fluid:after,
847 .row:after {
848   clear: both;
849 }
850 .center-block {
851   display: block;
852   margin-left: auto;
853   margin-right: auto;
854 }