tennpipes-su 3.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.rdoc +70 -0
  4. data/Rakefile +22 -0
  5. data/lib/tennpipes-su.rb +35 -0
  6. data/lib/tennpipes-su/access_control.rb +191 -0
  7. data/lib/tennpipes-su/bootstrap-less/alerts.less +67 -0
  8. data/lib/tennpipes-su/bootstrap-less/badges.less +55 -0
  9. data/lib/tennpipes-su/bootstrap-less/bootstrap.less +49 -0
  10. data/lib/tennpipes-su/bootstrap-less/breadcrumbs.less +26 -0
  11. data/lib/tennpipes-su/bootstrap-less/button-groups.less +226 -0
  12. data/lib/tennpipes-su/bootstrap-less/buttons.less +155 -0
  13. data/lib/tennpipes-su/bootstrap-less/carousel.less +232 -0
  14. data/lib/tennpipes-su/bootstrap-less/close.less +33 -0
  15. data/lib/tennpipes-su/bootstrap-less/code.less +63 -0
  16. data/lib/tennpipes-su/bootstrap-less/component-animations.less +29 -0
  17. data/lib/tennpipes-su/bootstrap-less/dropdowns.less +213 -0
  18. data/lib/tennpipes-su/bootstrap-less/font-awesome/bordered-pulled.less +16 -0
  19. data/lib/tennpipes-su/bootstrap-less/font-awesome/core.less +12 -0
  20. data/lib/tennpipes-su/bootstrap-less/font-awesome/fixed-width.less +6 -0
  21. data/lib/tennpipes-su/bootstrap-less/font-awesome/font-awesome.less +17 -0
  22. data/lib/tennpipes-su/bootstrap-less/font-awesome/icons.less +412 -0
  23. data/lib/tennpipes-su/bootstrap-less/font-awesome/larger.less +13 -0
  24. data/lib/tennpipes-su/bootstrap-less/font-awesome/list.less +19 -0
  25. data/lib/tennpipes-su/bootstrap-less/font-awesome/mixins.less +20 -0
  26. data/lib/tennpipes-su/bootstrap-less/font-awesome/path.less +14 -0
  27. data/lib/tennpipes-su/bootstrap-less/font-awesome/rotated-flipped.less +9 -0
  28. data/lib/tennpipes-su/bootstrap-less/font-awesome/spinning.less +30 -0
  29. data/lib/tennpipes-su/bootstrap-less/font-awesome/stacked.less +20 -0
  30. data/lib/tennpipes-su/bootstrap-less/font-awesome/variables.less +381 -0
  31. data/lib/tennpipes-su/bootstrap-less/forms.less +419 -0
  32. data/lib/tennpipes-su/bootstrap-less/glyphicons.less +233 -0
  33. data/lib/tennpipes-su/bootstrap-less/grid.less +100 -0
  34. data/lib/tennpipes-su/bootstrap-less/input-groups.less +157 -0
  35. data/lib/tennpipes-su/bootstrap-less/jumbotron.less +44 -0
  36. data/lib/tennpipes-su/bootstrap-less/labels.less +64 -0
  37. data/lib/tennpipes-su/bootstrap-less/list-group.less +110 -0
  38. data/lib/tennpipes-su/bootstrap-less/media.less +56 -0
  39. data/lib/tennpipes-su/bootstrap-less/mixins.less +926 -0
  40. data/lib/tennpipes-su/bootstrap-less/modals.less +138 -0
  41. data/lib/tennpipes-su/bootstrap-less/navbar.less +616 -0
  42. data/lib/tennpipes-su/bootstrap-less/navs.less +242 -0
  43. data/lib/tennpipes-su/bootstrap-less/normalize.less +423 -0
  44. data/lib/tennpipes-su/bootstrap-less/pager.less +55 -0
  45. data/lib/tennpipes-su/bootstrap-less/pagination.less +88 -0
  46. data/lib/tennpipes-su/bootstrap-less/panels.less +230 -0
  47. data/lib/tennpipes-su/bootstrap-less/popovers.less +133 -0
  48. data/lib/tennpipes-su/bootstrap-less/print.less +101 -0
  49. data/lib/tennpipes-su/bootstrap-less/progress-bars.less +80 -0
  50. data/lib/tennpipes-su/bootstrap-less/responsive-utilities.less +93 -0
  51. data/lib/tennpipes-su/bootstrap-less/scaffolding.less +134 -0
  52. data/lib/tennpipes-su/bootstrap-less/tables.less +233 -0
  53. data/lib/tennpipes-su/bootstrap-less/tennpipes-su.less +18 -0
  54. data/lib/tennpipes-su/bootstrap-less/theme.less +247 -0
  55. data/lib/tennpipes-su/bootstrap-less/thumbnails.less +36 -0
  56. data/lib/tennpipes-su/bootstrap-less/tooltip.less +95 -0
  57. data/lib/tennpipes-su/bootstrap-less/type.less +296 -0
  58. data/lib/tennpipes-su/bootstrap-less/utilities.less +56 -0
  59. data/lib/tennpipes-su/bootstrap-less/variables.less +827 -0
  60. data/lib/tennpipes-su/bootstrap-less/wells.less +29 -0
  61. data/lib/tennpipes-su/generators/actions.rb +78 -0
  62. data/lib/tennpipes-su/generators/admin_app.rb +169 -0
  63. data/lib/tennpipes-su/generators/admin_page.rb +68 -0
  64. data/lib/tennpipes-su/generators/orm.rb +172 -0
  65. data/lib/tennpipes-su/generators/templates/account/activerecord.rb.tt +41 -0
  66. data/lib/tennpipes-su/generators/templates/account/couchrest.rb.tt +67 -0
  67. data/lib/tennpipes-su/generators/templates/account/datamapper.rb.tt +56 -0
  68. data/lib/tennpipes-su/generators/templates/account/dynamoid.rb.tt +55 -0
  69. data/lib/tennpipes-su/generators/templates/account/minirecord.rb.tt +44 -0
  70. data/lib/tennpipes-su/generators/templates/account/mongoid.rb.tt +54 -0
  71. data/lib/tennpipes-su/generators/templates/account/mongomapper.rb.tt +47 -0
  72. data/lib/tennpipes-su/generators/templates/account/ohm.rb.tt +70 -0
  73. data/lib/tennpipes-su/generators/templates/account/seeds.rb.tt +29 -0
  74. data/lib/tennpipes-su/generators/templates/account/sequel.rb.tt +53 -0
  75. data/lib/tennpipes-su/generators/templates/app.rb.tt +42 -0
  76. data/lib/tennpipes-su/generators/templates/app/controllers/base.rb.tt +5 -0
  77. data/lib/tennpipes-su/generators/templates/app/controllers/sessions.rb.tt +29 -0
  78. data/lib/tennpipes-su/generators/templates/assets/images/favicon.ico +0 -0
  79. data/lib/tennpipes-su/generators/templates/assets/images/font/FontAwesome.otf +0 -0
  80. data/lib/tennpipes-su/generators/templates/assets/images/font/fontawesome-webfont.eot +0 -0
  81. data/lib/tennpipes-su/generators/templates/assets/images/font/fontawesome-webfont.svg +414 -0
  82. data/lib/tennpipes-su/generators/templates/assets/images/font/fontawesome-webfont.ttf +0 -0
  83. data/lib/tennpipes-su/generators/templates/assets/images/font/fontawesome-webfont.woff +0 -0
  84. data/lib/tennpipes-su/generators/templates/assets/images/logo.png +0 -0
  85. data/lib/tennpipes-su/generators/templates/assets/javascripts/application.js +118 -0
  86. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/affix.js +137 -0
  87. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/alert.js +88 -0
  88. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/bootstrap.min.js +6 -0
  89. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/button.js +107 -0
  90. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/carousel.js +205 -0
  91. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/collapse.js +170 -0
  92. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/dropdown.js +147 -0
  93. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/modal.js +243 -0
  94. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/popover.js +110 -0
  95. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/scrollspy.js +153 -0
  96. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/tab.js +125 -0
  97. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/tooltip.js +399 -0
  98. data/lib/tennpipes-su/generators/templates/assets/javascripts/bootstrap/transition.js +48 -0
  99. data/lib/tennpipes-su/generators/templates/assets/javascripts/jquery-1.11.0.min.js +4 -0
  100. data/lib/tennpipes-su/generators/templates/assets/stylesheets/application.css +353 -0
  101. data/lib/tennpipes-su/generators/templates/assets/stylesheets/bootstrap.css +4 -0
  102. data/lib/tennpipes-su/generators/templates/assets/stylesheets/fonts/FontAwesome.otf +0 -0
  103. data/lib/tennpipes-su/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.eot +0 -0
  104. data/lib/tennpipes-su/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.svg +414 -0
  105. data/lib/tennpipes-su/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.ttf +0 -0
  106. data/lib/tennpipes-su/generators/templates/assets/stylesheets/fonts/fontawesome-webfont.woff +0 -0
  107. data/lib/tennpipes-su/generators/templates/erb/app/base/index.erb.tt +15 -0
  108. data/lib/tennpipes-su/generators/templates/erb/app/errors/403.erb.tt +3 -0
  109. data/lib/tennpipes-su/generators/templates/erb/app/errors/404.erb.tt +3 -0
  110. data/lib/tennpipes-su/generators/templates/erb/app/errors/500.erb.tt +3 -0
  111. data/lib/tennpipes-su/generators/templates/erb/app/layouts/application.erb.tt +64 -0
  112. data/lib/tennpipes-su/generators/templates/erb/app/layouts/error.erb.tt +23 -0
  113. data/lib/tennpipes-su/generators/templates/erb/app/sessions/new.erb.tt +44 -0
  114. data/lib/tennpipes-su/generators/templates/erb/page/_form.erb.tt +18 -0
  115. data/lib/tennpipes-su/generators/templates/erb/page/edit.erb.tt +10 -0
  116. data/lib/tennpipes-su/generators/templates/erb/page/index.erb.tt +81 -0
  117. data/lib/tennpipes-su/generators/templates/erb/page/new.erb.tt +9 -0
  118. data/lib/tennpipes-su/generators/templates/haml/app/base/index.haml.tt +12 -0
  119. data/lib/tennpipes-su/generators/templates/haml/app/errors/403.haml.tt +3 -0
  120. data/lib/tennpipes-su/generators/templates/haml/app/errors/404.haml.tt +3 -0
  121. data/lib/tennpipes-su/generators/templates/haml/app/errors/500.haml.tt +3 -0
  122. data/lib/tennpipes-su/generators/templates/haml/app/layouts/application.haml.tt +49 -0
  123. data/lib/tennpipes-su/generators/templates/haml/app/layouts/error.haml.tt +18 -0
  124. data/lib/tennpipes-su/generators/templates/haml/app/sessions/new.haml.tt +38 -0
  125. data/lib/tennpipes-su/generators/templates/haml/page/_form.haml.tt +16 -0
  126. data/lib/tennpipes-su/generators/templates/haml/page/edit.haml.tt +8 -0
  127. data/lib/tennpipes-su/generators/templates/haml/page/index.haml.tt +58 -0
  128. data/lib/tennpipes-su/generators/templates/haml/page/new.haml.tt +7 -0
  129. data/lib/tennpipes-su/generators/templates/page/controller.rb.tt +92 -0
  130. data/lib/tennpipes-su/generators/templates/slim/app/base/index.slim.tt +12 -0
  131. data/lib/tennpipes-su/generators/templates/slim/app/errors/403.slim.tt +3 -0
  132. data/lib/tennpipes-su/generators/templates/slim/app/errors/404.slim.tt +3 -0
  133. data/lib/tennpipes-su/generators/templates/slim/app/errors/500.slim.tt +3 -0
  134. data/lib/tennpipes-su/generators/templates/slim/app/layouts/application.slim.tt +48 -0
  135. data/lib/tennpipes-su/generators/templates/slim/app/layouts/error.slim.tt +19 -0
  136. data/lib/tennpipes-su/generators/templates/slim/app/sessions/new.slim.tt +37 -0
  137. data/lib/tennpipes-su/generators/templates/slim/page/_form.slim.tt +16 -0
  138. data/lib/tennpipes-su/generators/templates/slim/page/edit.slim.tt +8 -0
  139. data/lib/tennpipes-su/generators/templates/slim/page/index.slim.tt +56 -0
  140. data/lib/tennpipes-su/generators/templates/slim/page/new.slim.tt +7 -0
  141. data/lib/tennpipes-su/helpers/authentication_helpers.rb +108 -0
  142. data/lib/tennpipes-su/helpers/view_helpers.rb +87 -0
  143. data/lib/tennpipes-su/locale/admin/cs.yml +56 -0
  144. data/lib/tennpipes-su/locale/admin/da.yml +56 -0
  145. data/lib/tennpipes-su/locale/admin/de.yml +56 -0
  146. data/lib/tennpipes-su/locale/admin/en.yml +56 -0
  147. data/lib/tennpipes-su/locale/admin/es.yml +56 -0
  148. data/lib/tennpipes-su/locale/admin/fr.yml +56 -0
  149. data/lib/tennpipes-su/locale/admin/hu.yml +56 -0
  150. data/lib/tennpipes-su/locale/admin/it.yml +56 -0
  151. data/lib/tennpipes-su/locale/admin/ja.yml +57 -0
  152. data/lib/tennpipes-su/locale/admin/lv.yml +56 -0
  153. data/lib/tennpipes-su/locale/admin/nl.yml +56 -0
  154. data/lib/tennpipes-su/locale/admin/no.yml +56 -0
  155. data/lib/tennpipes-su/locale/admin/pl.yml +56 -0
  156. data/lib/tennpipes-su/locale/admin/pt_br.yml +56 -0
  157. data/lib/tennpipes-su/locale/admin/ro.yml +56 -0
  158. data/lib/tennpipes-su/locale/admin/ru.yml +57 -0
  159. data/lib/tennpipes-su/locale/admin/sv.yml +56 -0
  160. data/lib/tennpipes-su/locale/admin/tr.yml +56 -0
  161. data/lib/tennpipes-su/locale/admin/uk.yml +56 -0
  162. data/lib/tennpipes-su/locale/admin/zh_cn.yml +56 -0
  163. data/lib/tennpipes-su/locale/admin/zh_tw.yml +56 -0
  164. data/lib/tennpipes-su/locale/orm/cs.yml +12 -0
  165. data/lib/tennpipes-su/locale/orm/da.yml +12 -0
  166. data/lib/tennpipes-su/locale/orm/de.yml +12 -0
  167. data/lib/tennpipes-su/locale/orm/en.yml +12 -0
  168. data/lib/tennpipes-su/locale/orm/es.yml +12 -0
  169. data/lib/tennpipes-su/locale/orm/fr.yml +12 -0
  170. data/lib/tennpipes-su/locale/orm/hu.yml +12 -0
  171. data/lib/tennpipes-su/locale/orm/it.yml +12 -0
  172. data/lib/tennpipes-su/locale/orm/ja.yml +12 -0
  173. data/lib/tennpipes-su/locale/orm/lv.yml +12 -0
  174. data/lib/tennpipes-su/locale/orm/nl.yml +12 -0
  175. data/lib/tennpipes-su/locale/orm/no.yml +12 -0
  176. data/lib/tennpipes-su/locale/orm/pl.yml +38 -0
  177. data/lib/tennpipes-su/locale/orm/pt_br.yml +12 -0
  178. data/lib/tennpipes-su/locale/orm/ro.yml +12 -0
  179. data/lib/tennpipes-su/locale/orm/ru.yml +12 -0
  180. data/lib/tennpipes-su/locale/orm/sv.yml +12 -0
  181. data/lib/tennpipes-su/locale/orm/tr.yml +12 -0
  182. data/lib/tennpipes-su/locale/orm/uk.yml +12 -0
  183. data/lib/tennpipes-su/locale/orm/zh_cn.yml +12 -0
  184. data/lib/tennpipes-su/locale/orm/zh_tw.yml +12 -0
  185. data/test/fixtures/sequel.rb +72 -0
  186. data/test/generators/test_account_model_generator.rb +108 -0
  187. data/test/generators/test_admin_app_generator.rb +218 -0
  188. data/test/generators/test_admin_page_generator.rb +140 -0
  189. data/test/helper.rb +47 -0
  190. data/test/test_admin_application.rb +271 -0
  191. data/test/test_locale.rb +25 -0
  192. metadata +298 -0
@@ -0,0 +1,242 @@
1
+ //
2
+ // Navs
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ // --------------------------------------------------
8
+
9
+ .nav {
10
+ margin-bottom: 0;
11
+ padding-left: 0; // Override default ul/ol
12
+ list-style: none;
13
+ &:extend(.clearfix all);
14
+
15
+ > li {
16
+ position: relative;
17
+ display: block;
18
+
19
+ > a {
20
+ position: relative;
21
+ display: block;
22
+ padding: @nav-link-padding;
23
+ &:hover,
24
+ &:focus {
25
+ text-decoration: none;
26
+ background-color: @nav-link-hover-bg;
27
+ }
28
+ }
29
+
30
+ // Disabled state sets text to gray and nukes hover/tab effects
31
+ &.disabled > a {
32
+ color: @nav-disabled-link-color;
33
+
34
+ &:hover,
35
+ &:focus {
36
+ color: @nav-disabled-link-hover-color;
37
+ text-decoration: none;
38
+ background-color: transparent;
39
+ cursor: not-allowed;
40
+ }
41
+ }
42
+ }
43
+
44
+ // Open dropdowns
45
+ .open > a {
46
+ &,
47
+ &:hover,
48
+ &:focus {
49
+ background-color: @nav-link-hover-bg;
50
+ border-color: @link-color;
51
+ }
52
+ }
53
+
54
+ // Nav dividers (deprecated with v3.0.1)
55
+ //
56
+ // This should have been removed in v3 with the dropping of `.nav-list`, but
57
+ // we missed it. We don't currently support this anywhere, but in the interest
58
+ // of maintaining backward compatibility in case you use it, it's deprecated.
59
+ .nav-divider {
60
+ .nav-divider();
61
+ }
62
+
63
+ // Prevent IE8 from misplacing imgs
64
+ //
65
+ // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
66
+ > li > a > img {
67
+ max-width: none;
68
+ }
69
+ }
70
+
71
+
72
+ // Tabs
73
+ // -------------------------
74
+
75
+ // Give the tabs something to sit on
76
+ .nav-tabs {
77
+ border-bottom: 1px solid @nav-tabs-border-color;
78
+ > li {
79
+ float: left;
80
+ // Make the list-items overlay the bottom border
81
+ margin-bottom: -1px;
82
+
83
+ // Actual tabs (as links)
84
+ > a {
85
+ margin-right: 2px;
86
+ line-height: @line-height-base;
87
+ border: 1px solid transparent;
88
+ border-radius: @border-radius-base @border-radius-base 0 0;
89
+ &:hover {
90
+ border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;
91
+ }
92
+ }
93
+
94
+ // Active state, and its :hover to override normal :hover
95
+ &.active > a {
96
+ &,
97
+ &:hover,
98
+ &:focus {
99
+ color: @nav-tabs-active-link-hover-color;
100
+ background-color: @nav-tabs-active-link-hover-bg;
101
+ border: 1px solid @nav-tabs-active-link-hover-border-color;
102
+ border-bottom-color: transparent;
103
+ cursor: default;
104
+ }
105
+ }
106
+ }
107
+ // pulling this in mainly for less shorthand
108
+ &.nav-justified {
109
+ .nav-justified();
110
+ .nav-tabs-justified();
111
+ }
112
+ }
113
+
114
+
115
+ // Pills
116
+ // -------------------------
117
+ .nav-pills {
118
+ > li {
119
+ float: left;
120
+
121
+ // Links rendered as pills
122
+ > a {
123
+ border-radius: @nav-pills-border-radius;
124
+ }
125
+ + li {
126
+ margin-left: 2px;
127
+ }
128
+
129
+ // Active state
130
+ &.active > a {
131
+ &,
132
+ &:hover,
133
+ &:focus {
134
+ color: @nav-pills-active-link-hover-color;
135
+ background-color: @nav-pills-active-link-hover-bg;
136
+ }
137
+ }
138
+ }
139
+ }
140
+
141
+
142
+ // Stacked pills
143
+ .nav-stacked {
144
+ > li {
145
+ float: none;
146
+ + li {
147
+ margin-top: 2px;
148
+ margin-left: 0; // no need for this gap between nav items
149
+ }
150
+ }
151
+ }
152
+
153
+
154
+ // Nav variations
155
+ // --------------------------------------------------
156
+
157
+ // Justified nav links
158
+ // -------------------------
159
+
160
+ .nav-justified {
161
+ width: 100%;
162
+
163
+ > li {
164
+ float: none;
165
+ > a {
166
+ text-align: center;
167
+ margin-bottom: 5px;
168
+ }
169
+ }
170
+
171
+ > .dropdown .dropdown-menu {
172
+ top: auto;
173
+ left: auto;
174
+ }
175
+
176
+ @media (min-width: @screen-sm-min) {
177
+ > li {
178
+ display: table-cell;
179
+ width: 1%;
180
+ > a {
181
+ margin-bottom: 0;
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ // Move borders to anchors instead of bottom of list
188
+ //
189
+ // Mixin for adding on top the shared `.nav-justified` styles for our tabs
190
+ .nav-tabs-justified {
191
+ border-bottom: 0;
192
+
193
+ > li > a {
194
+ // Override margin from .nav-tabs
195
+ margin-right: 0;
196
+ border-radius: @border-radius-base;
197
+ }
198
+
199
+ > .active > a,
200
+ > .active > a:hover,
201
+ > .active > a:focus {
202
+ border: 1px solid @nav-tabs-justified-link-border-color;
203
+ }
204
+
205
+ @media (min-width: @screen-sm-min) {
206
+ > li > a {
207
+ border-bottom: 1px solid @nav-tabs-justified-link-border-color;
208
+ border-radius: @border-radius-base @border-radius-base 0 0;
209
+ }
210
+ > .active > a,
211
+ > .active > a:hover,
212
+ > .active > a:focus {
213
+ border-bottom-color: @nav-tabs-justified-active-link-border-color;
214
+ }
215
+ }
216
+ }
217
+
218
+
219
+ // Tabbable tabs
220
+ // -------------------------
221
+
222
+ // Hide tabbable panes to start, show them when `.active`
223
+ .tab-content {
224
+ > .tab-pane {
225
+ display: none;
226
+ }
227
+ > .active {
228
+ display: block;
229
+ }
230
+ }
231
+
232
+
233
+ // Dropdowns
234
+ // -------------------------
235
+
236
+ // Specific dropdowns
237
+ .nav-tabs .dropdown-menu {
238
+ // make dropdown border overlap tab border
239
+ margin-top: -1px;
240
+ // Remove the top rounded corners here since there is a hard edge above the menu
241
+ .border-top-radius(0);
242
+ }
@@ -0,0 +1,423 @@
1
+ /*! normalize.css v3.0.0 | MIT License | git.io/normalize */
2
+
3
+ //
4
+ // 1. Set default font family to sans-serif.
5
+ // 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ // user zoom.
7
+ //
8
+
9
+ html {
10
+ font-family: sans-serif; // 1
11
+ -ms-text-size-adjust: 100%; // 2
12
+ -webkit-text-size-adjust: 100%; // 2
13
+ }
14
+
15
+ //
16
+ // Remove default margin.
17
+ //
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ // HTML5 display definitions
24
+ // ==========================================================================
25
+
26
+ //
27
+ // Correct `block` display not defined in IE 8/9.
28
+ //
29
+
30
+ article,
31
+ aside,
32
+ details,
33
+ figcaption,
34
+ figure,
35
+ footer,
36
+ header,
37
+ hgroup,
38
+ main,
39
+ nav,
40
+ section,
41
+ summary {
42
+ display: block;
43
+ }
44
+
45
+ //
46
+ // 1. Correct `inline-block` display not defined in IE 8/9.
47
+ // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
48
+ //
49
+
50
+ audio,
51
+ canvas,
52
+ progress,
53
+ video {
54
+ display: inline-block; // 1
55
+ vertical-align: baseline; // 2
56
+ }
57
+
58
+ //
59
+ // Prevent modern browsers from displaying `audio` without controls.
60
+ // Remove excess height in iOS 5 devices.
61
+ //
62
+
63
+ audio:not([controls]) {
64
+ display: none;
65
+ height: 0;
66
+ }
67
+
68
+ //
69
+ // Address `[hidden]` styling not present in IE 8/9.
70
+ // Hide the `template` element in IE, Safari, and Firefox < 22.
71
+ //
72
+
73
+ [hidden],
74
+ template {
75
+ display: none;
76
+ }
77
+
78
+ // Links
79
+ // ==========================================================================
80
+
81
+ //
82
+ // Remove the gray background color from active links in IE 10.
83
+ //
84
+
85
+ a {
86
+ background: transparent;
87
+ }
88
+
89
+ //
90
+ // Improve readability when focused and also mouse hovered in all browsers.
91
+ //
92
+
93
+ a:active,
94
+ a:hover {
95
+ outline: 0;
96
+ }
97
+
98
+ // Text-level semantics
99
+ // ==========================================================================
100
+
101
+ //
102
+ // Address styling not present in IE 8/9, Safari 5, and Chrome.
103
+ //
104
+
105
+ abbr[title] {
106
+ border-bottom: 1px dotted;
107
+ }
108
+
109
+ //
110
+ // Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
111
+ //
112
+
113
+ b,
114
+ strong {
115
+ font-weight: bold;
116
+ }
117
+
118
+ //
119
+ // Address styling not present in Safari 5 and Chrome.
120
+ //
121
+
122
+ dfn {
123
+ font-style: italic;
124
+ }
125
+
126
+ //
127
+ // Address variable `h1` font-size and margin within `section` and `article`
128
+ // contexts in Firefox 4+, Safari 5, and Chrome.
129
+ //
130
+
131
+ h1 {
132
+ font-size: 2em;
133
+ margin: 0.67em 0;
134
+ }
135
+
136
+ //
137
+ // Address styling not present in IE 8/9.
138
+ //
139
+
140
+ mark {
141
+ background: #ff0;
142
+ color: #000;
143
+ }
144
+
145
+ //
146
+ // Address inconsistent and variable font size in all browsers.
147
+ //
148
+
149
+ small {
150
+ font-size: 80%;
151
+ }
152
+
153
+ //
154
+ // Prevent `sub` and `sup` affecting `line-height` in all browsers.
155
+ //
156
+
157
+ sub,
158
+ sup {
159
+ font-size: 75%;
160
+ line-height: 0;
161
+ position: relative;
162
+ vertical-align: baseline;
163
+ }
164
+
165
+ sup {
166
+ top: -0.5em;
167
+ }
168
+
169
+ sub {
170
+ bottom: -0.25em;
171
+ }
172
+
173
+ // Embedded content
174
+ // ==========================================================================
175
+
176
+ //
177
+ // Remove border when inside `a` element in IE 8/9.
178
+ //
179
+
180
+ img {
181
+ border: 0;
182
+ }
183
+
184
+ //
185
+ // Correct overflow displayed oddly in IE 9.
186
+ //
187
+
188
+ svg:not(:root) {
189
+ overflow: hidden;
190
+ }
191
+
192
+ // Grouping content
193
+ // ==========================================================================
194
+
195
+ //
196
+ // Address margin not present in IE 8/9 and Safari 5.
197
+ //
198
+
199
+ figure {
200
+ margin: 1em 40px;
201
+ }
202
+
203
+ //
204
+ // Address differences between Firefox and other browsers.
205
+ //
206
+
207
+ hr {
208
+ -moz-box-sizing: content-box;
209
+ box-sizing: content-box;
210
+ height: 0;
211
+ }
212
+
213
+ //
214
+ // Contain overflow in all browsers.
215
+ //
216
+
217
+ pre {
218
+ overflow: auto;
219
+ }
220
+
221
+ //
222
+ // Address odd `em`-unit font size rendering in all browsers.
223
+ //
224
+
225
+ code,
226
+ kbd,
227
+ pre,
228
+ samp {
229
+ font-family: monospace, monospace;
230
+ font-size: 1em;
231
+ }
232
+
233
+ // Forms
234
+ // ==========================================================================
235
+
236
+ //
237
+ // Known limitation: by default, Chrome and Safari on OS X allow very limited
238
+ // styling of `select`, unless a `border` property is set.
239
+ //
240
+
241
+ //
242
+ // 1. Correct color not being inherited.
243
+ // Known issue: affects color of disabled elements.
244
+ // 2. Correct font properties not being inherited.
245
+ // 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
246
+ //
247
+
248
+ button,
249
+ input,
250
+ optgroup,
251
+ select,
252
+ textarea {
253
+ color: inherit; // 1
254
+ font: inherit; // 2
255
+ margin: 0; // 3
256
+ }
257
+
258
+ //
259
+ // Address `overflow` set to `hidden` in IE 8/9/10.
260
+ //
261
+
262
+ button {
263
+ overflow: visible;
264
+ }
265
+
266
+ //
267
+ // Address inconsistent `text-transform` inheritance for `button` and `select`.
268
+ // All other form control elements do not inherit `text-transform` values.
269
+ // Correct `button` style inheritance in Firefox, IE 8+, and Opera
270
+ // Correct `select` style inheritance in Firefox.
271
+ //
272
+
273
+ button,
274
+ select {
275
+ text-transform: none;
276
+ }
277
+
278
+ //
279
+ // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
280
+ // and `video` controls.
281
+ // 2. Correct inability to style clickable `input` types in iOS.
282
+ // 3. Improve usability and consistency of cursor style between image-type
283
+ // `input` and others.
284
+ //
285
+
286
+ button,
287
+ html input[type="button"], // 1
288
+ input[type="reset"],
289
+ input[type="submit"] {
290
+ -webkit-appearance: button; // 2
291
+ cursor: pointer; // 3
292
+ }
293
+
294
+ //
295
+ // Re-set default cursor for disabled elements.
296
+ //
297
+
298
+ button[disabled],
299
+ html input[disabled] {
300
+ cursor: default;
301
+ }
302
+
303
+ //
304
+ // Remove inner padding and border in Firefox 4+.
305
+ //
306
+
307
+ button::-moz-focus-inner,
308
+ input::-moz-focus-inner {
309
+ border: 0;
310
+ padding: 0;
311
+ }
312
+
313
+ //
314
+ // Address Firefox 4+ setting `line-height` on `input` using `!important` in
315
+ // the UA stylesheet.
316
+ //
317
+
318
+ input {
319
+ line-height: normal;
320
+ }
321
+
322
+ //
323
+ // It's recommended that you don't attempt to style these elements.
324
+ // Firefox's implementation doesn't respect box-sizing, padding, or width.
325
+ //
326
+ // 1. Address box sizing set to `content-box` in IE 8/9/10.
327
+ // 2. Remove excess padding in IE 8/9/10.
328
+ //
329
+
330
+ input[type="checkbox"],
331
+ input[type="radio"] {
332
+ box-sizing: border-box; // 1
333
+ padding: 0; // 2
334
+ }
335
+
336
+ //
337
+ // Fix the cursor style for Chrome's increment/decrement buttons. For certain
338
+ // `font-size` values of the `input`, it causes the cursor style of the
339
+ // decrement button to change from `default` to `text`.
340
+ //
341
+
342
+ input[type="number"]::-webkit-inner-spin-button,
343
+ input[type="number"]::-webkit-outer-spin-button {
344
+ height: auto;
345
+ }
346
+
347
+ //
348
+ // 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
349
+ // 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
350
+ // (include `-moz` to future-proof).
351
+ //
352
+
353
+ input[type="search"] {
354
+ -webkit-appearance: textfield; // 1
355
+ -moz-box-sizing: content-box;
356
+ -webkit-box-sizing: content-box; // 2
357
+ box-sizing: content-box;
358
+ }
359
+
360
+ //
361
+ // Remove inner padding and search cancel button in Safari and Chrome on OS X.
362
+ // Safari (but not Chrome) clips the cancel button when the search input has
363
+ // padding (and `textfield` appearance).
364
+ //
365
+
366
+ input[type="search"]::-webkit-search-cancel-button,
367
+ input[type="search"]::-webkit-search-decoration {
368
+ -webkit-appearance: none;
369
+ }
370
+
371
+ //
372
+ // Define consistent border, margin, and padding.
373
+ //
374
+
375
+ fieldset {
376
+ border: 1px solid #c0c0c0;
377
+ margin: 0 2px;
378
+ padding: 0.35em 0.625em 0.75em;
379
+ }
380
+
381
+ //
382
+ // 1. Correct `color` not being inherited in IE 8/9.
383
+ // 2. Remove padding so people aren't caught out if they zero out fieldsets.
384
+ //
385
+
386
+ legend {
387
+ border: 0; // 1
388
+ padding: 0; // 2
389
+ }
390
+
391
+ //
392
+ // Remove default vertical scrollbar in IE 8/9.
393
+ //
394
+
395
+ textarea {
396
+ overflow: auto;
397
+ }
398
+
399
+ //
400
+ // Don't inherit the `font-weight` (applied by a rule above).
401
+ // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
402
+ //
403
+
404
+ optgroup {
405
+ font-weight: bold;
406
+ }
407
+
408
+ // Tables
409
+ // ==========================================================================
410
+
411
+ //
412
+ // Remove most spacing between table cells.
413
+ //
414
+
415
+ table {
416
+ border-collapse: collapse;
417
+ border-spacing: 0;
418
+ }
419
+
420
+ td,
421
+ th {
422
+ padding: 0;
423
+ }