cartilage 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ }