]> BookStack Code Mirror - bookstack/blob - resources/assets/sass/styles.scss
31777e373710aecb6fddb72262cfa23d93d9b50e
[bookstack] / resources / assets / sass / styles.scss
1 @import "reset";
2 @import "variables";
3 @import "fonts";
4 @import "mixins";
5 @import "html";
6 @import "text";
7 @import "grid";
8 @import "blocks";
9 @import "buttons";
10 @import "tables";
11 @import "forms";
12 @import "animations";
13 @import "tinymce";
14 @import "codemirror";
15 @import "components";
16 @import "header";
17 @import "lists";
18 @import "pages";
19
20 [v-cloak], [v-show] {
21   display: none; opacity: 0;
22   animation-name: none !important;
23 }
24
25
26 [ng\:cloak], [ng-cloak], .ng-cloak {
27   display: none !important;
28   user-select: none;
29 }
30
31 [ng-click] {
32   cursor: pointer;
33 }
34
35 // Jquery Sortable Styles
36 .dragged {
37   position: absolute;
38   opacity: 0.5;
39   z-index: 2000;
40 }
41 body.dragging, body.dragging * {
42   cursor: move !important;
43 }
44
45 // User Avatar Images
46 .avatar {
47   border-radius: 100%;
48   background-color: #EEE;
49   width: 30px;
50   height: 30px;
51   &.med {
52     width: 40px;
53     height: 40px;
54   }
55   &.large {
56     width: 80px;
57     height: 80px;
58   }
59   &.huge {
60     width: 120px;
61     height: 120px;
62   }
63   &.square {
64     border-radius: 3px;
65   }
66   &.cover {
67     height: 192px;
68     width: 120px;
69     border-radius: 3px;
70   }
71 }
72
73 // System wide notifications
74 .notification {
75   position: fixed;
76   top: 0;
77   right: 0;
78   margin: $-xl*2 $-xl;
79   padding: $-l $-xl;
80   background-color: #EEE;
81   border-radius: 3px;
82   box-shadow: $bs-med;
83   z-index: 999999;
84   display: block;
85   cursor: pointer;
86   max-width: 480px;
87   i, span {
88     display: table-cell;
89   }
90   i {
91     font-size: 2em;
92     padding-right: $-l;
93   }
94   span {
95     vertical-align: middle;
96   }
97   &.pos {
98     background-color: $positive;
99     color: #EEE;
100   }
101   &.neg {
102     background-color: $negative;
103     color: #EEE;
104   }
105   &.warning {
106     background-color: $secondary;
107     color: #EEE;
108   }
109 }
110
111 // Loading icon
112 $loadingSize: 10px;
113 .loading-container {
114   position: relative;
115   display: block;
116   height: $loadingSize;
117   margin: $-xl auto;
118   > div {
119     width: $loadingSize;
120     height: $loadingSize;
121     border-radius: $loadingSize;
122     display: inline-block;
123     vertical-align: top;
124     transform: translate3d(0, 0, 0);
125     animation-name: loadingBob;
126     animation-duration: 1.4s;
127     animation-iteration-count: infinite;
128     animation-timing-function: cubic-bezier(.62, .28, .23, .99);
129     margin-right: 4px;
130     background-color: $color-page;
131     animation-delay: 0.3s;
132   }
133   > div:first-child {
134       left: -($loadingSize+$-xs);
135       background-color: $color-book;
136       animation-delay: 0s;
137   }
138   > div:last-child {
139     left: $loadingSize+$-xs;
140     background-color: $color-chapter;
141     animation-delay: 0.6s;
142   }
143 }
144
145
146 // Search results
147 .search-results > h3 a {
148   font-size: 0.66em;
149   color: $primary;
150   padding-left: $-m;
151   i {
152     padding-right: $-s;
153   }
154 }
155
156 // Back to top link
157 $btt-size: 40px;
158 #back-to-top {
159   background-color: $primary;
160   position: fixed;
161   bottom: $-m;
162   right: $-l;
163   padding: $-xs $-s;
164   cursor: pointer;
165   color: #FFF;
166   width: $btt-size;
167   height: $btt-size;
168   border-radius: $btt-size;
169   transition: all ease-in-out 180ms;
170   opacity: 0;
171   z-index: 999;
172   overflow: hidden;
173   &:hover {
174     width: $btt-size*3.4;
175     opacity: 1 !important;
176     span {
177       display: inline-block;
178     }
179   }
180   .inner {
181     width: $btt-size*3.4;
182   }
183   i {
184     margin: 0;
185     font-size: 28px;
186     padding: 0 $-s 0 0;
187   }
188   span {
189     line-height: 12px;
190     position: relative;
191     top: -5px;
192   }
193 }
194
195 .contained-search-box {
196   display: flex;
197   input, button {
198     border-radius: 0;
199     border: 1px solid #DDD;
200     margin-left: -1px;
201   }
202   input {
203     flex: 5;
204     &:focus, &:active {
205       outline: 0;
206     }
207   }
208   button {
209     width: 60px;
210   }
211   button i {
212     padding: 0;
213   }
214   button.cancel.active {
215     background-color: $negative;
216     color: #EEE;
217   }
218 }
219
220 .entity-selector {
221   border: 1px solid #DDD;
222   border-radius: 3px;
223   overflow: hidden;
224   font-size: 0.8em;
225   input[type="text"] {
226     width: 100%;
227     display: block;
228     border-radius: 0;
229     border: 0;
230     border-bottom: 1px solid #DDD;
231     font-size: 16px;
232     padding: $-s $-m;
233   }
234   .entity-list {
235     overflow-y: scroll;
236     height: 400px;
237     background-color: #EEEEEE;
238   }
239   .loading {
240     height: 400px;
241     padding-top: $-l;
242   }
243   .entity-list > p {
244     text-align: center;
245     padding-top: $-l;
246     font-size: 1.333em;
247   }
248   .entity-list > div {
249     padding-left: $-m;
250     padding-right: $-m;
251     background-color: #FFF;
252     transition: all ease-in-out 120ms;
253     cursor: pointer;
254   }
255 }
256
257 .entity-list-item.selected {
258   h3, i, p ,a, span {
259     color: #EEE;
260   }
261 }
262
263 .center-box {
264   margin: $-xl auto 0 auto;
265   padding: $-m $-xxl $-xl $-xxl;
266   width: 420px;
267   max-width: 100%;
268   display: inline-block;
269   text-align: left;
270   vertical-align: top;
271   //border: 1px solid #DDD;
272   input {
273     width: 100%;
274   }
275   &.login {
276     background-color: #EEE;
277     box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1);
278     border: 1px solid #DDD;
279   }
280 }
281
282
283
284 .gallery-item {
285   margin-bottom: 32px;
286   height: 330px;
287   overflow: hidden;
288   border: 1px solid #9e9e9e;
289   h4 {
290     font-size: 1.2em;
291     text-align: center;
292   }
293   p {
294     font-size: 0.8em;
295     text-align: center;
296     padding: 0px 12px;
297   }
298   &.collapse {
299     height: 130px;
300   }
301 }
302
303 .gallery-image {
304   margin-top: 5%;
305   text-align: center;
306   img {
307     border-radius: 3px;
308   }
309 }