fastfood 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +26 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +21 -0
  6. data/README.md +18 -0
  7. data/Rakefile +12 -0
  8. data/app/assets/stylesheets/_fastfood.scss +48 -0
  9. data/app/assets/stylesheets/fastfood/_alerts.scss +73 -0
  10. data/app/assets/stylesheets/fastfood/_badges.scss +68 -0
  11. data/app/assets/stylesheets/fastfood/_breadcrumbs.scss +26 -0
  12. data/app/assets/stylesheets/fastfood/_button-groups.scss +243 -0
  13. data/app/assets/stylesheets/fastfood/_buttons.scss +160 -0
  14. data/app/assets/stylesheets/fastfood/_carousel.scss +269 -0
  15. data/app/assets/stylesheets/fastfood/_close.scss +36 -0
  16. data/app/assets/stylesheets/fastfood/_code.scss +69 -0
  17. data/app/assets/stylesheets/fastfood/_component-animations.scss +37 -0
  18. data/app/assets/stylesheets/fastfood/_dropdowns.scss +214 -0
  19. data/app/assets/stylesheets/fastfood/_forms.scss +578 -0
  20. data/app/assets/stylesheets/fastfood/_grid.scss +85 -0
  21. data/app/assets/stylesheets/fastfood/_input-groups.scss +166 -0
  22. data/app/assets/stylesheets/fastfood/_jumbotron.scss +50 -0
  23. data/app/assets/stylesheets/fastfood/_labels.scss +66 -0
  24. data/app/assets/stylesheets/fastfood/_list-group.scss +124 -0
  25. data/app/assets/stylesheets/fastfood/_media.scss +61 -0
  26. data/app/assets/stylesheets/fastfood/_mixins.scss +39 -0
  27. data/app/assets/stylesheets/fastfood/_modals.scss +150 -0
  28. data/app/assets/stylesheets/fastfood/_navbar.scss +664 -0
  29. data/app/assets/stylesheets/fastfood/_navs.scss +242 -0
  30. data/app/assets/stylesheets/fastfood/_normalize.scss +427 -0
  31. data/app/assets/stylesheets/fastfood/_pager.scss +54 -0
  32. data/app/assets/stylesheets/fastfood/_pagination.scss +88 -0
  33. data/app/assets/stylesheets/fastfood/_panels.scss +265 -0
  34. data/app/assets/stylesheets/fastfood/_popovers.scss +135 -0
  35. data/app/assets/stylesheets/fastfood/_print.scss +107 -0
  36. data/app/assets/stylesheets/fastfood/_progress-bars.scss +87 -0
  37. data/app/assets/stylesheets/fastfood/_responsive-embed.scss +35 -0
  38. data/app/assets/stylesheets/fastfood/_responsive-utilities.scss +177 -0
  39. data/app/assets/stylesheets/fastfood/_scaffolding.scss +204 -0
  40. data/app/assets/stylesheets/fastfood/_tables.scss +234 -0
  41. data/app/assets/stylesheets/fastfood/_theme.scss +273 -0
  42. data/app/assets/stylesheets/fastfood/_thumbnails.scss +38 -0
  43. data/app/assets/stylesheets/fastfood/_tooltip.scss +102 -0
  44. data/app/assets/stylesheets/fastfood/_type.scss +306 -0
  45. data/app/assets/stylesheets/fastfood/_utilities.scss +73 -0
  46. data/app/assets/stylesheets/fastfood/_wells.scss +29 -0
  47. data/app/assets/stylesheets/fastfood/mixins/_alerts.scss +14 -0
  48. data/app/assets/stylesheets/fastfood/mixins/_background-variant.scss +11 -0
  49. data/app/assets/stylesheets/fastfood/mixins/_border-radius.scss +18 -0
  50. data/app/assets/stylesheets/fastfood/mixins/_buttons.scss +52 -0
  51. data/app/assets/stylesheets/fastfood/mixins/_center-block.scss +7 -0
  52. data/app/assets/stylesheets/fastfood/mixins/_clearfix.scss +22 -0
  53. data/app/assets/stylesheets/fastfood/mixins/_forms.scss +88 -0
  54. data/app/assets/stylesheets/fastfood/mixins/_gradients.scss +58 -0
  55. data/app/assets/stylesheets/fastfood/mixins/_grid-framework.scss +81 -0
  56. data/app/assets/stylesheets/fastfood/mixins/_grid.scss +123 -0
  57. data/app/assets/stylesheets/fastfood/mixins/_hide-text.scss +21 -0
  58. data/app/assets/stylesheets/fastfood/mixins/_image.scss +33 -0
  59. data/app/assets/stylesheets/fastfood/mixins/_labels.scss +12 -0
  60. data/app/assets/stylesheets/fastfood/mixins/_list-group.scss +31 -0
  61. data/app/assets/stylesheets/fastfood/mixins/_nav-divider.scss +10 -0
  62. data/app/assets/stylesheets/fastfood/mixins/_nav-vertical-align.scss +9 -0
  63. data/app/assets/stylesheets/fastfood/mixins/_opacity.scss +8 -0
  64. data/app/assets/stylesheets/fastfood/mixins/_pagination.scss +23 -0
  65. data/app/assets/stylesheets/fastfood/mixins/_panels.scss +24 -0
  66. data/app/assets/stylesheets/fastfood/mixins/_progress-bar.scss +10 -0
  67. data/app/assets/stylesheets/fastfood/mixins/_reset-filter.scss +8 -0
  68. data/app/assets/stylesheets/fastfood/mixins/_resize.scss +6 -0
  69. data/app/assets/stylesheets/fastfood/mixins/_responsive-visibility.scss +21 -0
  70. data/app/assets/stylesheets/fastfood/mixins/_size.scss +10 -0
  71. data/app/assets/stylesheets/fastfood/mixins/_tab-focus.scss +9 -0
  72. data/app/assets/stylesheets/fastfood/mixins/_table-row.scss +28 -0
  73. data/app/assets/stylesheets/fastfood/mixins/_text-emphasis.scss +11 -0
  74. data/app/assets/stylesheets/fastfood/mixins/_text-overflow.scss +8 -0
  75. data/app/assets/stylesheets/fastfood/mixins/_vendor-prefixes.scss +222 -0
  76. data/bin/fastfood +6 -0
  77. data/fastfood.gemspec +30 -0
  78. data/lib/.gitkeep +0 -0
  79. data/lib/fastfood.rb +28 -0
  80. data/lib/fastfood/engine.rb +5 -0
  81. data/lib/fastfood/generator.rb +80 -0
  82. data/lib/fastfood/version.rb +3 -0
  83. data/lib/tasks/install.rake +20 -0
  84. metadata +225 -0
@@ -0,0 +1,61 @@
1
+ .media {
2
+ // Proper spacing between instances of .media
3
+ margin-top: 15px;
4
+
5
+ &:first-child {
6
+ margin-top: 0;
7
+ }
8
+ }
9
+
10
+ .media,
11
+ .media-body {
12
+ zoom: 1;
13
+ overflow: hidden;
14
+ }
15
+
16
+ .media-body {
17
+ width: 10000px;
18
+ }
19
+
20
+ .media-object {
21
+ display: block;
22
+ }
23
+
24
+ .media-right,
25
+ .media > .pull-right {
26
+ padding-left: 10px;
27
+ }
28
+
29
+ .media-left,
30
+ .media > .pull-left {
31
+ padding-right: 10px;
32
+ }
33
+
34
+ .media-left,
35
+ .media-right,
36
+ .media-body {
37
+ display: table-cell;
38
+ vertical-align: top;
39
+ }
40
+
41
+ .media-middle {
42
+ vertical-align: middle;
43
+ }
44
+
45
+ .media-bottom {
46
+ vertical-align: bottom;
47
+ }
48
+
49
+ // Reset margins on headings for tighter default spacing
50
+ .media-heading {
51
+ margin-top: 0;
52
+ margin-bottom: 5px;
53
+ }
54
+
55
+ // Media list variation
56
+ //
57
+ // Undo default ul/ol styles
58
+ .media-list {
59
+ padding-left: 0;
60
+ list-style: none;
61
+ }
@@ -0,0 +1,39 @@
1
+ // Mixins
2
+ // --------------------------------------------------
3
+
4
+ // Utilities
5
+ @import "mixins/hide-text";
6
+ @import "mixins/opacity";
7
+ @import "mixins/image";
8
+ @import "mixins/labels";
9
+ @import "mixins/reset-filter";
10
+ @import "mixins/resize";
11
+ @import "mixins/responsive-visibility";
12
+ @import "mixins/size";
13
+ @import "mixins/tab-focus";
14
+ @import "mixins/text-emphasis";
15
+ @import "mixins/text-overflow";
16
+ @import "mixins/vendor-prefixes";
17
+
18
+ // Components
19
+ @import "mixins/alerts";
20
+ @import "mixins/buttons";
21
+ @import "mixins/panels";
22
+ @import "mixins/pagination";
23
+ @import "mixins/list-group";
24
+ @import "mixins/nav-divider";
25
+ @import "mixins/forms";
26
+ @import "mixins/progress-bar";
27
+ @import "mixins/table-row";
28
+
29
+ // Skins
30
+ @import "mixins/background-variant";
31
+ @import "mixins/border-radius";
32
+ @import "mixins/gradients";
33
+
34
+ // Layout
35
+ @import "mixins/clearfix";
36
+ @import "mixins/center-block";
37
+ @import "mixins/nav-vertical-align";
38
+ @import "mixins/grid-framework";
39
+ @import "mixins/grid";
@@ -0,0 +1,150 @@
1
+ //
2
+ // Modals
3
+ // --------------------------------------------------
4
+
5
+ // .modal-open - body class for killing the scroll
6
+ // .modal - container to scroll within
7
+ // .modal-dialog - positioning shell for the actual modal
8
+ // .modal-content - actual modal w/ bg and corners and shit
9
+
10
+ // Kill the scroll on the body
11
+ .modal-open {
12
+ overflow: hidden;
13
+ }
14
+
15
+ // Container that the modal scrolls within
16
+ .modal {
17
+ display: none;
18
+ overflow: hidden;
19
+ position: fixed;
20
+ top: 0;
21
+ right: 0;
22
+ bottom: 0;
23
+ left: 0;
24
+ z-index: $zindex-modal;
25
+ -webkit-overflow-scrolling: touch;
26
+
27
+ // Prevent Chrome on Windows from adding a focus outline. For details, see
28
+ // https://github.com/twbs/bootstrap/pull/10951.
29
+ outline: 0;
30
+
31
+ // When fading in the modal, animate it to slide down
32
+ &.fade .modal-dialog {
33
+ @include translate(0, -25%);
34
+ @include transition-transform(0.3s ease-out);
35
+ }
36
+ &.in .modal-dialog { @include translate(0, 0) }
37
+ }
38
+ .modal-open .modal {
39
+ overflow-x: hidden;
40
+ overflow-y: auto;
41
+ }
42
+
43
+ // Shell div to position the modal with bottom padding
44
+ .modal-dialog {
45
+ position: relative;
46
+ width: auto;
47
+ margin: 10px;
48
+ }
49
+
50
+ // Actual modal
51
+ .modal-content {
52
+ position: relative;
53
+ background-color: $modal-content-bg;
54
+ border: 1px solid $modal-content-fallback-border-color; //old browsers fallback (ie8 etc)
55
+ border: 1px solid $modal-content-border-color;
56
+ border-radius: $border-radius-large;
57
+ @include box-shadow(0 3px 9px rgba(0,0,0,.5));
58
+ background-clip: padding-box;
59
+ // Remove focus outline from opened modal
60
+ outline: 0;
61
+ }
62
+
63
+ // Modal background
64
+ .modal-backdrop {
65
+ position: fixed;
66
+ top: 0;
67
+ right: 0;
68
+ bottom: 0;
69
+ left: 0;
70
+ z-index: $zindex-modal-background;
71
+ background-color: $modal-backdrop-bg;
72
+ // Fade for backdrop
73
+ &.fade { @include opacity(0); }
74
+ &.in { @include opacity($modal-backdrop-opacity); }
75
+ }
76
+
77
+ // Modal header
78
+ // Top section of the modal w/ title and dismiss
79
+ .modal-header {
80
+ padding: $modal-title-padding;
81
+ border-bottom: 1px solid $modal-header-border-color;
82
+ min-height: ($modal-title-padding + $modal-title-line-height);
83
+ }
84
+ // Close icon
85
+ .modal-header .close {
86
+ margin-top: -2px;
87
+ }
88
+
89
+ // Title text within header
90
+ .modal-title {
91
+ margin: 0;
92
+ line-height: $modal-title-line-height;
93
+ }
94
+
95
+ // Modal body
96
+ // Where all modal content resides (sibling of .modal-header and .modal-footer)
97
+ .modal-body {
98
+ position: relative;
99
+ padding: $modal-inner-padding;
100
+ }
101
+
102
+ // Footer (for actions)
103
+ .modal-footer {
104
+ padding: $modal-inner-padding;
105
+ text-align: right; // right align buttons
106
+ border-top: 1px solid $modal-footer-border-color;
107
+ @include clearfix; // clear it in case folks use .pull-* classes on buttons
108
+
109
+ // Properly space out buttons
110
+ .btn + .btn {
111
+ margin-left: 5px;
112
+ margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
113
+ }
114
+ // but override that for button groups
115
+ .btn-group .btn + .btn {
116
+ margin-left: -1px;
117
+ }
118
+ // and override it for block buttons as well
119
+ .btn-block + .btn-block {
120
+ margin-left: 0;
121
+ }
122
+ }
123
+
124
+ // Measure scrollbar width for padding body during modal show/hide
125
+ .modal-scrollbar-measure {
126
+ position: absolute;
127
+ top: -9999px;
128
+ width: 50px;
129
+ height: 50px;
130
+ overflow: scroll;
131
+ }
132
+
133
+ // Scale up the modal
134
+ @media (min-width: $screen-sm-min) {
135
+ // Automatically set modal's width for larger viewports
136
+ .modal-dialog {
137
+ width: $modal-md;
138
+ margin: 30px auto;
139
+ }
140
+ .modal-content {
141
+ @include box-shadow(0 5px 15px rgba(0,0,0,.5));
142
+ }
143
+
144
+ // Modal sizes
145
+ .modal-sm { width: $modal-sm; }
146
+ }
147
+
148
+ @media (min-width: $screen-md-min) {
149
+ .modal-lg { width: $modal-lg; }
150
+ }
@@ -0,0 +1,664 @@
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
+
399
+ .navbar-brand {
400
+ color: $navbar-default-brand-color;
401
+ &:hover,
402
+ &:focus {
403
+ color: $navbar-default-brand-hover-color;
404
+ background-color: $navbar-default-brand-hover-bg;
405
+ }
406
+ }
407
+
408
+ .navbar-text {
409
+ color: $navbar-default-color;
410
+ }
411
+
412
+ .navbar-nav {
413
+ > li > a {
414
+ color: $navbar-default-link-color;
415
+ text-decoration: none;
416
+ font-weight: 700;
417
+
418
+ &:hover,
419
+ &:focus {
420
+ background-color: $navbar-default-link-hover-bg;
421
+ text-decoration: none;
422
+ color: $brand-primary;
423
+ font-weight: 700;
424
+ }
425
+ }
426
+ > .active > a {
427
+ &,
428
+ &:hover,
429
+ &:focus {
430
+ color: $navbar-default-link-active-color;
431
+ background-color: $navbar-default-link-active-bg;
432
+ }
433
+ }
434
+ > .disabled > a {
435
+ &,
436
+ &:hover,
437
+ &:focus {
438
+ color: $navbar-default-link-disabled-color;
439
+ background-color: $navbar-default-link-disabled-bg;
440
+ }
441
+ }
442
+ }
443
+
444
+ .navbar-toggle {
445
+ border-color: $navbar-default-toggle-border-color;
446
+ &:hover,
447
+ &:focus {
448
+ background-color: $navbar-default-toggle-hover-bg;
449
+ }
450
+ .icon-bar {
451
+ background-color: $navbar-default-toggle-icon-bar-bg;
452
+ }
453
+ }
454
+
455
+ .navbar-collapse,
456
+ .navbar-form {
457
+ border-color: $navbar-default-border;
458
+ }
459
+
460
+ // Dropdown menu items
461
+ .navbar-nav {
462
+ // Remove background color from open dropdown
463
+ > .open > a {
464
+ &,
465
+ &:hover,
466
+ &:focus {
467
+ background-color: $navbar-default-link-active-bg;
468
+ color: $navbar-default-link-active-color;
469
+ }
470
+ }
471
+
472
+ @media (max-width: $grid-float-breakpoint-max) {
473
+ // Dropdowns get custom display when collapsed
474
+ .open .dropdown-menu {
475
+ > li > a {
476
+ color: $navbar-default-link-color;
477
+ &:hover,
478
+ &:focus {
479
+ color: $navbar-default-link-hover-color;
480
+ background-color: $navbar-default-link-hover-bg;
481
+ }
482
+ }
483
+ > .active > a {
484
+ &,
485
+ &:hover,
486
+ &:focus {
487
+ color: $navbar-default-link-active-color;
488
+ background-color: $navbar-default-link-active-bg;
489
+ }
490
+ }
491
+ > .disabled > a {
492
+ &,
493
+ &:hover,
494
+ &:focus {
495
+ color: $navbar-default-link-disabled-color;
496
+ background-color: $navbar-default-link-disabled-bg;
497
+ }
498
+ }
499
+ }
500
+ }
501
+ }
502
+
503
+
504
+ // Links in navbars
505
+ //
506
+ // Add a class to ensure links outside the navbar nav are colored correctly.
507
+
508
+ .navbar-link {
509
+ color: $navbar-default-link-color;
510
+ &:hover {
511
+ color: $navbar-default-link-hover-color;
512
+ }
513
+ }
514
+
515
+ .btn-link {
516
+ color: $navbar-default-link-color;
517
+ &:hover,
518
+ &:focus {
519
+ color: $navbar-default-link-hover-color;
520
+ }
521
+ &[disabled],
522
+ fieldset[disabled] & {
523
+ &:hover,
524
+ &:focus {
525
+ color: $navbar-default-link-disabled-color;
526
+ }
527
+ }
528
+ }
529
+ }
530
+
531
+ // Inverse navbar
532
+
533
+ .navbar-inverse {
534
+ background-color: $navbar-inverse-bg;
535
+ border-color: $navbar-inverse-border;
536
+
537
+ .navbar-brand {
538
+ color: $navbar-inverse-brand-color;
539
+ &:hover,
540
+ &:focus {
541
+ color: $navbar-inverse-brand-hover-color;
542
+ background-color: $navbar-inverse-brand-hover-bg;
543
+ }
544
+ }
545
+
546
+ .navbar-text {
547
+ color: $navbar-inverse-color;
548
+ }
549
+
550
+ .navbar-nav {
551
+ > li > a {
552
+ color: $navbar-inverse-link-color;
553
+
554
+ &:hover,
555
+ &:focus {
556
+ color: $navbar-inverse-link-hover-color;
557
+ background-color: $navbar-inverse-link-hover-bg;
558
+ }
559
+ }
560
+ > .active > a {
561
+ &,
562
+ &:hover,
563
+ &:focus {
564
+ color: $navbar-inverse-link-active-color;
565
+ background-color: $navbar-inverse-link-active-bg;
566
+ }
567
+ }
568
+ > .disabled > a {
569
+ &,
570
+ &:hover,
571
+ &:focus {
572
+ color: $navbar-inverse-link-disabled-color;
573
+ background-color: $navbar-inverse-link-disabled-bg;
574
+ }
575
+ }
576
+ }
577
+
578
+ // Darken the responsive nav toggle
579
+ .navbar-toggle {
580
+ border-color: $navbar-inverse-toggle-border-color;
581
+ &:hover,
582
+ &:focus {
583
+ background-color: $navbar-inverse-toggle-hover-bg;
584
+ }
585
+ .icon-bar {
586
+ background-color: $navbar-inverse-toggle-icon-bar-bg;
587
+ }
588
+ }
589
+
590
+ .navbar-collapse,
591
+ .navbar-form {
592
+ border-color: darken($navbar-inverse-bg, 7%);
593
+ }
594
+
595
+ // Dropdowns
596
+ .navbar-nav {
597
+ > .open > a {
598
+ &,
599
+ &:hover,
600
+ &:focus {
601
+ background-color: $navbar-inverse-link-active-bg;
602
+ color: $navbar-inverse-link-active-color;
603
+ }
604
+ }
605
+
606
+ @media (max-width: $grid-float-breakpoint-max) {
607
+ // Dropdowns get custom display
608
+ .open .dropdown-menu {
609
+ > .dropdown-header {
610
+ border-color: $navbar-inverse-border;
611
+ }
612
+ .divider {
613
+ background-color: $navbar-inverse-border;
614
+ }
615
+ > li > a {
616
+ color: $navbar-inverse-link-color;
617
+ &:hover,
618
+ &:focus {
619
+ color: $navbar-inverse-link-hover-color;
620
+ background-color: $navbar-inverse-link-hover-bg;
621
+ }
622
+ }
623
+ > .active > a {
624
+ &,
625
+ &:hover,
626
+ &:focus {
627
+ color: $navbar-inverse-link-active-color;
628
+ background-color: $navbar-inverse-link-active-bg;
629
+ }
630
+ }
631
+ > .disabled > a {
632
+ &,
633
+ &:hover,
634
+ &:focus {
635
+ color: $navbar-inverse-link-disabled-color;
636
+ background-color: $navbar-inverse-link-disabled-bg;
637
+ }
638
+ }
639
+ }
640
+ }
641
+ }
642
+
643
+ .navbar-link {
644
+ color: $navbar-inverse-link-color;
645
+ &:hover {
646
+ color: $navbar-inverse-link-hover-color;
647
+ }
648
+ }
649
+
650
+ .btn-link {
651
+ color: $navbar-inverse-link-color;
652
+ &:hover,
653
+ &:focus {
654
+ color: $navbar-inverse-link-hover-color;
655
+ }
656
+ &[disabled],
657
+ fieldset[disabled] & {
658
+ &:hover,
659
+ &:focus {
660
+ color: $navbar-inverse-link-disabled-color;
661
+ }
662
+ }
663
+ }
664
+ }