Backup of db before drupal security update
[yaffs-website] / vendor / twbs / bootstrap-sass / assets / stylesheets / bootstrap / _navbar.scss
1 //
2 // Navbars
3 // --------------------------------------------------
4
5
6 // Wrapper and base class
7 //
8 // Provide a static navbar from which we expand to create full-width, fixed, and
9 // other navbar variations.
10
11 .navbar {
12   position: relative;
13   min-height: $navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
14   margin-bottom: $navbar-margin-bottom;
15   border: 1px solid transparent;
16
17   // Prevent floats from breaking the navbar
18   @include clearfix;
19
20   @media (min-width: $grid-float-breakpoint) {
21     border-radius: $navbar-border-radius;
22   }
23 }
24
25
26 // Navbar heading
27 //
28 // Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy
29 // styling of responsive aspects.
30
31 .navbar-header {
32   @include clearfix;
33
34   @media (min-width: $grid-float-breakpoint) {
35     float: left;
36   }
37 }
38
39
40 // Navbar collapse (body)
41 //
42 // Group your navbar content into this for easy collapsing and expanding across
43 // various device sizes. By default, this content is collapsed when <768px, but
44 // will expand past that for a horizontal display.
45 //
46 // To start (on mobile devices) the navbar links, forms, and buttons are stacked
47 // vertically and include a `max-height` to overflow in case you have too much
48 // content for the user's viewport.
49
50 .navbar-collapse {
51   overflow-x: visible;
52   padding-right: $navbar-padding-horizontal;
53   padding-left:  $navbar-padding-horizontal;
54   border-top: 1px solid transparent;
55   box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
56   @include clearfix;
57   -webkit-overflow-scrolling: touch;
58
59   &.in {
60     overflow-y: auto;
61   }
62
63   @media (min-width: $grid-float-breakpoint) {
64     width: auto;
65     border-top: 0;
66     box-shadow: none;
67
68     &.collapse {
69       display: block !important;
70       height: auto !important;
71       padding-bottom: 0; // Override default setting
72       overflow: visible !important;
73     }
74
75     &.in {
76       overflow-y: visible;
77     }
78
79     // Undo the collapse side padding for navbars with containers to ensure
80     // alignment of right-aligned contents.
81     .navbar-fixed-top &,
82     .navbar-static-top &,
83     .navbar-fixed-bottom & {
84       padding-left: 0;
85       padding-right: 0;
86     }
87   }
88 }
89
90 .navbar-fixed-top,
91 .navbar-fixed-bottom {
92   .navbar-collapse {
93     max-height: $navbar-collapse-max-height;
94
95     @media (max-device-width: $screen-xs-min) and (orientation: landscape) {
96       max-height: 200px;
97     }
98   }
99 }
100
101
102 // Both navbar header and collapse
103 //
104 // When a container is present, change the behavior of the header and collapse.
105
106 .container,
107 .container-fluid {
108   > .navbar-header,
109   > .navbar-collapse {
110     margin-right: -$navbar-padding-horizontal;
111     margin-left:  -$navbar-padding-horizontal;
112
113     @media (min-width: $grid-float-breakpoint) {
114       margin-right: 0;
115       margin-left:  0;
116     }
117   }
118 }
119
120
121 //
122 // Navbar alignment options
123 //
124 // Display the navbar across the entirety of the page or fixed it to the top or
125 // bottom of the page.
126
127 // Static top (unfixed, but 100% wide) navbar
128 .navbar-static-top {
129   z-index: $zindex-navbar;
130   border-width: 0 0 1px;
131
132   @media (min-width: $grid-float-breakpoint) {
133     border-radius: 0;
134   }
135 }
136
137 // Fix the top/bottom navbars when screen real estate supports it
138 .navbar-fixed-top,
139 .navbar-fixed-bottom {
140   position: fixed;
141   right: 0;
142   left: 0;
143   z-index: $zindex-navbar-fixed;
144
145   // Undo the rounded corners
146   @media (min-width: $grid-float-breakpoint) {
147     border-radius: 0;
148   }
149 }
150 .navbar-fixed-top {
151   top: 0;
152   border-width: 0 0 1px;
153 }
154 .navbar-fixed-bottom {
155   bottom: 0;
156   margin-bottom: 0; // override .navbar defaults
157   border-width: 1px 0 0;
158 }
159
160
161 // Brand/project name
162
163 .navbar-brand {
164   float: left;
165   padding: $navbar-padding-vertical $navbar-padding-horizontal;
166   font-size: $font-size-large;
167   line-height: $line-height-computed;
168   height: $navbar-height;
169
170   &:hover,
171   &:focus {
172     text-decoration: none;
173   }
174
175   > img {
176     display: block;
177   }
178
179   @media (min-width: $grid-float-breakpoint) {
180     .navbar > .container &,
181     .navbar > .container-fluid & {
182       margin-left: -$navbar-padding-horizontal;
183     }
184   }
185 }
186
187
188 // Navbar toggle
189 //
190 // Custom button for toggling the `.navbar-collapse`, powered by the collapse
191 // JavaScript plugin.
192
193 .navbar-toggle {
194   position: relative;
195   float: right;
196   margin-right: $navbar-padding-horizontal;
197   padding: 9px 10px;
198   @include navbar-vertical-align(34px);
199   background-color: transparent;
200   background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
201   border: 1px solid transparent;
202   border-radius: $border-radius-base;
203
204   // We remove the `outline` here, but later compensate by attaching `:hover`
205   // styles to `:focus`.
206   &:focus {
207     outline: 0;
208   }
209
210   // Bars
211   .icon-bar {
212     display: block;
213     width: 22px;
214     height: 2px;
215     border-radius: 1px;
216   }
217   .icon-bar + .icon-bar {
218     margin-top: 4px;
219   }
220
221   @media (min-width: $grid-float-breakpoint) {
222     display: none;
223   }
224 }
225
226
227 // Navbar nav links
228 //
229 // Builds on top of the `.nav` components with its own modifier class to make
230 // the nav the full height of the horizontal nav (above 768px).
231
232 .navbar-nav {
233   margin: ($navbar-padding-vertical / 2) (-$navbar-padding-horizontal);
234
235   > li > a {
236     padding-top:    10px;
237     padding-bottom: 10px;
238     line-height: $line-height-computed;
239   }
240
241   @media (max-width: $grid-float-breakpoint-max) {
242     // Dropdowns get custom display when collapsed
243     .open .dropdown-menu {
244       position: static;
245       float: none;
246       width: auto;
247       margin-top: 0;
248       background-color: transparent;
249       border: 0;
250       box-shadow: none;
251       > li > a,
252       .dropdown-header {
253         padding: 5px 15px 5px 25px;
254       }
255       > li > a {
256         line-height: $line-height-computed;
257         &:hover,
258         &:focus {
259           background-image: none;
260         }
261       }
262     }
263   }
264
265   // Uncollapse the nav
266   @media (min-width: $grid-float-breakpoint) {
267     float: left;
268     margin: 0;
269
270     > li {
271       float: left;
272       > a {
273         padding-top:    $navbar-padding-vertical;
274         padding-bottom: $navbar-padding-vertical;
275       }
276     }
277   }
278 }
279
280
281 // Navbar form
282 //
283 // Extension of the `.form-inline` with some extra flavor for optimum display in
284 // our navbars.
285
286 .navbar-form {
287   margin-left: -$navbar-padding-horizontal;
288   margin-right: -$navbar-padding-horizontal;
289   padding: 10px $navbar-padding-horizontal;
290   border-top: 1px solid transparent;
291   border-bottom: 1px solid transparent;
292   $shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
293   @include box-shadow($shadow);
294
295   // Mixin behavior for optimum display
296   @include form-inline;
297
298   .form-group {
299     @media (max-width: $grid-float-breakpoint-max) {
300       margin-bottom: 5px;
301
302       &:last-child {
303         margin-bottom: 0;
304       }
305     }
306   }
307
308   // Vertically center in expanded, horizontal navbar
309   @include navbar-vertical-align($input-height-base);
310
311   // Undo 100% width for pull classes
312   @media (min-width: $grid-float-breakpoint) {
313     width: auto;
314     border: 0;
315     margin-left: 0;
316     margin-right: 0;
317     padding-top: 0;
318     padding-bottom: 0;
319     @include box-shadow(none);
320   }
321 }
322
323
324 // Dropdown menus
325
326 // Menu position and menu carets
327 .navbar-nav > li > .dropdown-menu {
328   margin-top: 0;
329   @include border-top-radius(0);
330 }
331 // Menu position and menu caret support for dropups via extra dropup class
332 .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
333   margin-bottom: 0;
334   @include border-top-radius($navbar-border-radius);
335   @include border-bottom-radius(0);
336 }
337
338
339 // Buttons in navbars
340 //
341 // Vertically center a button within a navbar (when *not* in a form).
342
343 .navbar-btn {
344   @include navbar-vertical-align($input-height-base);
345
346   &.btn-sm {
347     @include navbar-vertical-align($input-height-small);
348   }
349   &.btn-xs {
350     @include navbar-vertical-align(22);
351   }
352 }
353
354
355 // Text in navbars
356 //
357 // Add a class to make any element properly align itself vertically within the navbars.
358
359 .navbar-text {
360   @include navbar-vertical-align($line-height-computed);
361
362   @media (min-width: $grid-float-breakpoint) {
363     float: left;
364     margin-left: $navbar-padding-horizontal;
365     margin-right: $navbar-padding-horizontal;
366   }
367 }
368
369
370 // Component alignment
371 //
372 // Repurpose the pull utilities as their own navbar utilities to avoid specificity
373 // issues with parents and chaining. Only do this when the navbar is uncollapsed
374 // though so that navbar contents properly stack and align in mobile.
375 //
376 // Declared after the navbar components to ensure more specificity on the margins.
377
378 @media (min-width: $grid-float-breakpoint) {
379   .navbar-left {
380     float: left !important;
381   }
382   .navbar-right {
383     float: right !important;
384   margin-right: -$navbar-padding-horizontal;
385
386     ~ .navbar-right {
387       margin-right: 0;
388     }
389   }
390 }
391
392
393 // Alternate navbars
394 // --------------------------------------------------
395
396 // Default navbar
397 .navbar-default {
398   background-color: $navbar-default-bg;
399   border-color: $navbar-default-border;
400
401   .navbar-brand {
402     color: $navbar-default-brand-color;
403     &:hover,
404     &:focus {
405       color: $navbar-default-brand-hover-color;
406       background-color: $navbar-default-brand-hover-bg;
407     }
408   }
409
410   .navbar-text {
411     color: $navbar-default-color;
412   }
413
414   .navbar-nav {
415     > li > a {
416       color: $navbar-default-link-color;
417
418       &:hover,
419       &:focus {
420         color: $navbar-default-link-hover-color;
421         background-color: $navbar-default-link-hover-bg;
422       }
423     }
424     > .active > a {
425       &,
426       &:hover,
427       &:focus {
428         color: $navbar-default-link-active-color;
429         background-color: $navbar-default-link-active-bg;
430       }
431     }
432     > .disabled > a {
433       &,
434       &:hover,
435       &:focus {
436         color: $navbar-default-link-disabled-color;
437         background-color: $navbar-default-link-disabled-bg;
438       }
439     }
440   }
441
442   .navbar-toggle {
443     border-color: $navbar-default-toggle-border-color;
444     &:hover,
445     &:focus {
446       background-color: $navbar-default-toggle-hover-bg;
447     }
448     .icon-bar {
449       background-color: $navbar-default-toggle-icon-bar-bg;
450     }
451   }
452
453   .navbar-collapse,
454   .navbar-form {
455     border-color: $navbar-default-border;
456   }
457
458   // Dropdown menu items
459   .navbar-nav {
460     // Remove background color from open dropdown
461     > .open > a {
462       &,
463       &:hover,
464       &:focus {
465         background-color: $navbar-default-link-active-bg;
466         color: $navbar-default-link-active-color;
467       }
468     }
469
470     @media (max-width: $grid-float-breakpoint-max) {
471       // Dropdowns get custom display when collapsed
472       .open .dropdown-menu {
473         > li > a {
474           color: $navbar-default-link-color;
475           &:hover,
476           &:focus {
477             color: $navbar-default-link-hover-color;
478             background-color: $navbar-default-link-hover-bg;
479           }
480         }
481         > .active > a {
482           &,
483           &:hover,
484           &:focus {
485             color: $navbar-default-link-active-color;
486             background-color: $navbar-default-link-active-bg;
487           }
488         }
489         > .disabled > a {
490           &,
491           &:hover,
492           &:focus {
493             color: $navbar-default-link-disabled-color;
494             background-color: $navbar-default-link-disabled-bg;
495           }
496         }
497       }
498     }
499   }
500
501
502   // Links in navbars
503   //
504   // Add a class to ensure links outside the navbar nav are colored correctly.
505
506   .navbar-link {
507     color: $navbar-default-link-color;
508     &:hover {
509       color: $navbar-default-link-hover-color;
510     }
511   }
512
513   .btn-link {
514     color: $navbar-default-link-color;
515     &:hover,
516     &:focus {
517       color: $navbar-default-link-hover-color;
518     }
519     &[disabled],
520     fieldset[disabled] & {
521       &:hover,
522       &:focus {
523         color: $navbar-default-link-disabled-color;
524       }
525     }
526   }
527 }
528
529 // Inverse navbar
530
531 .navbar-inverse {
532   background-color: $navbar-inverse-bg;
533   border-color: $navbar-inverse-border;
534
535   .navbar-brand {
536     color: $navbar-inverse-brand-color;
537     &:hover,
538     &:focus {
539       color: $navbar-inverse-brand-hover-color;
540       background-color: $navbar-inverse-brand-hover-bg;
541     }
542   }
543
544   .navbar-text {
545     color: $navbar-inverse-color;
546   }
547
548   .navbar-nav {
549     > li > a {
550       color: $navbar-inverse-link-color;
551
552       &:hover,
553       &:focus {
554         color: $navbar-inverse-link-hover-color;
555         background-color: $navbar-inverse-link-hover-bg;
556       }
557     }
558     > .active > a {
559       &,
560       &:hover,
561       &:focus {
562         color: $navbar-inverse-link-active-color;
563         background-color: $navbar-inverse-link-active-bg;
564       }
565     }
566     > .disabled > a {
567       &,
568       &:hover,
569       &:focus {
570         color: $navbar-inverse-link-disabled-color;
571         background-color: $navbar-inverse-link-disabled-bg;
572       }
573     }
574   }
575
576   // Darken the responsive nav toggle
577   .navbar-toggle {
578     border-color: $navbar-inverse-toggle-border-color;
579     &:hover,
580     &:focus {
581       background-color: $navbar-inverse-toggle-hover-bg;
582     }
583     .icon-bar {
584       background-color: $navbar-inverse-toggle-icon-bar-bg;
585     }
586   }
587
588   .navbar-collapse,
589   .navbar-form {
590     border-color: darken($navbar-inverse-bg, 7%);
591   }
592
593   // Dropdowns
594   .navbar-nav {
595     > .open > a {
596       &,
597       &:hover,
598       &:focus {
599         background-color: $navbar-inverse-link-active-bg;
600         color: $navbar-inverse-link-active-color;
601       }
602     }
603
604     @media (max-width: $grid-float-breakpoint-max) {
605       // Dropdowns get custom display
606       .open .dropdown-menu {
607         > .dropdown-header {
608           border-color: $navbar-inverse-border;
609         }
610         .divider {
611           background-color: $navbar-inverse-border;
612         }
613         > li > a {
614           color: $navbar-inverse-link-color;
615           &:hover,
616           &:focus {
617             color: $navbar-inverse-link-hover-color;
618             background-color: $navbar-inverse-link-hover-bg;
619           }
620         }
621         > .active > a {
622           &,
623           &:hover,
624           &:focus {
625             color: $navbar-inverse-link-active-color;
626             background-color: $navbar-inverse-link-active-bg;
627           }
628         }
629         > .disabled > a {
630           &,
631           &:hover,
632           &:focus {
633             color: $navbar-inverse-link-disabled-color;
634             background-color: $navbar-inverse-link-disabled-bg;
635           }
636         }
637       }
638     }
639   }
640
641   .navbar-link {
642     color: $navbar-inverse-link-color;
643     &:hover {
644       color: $navbar-inverse-link-hover-color;
645     }
646   }
647
648   .btn-link {
649     color: $navbar-inverse-link-color;
650     &:hover,
651     &:focus {
652       color: $navbar-inverse-link-hover-color;
653     }
654     &[disabled],
655     fieldset[disabled] & {
656       &:hover,
657       &:focus {
658         color: $navbar-inverse-link-disabled-color;
659       }
660     }
661   }
662 }