sync
[roojs1] / scss / startbootstrap-sb-admin-2 / navs / _sidebar.scss
1 // Sidebar
2 .sidebar {
3     width: $sidebar-collapsed-width;
4     min-height: 100vh;
5
6     .nav-item {
7         position: relative;
8
9         &:last-child {
10             margin-bottom: 1rem;
11         }
12
13         .nav-link {
14             text-align: center;
15             padding: 0.75rem 1rem;
16             width: $sidebar-collapsed-width;
17
18             span {
19                 font-size: 0.65rem;
20                 display: block;
21             }
22         }
23
24         &.active {
25             .nav-link {
26                 font-weight: 700;
27             }
28         }
29
30         // Accordion
31         .collapse {
32             position: absolute;
33             left: calc(#{$sidebar-collapsed-width} + #{$grid-gutter-width} / 2);
34             z-index: 1;
35             top: 2px;
36             // Grow In Animation
37             @extend .animated--grow-in;
38
39             .collapse-inner {
40                 border-radius: $border-radius;
41                 box-shadow: $box-shadow;
42             }
43         }
44
45         .collapsing {
46             display: none;
47             transition: none;
48         }
49
50         .collapse,
51         .collapsing {
52             .collapse-inner {
53                 padding: .5rem 0;
54                 min-width: 10rem;
55                 font-size: $dropdown-font-size;
56                 margin: 0 0 1rem 0;
57
58                 .collapse-header {
59                     margin: 0;
60                     white-space: nowrap;
61                     padding: .5rem 1.5rem;
62                     text-transform: uppercase;
63                     font-weight: 800;
64                     font-size: 0.65rem;
65                     color: $gray-500;
66                 }
67
68                 .collapse-item {
69                     padding: 0.5rem 1rem;
70                     margin: 0 0.5rem;
71                     display: block;
72                     color: $gray-900;
73                     text-decoration: none;
74                     border-radius: $border-radius;
75                     white-space: nowrap;
76
77                     &:hover {
78                         background-color: $gray-200;
79                     }
80
81                     &:active {
82                         background-color: $gray-300;
83                     }
84
85                     &.active {
86                         color: $primary;
87                         font-weight: 700;
88                     }
89                 }
90             }
91         }
92     }
93
94     #sidebarToggle {
95         width: 2.5rem;
96         height: 2.5rem;
97         text-align: center;
98         margin-bottom: 1rem;
99         cursor: pointer;
100
101         &::after {
102             font-weight: 900;
103             content: '\f104';
104             font-family: 'Font Awesome 5 Free';
105             margin-right: 0.1rem;
106         }
107
108         &:hover {
109             text-decoration: none;
110         }
111
112         &:focus {
113             outline: none;
114         }
115     }
116
117     &.toggled {
118         width: 0 !important;
119         overflow: hidden;
120
121         #sidebarToggle::after {
122             content: '\f105';
123             font-family: 'Font Awesome 5 Free';
124             margin-left: 0.25rem;
125         }
126
127         .sidebar-card {
128             display: none;
129         }
130     }
131
132     .sidebar-brand {
133         height: $topbar-base-height;
134         text-decoration: none;
135         font-size: 1rem;
136         font-weight: 800;
137         padding: 1.5rem 1rem;
138         text-align: center;
139         text-transform: uppercase;
140         letter-spacing: 0.05rem;
141         z-index: 1;
142
143         .sidebar-brand-icon i {
144             font-size: 2rem;
145         }
146
147         .sidebar-brand-text {
148             display: none;
149         }
150     }
151
152     hr.sidebar-divider {
153         margin: 0 1rem 1rem;
154     }
155
156     .sidebar-heading {
157         text-align: center;
158         padding: 0 1rem;
159         font-weight: 800;
160         font-size: 0.65rem;
161         @extend .text-uppercase;
162     }
163
164     .sidebar-card {
165         display: flex;
166         flex-direction: column;
167         align-items: center;
168         font-size: $font-size-sm;
169         border-radius: $border-radius;
170         color: fade-out($white, 0.2);
171         margin-left: 1rem;
172         margin-right: 1rem;
173         margin-bottom: 1rem;
174         padding: 1rem;
175         background-color: fade-out($black, 0.9);
176         .sidebar-card-illustration {
177             height: 3rem;
178             display: block;
179         }
180         .sidebar-card-title {
181             font-weight: bold;
182         }
183         p {
184             font-size: 0.75rem;
185             color: fade-out($white, 0.5);
186         }
187     }
188 }
189
190 @include media-breakpoint-up(md) {
191     .sidebar {
192         width: $sidebar-base-width !important;
193
194         .nav-item {
195
196             // Accordion
197             .collapse {
198                 position: relative;
199                 left: 0;
200                 z-index: 1;
201                 top: 0;
202                 animation: none;
203
204                 .collapse-inner {
205                     border-radius: 0;
206                     box-shadow: none;
207                 }
208             }
209
210             .collapsing {
211                 display: block;
212                 transition: $transition-collapse;
213             }
214
215             .collapse,
216             .collapsing {
217                 margin: 0 1rem;
218             }
219
220             .nav-link {
221                 display: block;
222                 width: 100%;
223                 text-align: left;
224                 padding: 1rem;
225                 width: $sidebar-base-width;
226
227                 i {
228                     font-size: 0.85rem;
229                     margin-right: 0.25rem;
230                 }
231
232                 span {
233                     font-size: 0.85rem;
234                     display: inline;
235                 }
236
237                 // Accordion Arrow Icon
238                 &[data-toggle="collapse"] {
239                     &::after {
240                         width: 1rem;
241                         text-align: center;
242                         float: right;
243                         vertical-align: 0;
244                         border: 0;
245                         font-weight: 900;
246                         content: '\f107';
247                         font-family: 'Font Awesome 5 Free';
248                     }
249
250                     &.collapsed::after {
251                         content: '\f105';
252                     }
253                 }
254             }
255         }
256
257         .sidebar-brand {
258             .sidebar-brand-icon i {
259                 font-size: 2rem;
260             }
261
262             .sidebar-brand-text {
263                 display: inline;
264             }
265         }
266
267         .sidebar-heading {
268             text-align: left;
269         }
270
271         &.toggled {
272             overflow: visible;
273             width: $sidebar-collapsed-width !important;
274
275             .nav-item {
276
277                 // Accordion
278                 .collapse {
279                     position: absolute;
280                     left: calc(#{$sidebar-collapsed-width} + #{$grid-gutter-width} / 2);
281                     z-index: 1;
282                     top: 2px;
283                     // Grow In Animation for Toggled State
284                     animation-name: growIn;
285                     animation-duration: 200ms;
286                     animation-timing-function: transform cubic-bezier(.18, 1.25, .4, 1), opacity cubic-bezier(0, 1, .4, 1);
287
288                     .collapse-inner {
289                         box-shadow: $box-shadow;
290                         border-radius: $border-radius;
291                     }
292                 }
293
294                 .collapsing {
295                     display: none;
296                     transition: none;
297                 }
298
299                 .collapse,
300                 .collapsing {
301                     margin: 0;
302                 }
303
304                 &:last-child {
305                     margin-bottom: 1rem;
306                 }
307
308                 .nav-link {
309                     text-align: center;
310                     padding: 0.75rem 1rem;
311                     width: $sidebar-collapsed-width;
312
313                     span {
314                         font-size: 0.65rem;
315                         display: block;
316                     }
317
318                     i {
319                         margin-right: 0;
320                     }
321
322                     &[data-toggle="collapse"]::after {
323                         display: none;
324                     }
325                 }
326             }
327
328             .sidebar-brand {
329                 .sidebar-brand-icon i {
330                     font-size: 2rem;
331                 }
332
333                 .sidebar-brand-text {
334                     display: none;
335                 }
336             }
337
338             .sidebar-heading {
339                 text-align: center;
340             }
341         }
342     }
343 }
344
345 // Sidebar Color Variants
346
347 // Sidebar Light
348 .sidebar-light {
349     .sidebar-brand {
350         color: $gray-700;
351     }
352
353     hr.sidebar-divider {
354         border-top: 1px solid $gray-200;
355     }
356
357     .sidebar-heading {
358         color: $gray-500;
359     }
360
361     .nav-item {
362         .nav-link {
363             color: $gray-600;
364
365             i {
366                 color: $gray-400;
367             }
368
369             &:active,
370             &:focus,
371             &:hover {
372                 color: $gray-700;
373
374                 i {
375                     color: $gray-700;
376                 }
377             }
378
379             // Accordion
380             &[data-toggle="collapse"]::after {
381                 color: $gray-500;
382             }
383         }
384
385         &.active {
386             .nav-link {
387                 color: $gray-700;
388
389                 i {
390                     color: $gray-700;
391                 }
392             }
393         }
394     }
395
396     // Color the sidebar toggler
397     #sidebarToggle {
398         background-color: $gray-200;
399
400         &::after {
401             color: $gray-500;
402         }
403
404         &:hover {
405             background-color: $gray-300;
406         }
407     }
408 }
409
410 // Sidebar Dark
411 .sidebar-dark {
412     .sidebar-brand {
413         color: $white;
414     }
415
416     hr.sidebar-divider {
417         border-top: 1px solid fade-out($white, 0.85);
418     }
419
420     .sidebar-heading {
421         color: fade-out($white, 0.6);
422     }
423
424     .nav-item {
425         .nav-link {
426             color: fade-out($white, 0.2);
427
428             i {
429                 color: fade-out($white, 0.7);
430             }
431
432             &:active,
433             &:focus,
434             &:hover {
435                 color: $white;
436
437                 i {
438                     color: $white;
439                 }
440             }
441
442             // Accordion
443             &[data-toggle="collapse"]::after {
444                 color: fade-out($white, 0.5);
445             }
446         }
447
448         &.active {
449             .nav-link {
450                 color: $white;
451
452                 i {
453                     color: $white;
454                 }
455             }
456         }
457     }
458
459     // Color the sidebar toggler
460     #sidebarToggle {
461         background-color: fade-out($white, 0.8);
462
463         &::after {
464             color: fade-out($white, 0.5);
465         }
466
467         &:hover {
468             background-color: fade-out($white, 0.75);
469         }
470     }
471
472     &.toggled {
473         #sidebarToggle::after {
474             color: fade-out($white, 0.5);
475         }
476     }
477 }