cartilage 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.markdown +57 -0
  3. data/Rakefile +84 -0
  4. data/app/assets/images/cartilage/patterns/background.dark.png +0 -0
  5. data/app/assets/images/cartilage/patterns/background.dark.psd +0 -0
  6. data/app/assets/images/cartilage/patterns/background.light.png +0 -0
  7. data/app/assets/images/cartilage/patterns/background.light.psd +0 -0
  8. data/app/assets/images/cartilage/patterns/background.medium.png +0 -0
  9. data/app/assets/images/cartilage/patterns/background.medium.psd +0 -0
  10. data/app/assets/images/cartilage/patterns/background.png +0 -0
  11. data/app/assets/images/cartilage/patterns/background.psd +0 -0
  12. data/app/assets/javascripts/cartilage/application.js.coffee +45 -0
  13. data/app/assets/javascripts/cartilage/collections/segments.js.coffee +4 -0
  14. data/app/assets/javascripts/cartilage/core.js.coffee +8 -0
  15. data/app/assets/javascripts/cartilage/models/model.js.coffee +2 -0
  16. data/app/assets/javascripts/cartilage/models/segment.js.coffee +2 -0
  17. data/app/assets/javascripts/cartilage/views/bar_segment_view.js.coffee +58 -0
  18. data/app/assets/javascripts/cartilage/views/bar_view.js.coffee +85 -0
  19. data/app/assets/javascripts/cartilage/views/content_view.js.coffee +16 -0
  20. data/app/assets/javascripts/cartilage/views/image_view.js.coffee +76 -0
  21. data/app/assets/javascripts/cartilage/views/list_view.js.coffee +515 -0
  22. data/app/assets/javascripts/cartilage/views/list_view_item.js.coffee +85 -0
  23. data/app/assets/javascripts/cartilage/views/loading_indicator_view.js.coffee +147 -0
  24. data/app/assets/javascripts/cartilage/views/matrix_view.js.coffee +253 -0
  25. data/app/assets/javascripts/cartilage/views/matrix_view_item.js.coffee +5 -0
  26. data/app/assets/javascripts/cartilage/views/modal_view.js.coffee +26 -0
  27. data/app/assets/javascripts/cartilage/views/popover_view.js.coffee +212 -0
  28. data/app/assets/javascripts/cartilage/views/source_list_view.js.coffee +69 -0
  29. data/app/assets/javascripts/cartilage/views/source_list_view_item.js.coffee +5 -0
  30. data/app/assets/javascripts/cartilage/views/split_view.js.coffee +175 -0
  31. data/app/assets/javascripts/cartilage/views/usage_bar_view.js.coffee +5 -0
  32. data/app/assets/javascripts/cartilage/views/view.js.coffee +232 -0
  33. data/app/assets/javascripts/cartilage.js.coffee +18 -0
  34. data/app/assets/javascripts/extensions/console.js.coffee +9 -0
  35. data/app/assets/javascripts/extensions/constructor_name.js.coffee +10 -0
  36. data/app/assets/javascripts/extensions/properties.js.coffee +45 -0
  37. data/app/assets/javascripts/extensions/underscore.js.coffee +71 -0
  38. data/app/assets/stylesheets/cartilage/core.css.scss +432 -0
  39. data/app/assets/stylesheets/cartilage/mixins.css.scss +19 -0
  40. data/app/assets/stylesheets/cartilage/responsive.css.scss +192 -0
  41. data/app/assets/stylesheets/cartilage/variables.css.scss +113 -0
  42. data/app/assets/stylesheets/cartilage/views/list_view.css.scss +41 -0
  43. data/app/assets/stylesheets/cartilage/views/list_view_item.css.scss +47 -0
  44. data/app/assets/stylesheets/cartilage/views/loading_indicator_view.css.scss +50 -0
  45. data/app/assets/stylesheets/cartilage/views/matrix_view.css.scss +87 -0
  46. data/app/assets/stylesheets/cartilage/views/popover_view.css.scss +124 -0
  47. data/app/assets/stylesheets/cartilage/views/segmented_view.css.scss +98 -0
  48. data/app/assets/stylesheets/cartilage/views/source_list_view.css.scss +65 -0
  49. data/app/assets/stylesheets/cartilage/views/split_view.css.scss +80 -0
  50. data/app/assets/stylesheets/cartilage/views/usage_bar_view.css.scss +101 -0
  51. data/app/assets/stylesheets/cartilage/views/view.css.scss +13 -0
  52. data/app/assets/stylesheets/cartilage.css.scss +5 -0
  53. data/lib/cartilage/engine.rb +14 -0
  54. data/lib/cartilage/version.rb +3 -0
  55. data/lib/cartilage.rb +5 -0
  56. data/lib/tasks/cartilage_tasks.rake +4 -0
  57. data/test/cartilage_test.rb +7 -0
  58. data/test/dummy/Rakefile +7 -0
  59. data/test/dummy/app/assets/javascripts/application.js +9 -0
  60. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  61. data/test/dummy/app/controllers/application_controller.rb +3 -0
  62. data/test/dummy/app/helpers/application_helper.rb +2 -0
  63. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  64. data/test/dummy/config/application.rb +45 -0
  65. data/test/dummy/config/boot.rb +10 -0
  66. data/test/dummy/config/database.yml +25 -0
  67. data/test/dummy/config/environment.rb +5 -0
  68. data/test/dummy/config/environments/development.rb +30 -0
  69. data/test/dummy/config/environments/production.rb +60 -0
  70. data/test/dummy/config/environments/test.rb +42 -0
  71. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  72. data/test/dummy/config/initializers/inflections.rb +10 -0
  73. data/test/dummy/config/initializers/mime_types.rb +5 -0
  74. data/test/dummy/config/initializers/secret_token.rb +7 -0
  75. data/test/dummy/config/initializers/session_store.rb +8 -0
  76. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  77. data/test/dummy/config/locales/en.yml +5 -0
  78. data/test/dummy/config/routes.rb +58 -0
  79. data/test/dummy/config.ru +4 -0
  80. data/test/dummy/db/readme +6 -0
  81. data/test/dummy/public/404.html +26 -0
  82. data/test/dummy/public/422.html +26 -0
  83. data/test/dummy/public/500.html +26 -0
  84. data/test/dummy/public/favicon.ico +0 -0
  85. data/test/dummy/script/rails +6 -0
  86. data/test/framework/cartilage/application_test.js.coffee +14 -0
  87. data/test/framework/cartilage/views/bar_segment_view_test.js.coffee +5 -0
  88. data/test/framework/cartilage/views/bar_view_test.js.coffee +30 -0
  89. data/test/framework/cartilage/views/image_view_test.js.coffee +27 -0
  90. data/test/framework/cartilage/views/list_view_item_test.js.coffee +17 -0
  91. data/test/framework/cartilage/views/list_view_test.js.coffee +190 -0
  92. data/test/framework/cartilage/views/loading_indicator_view_test.js.coffee +5 -0
  93. data/test/framework/cartilage/views/matrix_view_item_test.js.coffee +5 -0
  94. data/test/framework/cartilage/views/matrix_view_test.js.coffee +5 -0
  95. data/test/framework/cartilage/views/popover_view_test.js.coffee +5 -0
  96. data/test/framework/cartilage/views/source_list_view_item_test.js.coffee +5 -0
  97. data/test/framework/cartilage/views/source_list_view_test.js.coffee +5 -0
  98. data/test/framework/cartilage/views/split_view_test.js.coffee +5 -0
  99. data/test/framework/cartilage/views/usage_bar_view_test.js.coffee +5 -0
  100. data/test/framework/cartilage/views/view_test.js.coffee +85 -0
  101. data/test/framework/extensions/properties_test.js.coffee +82 -0
  102. data/test/framework/extensions/underscore_test.js.coffee +73 -0
  103. data/test/framework/index.html +72 -0
  104. data/test/framework/vendor/backbone.js +1431 -0
  105. data/test/framework/vendor/coffee-script.js +8 -0
  106. data/test/framework/vendor/jquery.js +9440 -0
  107. data/test/framework/vendor/phantomjs-runner.js +196 -0
  108. data/test/framework/vendor/qunit.css +235 -0
  109. data/test/framework/vendor/qunit.js +1977 -0
  110. data/test/framework/vendor/run-qunit.js +81 -0
  111. data/test/framework/vendor/sinon-1.5.0.js +4142 -0
  112. data/test/framework/vendor/sinon-qunit-1.0.0.js +62 -0
  113. data/test/framework/vendor/underscore.js +1059 -0
  114. data/test/test_helper.rb +10 -0
  115. metadata +373 -0
@@ -0,0 +1,432 @@
1
+
2
+ // Cartilage Variables -------------------------------------------------------
3
+ //
4
+ // NOTE: Variable overrides must be set before Bootstrap is included!
5
+ //
6
+
7
+ @import "cartilage/variables";
8
+
9
+ // Twitter Bootstrap ---------------------------------------------------------
10
+
11
+ @import "bootstrap";
12
+
13
+ // Cartilage Mixins ----------------------------------------------------------
14
+
15
+ @import "cartilage/mixins";
16
+
17
+ // ---------------------------------------------------------------------------
18
+
19
+ html
20
+ {
21
+ overflow: hidden;
22
+ }
23
+
24
+ body
25
+ {
26
+ background-image: asset-url("cartilage/patterns/background.png", image);
27
+ }
28
+
29
+ // Structural Layout ---------------------------------------------------------
30
+
31
+ .container-absolute
32
+ {
33
+ position: absolute;
34
+ top: $navbarHeight;
35
+ left: 0;
36
+ right: 0;
37
+ bottom: 0;
38
+ overflow: auto;
39
+ @include clearfix();
40
+ }
41
+
42
+ // Navigation Bar ------------------------------------------------------------
43
+
44
+ .navbar-inner
45
+ {
46
+
47
+ //
48
+ // Add a subtle bevel (highlight and shadow) to the navbar by using inset
49
+ // box shadows.
50
+ //
51
+ @include box-shadow(#{inset 0px 1px 0px rgba(255, 255, 255, 0.15), inset 1px 0px 0px rgba(255, 255, 255, 0.05), inset -1px 0px 0px rgba(255, 255, 255, 0.05), inset 0px -1px 0px rgba(0, 0, 0, 0.5)});
52
+
53
+ }
54
+
55
+ .navbar
56
+ {
57
+ //
58
+ // Don't allow the user to select any text within the navbar.
59
+ //
60
+ @include user-select(none);
61
+
62
+ .brand
63
+ {
64
+
65
+ //
66
+ // Apply Fitt's law to the entire brand area. The navigation bar will be
67
+ // clickable from all the way to the left of the browser window to the top
68
+ // and bottom of the navigation bar. We will cap the overlap area on the
69
+ // right side at 10px to leave 10px of unclickable space between the brand
70
+ // and the navigation.
71
+ //
72
+ line-height: $navbarHeight;
73
+ padding-top: 0px;
74
+ padding-bottom: 0px;
75
+ padding-left: 20px;
76
+ padding-right: 10px;
77
+ margin-right: 10px;
78
+
79
+ img
80
+ {
81
+ vertical-align: middle;
82
+
83
+ max-width: none;
84
+
85
+ //
86
+ // Vertically aligning the image to the middle does not result in a
87
+ // perfect alignment, depending on the font size of the brand element
88
+ // itself. Offset it here to ensure we get it centered correctly.
89
+ //
90
+ // TODO This is to offset for better centering, but it's a total hack
91
+ // and hard-coded...
92
+ //
93
+ padding-bottom: 6px;
94
+
95
+ //
96
+ // Don't allow the user to drag the brand image. This will allow the
97
+ // user to drag the link to which the brand image points, instead,
98
+ // which is likely what the user would want anyways.
99
+ //
100
+ @include user-drag(none);
101
+ }
102
+ }
103
+
104
+ .btn
105
+ {
106
+
107
+ &.btn-navbar
108
+ {
109
+ //
110
+ // Properly align buttons in the middle of the navigation bar, based on
111
+ // the defined height of the navbar (and the known height of the buttons,
112
+ // which at the time this was written was 30px).
113
+ //
114
+ // PATCH Submitted to Bootstrap (https://github.com/twitter/bootstrap/pull/1853)
115
+ //
116
+ margin-top: ($navbarHeight - 30px) / 2;
117
+
118
+ //
119
+ // Remove the excess right margin so that it aligns properly (at 20px)
120
+ // from the right border.
121
+ //
122
+ margin-right: 0;
123
+ }
124
+
125
+ }
126
+
127
+ //
128
+ // Override the navigation styles within the context of the navigation bar
129
+ // with our own tabbed implementation. We could override the nav-tabs class
130
+ // instead, but it would be more to override and nav-tabs are not intended
131
+ // to be used inside the navbar (as far as I can tell).
132
+ //
133
+ .nav
134
+ {
135
+ > li
136
+ {
137
+ > a
138
+ {
139
+ line-height: ($navbarHeight / 2);
140
+ margin-top: ($navbarHeight / 2);
141
+ margin-right: 6px;
142
+ padding: 0 10px;
143
+ color: white;
144
+
145
+ text-shadow: 0 -1px 0 black;
146
+ font-weight: bold;
147
+ font-size: 13px;
148
+
149
+ background-color: rgb(38, 46, 49);
150
+ background-color: rgba(0, 0, 0, 0.25);
151
+
152
+ @include border-radius(3px 3px 0 0);
153
+ @include transition('color 0.25s, background-color 0.25s');
154
+
155
+ &:hover
156
+ {
157
+ background-color: rgb(25, 33, 36);
158
+ background-color: rgba(0, 0, 0, 0.45);
159
+ }
160
+ }
161
+
162
+ &.active
163
+ {
164
+ > a
165
+ {
166
+ color: $navbarLinkColorActive;
167
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
168
+ @include gradient-vertical(rgb(244, 245, 246), rgb(248, 248, 249));
169
+
170
+ // TODO We cannot use a drop-shadow because dropdowns in the navbar
171
+ // are at the wrong z-index, therefore we can't place the page-header
172
+ // above the navbar to pull off the desired shadow effect.
173
+ // @include box-shadow(0 0 4px black);
174
+
175
+ &:hover
176
+ {
177
+ //
178
+ // Don't allow the text color to change for the active tab when
179
+ // the user hovers over the link.
180
+ //
181
+ color: $navbarLinkColorActive;
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+
189
+ .btn-navbar .icon-bar
190
+ {
191
+ display: block;
192
+ width: 18px;
193
+ height: 2px;
194
+ background-color: #f5f5f5;
195
+ @include border-radius(1px);
196
+ @include box-shadow(0 1px 0 rgba(0, 0, 0, 0.25));
197
+ }
198
+
199
+ .btn-navbar .icon-bar + .icon-bar
200
+ {
201
+ margin-top: 3px;
202
+ }
203
+
204
+ // Page Content --------------------------------------------------------------
205
+
206
+ #content
207
+ {
208
+
209
+ // Page Header -------------------------------------------------------------
210
+
211
+ #page-header
212
+ {
213
+ position: absolute;
214
+ top: 0;
215
+ left: 0;
216
+ right: 0;
217
+
218
+ height: 48px;
219
+ min-height: 48px;
220
+ line-height: 48px;
221
+ padding-left: 20px;
222
+ padding-right: 20px;
223
+
224
+ border-bottom: 1px solid rgb(198, 198, 199);
225
+ border-bottom: 1px solid rgba(0, 0, 0, 0.45);
226
+ @include gradient-vertical(rgb(248, 248, 249), rgb(252, 251, 252));
227
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.15));
228
+ @include user-select(none);
229
+
230
+ h1
231
+ {
232
+ line-height: inherit;
233
+ font-family: "HelveticaNeue-Light", "Helvetica Neue Light",
234
+ "Helvetica Neue", sans-serif;
235
+ font-weight: 300;
236
+ font-size: (46px / 2.25);
237
+ color: rgb(76, 76, 76);
238
+ color: rgba(0, 0, 0, 0.7);
239
+ text-shadow: 0 1px 0px rgba(255, 255, 255, 0.9);
240
+
241
+ white-space: nowrap;
242
+ overflow: hidden;
243
+ text-overflow: ellipsis;
244
+
245
+ float: left;
246
+
247
+ small
248
+ {
249
+ position: relative;
250
+ font-size: inherit;
251
+ color: rgba(0, 0, 0, 0.4);
252
+ margin-left: 20px;
253
+ line-height: inherit !important;
254
+ height: inherit !important;
255
+ padding-left: 20px;
256
+ font-size: 80%;
257
+
258
+ &:before
259
+ {
260
+ position: absolute;
261
+ left: 0;
262
+ top: 0;
263
+ bottom: 0;
264
+ content: "";
265
+ border-left: 1px solid rgb(216, 216, 217);
266
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
267
+ border-right: 1px solid rgb(246, 246, 246);
268
+ border-right: 1px solid rgba(255, 255, 255, 0.8);
269
+ margin-right: 20px;
270
+ }
271
+
272
+ a
273
+ {
274
+ color: inherit;
275
+ text-decoration: none;
276
+ display: inline;
277
+ }
278
+ }
279
+ }
280
+
281
+ // button for toggling action items in responsive layouts
282
+ .btn-actions
283
+ {
284
+ display: none;
285
+ float: right;
286
+ padding: 7px 10px;
287
+ margin-left: 5px;
288
+ margin-right: 0;
289
+ margin-top: 9px;
290
+ // @include buttonBackground($navbarBackgroundHighlight, $navbarBackground);
291
+ @include box-shadow(#{inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075)});
292
+
293
+ .icon-bar
294
+ {
295
+ display: block;
296
+ width: 18px;
297
+ height: 2px;
298
+ background-color: #aaa;
299
+ @include border-radius(1px);
300
+ @include box-shadow(0 1px 0 rgba(255, 255, 255, 0.75));
301
+ }
302
+
303
+ .icon-bar + .icon-bar
304
+ {
305
+ margin-top: 3px;
306
+ }
307
+ }
308
+ // Override the default collapsed state
309
+ .actions-collapse.collapse
310
+ {
311
+ height: auto;
312
+ }
313
+
314
+ ul.actions
315
+ {
316
+ float: right;
317
+ margin-top: 9px;
318
+ list-style: none;
319
+ border: none;
320
+ background: transparent;
321
+
322
+ > li
323
+ {
324
+ float: left;
325
+ margin-left: 12px;
326
+ }
327
+ }
328
+ }
329
+
330
+ #page-content
331
+ {
332
+ position: absolute;
333
+ top: 49px;
334
+ left: 0;
335
+ right: 0;
336
+ bottom: 0;
337
+ overflow: auto;
338
+ -webkit-overflow-scrolling: touch;
339
+
340
+ > .alert
341
+ {
342
+ margin: 20px;
343
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.075));
344
+ @include border-radius(3px);
345
+ }
346
+ }
347
+ }
348
+
349
+ // Standard Section (white header, drop shadow, etc) -------------------------
350
+
351
+ .standard-section
352
+ {
353
+ position: relative;
354
+ margin: 20px;
355
+ background-color: rgb(245, 247, 247);
356
+ background-color: rgba(255, 255, 255, 0.8);
357
+ border: 1px solid rgb(195, 196, 196);
358
+ border: 1px solid rgba(0, 0, 0, 0.2);
359
+ @include border-radius(3px);
360
+ @include box-shadow(0 1px 3px rgba(0, 0, 0, 0.075));
361
+
362
+ header
363
+ {
364
+ padding: 10px 20px;
365
+ background-color: white;
366
+ border-bottom: 1px solid rgb(217, 217, 217);
367
+ border-bottom: 1px solid rgba(0, 0, 0, 0.15);
368
+ @include border-radius(2px 2px 0 0);
369
+
370
+ h1
371
+ {
372
+ font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", sans-serif;
373
+ font-weight: 300;
374
+ font-size: 20.4px;
375
+ color: rgb(128, 128, 128);
376
+ color: rgba(0, 0, 0, 0.5);
377
+ margin: 0;
378
+ }
379
+
380
+ .header-actions
381
+ {
382
+ position: absolute;
383
+ right: 20px;
384
+ top: 20px;
385
+
386
+ form, button, a
387
+ {
388
+ float: left;
389
+ display: inline;
390
+ margin-left: 10px;
391
+ }
392
+ }
393
+ }
394
+
395
+ .section-content
396
+ {
397
+ padding: 20px;
398
+ }
399
+
400
+ table
401
+ {
402
+ margin-bottom: 0;
403
+
404
+ th:first-of-type, td:first-of-type
405
+ {
406
+ padding-left: 20px;
407
+ }
408
+
409
+ th:last-of-type, td:last-of-type
410
+ {
411
+ padding-right: 20px;
412
+ }
413
+ }
414
+
415
+ iframe
416
+ {
417
+ width: 100%;
418
+ height: 240px;
419
+ border: none;
420
+ }
421
+
422
+ fieldset
423
+ {
424
+ margin-top: 20px;
425
+ margin-bottom: 20px;
426
+ }
427
+ }
428
+
429
+ // Responsive Layout -------------------------------------------------------
430
+
431
+ // @import "bootstrap-responsive";
432
+ // @import "cartilage/responsive";
@@ -0,0 +1,19 @@
1
+
2
+ // Bootstrap Support ---------------------------------------------------------
3
+
4
+ @import "bootstrap/mixins";
5
+
6
+ // Cartilage Mixins ----------------------------------------------------------
7
+
8
+ @mixin user-select($select: inherit)
9
+ {
10
+ -webkit-user-select: $select;
11
+ -moz-user-select: $select;
12
+ -ms-user-select: $select;
13
+ user-select: $select;
14
+ }
15
+
16
+ @mixin user-drag($drag: auto)
17
+ {
18
+ -webkit-user-drag: $drag;
19
+ }
@@ -0,0 +1,192 @@
1
+
2
+ // Bootstrap Support ---------------------------------------------------------
3
+
4
+ @import "bootstrap-responsive";
5
+
6
+ // Cartilage Support ---------------------------------------------------------
7
+
8
+ @import "cartilage/variables";
9
+ @import "cartilage/mixins";
10
+
11
+ // Up to Landscape Phone -----------------------------------------------------
12
+
13
+ @media (max-width: 480px)
14
+ {
15
+
16
+ }
17
+
18
+ // Landscape Phone to Small Desktop and Portrait Tablet ----------------------
19
+
20
+ @media (max-width: 768px)
21
+ {
22
+
23
+ }
24
+
25
+ // Landscape Phone to Small Desktop and Portrait Tablet ----------------------
26
+
27
+ @media (max-width: 768px)
28
+ {
29
+
30
+ html
31
+ {
32
+ overflow: visible;
33
+ }
34
+
35
+ body
36
+ {
37
+ padding: 0;
38
+ }
39
+
40
+ // Navigation Bar ----------------------------------------------------------
41
+
42
+ .navbar-fixed-top,
43
+ .navbar-fixed-bottom
44
+ {
45
+ margin: 0;
46
+ }
47
+
48
+ // Containers --------------------------------------------------------------
49
+
50
+ .container-fluid
51
+ {
52
+ padding-left: 20px;
53
+ padding-right: 20px;
54
+ }
55
+ }
56
+
57
+ // Portrait Tablet to Default Desktop ----------------------------------------
58
+
59
+ @media (min-width: 768px) and (max-width: 979px)
60
+ {
61
+
62
+ }
63
+
64
+ // Tablets and Below --------------------------------------------------------
65
+
66
+ @media (max-width: 979px)
67
+ {
68
+
69
+ // Navigation Bar ---------------------------------------------------------
70
+
71
+ .navbar
72
+ {
73
+ margin-bottom: 0;
74
+ }
75
+
76
+ .navbar-fixed-top,
77
+ .navbar-fixed-bottom
78
+ {
79
+ margin: 0;
80
+
81
+ .navbar-inner
82
+ {
83
+ padding: 0;
84
+ }
85
+ }
86
+
87
+ .navbar .brand
88
+ {
89
+ float: none;
90
+ line-height: $navbarHeight;
91
+ padding: 0 10px 0 inherit;
92
+ margin: 0 10px 0 -20px;
93
+ display: inline-block;
94
+ }
95
+
96
+ .navbar .nav > li > a
97
+ {
98
+ margin: 0;
99
+ margin-bottom: 10px;
100
+ line-height: ($navbarHeight / 2.75);
101
+ @include border-radius(3px);
102
+ }
103
+
104
+ .navbar .nav > li:last-of-type > a
105
+ {
106
+ margin-bottom: 20px;
107
+ }
108
+
109
+ // Absolute Container ------------------------------------------------------
110
+
111
+ .container-absolute
112
+ {
113
+ position: relative;
114
+ top: auto;
115
+ overflow: visible;
116
+ }
117
+
118
+ // Application Content -----------------------------------------------------
119
+
120
+ #content
121
+ {
122
+
123
+ // Page Header -----------------------------------------------------------
124
+
125
+ #page-header
126
+ {
127
+ position: relative;
128
+ height: auto;
129
+
130
+ // Actions Button
131
+ .btn-actions
132
+ {
133
+ display: block;
134
+ }
135
+
136
+ // Hide the pageactions
137
+ .actions-collapse
138
+ {
139
+ overflow: hidden;
140
+ height: 0;
141
+ clear: left;
142
+ }
143
+
144
+ // Block-level the nav
145
+ ul.actions
146
+ {
147
+ float: none;
148
+ padding: 0;
149
+ margin-left: 0;
150
+
151
+ > li
152
+ {
153
+ float: none;
154
+ margin-left: 0;
155
+ }
156
+
157
+ .btn
158
+ {
159
+ float: none;
160
+ margin: 0 0 ($baseLineHeight / 2);
161
+ display: block;
162
+ }
163
+ }
164
+ }
165
+
166
+ // Page Content ----------------------------------------------------------
167
+
168
+ #page-content
169
+ {
170
+ position: static;
171
+ overflow: visible;
172
+ }
173
+ }
174
+
175
+ }
176
+
177
+ // Default Desktop -----------------------------------------------------------
178
+
179
+ @media (min-width: 980px)
180
+ {
181
+ .actions-collapse.collapse
182
+ {
183
+ height: auto !important;
184
+ }
185
+ }
186
+
187
+ // Large Desktop and Up ------------------------------------------------------
188
+
189
+ @media (min-width: 1200px)
190
+ {
191
+
192
+ }