ui_alchemy-rails 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/app/assets/stylesheets/alchemy/components/_chosen.scss +1 -2
  2. data/app/assets/stylesheets/alchemy/components/_content.scss +1 -1
  3. data/app/assets/stylesheets/alchemy/components/_media.scss +1 -1
  4. data/app/assets/stylesheets/alchemy/components/_shared.scss +1 -1
  5. data/app/assets/stylesheets/alchemy/components/flash_messages/_flash_messages.scss +1 -1
  6. data/app/assets/stylesheets/alchemy/components/fonts/_liberation.scss +1 -1
  7. data/app/assets/stylesheets/alchemy/components/fonts/_overpass.scss +1 -1
  8. data/app/assets/stylesheets/alchemy/components/footer/_footer.scss +1 -1
  9. data/app/assets/stylesheets/alchemy/components/header/_header.scss +1 -1
  10. data/app/assets/stylesheets/alchemy/components/login/_login.scss +3 -3
  11. data/app/assets/stylesheets/alchemy/components/sprites/_sprites.scss +1 -1
  12. data/app/assets/stylesheets/alchemy/components/text/_text.scss +1 -1
  13. data/app/assets/stylesheets/alchemy/composites/content_elements.scss +2 -2
  14. data/lib/ui_alchemy/rails/engine.rb +4 -0
  15. data/lib/ui_alchemy/rails/version.rb +1 -1
  16. data/{app/assets/stylesheets/alchemy/components/buttons → vendor/assets/ui_alchemy/alchemy-buttons}/_buttons_vars.scss +0 -0
  17. data/vendor/assets/ui_alchemy/alchemy-buttons/alchemy-buttons.css +836 -0
  18. data/{app/assets/stylesheets/alchemy/components/buttons/_buttons.scss → vendor/assets/ui_alchemy/alchemy-buttons/buttons.scss} +3 -3
  19. data/vendor/assets/ui_alchemy/alchemy-buttons/component.json +26 -0
  20. data/{app/assets/stylesheets/alchemy/components/forms → vendor/assets/ui_alchemy/alchemy-forms}/_forms_ie.scss +0 -0
  21. data/{app/assets/stylesheets/alchemy/components/forms → vendor/assets/ui_alchemy/alchemy-forms}/_forms_mixins.scss +0 -0
  22. data/{app/assets/stylesheets/alchemy/components/forms → vendor/assets/ui_alchemy/alchemy-forms}/_forms_responsive.scss +0 -0
  23. data/{app/assets/stylesheets/alchemy/components/forms → vendor/assets/ui_alchemy/alchemy-forms}/_forms_vars.scss +0 -0
  24. data/vendor/assets/ui_alchemy/alchemy-forms/alchemy-forms.css +1101 -0
  25. data/vendor/assets/ui_alchemy/alchemy-forms/alchemy-forms.js +0 -0
  26. data/vendor/assets/ui_alchemy/alchemy-forms/component.json +27 -0
  27. data/{app/assets/stylesheets/alchemy/components/forms/_forms.scss → vendor/assets/ui_alchemy/alchemy-forms/forms.scss} +10 -11
  28. data/vendor/assets/ui_alchemy/alchemy-tables/alchemy-tables.css +1445 -0
  29. data/vendor/assets/ui_alchemy/alchemy-tables/alchemy-tables.js +134 -0
  30. data/vendor/assets/ui_alchemy/alchemy-tables/component.json +27 -0
  31. data/vendor/assets/ui_alchemy/alchemy-tables/tables.scss +220 -0
  32. data/{app/assets/stylesheets/alchemy/partials → vendor/assets/ui_alchemy/alchemy}/_colors.scss +0 -0
  33. data/vendor/assets/ui_alchemy/alchemy/_media_object.scss +22 -0
  34. data/{app/assets/stylesheets/alchemy/partials → vendor/assets/ui_alchemy/alchemy}/_mixins.scss +0 -0
  35. data/vendor/assets/ui_alchemy/alchemy/_normalize.scss +396 -0
  36. data/{app/assets/stylesheets/alchemy/partials → vendor/assets/ui_alchemy/alchemy}/_vars.scss +1 -1
  37. data/vendor/assets/ui_alchemy/alchemy/alchemy.css +0 -0
  38. data/vendor/assets/ui_alchemy/alchemy/alchemy.js +20 -0
  39. data/vendor/assets/ui_alchemy/alchemy/alchemy.scss +8 -0
  40. data/vendor/assets/ui_alchemy/alchemy/component.json +25 -0
  41. data/vendor/assets/ui_alchemy/angular/angular.js +14760 -0
  42. data/vendor/assets/ui_alchemy/angular/angular.min.js +162 -0
  43. data/vendor/assets/ui_alchemy/angular/component.json +14 -0
  44. data/vendor/assets/ui_alchemy/jquery/README.md +4 -0
  45. data/vendor/assets/ui_alchemy/jquery/component.json +21 -0
  46. data/vendor/assets/ui_alchemy/jquery/composer.json +30 -0
  47. data/vendor/assets/ui_alchemy/jquery/jquery-migrate.js +496 -0
  48. data/vendor/assets/ui_alchemy/jquery/jquery-migrate.min.js +3 -0
  49. data/vendor/assets/ui_alchemy/jquery/jquery.js +9597 -0
  50. data/vendor/assets/ui_alchemy/jquery/jquery.min.js +5 -0
  51. data/vendor/assets/ui_alchemy/jquery/package.json +7 -0
  52. metadata +39 -14
  53. data/app/assets/stylesheets/alchemy/partials/_base.scss +0 -8
  54. data/vendor/assets/javascripts/alchemy/jquery/jquery-1.6.2.js +0 -8981
@@ -0,0 +1,134 @@
1
+ angular.module("alch-templates").run(function($templateCache) {
2
+ $templateCache.put("component/templates/table.html",
3
+ "<thead>" +
4
+ " <tr>" +
5
+ " <th class=\"table-selection-row\" colspan=\"{{ table.data.columns.length +1 }}\" ng-show=\"table.more_results()\">" +
6
+ " All {{ table.offset }} results shown are currently selected. " +
7
+ " <a href=\"\">Select all {{ table.total }} results.</a>" +
8
+ " </th>" +
9
+ " </tr>" +
10
+ " <tr>" +
11
+ " <th ng-show=\"rowSelect\">" +
12
+ " <input class=\"select_all\" type=\"checkbox\" name=\"select_all\" ng-model=\"table.all_selected\" ng-change=\"table.select_all()\">" +
13
+ " </th>" +
14
+ " <th ng-click=\"table.sort(header)\" ng-show=\"header.show\" ng-repeat=\"header in table.data.columns\" ng-class=\"{ 'active-column' : header.active }\">" +
15
+ " {{ header.display }}" +
16
+ " </th>" +
17
+ " </tr>" +
18
+ "</thead>" +
19
+ "" +
20
+ "<tbody>" +
21
+ " <tr ng-class=\"{active : row.selected }\" ng-repeat=\"row in table.data.rows\" ng-show=\"show_row(row)\">" +
22
+ " <td ng-show=\"rowSelect\">" +
23
+ " <input ng-model=\"row.selected\" type=\"checkbox\" name=\"{{ row.id }}\" value=\"{{ row.id }}\" ng-change=\"adjust_num_selected(row.selected)\">" +
24
+ " </td>" +
25
+ " <td ng-show=\"show_cell(cell)\" ng-repeat=\"cell in row.cells\">" +
26
+ " {{ cell.display }}" +
27
+ " </td>" +
28
+ " </tr>" +
29
+ "</tbody>" +
30
+ "");
31
+ });
32
+
33
+ angular.module("alch-templates").run(function($templateCache) {
34
+ $templateCache.put("component/templates/tool_bar.html",
35
+ "<div ng-model=\"table.data.columns\" class=\"form table-toolbar\">" +
36
+ " <div class=\"fl\">" +
37
+ " <input type=\"text\" class=\"input\" placeholder=\"Search...\" ng-model=\"table.search_string\" on-enter=\"table.search(table.search_string)\">" +
38
+ " Showing {{ table.start }}-{{ table.offset }} of {{ table.total }} {{ table.model }}" +
39
+ " </div>" +
40
+ " <div class=\"fr deselect\" ng-show=\"table.num_selected\">" +
41
+ " <span ng-model=\"table.num_selected\">{{ table.num_selected }} Selected</span>" +
42
+ " <a ng-click=\"deselect_all()\" href=\"\">Deselect All</a>" +
43
+ " </div>" +
44
+ "</div>" +
45
+ "");
46
+ });
47
+
48
+ 'use strict';
49
+
50
+ angular.module('alchemy').directive('alchTable', function(){
51
+ return {
52
+ restrict: 'A',
53
+ scope: {
54
+ 'table' : '=alchTable',
55
+ 'rowSelect' : '@'
56
+ },
57
+ templateUrl: 'component/templates/table.html',
58
+
59
+ controller: function($scope){
60
+
61
+ $scope.show_cell = function(cell){
62
+ var to_show;
63
+
64
+ angular.forEach($scope.table.data.columns, function(header){
65
+ if( header.id === cell.column_id ){
66
+ to_show = header.show;
67
+ }
68
+ });
69
+
70
+ return to_show;
71
+ };
72
+
73
+ $scope.show_row = function(row){
74
+ return row.show;
75
+ };
76
+
77
+ $scope.adjust_num_selected = function(selected){
78
+ $scope.table.num_selected += selected ? 1 : -1;
79
+ };
80
+
81
+ $scope.table.select_all = function(selected){
82
+ var table = $scope.table;
83
+
84
+ if( selected !== undefined ){
85
+ table.all_selected = selected;
86
+ }
87
+
88
+ table.num_selected = table.all_selected ? table.data.rows.length : 0;
89
+
90
+ angular.forEach(table.data.rows, function(row){
91
+ row.selected = table.all_selected;
92
+ });
93
+ };
94
+
95
+ $scope.table.more_results = function(){
96
+ var more = $scope.table.total > $scope.table.offset;
97
+
98
+ more = more && $scope.table.all_selected;
99
+ return more;
100
+ };
101
+ }
102
+ };
103
+ });
104
+
105
+ angular.module('alchemy').directive('alchTableToolbar', function(){
106
+ return {
107
+ restrict: 'A',
108
+ transclude: true,
109
+ scope: {
110
+ 'table' : '=alchTableToolbar'
111
+ },
112
+ templateUrl: 'component/templates/tool_bar.html',
113
+
114
+ controller: function($scope){
115
+ $scope.deselect_all = function(){
116
+ $scope.table.select_all(false);
117
+ };
118
+ }
119
+ };
120
+ });
121
+
122
+ angular.module('alchemy').directive('onEnter', function() {
123
+ return {
124
+ scope: true,
125
+
126
+ link: function(scope, element, attrs) {
127
+ element.bind('keydown keypress', function(event) {
128
+ if(event.which === 13) {
129
+ scope.$apply(attrs.onEnter);
130
+ }
131
+ });
132
+ }
133
+ };
134
+ });
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "alchemy-tables",
3
+ "version": "0.0.13",
4
+ "main": [
5
+ "./*.js",
6
+ "./*.scss",
7
+ "./*.css"
8
+ ],
9
+ "dependencies": {
10
+ "angular": "~1.0.5",
11
+ "jquery": "~1.9.1",
12
+ "alchemy": ">=0.0.1",
13
+ "alchemy-forms": ">=0.0.1"
14
+ },
15
+ "devDependencies": {
16
+ "angular-mocks": "~1.0.5",
17
+ "angular-scenario": "~1.0.5"
18
+ },
19
+ "gitHead": "aaac01b6007bf4183d71fc2ec7a99231779dd0e0",
20
+ "_id": "alchemy-tables@0.0.13",
21
+ "readme": "ERROR: No README.md file found!",
22
+ "description": "ERROR: No README.md file found!",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git://github.com/ui-alchemy/alchemy-tables.git"
26
+ }
27
+ }
@@ -0,0 +1,220 @@
1
+ $bg: #a7b0b2;
2
+ $fg: #555;
3
+ $highlight: $primary_color;
4
+
5
+ .table {
6
+
7
+ width: 100%;
8
+ border: 1px solid #CCC !important;
9
+
10
+ td, th {
11
+ text-align: center !important;
12
+ }
13
+
14
+ .active-column {
15
+ background: rgb(175, 175, 175) !important;
16
+ }
17
+
18
+ tr.active {
19
+ background: $highlight !important;
20
+ color: #FFF !important;
21
+ }
22
+ }
23
+
24
+ .table-selection-row {
25
+ background: rgb(255, 207, 105);
26
+ text-align: center !important;
27
+ }
28
+
29
+ .table-toolbar {
30
+ background: rgb(238, 238, 238);
31
+ overflow: auto;
32
+ padding: 10px 12px 4px 12px;
33
+ box-sizing: border-box;
34
+ border: 1px solid #CCC;
35
+ border-radius: 5px 5px 0 0;
36
+ }
37
+
38
+ .deselect {
39
+ line-height: 2 !important;
40
+ }
41
+
42
+ .stable {
43
+
44
+ tr:last-child {
45
+ border-collapse: separate !important;
46
+ border-bottom: 1px solid #CCC;
47
+
48
+ td {
49
+ border-collapse: separate !important;
50
+ border-bottom: 1px solid #CCC;
51
+ }
52
+ }
53
+ }
54
+
55
+ @media (min-width: 480px) {
56
+ .stable{
57
+ -webkit-transform: translate3d(0, 0, 0);
58
+
59
+ color:#555; color:rgba(0,0,0,0.75);
60
+ background-color: transparent;
61
+ border-collapse:collapse;
62
+ border-spacing:0;
63
+ border-style: none;
64
+ width: 100%; line-height: 1.333em;
65
+ transition: all 1s ease;
66
+ td,th{
67
+ text-align:left;
68
+ border-bottom: 1px solid #eee;
69
+ border-bottom-color: rgba(0,0,0,0.033);
70
+ padding:.66666em;
71
+ transition: padding .1s ease;
72
+
73
+ }
74
+ th{
75
+ color:#555;color:rgba(0,0,0,0.75); transition: all .5s ease;
76
+ }
77
+ }
78
+ }
79
+
80
+ .stable.focus{
81
+
82
+ th{
83
+ color:#555;color:rgba(0,0,0,0.75); transition: all .5s ease;
84
+ }
85
+ tr:hover td,
86
+ tr.focus td{
87
+ background-color: $highlight;
88
+ color:#FFF;
89
+ }
90
+ &.focus:hover{
91
+ transition:all 1s ease 2s;
92
+
93
+ color:rgba(lighten( $fg, 2% ),0.5);
94
+ //background-color: $highlight;
95
+
96
+ td, th{transition: none;
97
+ }
98
+ th{ transition: all .5s ease .5s;
99
+ color:#555;color:rgba(0,0,0,0.75);
100
+ //background-color: $highlight;
101
+ }
102
+ }
103
+ }
104
+
105
+ @media (max-width: 512px) {
106
+
107
+ .stable,
108
+ .stable tr,
109
+ .stable td,
110
+ .stable th,
111
+ .stable thead{
112
+ display:block;
113
+ width: 100%; padding:.333em;
114
+
115
+ }
116
+ .stable {
117
+ th{display:none;}
118
+ tr th:first-child, td:first-child{
119
+ font-size:2em;
120
+ padding:.3333em;
121
+ margin-top:1em;
122
+ width: 100%;
123
+ }
124
+ }
125
+ }
126
+
127
+ .stable {
128
+ &.condensed{
129
+ td, th{padding:.3333em}}} /*manually classed as condensed*/
130
+
131
+ @media (max-height: 640px) {
132
+ .stable {td, th{padding-top:.3333em;padding-bottom:.3333em}}}
133
+
134
+ @media (max-width: 740px) {
135
+ /*when things are horizontally narrow we add in divider lines so numerical fields are still seen as separate*/
136
+ .stable {
137
+ td, th{padding-left:.3333em;padding-right:.3333em; border-left: 1px solid rgba(0,0,0,0.05) !important}
138
+ td:first-child, th:first-child{border-left: none !important}
139
+ }}
140
+
141
+ .stable{
142
+
143
+ &.stripe-row tr:nth-child(2n+2),
144
+ &.stripe-row-even tr:nth-child(2n+2) {
145
+ background-color: rgba(lighten( $bg, 10% ), 0.15);
146
+ }
147
+
148
+ &.stripe-row-odd tr:nth-child(2n+1) {
149
+ background-color: rgba(lighten( $bg, 10% ), 0.15);
150
+ }
151
+
152
+
153
+
154
+ &.stripe-col,
155
+ &.stripe-col-even{
156
+ tr th:nth-child(even) ,
157
+ tr td:nth-child(even)
158
+ {background-color:rgba(lighten( $bg, 10% ), 0.15); border-color: rgba(lighten( $bg, 10% ), 0.15);}
159
+ }
160
+
161
+
162
+ &.stripe-col-odd{
163
+ tr th:nth-child(odd) ,
164
+ tr td:nth-child(odd)
165
+ {background-color:rgba(lighten( $bg, 10% ), 0.15); border-color: rgba(lighten( $bg, 10% ), 0.15)}
166
+ }
167
+
168
+
169
+
170
+ &.highlight-col1{
171
+ tr th:nth-child(1),
172
+ tr td:nth-child(1)
173
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
174
+ z-index: 2;
175
+ position: relative}
176
+ }
177
+
178
+ &.highlight-col2{
179
+ tr th:nth-child(2),
180
+ tr td:nth-child(2)
181
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
182
+ z-index: 2;
183
+ position: relative}
184
+ }
185
+
186
+ &.highlight-col3{
187
+ tr th:nth-child(3),
188
+ tr td:nth-child(3)
189
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
190
+ z-index: 2;
191
+ position: relative}
192
+ }
193
+
194
+ &.highlight-col4{
195
+ tr th:nth-child(4),
196
+ tr td:nth-child(4)
197
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
198
+ z-index: 2;
199
+ position: relative}
200
+ }
201
+
202
+ &.highlight-col5{
203
+ tr th:nth-child(5),
204
+ tr td:nth-child(5)
205
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
206
+ z-index: 2;
207
+ position: relative}
208
+ }
209
+
210
+
211
+ &.highlight-col6{
212
+ tr th:nth-child(6),
213
+ tr td:nth-child(6)
214
+ {background-color: rgba(lighten( $bg, 50% ), 0.5); border-color: lighten( $bg, 20% );box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
215
+ z-index: 2;
216
+ position: relative}
217
+ }
218
+
219
+
220
+ }
@@ -0,0 +1,22 @@
1
+ .media, .bd {
2
+ overflow: hidden;
3
+ _overflow: visible;
4
+ zoom: 1;
5
+ }
6
+
7
+ .media {
8
+ margin: 10px;
9
+
10
+ .img {
11
+ float: left;
12
+ margin-right: 10px;
13
+
14
+ img { display:block; }
15
+ }
16
+
17
+ .imgExt {
18
+ float: right;
19
+ margin-left: 10px;
20
+ }
21
+
22
+ }
@@ -0,0 +1,396 @@
1
+ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */
2
+
3
+ /* ==========================================================================
4
+ HTML5 display definitions
5
+ ========================================================================== */
6
+
7
+ /**
8
+ * Correct `block` display not defined in IE 8/9.
9
+ */
10
+
11
+ article,
12
+ aside,
13
+ details,
14
+ figcaption,
15
+ figure,
16
+ footer,
17
+ header,
18
+ hgroup,
19
+ main,
20
+ nav,
21
+ section,
22
+ summary {
23
+ display: block;
24
+ }
25
+
26
+ /**
27
+ * Correct `inline-block` display not defined in IE 8/9.
28
+ */
29
+
30
+ audio,
31
+ canvas,
32
+ video {
33
+ display: inline-block;
34
+ }
35
+
36
+ /**
37
+ * Prevent modern browsers from displaying `audio` without controls.
38
+ * Remove excess height in iOS 5 devices.
39
+ */
40
+
41
+ audio:not([controls]) {
42
+ display: none;
43
+ height: 0;
44
+ }
45
+
46
+ /**
47
+ * Address styling not present in IE 8/9.
48
+ */
49
+
50
+ [hidden] {
51
+ display: none;
52
+ }
53
+
54
+ /* ==========================================================================
55
+ Base
56
+ ========================================================================== */
57
+
58
+ /**
59
+ * 1. Set default font family to sans-serif.
60
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
61
+ * user zoom.
62
+ */
63
+
64
+ html {
65
+ font-family: sans-serif; /* 1 */
66
+ -webkit-text-size-adjust: 100%; /* 2 */
67
+ -ms-text-size-adjust: 100%; /* 2 */
68
+ }
69
+
70
+ /**
71
+ * Remove default margin.
72
+ */
73
+
74
+ body {
75
+ margin: 0;
76
+ }
77
+
78
+ /* ==========================================================================
79
+ Links
80
+ ========================================================================== */
81
+
82
+ /**
83
+ * Address `outline` inconsistency between Chrome and other browsers.
84
+ */
85
+
86
+ a:focus {
87
+ outline: thin dotted;
88
+ }
89
+
90
+ /**
91
+ * Improve readability when focused and also mouse hovered in all browsers.
92
+ */
93
+
94
+ a:active,
95
+ a:hover {
96
+ outline: 0;
97
+ }
98
+
99
+ /* ==========================================================================
100
+ Typography
101
+ ========================================================================== */
102
+
103
+ /**
104
+ * Address variable `h1` font-size and margin within `section` and `article`
105
+ * contexts in Firefox 4+, Safari 5, and Chrome.
106
+ */
107
+
108
+ h1 {
109
+ font-size: 2em;
110
+ margin: 0.67em 0;
111
+ }
112
+
113
+ /**
114
+ * Address styling not present in IE 8/9, Safari 5, and Chrome.
115
+ */
116
+
117
+ abbr[title] {
118
+ border-bottom: 1px dotted;
119
+ }
120
+
121
+ /**
122
+ * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
123
+ */
124
+
125
+ b,
126
+ strong {
127
+ font-weight: bold;
128
+ }
129
+
130
+ /**
131
+ * Address styling not present in Safari 5 and Chrome.
132
+ */
133
+
134
+ dfn {
135
+ font-style: italic;
136
+ }
137
+
138
+ /**
139
+ * Address differences between Firefox and other browsers.
140
+ */
141
+
142
+ hr {
143
+ -moz-box-sizing: content-box;
144
+ box-sizing: content-box;
145
+ height: 0;
146
+ }
147
+
148
+ /**
149
+ * Address styling not present in IE 8/9.
150
+ */
151
+
152
+ mark {
153
+ background: #ff0;
154
+ color: #000;
155
+ }
156
+
157
+ /**
158
+ * Correct font family set oddly in Safari 5 and Chrome.
159
+ */
160
+
161
+ code,
162
+ kbd,
163
+ pre,
164
+ samp {
165
+ font-family: monospace, serif;
166
+ font-size: 1em;
167
+ }
168
+
169
+ /**
170
+ * Improve readability of pre-formatted text in all browsers.
171
+ */
172
+
173
+ pre {
174
+ white-space: pre-wrap;
175
+ }
176
+
177
+ /**
178
+ * Set consistent quote types.
179
+ */
180
+
181
+ q {
182
+ quotes: "\201C" "\201D" "\2018" "\2019";
183
+ }
184
+
185
+ /**
186
+ * Address inconsistent and variable font size in all browsers.
187
+ */
188
+
189
+ small {
190
+ font-size: 80%;
191
+ }
192
+
193
+ /**
194
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
195
+ */
196
+
197
+ sub,
198
+ sup {
199
+ font-size: 75%;
200
+ line-height: 0;
201
+ position: relative;
202
+ vertical-align: baseline;
203
+ }
204
+
205
+ sup {
206
+ top: -0.5em;
207
+ }
208
+
209
+ sub {
210
+ bottom: -0.25em;
211
+ }
212
+
213
+ /* ==========================================================================
214
+ Embedded content
215
+ ========================================================================== */
216
+
217
+ /**
218
+ * Remove border when inside `a` element in IE 8/9.
219
+ */
220
+
221
+ img {
222
+ border: 0;
223
+ }
224
+
225
+ /**
226
+ * Correct overflow displayed oddly in IE 9.
227
+ */
228
+
229
+ svg:not(:root) {
230
+ overflow: hidden;
231
+ }
232
+
233
+ /* ==========================================================================
234
+ Figures
235
+ ========================================================================== */
236
+
237
+ /**
238
+ * Address margin not present in IE 8/9 and Safari 5.
239
+ */
240
+
241
+ figure {
242
+ margin: 0;
243
+ }
244
+
245
+ /* ==========================================================================
246
+ Forms
247
+ ========================================================================== */
248
+
249
+ /**
250
+ * Define consistent border, margin, and padding.
251
+ */
252
+
253
+ fieldset {
254
+ border: 1px solid #c0c0c0;
255
+ margin: 0 2px;
256
+ padding: 0.35em 0.625em 0.75em;
257
+ }
258
+
259
+ /**
260
+ * 1. Correct `color` not being inherited in IE 8/9.
261
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
262
+ */
263
+
264
+ legend {
265
+ border: 0; /* 1 */
266
+ padding: 0; /* 2 */
267
+ }
268
+
269
+ /**
270
+ * 1. Correct font family not being inherited in all browsers.
271
+ * 2. Correct font size not being inherited in all browsers.
272
+ * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
273
+ */
274
+
275
+ button,
276
+ input,
277
+ select,
278
+ textarea {
279
+ font-family: inherit; /* 1 */
280
+ font-size: 100%; /* 2 */
281
+ margin: 0; /* 3 */
282
+ }
283
+
284
+ /**
285
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
286
+ * the UA stylesheet.
287
+ */
288
+
289
+ button,
290
+ input {
291
+ line-height: normal;
292
+ }
293
+
294
+ /**
295
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
296
+ * All other form control elements do not inherit `text-transform` values.
297
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
298
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
299
+ */
300
+
301
+ button,
302
+ select {
303
+ text-transform: none;
304
+ }
305
+
306
+ /**
307
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
308
+ * and `video` controls.
309
+ * 2. Correct inability to style clickable `input` types in iOS.
310
+ * 3. Improve usability and consistency of cursor style between image-type
311
+ * `input` and others.
312
+ */
313
+
314
+ button,
315
+ html input[type="button"], /* 1 */
316
+ input[type="reset"],
317
+ input[type="submit"] {
318
+ -webkit-appearance: button; /* 2 */
319
+ cursor: pointer; /* 3 */
320
+ }
321
+
322
+ /**
323
+ * Re-set default cursor for disabled elements.
324
+ */
325
+
326
+ button[disabled],
327
+ html input[disabled] {
328
+ cursor: default;
329
+ }
330
+
331
+ /**
332
+ * 1. Address box sizing set to `content-box` in IE 8/9.
333
+ * 2. Remove excess padding in IE 8/9.
334
+ */
335
+
336
+ input[type="checkbox"],
337
+ input[type="radio"] {
338
+ box-sizing: border-box; /* 1 */
339
+ padding: 0; /* 2 */
340
+ }
341
+
342
+ /**
343
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
344
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
345
+ * (include `-moz` to future-proof).
346
+ */
347
+
348
+ input[type="search"] {
349
+ -webkit-appearance: textfield; /* 1 */
350
+ -moz-box-sizing: content-box;
351
+ -webkit-box-sizing: content-box; /* 2 */
352
+ box-sizing: content-box;
353
+ }
354
+
355
+ /**
356
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
357
+ * on OS X.
358
+ */
359
+
360
+ input[type="search"]::-webkit-search-cancel-button,
361
+ input[type="search"]::-webkit-search-decoration {
362
+ -webkit-appearance: none;
363
+ }
364
+
365
+ /**
366
+ * Remove inner padding and border in Firefox 4+.
367
+ */
368
+
369
+ button::-moz-focus-inner,
370
+ input::-moz-focus-inner {
371
+ border: 0;
372
+ padding: 0;
373
+ }
374
+
375
+ /**
376
+ * 1. Remove default vertical scrollbar in IE 8/9.
377
+ * 2. Improve readability and alignment in all browsers.
378
+ */
379
+
380
+ textarea {
381
+ overflow: auto; /* 1 */
382
+ vertical-align: top; /* 2 */
383
+ }
384
+
385
+ /* ==========================================================================
386
+ Tables
387
+ ========================================================================== */
388
+
389
+ /**
390
+ * Remove most spacing between table cells.
391
+ */
392
+
393
+ table {
394
+ border-collapse: collapse;
395
+ border-spacing: 0;
396
+ }