mtl 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/Gemfile +9 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +104 -0
  6. data/Rakefile +6 -0
  7. data/app/assets/javascripts/mtl/clickables.coffee +25 -0
  8. data/app/assets/javascripts/mtl/collapsible.coffee +43 -0
  9. data/app/assets/javascripts/mtl/configuration.coffee.erb +1 -0
  10. data/app/assets/javascripts/mtl/document_modal.coffee +130 -0
  11. data/app/assets/javascripts/mtl/dropdown.coffee +24 -0
  12. data/app/assets/javascripts/mtl/hooks.coffee +14 -0
  13. data/app/assets/javascripts/mtl/icon.coffee.erb +17 -0
  14. data/app/assets/javascripts/mtl/modal.coffee +32 -0
  15. data/app/assets/javascripts/mtl/select.coffee +44 -0
  16. data/app/assets/javascripts/mtl/templates.coffee +4 -0
  17. data/app/assets/javascripts/mtl/toc.coffee +31 -0
  18. data/app/assets/javascripts/mtl.js +42 -0
  19. data/app/assets/stylesheets/mtl/all.scss +69 -0
  20. data/app/assets/stylesheets/mtl/extend/_avatars.scss +37 -0
  21. data/app/assets/stylesheets/mtl/extend/_buttons.scss +31 -0
  22. data/app/assets/stylesheets/mtl/extend/_cards.scss +21 -0
  23. data/app/assets/stylesheets/mtl/extend/_chips.scss +3 -0
  24. data/app/assets/stylesheets/mtl/extend/_collection-files.scss +108 -0
  25. data/app/assets/stylesheets/mtl/extend/_document-modals.scss +95 -0
  26. data/app/assets/stylesheets/mtl/extend/_dropdown.scss +12 -0
  27. data/app/assets/stylesheets/mtl/extend/_forms.scss +66 -0
  28. data/app/assets/stylesheets/mtl/extend/_global.scss +77 -0
  29. data/app/assets/stylesheets/mtl/extend/_grid.scss +25 -0
  30. data/app/assets/stylesheets/mtl/extend/_material-icons.scss +37 -0
  31. data/app/assets/stylesheets/mtl/extend/_mixins.scss +10 -0
  32. data/app/assets/stylesheets/mtl/extend/_roboto-rails.scss +49 -0
  33. data/app/assets/stylesheets/mtl/extend/_side-nav.scss +22 -0
  34. data/app/assets/stylesheets/mtl/extend/_toc.scss +12 -0
  35. data/app/assets/stylesheets/mtl/extend/_typography.scss +32 -0
  36. data/app/assets/stylesheets/mtl/extend/forms/_input-fields.scss +50 -0
  37. data/app/assets/stylesheets/mtl/layouts/_default.scss +220 -0
  38. data/app/assets/stylesheets/mtl/layouts/_single.scss +25 -0
  39. data/app/views/mtl/header.html.erb +25 -0
  40. data/bin/coffeelint.rb +16 -0
  41. data/lib/generators/mtl/install_generator.rb +20 -0
  42. data/lib/generators/mtl/templates/_color.scss +410 -0
  43. data/lib/generators/mtl/templates/_variables.scss +330 -0
  44. data/lib/generators/mtl/templates/mtl.scss +8 -0
  45. data/lib/generators/mtl/templates/simple_form.rb +211 -0
  46. data/lib/mtl/rails/card_file_presenter.rb +70 -0
  47. data/lib/mtl/rails/view_helpers.rb +412 -0
  48. data/lib/mtl/simple_form/suffix.rb +52 -0
  49. data/lib/mtl/version.rb +6 -0
  50. data/lib/mtl.rb +38 -0
  51. data/mtl.gemspec +35 -0
  52. data/package.json +11 -0
  53. data/spec/mtl/rails/card_file_presenter_spec.rb +126 -0
  54. data/spec/mtl/rails/view_helpers_spec.rb +193 -0
  55. data/spec/mtl/simple_form/suffix_spec.rb +39 -0
  56. data/spec/mtl_spec.rb +34 -0
  57. data/spec/spec_helper.rb +18 -0
  58. data/spec/support/dom.rb +15 -0
  59. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.eot +0 -0
  60. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.ijmap +1 -0
  61. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.svg +2373 -0
  62. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.ttf +0 -0
  63. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff +0 -0
  64. data/vendor/assets/fonts/material-icons/MaterialIcons-Regular.woff2 +0 -0
  65. data/vendor/assets/fonts/roboto/Roboto-Bold.eot +0 -0
  66. data/vendor/assets/fonts/roboto/Roboto-Bold.ttf +0 -0
  67. data/vendor/assets/fonts/roboto/Roboto-Bold.woff +0 -0
  68. data/vendor/assets/fonts/roboto/Roboto-Bold.woff2 +0 -0
  69. data/vendor/assets/fonts/roboto/Roboto-Light.eot +0 -0
  70. data/vendor/assets/fonts/roboto/Roboto-Light.ttf +0 -0
  71. data/vendor/assets/fonts/roboto/Roboto-Light.woff +0 -0
  72. data/vendor/assets/fonts/roboto/Roboto-Light.woff2 +0 -0
  73. data/vendor/assets/fonts/roboto/Roboto-Medium.eot +0 -0
  74. data/vendor/assets/fonts/roboto/Roboto-Medium.ttf +0 -0
  75. data/vendor/assets/fonts/roboto/Roboto-Medium.woff +0 -0
  76. data/vendor/assets/fonts/roboto/Roboto-Medium.woff2 +0 -0
  77. data/vendor/assets/fonts/roboto/Roboto-Regular.eot +0 -0
  78. data/vendor/assets/fonts/roboto/Roboto-Regular.ttf +0 -0
  79. data/vendor/assets/fonts/roboto/Roboto-Regular.woff +0 -0
  80. data/vendor/assets/fonts/roboto/Roboto-Regular.woff2 +0 -0
  81. data/vendor/assets/fonts/roboto/Roboto-Thin.eot +0 -0
  82. data/vendor/assets/fonts/roboto/Roboto-Thin.ttf +0 -0
  83. data/vendor/assets/fonts/roboto/Roboto-Thin.woff +0 -0
  84. data/vendor/assets/fonts/roboto/Roboto-Thin.woff2 +0 -0
  85. data/vendor/assets/javascripts/lodash.js +16607 -0
  86. data/vendor/assets/javascripts/materialize/animation.js +9 -0
  87. data/vendor/assets/javascripts/materialize/buttons.js +91 -0
  88. data/vendor/assets/javascripts/materialize/cards.js +26 -0
  89. data/vendor/assets/javascripts/materialize/carousel.js +454 -0
  90. data/vendor/assets/javascripts/materialize/character_counter.js +72 -0
  91. data/vendor/assets/javascripts/materialize/chips.js +267 -0
  92. data/vendor/assets/javascripts/materialize/collapsible.js +160 -0
  93. data/vendor/assets/javascripts/materialize/date_picker/picker.date.js +1430 -0
  94. data/vendor/assets/javascripts/materialize/date_picker/picker.js +1123 -0
  95. data/vendor/assets/javascripts/materialize/dropdown.js +265 -0
  96. data/vendor/assets/javascripts/materialize/forms.js +681 -0
  97. data/vendor/assets/javascripts/materialize/global.js +45 -0
  98. data/vendor/assets/javascripts/materialize/hammer.min.js +1 -0
  99. data/vendor/assets/javascripts/materialize/init.js +173 -0
  100. data/vendor/assets/javascripts/materialize/initial.js +11 -0
  101. data/vendor/assets/javascripts/materialize/jquery.easing.1.3.js +205 -0
  102. data/vendor/assets/javascripts/materialize/jquery.hammer.js +33 -0
  103. data/vendor/assets/javascripts/materialize/jquery.timeago.min.js +1 -0
  104. data/vendor/assets/javascripts/materialize/leanModal.js +192 -0
  105. data/vendor/assets/javascripts/materialize/materialbox.js +269 -0
  106. data/vendor/assets/javascripts/materialize/parallax.js +58 -0
  107. data/vendor/assets/javascripts/materialize/prism.js +8 -0
  108. data/vendor/assets/javascripts/materialize/pushpin.js +71 -0
  109. data/vendor/assets/javascripts/materialize/scrollFire.js +48 -0
  110. data/vendor/assets/javascripts/materialize/scrollspy.js +283 -0
  111. data/vendor/assets/javascripts/materialize/sideNav.js +352 -0
  112. data/vendor/assets/javascripts/materialize/slider.js +321 -0
  113. data/vendor/assets/javascripts/materialize/tabs.js +148 -0
  114. data/vendor/assets/javascripts/materialize/toasts.js +136 -0
  115. data/vendor/assets/javascripts/materialize/tooltip.js +230 -0
  116. data/vendor/assets/javascripts/materialize/transitions.js +169 -0
  117. data/vendor/assets/javascripts/materialize/velocity.min.js +5 -0
  118. data/vendor/assets/javascripts/materialize/waves.js +338 -0
  119. data/vendor/assets/javascripts/pdfobject.js +254 -0
  120. data/vendor/assets/stylesheets/materialize/_buttons.scss +211 -0
  121. data/vendor/assets/stylesheets/materialize/_cards.scss +185 -0
  122. data/vendor/assets/stylesheets/materialize/_carousel.scss +85 -0
  123. data/vendor/assets/stylesheets/materialize/_chips.scss +74 -0
  124. data/vendor/assets/stylesheets/materialize/_collapsible.scss +90 -0
  125. data/vendor/assets/stylesheets/materialize/_color.scss +412 -0
  126. data/vendor/assets/stylesheets/materialize/_dropdown.scss +57 -0
  127. data/vendor/assets/stylesheets/materialize/_global.scss +781 -0
  128. data/vendor/assets/stylesheets/materialize/_grid.scss +147 -0
  129. data/vendor/assets/stylesheets/materialize/_icons-material-design.scss +5 -0
  130. data/vendor/assets/stylesheets/materialize/_materialbox.scss +42 -0
  131. data/vendor/assets/stylesheets/materialize/_mixins.scss +5 -0
  132. data/vendor/assets/stylesheets/materialize/_modal.scss +90 -0
  133. data/vendor/assets/stylesheets/materialize/_navbar.scss +182 -0
  134. data/vendor/assets/stylesheets/materialize/_normalize.scss +424 -0
  135. data/vendor/assets/stylesheets/materialize/_prefixer.scss +384 -0
  136. data/vendor/assets/stylesheets/materialize/_preloader.scss +334 -0
  137. data/vendor/assets/stylesheets/materialize/_roboto.scss +49 -0
  138. data/vendor/assets/stylesheets/materialize/_sideNav.scss +219 -0
  139. data/vendor/assets/stylesheets/materialize/_slider.scss +92 -0
  140. data/vendor/assets/stylesheets/materialize/_table_of_contents.scss +33 -0
  141. data/vendor/assets/stylesheets/materialize/_tabs.scss +56 -0
  142. data/vendor/assets/stylesheets/materialize/_toast.scss +65 -0
  143. data/vendor/assets/stylesheets/materialize/_tooltip.scss +32 -0
  144. data/vendor/assets/stylesheets/materialize/_typography.scss +61 -0
  145. data/vendor/assets/stylesheets/materialize/_variables.scss +313 -0
  146. data/vendor/assets/stylesheets/materialize/_waves.scss +177 -0
  147. data/vendor/assets/stylesheets/materialize/date_picker/_default.date.scss +435 -0
  148. data/vendor/assets/stylesheets/materialize/date_picker/_default.scss +201 -0
  149. data/vendor/assets/stylesheets/materialize/date_picker/_default.time.scss +125 -0
  150. data/vendor/assets/stylesheets/materialize/forms/_checkboxes.scss +220 -0
  151. data/vendor/assets/stylesheets/materialize/forms/_file-input.scss +38 -0
  152. data/vendor/assets/stylesheets/materialize/forms/_forms.scss +22 -0
  153. data/vendor/assets/stylesheets/materialize/forms/_input-fields.scss +273 -0
  154. data/vendor/assets/stylesheets/materialize/forms/_radio-buttons.scss +119 -0
  155. data/vendor/assets/stylesheets/materialize/forms/_range.scss +159 -0
  156. data/vendor/assets/stylesheets/materialize/forms/_select.scss +116 -0
  157. data/vendor/assets/stylesheets/materialize/forms/_switches.scss +78 -0
  158. metadata +309 -0
@@ -0,0 +1,781 @@
1
+ //Default styles
2
+
3
+ html {
4
+ box-sizing: border-box;
5
+ }
6
+ *, *:before, *:after {
7
+ box-sizing: inherit;
8
+ }
9
+
10
+ body {
11
+ // display: flex;
12
+ // min-height: 100vh;
13
+ // flex-direction: column;
14
+ }
15
+
16
+ main {
17
+ // flex: 1 0 auto;
18
+ }
19
+
20
+ ul {
21
+ &.browser-default,
22
+ &.browser-default li {
23
+ list-style-type: initial;
24
+ }
25
+
26
+ padding: 0;
27
+ list-style-type: none;
28
+
29
+ li {
30
+ list-style-type: none;
31
+ }
32
+ }
33
+
34
+ a {
35
+ color: $link-color;
36
+ text-decoration: none;
37
+
38
+ // Gets rid of tap active state
39
+ -webkit-tap-highlight-color: transparent;
40
+ }
41
+
42
+
43
+ // Positioning
44
+ .valign-wrapper {
45
+ display: flex;
46
+ align-items: center;
47
+
48
+ .valign {
49
+ display: block;
50
+ }
51
+ }
52
+
53
+
54
+ // classic clearfix
55
+ .clearfix {
56
+ clear: both;
57
+ }
58
+
59
+
60
+ // Z-levels
61
+ .z-depth-0 {
62
+ box-shadow: none !important;
63
+ }
64
+ .z-depth-1 {
65
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
66
+ }
67
+ .z-depth-1-half {
68
+ box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
69
+ }
70
+ .z-depth-2 {
71
+ box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
72
+ }
73
+ .z-depth-3 {
74
+ box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.3);
75
+ }
76
+ .z-depth-4 {
77
+ box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.3);
78
+ }
79
+ .z-depth-5 {
80
+ box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.3);
81
+ }
82
+
83
+ .hoverable {
84
+ transition: box-shadow .25s;
85
+ box-shadow: 0;
86
+ }
87
+
88
+ .hoverable:hover {
89
+ transition: box-shadow .25s;
90
+ box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
91
+ }
92
+
93
+ // Dividers
94
+
95
+ .divider {
96
+ height: 1px;
97
+ overflow: hidden;
98
+ background-color: color("grey", "lighten-2");
99
+ }
100
+
101
+
102
+ // Blockquote
103
+
104
+ blockquote {
105
+ margin: 20px 0;
106
+ padding-left: 1.5rem;
107
+ border-left: 5px solid $primary-color;
108
+ }
109
+
110
+ // Icon Styles
111
+
112
+ i {
113
+ line-height: inherit;
114
+
115
+ &.left {
116
+ float: left;
117
+ margin-right: 15px;
118
+ }
119
+ &.right {
120
+ float: right;
121
+ margin-left: 15px;
122
+ }
123
+ &.tiny {
124
+ font-size: 1rem;
125
+ }
126
+ &.small {
127
+ font-size: 2rem;
128
+ }
129
+ &.medium {
130
+ font-size: 4rem;
131
+ }
132
+ &.large {
133
+ font-size: 6rem;
134
+ }
135
+ }
136
+
137
+ // Images
138
+ img.responsive-img,
139
+ video.responsive-video {
140
+ max-width: 100%;
141
+ height: auto;
142
+ }
143
+
144
+
145
+ // Pagination
146
+
147
+ .pagination {
148
+
149
+ li {
150
+ display: inline-block;
151
+ border-radius: 2px;
152
+ text-align: center;
153
+ vertical-align: top;
154
+ height: 30px;
155
+
156
+ a {
157
+ color: #444;
158
+ display: inline-block;
159
+ font-size: 1.2rem;
160
+ padding: 0 10px;
161
+ line-height: 30px;
162
+ }
163
+
164
+ &.active a { color: #fff; }
165
+
166
+ &.active { background-color: $primary-color; }
167
+
168
+ &.disabled a {
169
+ cursor: default;
170
+ color: #999;
171
+ }
172
+
173
+ i {
174
+ font-size: 2rem;
175
+ }
176
+ }
177
+
178
+
179
+ li.pages ul li {
180
+ display: inline-block;
181
+ float: none;
182
+ }
183
+ }
184
+ @media #{$medium-and-down} {
185
+ .pagination {
186
+ width: 100%;
187
+
188
+ li.prev,
189
+ li.next {
190
+ width: 10%;
191
+ }
192
+
193
+ li.pages {
194
+ width: 80%;
195
+ overflow: hidden;
196
+ white-space: nowrap;
197
+ }
198
+ }
199
+ }
200
+
201
+ // Breadcrumbs
202
+ .breadcrumb {
203
+ font-size: 18px;
204
+ color: rgba(255,255,255, .7);
205
+
206
+ i,
207
+ [class^="mdi-"], [class*="mdi-"],
208
+ i.material-icons {
209
+ display: inline-block;
210
+ float: left;
211
+ font-size: 24px;
212
+ }
213
+
214
+ &:before {
215
+ content: '\E5CC';
216
+ color: rgba(255,255,255, .7);
217
+ vertical-align: top;
218
+ display: inline-block;
219
+ font-family: 'Material Icons';
220
+ font-weight: normal;
221
+ font-style: normal;
222
+ font-size: 25px;
223
+ margin: 0 10px 0 8px;
224
+ -webkit-font-smoothing: antialiased;
225
+ }
226
+
227
+ &:first-child:before {
228
+ display: none;
229
+ }
230
+
231
+ &:last-child {
232
+ color: #fff;
233
+ }
234
+ }
235
+
236
+
237
+ // Parallax
238
+ .parallax-container {
239
+ position: relative;
240
+ overflow: hidden;
241
+ height: 500px;
242
+ }
243
+
244
+ .parallax {
245
+ position: absolute;
246
+ top: 0;
247
+ left: 0;
248
+ right: 0;
249
+ bottom: 0;
250
+ z-index: -1;
251
+
252
+ img {
253
+ display: none;
254
+ position: absolute;
255
+ left: 50%;
256
+ bottom: 0;
257
+ min-width: 100%;
258
+ min-height: 100%;
259
+ -webkit-transform: translate3d(0,0,0);
260
+ transform: translate3d(0,0,0);
261
+ transform: translateX(-50%);
262
+ }
263
+ }
264
+
265
+ // Pushpin
266
+ .pin-top, .pin-bottom {
267
+ position: relative;
268
+ }
269
+ .pinned {
270
+ position: fixed !important;
271
+ }
272
+
273
+ /*********************
274
+ Transition Classes
275
+ **********************/
276
+
277
+ ul.staggered-list li {
278
+ opacity: 0;
279
+ }
280
+
281
+ .fade-in {
282
+ opacity: 0;
283
+ transform-origin: 0 50%;
284
+ }
285
+
286
+
287
+ /*********************
288
+ Media Query Classes
289
+ **********************/
290
+ .hide-on-small-only, .hide-on-small-and-down {
291
+ @media #{$small-and-down} {
292
+ display: none !important;
293
+ }
294
+ }
295
+ .hide-on-med-and-down {
296
+ @media #{$medium-and-down} {
297
+ display: none !important;
298
+ }
299
+ }
300
+ .hide-on-med-and-up {
301
+ @media #{$medium-and-up} {
302
+ display: none !important;
303
+ }
304
+ }
305
+ .hide-on-med-only {
306
+ @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) {
307
+ display: none !important;
308
+ }
309
+ }
310
+ .hide-on-large-only {
311
+ @media #{$large-and-up} {
312
+ display: none !important;
313
+ }
314
+ }
315
+ .show-on-large {
316
+ @media #{$large-and-up} {
317
+ display: block !important;
318
+ }
319
+ }
320
+ .show-on-medium {
321
+ @media only screen and (min-width: $small-screen) and (max-width: $medium-screen) {
322
+ display: block !important;
323
+ }
324
+ }
325
+ .show-on-small {
326
+ @media #{$small-and-down} {
327
+ display: block !important;
328
+ }
329
+ }
330
+ .show-on-medium-and-up {
331
+ @media #{$medium-and-up} {
332
+ display: block !important;
333
+ }
334
+ }
335
+ .show-on-medium-and-down {
336
+ @media #{$medium-and-down} {
337
+ display: block !important;
338
+ }
339
+ }
340
+
341
+
342
+ // Center text on mobile
343
+ .center-on-small-only {
344
+ @media #{$small-and-down} {
345
+ text-align: center;
346
+ }
347
+ }
348
+
349
+ // Footer
350
+ footer.page-footer {
351
+ margin-top: 20px;
352
+ padding-top: 20px;
353
+ background-color: $footer-bg-color;
354
+
355
+ .footer-copyright {
356
+ overflow: hidden;
357
+ height: 50px;
358
+ line-height: 50px;
359
+ color: rgba(255,255,255,.8);
360
+ background-color: rgba(51,51,51,.08);
361
+ @extend .light;
362
+ }
363
+ }
364
+
365
+ // Tables
366
+ table, th, td {
367
+ border: none;
368
+ }
369
+
370
+ table {
371
+ width:100%;
372
+ display: table;
373
+
374
+ &.bordered > thead > tr,
375
+ &.bordered > tbody > tr {
376
+ border-bottom: 1px solid $table-border-color;
377
+ }
378
+
379
+ &.striped > tbody {
380
+ > tr:nth-child(odd) {
381
+ background-color: $table-striped-color;
382
+ }
383
+
384
+ > tr > td {
385
+ border-radius: 0;
386
+ }
387
+ }
388
+
389
+ &.highlight > tbody > tr {
390
+ transition: background-color .25s ease;
391
+ &:hover {
392
+ background-color: $table-striped-color;
393
+ }
394
+ }
395
+
396
+ &.centered {
397
+ thead tr th, tbody tr td {
398
+ text-align: center;
399
+ }
400
+ }
401
+
402
+ }
403
+
404
+ thead {
405
+ border-bottom: 1px solid $table-border-color;
406
+ }
407
+
408
+ td, th{
409
+ padding: 15px 5px;
410
+ display: table-cell;
411
+ text-align: left;
412
+ vertical-align: middle;
413
+ border-radius: 2px;
414
+ }
415
+
416
+ // Responsive Table
417
+ @media #{$medium-and-down} {
418
+
419
+ table.responsive-table {
420
+ width: 100%;
421
+ border-collapse: collapse;
422
+ border-spacing: 0;
423
+ display: block;
424
+ position: relative;
425
+
426
+ td:empty:before {
427
+ content: '\00a0';
428
+ }
429
+
430
+ th,
431
+ td {
432
+ margin: 0;
433
+ vertical-align: top;
434
+ }
435
+
436
+ th { text-align: left; }
437
+ thead {
438
+ display: block;
439
+ float: left;
440
+
441
+ tr {
442
+ display: block;
443
+ padding: 0 10px 0 0;
444
+
445
+ th::before {
446
+ content: "\00a0";
447
+ }
448
+ }
449
+ }
450
+ tbody {
451
+ display: block;
452
+ width: auto;
453
+ position: relative;
454
+ overflow-x: auto;
455
+ white-space: nowrap;
456
+
457
+ tr {
458
+ display: inline-block;
459
+ vertical-align: top;
460
+ }
461
+ }
462
+ th {
463
+ display: block;
464
+ text-align: right;
465
+ }
466
+ td {
467
+ display: block;
468
+ min-height: 1.25em;
469
+ text-align: left;
470
+ }
471
+ tr { padding: 0 10px; }
472
+
473
+ /* sort out borders */
474
+ thead {
475
+ border: 0;
476
+ border-right: 1px solid $table-border-color;
477
+ }
478
+
479
+ &.bordered {
480
+ th { border-bottom: 0; border-left: 0; }
481
+ td { border-left: 0; border-right: 0; border-bottom: 0; }
482
+ tr { border: 0; }
483
+ tbody tr { border-right: 1px solid $table-border-color; }
484
+ }
485
+
486
+ }
487
+
488
+ }
489
+
490
+
491
+ // Collections
492
+ .collection {
493
+ margin: $element-top-margin 0 $element-bottom-margin 0;
494
+ border: 1px solid $collection-border-color;
495
+ border-radius: 2px;
496
+ overflow: hidden;
497
+ position: relative;
498
+
499
+ .collection-item {
500
+ background-color: $collection-bg-color;
501
+ line-height: 1.5rem;
502
+ padding: 10px 20px;
503
+ margin: 0;
504
+ border-bottom: 1px solid $collection-border-color;
505
+
506
+ // Avatar Collection
507
+ &.avatar {
508
+ min-height: 84px;
509
+ padding-left: 72px;
510
+ position: relative;
511
+
512
+ .circle {
513
+ position: absolute;
514
+ width: 42px;
515
+ height: 42px;
516
+ overflow: hidden;
517
+ left: 15px;
518
+ display: inline-block;
519
+ vertical-align: middle;
520
+ }
521
+ i.circle {
522
+ font-size: 18px;
523
+ line-height: 42px;
524
+ color: #fff;
525
+ background-color: #999;
526
+ text-align: center;
527
+ }
528
+
529
+
530
+ .title {
531
+ font-size: 16px;
532
+ }
533
+
534
+ p {
535
+ margin: 0;
536
+ }
537
+
538
+ .secondary-content {
539
+ position: absolute;
540
+ top: 16px;
541
+ right: 16px;
542
+ }
543
+
544
+ }
545
+
546
+
547
+ &:last-child {
548
+ border-bottom: none;
549
+ }
550
+
551
+ &.active {
552
+ background-color: $collection-active-bg-color;
553
+ color: $collection-active-color;
554
+
555
+ .secondary-content {
556
+ color: #fff;
557
+ }
558
+ }
559
+ }
560
+ a.collection-item{
561
+ display: block;
562
+ transition: .25s;
563
+ color: $collection-link-color;
564
+ &:not(.active) {
565
+ &:hover {
566
+ background-color: $collection-hover-bg-color;
567
+ }
568
+ }
569
+ }
570
+
571
+ &.with-header {
572
+ .collection-header {
573
+ background-color: $collection-bg-color;
574
+ border-bottom: 1px solid $collection-border-color;
575
+ padding: 10px 20px;
576
+ }
577
+ .collection-item {
578
+ padding-left: 30px;
579
+ }
580
+ .collection-item.avatar {
581
+ padding-left: 72px;
582
+ }
583
+ }
584
+
585
+ }
586
+ // Made less specific to allow easier overriding
587
+ .secondary-content {
588
+ float: right;
589
+ color: $secondary-color;
590
+ }
591
+ .collapsible .collection {
592
+ margin: 0;
593
+ border: none;
594
+ }
595
+
596
+
597
+
598
+ // Badges
599
+ span.badge {
600
+ min-width: 3rem;
601
+ padding: 0 6px;
602
+ text-align: center;
603
+ font-size: 1rem;
604
+ line-height: inherit;
605
+ color: color('grey', 'darken-1');
606
+ position: absolute;
607
+ right: 15px;
608
+ box-sizing: border-box;
609
+
610
+ &.new {
611
+ font-weight: 300;
612
+ font-size: 0.8rem;
613
+ color: #fff;
614
+ background-color: $badge-bg-color;
615
+ border-radius: 2px;
616
+ }
617
+ &.new:after {
618
+ content: " new";
619
+ }
620
+
621
+ &[data-badge-caption]::after {
622
+ content: " " attr(data-badge-caption);
623
+ }
624
+
625
+
626
+ }
627
+ nav ul a span.badge {
628
+ position: static;
629
+ margin-left: 4px;
630
+ line-height: 0;
631
+ }
632
+
633
+ // Responsive Videos
634
+ .video-container {
635
+ position: relative;
636
+ padding-bottom: 56.25%;
637
+ height: 0;
638
+ overflow: hidden;
639
+
640
+ iframe, object, embed {
641
+ position: absolute;
642
+ top: 0;
643
+ left: 0;
644
+ width: 100%;
645
+ height: 100%;
646
+ }
647
+ }
648
+
649
+ // Progress Bar
650
+ .progress {
651
+ position: relative;
652
+ height: 4px;
653
+ display: block;
654
+ width: 100%;
655
+ background-color: lighten($progress-bar-color, 40%);
656
+ border-radius: 2px;
657
+ margin: $element-top-margin 0 $element-bottom-margin 0;
658
+ overflow: hidden;
659
+ .determinate {
660
+ position: absolute;
661
+ top: 0;
662
+ left: 0;
663
+ bottom: 0;
664
+ background-color: $progress-bar-color;
665
+ transition: width .3s linear;
666
+ }
667
+ .indeterminate {
668
+ background-color: $progress-bar-color;
669
+ &:before {
670
+ content: '';
671
+ position: absolute;
672
+ background-color: inherit;
673
+ top: 0;
674
+ left:0;
675
+ bottom: 0;
676
+ will-change: left, right;
677
+ // Custom bezier
678
+ animation: indeterminate 2.1s cubic-bezier(0.650, 0.815, 0.735, 0.395) infinite;
679
+
680
+ }
681
+ &:after {
682
+ content: '';
683
+ position: absolute;
684
+ background-color: inherit;
685
+ top: 0;
686
+ left:0;
687
+ bottom: 0;
688
+ will-change: left, right;
689
+ // Custom bezier
690
+ animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.840, 0.440, 1.000) infinite;
691
+ animation-delay: 1.15s;
692
+ }
693
+ }
694
+ }
695
+ @keyframes indeterminate {
696
+ 0% {
697
+ left: -35%;
698
+ right:100%;
699
+ }
700
+ 60% {
701
+ left: 100%;
702
+ right: -90%;
703
+ }
704
+ 100% {
705
+ left: 100%;
706
+ right: -90%;
707
+ }
708
+ }
709
+
710
+ @keyframes indeterminate-short {
711
+ 0% {
712
+ left: -200%;
713
+ right: 100%;
714
+ }
715
+ 60% {
716
+ left: 107%;
717
+ right: -8%;
718
+ }
719
+ 100% {
720
+ left: 107%;
721
+ right: -8%;
722
+ }
723
+ }
724
+
725
+
726
+ /*******************
727
+ Utility Classes
728
+ *******************/
729
+
730
+ .hide {
731
+ display: none !important;
732
+ }
733
+
734
+ // Text Align
735
+ .left-align {
736
+ text-align: left;
737
+ }
738
+ .right-align {
739
+ text-align: right
740
+ }
741
+ .center, .center-align {
742
+ text-align: center;
743
+ }
744
+
745
+ .left {
746
+ float: left !important;
747
+ }
748
+ .right {
749
+ float: right !important;
750
+ }
751
+
752
+ // No Text Select
753
+ .no-select {
754
+ -webkit-touch-callout: none;
755
+ -webkit-user-select: none;
756
+ -khtml-user-select: none;
757
+ -moz-user-select: none;
758
+ -ms-user-select: none;
759
+ user-select: none;
760
+ }
761
+
762
+ .circle {
763
+ border-radius: 50%;
764
+ }
765
+
766
+ .center-block {
767
+ display: block;
768
+ margin-left: auto;
769
+ margin-right: auto;
770
+ }
771
+
772
+ .truncate {
773
+ display: block;
774
+ white-space: nowrap;
775
+ overflow: hidden;
776
+ text-overflow: ellipsis;
777
+ }
778
+
779
+ .no-padding {
780
+ padding: 0 !important;
781
+ }