simplecov-html 0.11.0.beta2 → 0.12.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.tool-versions +1 -1
  3. data/.travis.yml +0 -1
  4. data/CHANGELOG.md +53 -3
  5. data/Gemfile +5 -7
  6. data/Gemfile.lock +21 -24
  7. data/README.md +1 -1
  8. data/Rakefile +7 -4
  9. data/assets/javascripts/application.js +16 -24
  10. data/assets/javascripts/libraries/jquery-3.4.1.js +10598 -0
  11. data/assets/javascripts/plugins/jquery.colorbox.js +1101 -1086
  12. data/assets/javascripts/plugins/jquery.dataTables.js +15008 -0
  13. data/assets/javascripts/plugins/jquery.timeago.js +135 -44
  14. data/assets/stylesheets/plugins/datatables.css +462 -0
  15. data/assets/stylesheets/screen.css +316 -0
  16. data/lib/simplecov-html.rb +4 -0
  17. data/lib/simplecov-html/version.rb +1 -1
  18. data/public/DataTables-1.10.20/images/sort_asc.png +0 -0
  19. data/public/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  20. data/public/DataTables-1.10.20/images/sort_both.png +0 -0
  21. data/public/DataTables-1.10.20/images/sort_desc.png +0 -0
  22. data/public/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  23. data/public/application.css +1 -809
  24. data/public/application.js +7 -1707
  25. data/public/{smoothness/images → images}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  26. data/public/{smoothness/images → images}/ui-bg_flat_75_ffffff_40x100.png +0 -0
  27. data/public/{smoothness/images → images}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  28. data/public/{smoothness/images → images}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  29. data/public/{smoothness/images → images}/ui-bg_glass_75_dadada_1x400.png +0 -0
  30. data/public/{smoothness/images → images}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  31. data/public/{smoothness/images → images}/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  32. data/public/{smoothness/images → images}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  33. data/public/{smoothness/images → images}/ui-icons_222222_256x240.png +0 -0
  34. data/public/{smoothness/images → images}/ui-icons_2e83ff_256x240.png +0 -0
  35. data/public/{smoothness/images → images}/ui-icons_454545_256x240.png +0 -0
  36. data/public/{smoothness/images → images}/ui-icons_888888_256x240.png +0 -0
  37. data/public/{smoothness/images → images}/ui-icons_cd0a0a_256x240.png +0 -0
  38. data/simplecov-html.gemspec +2 -2
  39. data/views/covered_percent.erb +3 -0
  40. data/views/file_list.erb +40 -38
  41. data/views/layout.erb +3 -3
  42. data/views/source_file.erb +2 -6
  43. metadata +30 -24
  44. data/assets/javascripts/libraries/jquery-1.6.2.min.js +0 -18
  45. data/assets/javascripts/plugins/jquery.dataTables.min.js +0 -152
  46. data/assets/javascripts/plugins/jquery.url.js +0 -174
  47. data/assets/stylesheets/screen.css.sass +0 -229
@@ -1,35 +1,57 @@
1
- /*
2
- * timeago: a jQuery plugin, version: 0.9 (2010-06-21)
3
- * @requires jQuery v1.2.3 or later
4
- *
1
+ /**
5
2
  * Timeago is a jQuery plugin that makes it easy to support automatically
6
3
  * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
7
4
  *
5
+ * @name timeago
6
+ * @version 1.6.7
7
+ * @requires jQuery >=1.5.0 <4.0
8
+ * @author Ryan McGeary
9
+ * @license MIT License - http://www.opensource.org/licenses/mit-license.php
10
+ *
8
11
  * For usage and examples, visit:
9
12
  * http://timeago.yarp.com/
10
13
  *
11
- * Licensed under the MIT:
12
- * http://www.opensource.org/licenses/mit-license.php
13
- *
14
- * Copyright (c) 2008-2010, Ryan McGeary (ryanonjavascript -[at]- mcgeary [*dot*] org)
14
+ * Copyright (c) 2008-2019, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
15
15
  */
16
- (function($) {
17
- $.timeago = function(timestamp) {
18
- if (timestamp instanceof Date) return inWords(timestamp);
19
- else if (typeof timestamp == "string") return inWords($.timeago.parse(timestamp));
20
- else return inWords($.timeago.datetime(timestamp));
16
+
17
+ (function (factory) {
18
+ if (typeof define === 'function' && define.amd) {
19
+ // AMD. Register as an anonymous module.
20
+ define(['jquery'], factory);
21
+ } else if (typeof module === 'object' && typeof module.exports === 'object') {
22
+ factory(require('jquery'));
23
+ } else {
24
+ // Browser globals
25
+ factory(jQuery);
26
+ }
27
+ }(function ($) {
28
+ $.timeago = function (timestamp) {
29
+ if (timestamp instanceof Date) {
30
+ return inWords(timestamp);
31
+ } else if (typeof timestamp === "string") {
32
+ return inWords($.timeago.parse(timestamp));
33
+ } else if (typeof timestamp === "number") {
34
+ return inWords(new Date(timestamp));
35
+ } else {
36
+ return inWords($.timeago.datetime(timestamp));
37
+ }
21
38
  };
22
39
  var $t = $.timeago;
23
40
 
24
41
  $.extend($.timeago, {
25
42
  settings: {
26
43
  refreshMillis: 60000,
44
+ allowPast: true,
27
45
  allowFuture: false,
46
+ localeTitle: false,
47
+ cutoff: 0,
48
+ autoDispose: true,
28
49
  strings: {
29
50
  prefixAgo: null,
30
51
  prefixFromNow: null,
31
52
  suffixAgo: "ago",
32
53
  suffixFromNow: "from now",
54
+ inPast: "any moment now",
33
55
  seconds: "less than a minute",
34
56
  minute: "about a minute",
35
57
  minutes: "%d minutes",
@@ -41,10 +63,16 @@
41
63
  months: "%d months",
42
64
  year: "about a year",
43
65
  years: "%d years",
66
+ wordSeparator: " ",
44
67
  numbers: []
45
68
  }
46
69
  },
47
- inWords: function(distanceMillis) {
70
+
71
+ inWords: function (distanceMillis) {
72
+ if (!this.settings.allowPast && !this.settings.allowFuture) {
73
+ throw 'timeago allowPast and allowFuture settings can not both be set to false.';
74
+ }
75
+
48
76
  var $l = this.settings.strings;
49
77
  var prefix = $l.prefixAgo;
50
78
  var suffix = $l.suffixAgo;
@@ -53,17 +81,20 @@
53
81
  prefix = $l.prefixFromNow;
54
82
  suffix = $l.suffixFromNow;
55
83
  }
56
- distanceMillis = Math.abs(distanceMillis);
57
84
  }
58
85
 
59
- var seconds = distanceMillis / 1000;
86
+ if (!this.settings.allowPast && distanceMillis >= 0) {
87
+ return this.settings.strings.inPast;
88
+ }
89
+
90
+ var seconds = Math.abs(distanceMillis) / 1000;
60
91
  var minutes = seconds / 60;
61
92
  var hours = minutes / 60;
62
93
  var days = hours / 24;
63
94
  var years = days / 365;
64
95
 
65
96
  function substitute(stringOrFunction, number) {
66
- var string = $.isFunction(stringOrFunction) ? stringOrFunction(number) : stringOrFunction;
97
+ var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
67
98
  var value = ($l.numbers && $l.numbers[number]) || number;
68
99
  return string.replace(/%d/i, value);
69
100
  }
@@ -73,46 +104,102 @@
73
104
  minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
74
105
  minutes < 90 && substitute($l.hour, 1) ||
75
106
  hours < 24 && substitute($l.hours, Math.round(hours)) ||
76
- hours < 48 && substitute($l.day, 1) ||
77
- days < 30 && substitute($l.days, Math.floor(days)) ||
78
- days < 60 && substitute($l.month, 1) ||
79
- days < 365 && substitute($l.months, Math.floor(days / 30)) ||
80
- years < 2 && substitute($l.year, 1) ||
81
- substitute($l.years, Math.floor(years));
82
-
83
- return $.trim([prefix, words, suffix].join(" "));
107
+ hours < 42 && substitute($l.day, 1) ||
108
+ days < 30 && substitute($l.days, Math.round(days)) ||
109
+ days < 45 && substitute($l.month, 1) ||
110
+ days < 365 && substitute($l.months, Math.round(days / 30)) ||
111
+ years < 1.5 && substitute($l.year, 1) ||
112
+ substitute($l.years, Math.round(years));
113
+
114
+ var separator = $l.wordSeparator || "";
115
+ if ($l.wordSeparator === undefined) { separator = " "; }
116
+ return $.trim([prefix, words, suffix].join(separator));
84
117
  },
85
- parse: function(iso8601) {
118
+
119
+ parse: function (iso8601) {
86
120
  var s = $.trim(iso8601);
87
- s = s.replace(/\.\d\d\d/,""); // remove milliseconds
88
- s = s.replace(/-/,"/").replace(/-/,"/");
89
- s = s.replace(/T/," ").replace(/Z/," UTC");
90
- s = s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
121
+ s = s.replace(/\.\d+/, ""); // remove milliseconds
122
+ s = s.replace(/-/, "/").replace(/-/, "/");
123
+ s = s.replace(/T/, " ").replace(/Z/, " UTC");
124
+ s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2"); // -04:00 -> -0400
125
+ s = s.replace(/([\+\-]\d\d)$/, " $100"); // +09 -> +0900
91
126
  return new Date(s);
92
127
  },
93
- datetime: function(elem) {
94
- // jQuery's `is()` doesn't play well with HTML5 in IE
95
- var isTime = $(elem).get(0).tagName.toLowerCase() == "time"; // $(elem).is("time");
96
- var iso8601 = isTime ? $(elem).attr("datetime") : $(elem).attr("title");
128
+ datetime: function (elem) {
129
+ var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
97
130
  return $t.parse(iso8601);
131
+ },
132
+ isTime: function (elem) {
133
+ // jQuery's `is()` doesn't play well with HTML5 in IE
134
+ return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
98
135
  }
99
136
  });
100
137
 
101
- $.fn.timeago = function() {
102
- var self = this;
103
- self.each(refresh);
138
+ // functions that can be called via $(el).timeago('action')
139
+ // init is default when no action is given
140
+ // functions are called with context of a single element
141
+ var functions = {
142
+ init: function () {
143
+ functions.dispose.call(this);
144
+ var refresh_el = $.proxy(refresh, this);
145
+ refresh_el();
146
+ var $s = $t.settings;
147
+ if ($s.refreshMillis > 0) {
148
+ this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
149
+ }
150
+ },
151
+ update: function (timestamp) {
152
+ var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp);
153
+ $(this).data('timeago', { datetime: date });
154
+ if ($t.settings.localeTitle) {
155
+ $(this).attr("title", date.toLocaleString());
156
+ }
157
+ refresh.apply(this);
158
+ },
159
+ updateFromDOM: function () {
160
+ $(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) });
161
+ refresh.apply(this);
162
+ },
163
+ dispose: function () {
164
+ if (this._timeagoInterval) {
165
+ window.clearInterval(this._timeagoInterval);
166
+ this._timeagoInterval = null;
167
+ }
168
+ }
169
+ };
104
170
 
105
- var $s = $t.settings;
106
- if ($s.refreshMillis > 0) {
107
- setInterval(function() { self.each(refresh); }, $s.refreshMillis);
171
+ $.fn.timeago = function (action, options) {
172
+ var fn = action ? functions[action] : functions.init;
173
+ if (!fn) {
174
+ throw new Error("Unknown function name '" + action + "' for timeago");
108
175
  }
109
- return self;
176
+ // each over objects here and call the requested function
177
+ this.each(function () {
178
+ fn.call(this, options);
179
+ });
180
+ return this;
110
181
  };
111
182
 
112
183
  function refresh() {
184
+ var $s = $t.settings;
185
+
186
+ //check if it's still visible
187
+ if ($s.autoDispose && !$.contains(document.documentElement, this)) {
188
+ //stop if it has been removed
189
+ $(this).timeago("dispose");
190
+ return this;
191
+ }
192
+
113
193
  var data = prepareData(this);
194
+
114
195
  if (!isNaN(data.datetime)) {
115
- $(this).text(inWords(data.datetime));
196
+ if ($s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
197
+ $(this).text(inWords(data.datetime));
198
+ } else {
199
+ if ($(this).attr('title').length > 0) {
200
+ $(this).text($(this).attr('title'));
201
+ }
202
+ }
116
203
  }
117
204
  return this;
118
205
  }
@@ -122,7 +209,11 @@
122
209
  if (!element.data("timeago")) {
123
210
  element.data("timeago", { datetime: $t.datetime(element) });
124
211
  var text = $.trim(element.text());
125
- if (text.length > 0) element.attr("title", text);
212
+ if ($t.settings.localeTitle) {
213
+ element.attr("title", element.data('timeago').datetime.toLocaleString());
214
+ } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
215
+ element.attr("title", text);
216
+ }
126
217
  }
127
218
  return element.data("timeago");
128
219
  }
@@ -138,4 +229,4 @@
138
229
  // fix for IE6 suckage
139
230
  document.createElement("abbr");
140
231
  document.createElement("time");
141
- })(jQuery);
232
+ }));
@@ -0,0 +1,462 @@
1
+ /*
2
+ * This combined file was created by the DataTables downloader builder:
3
+ * https://datatables.net/download
4
+ *
5
+ * To rebuild or modify this file with the latest versions of the included
6
+ * software please visit:
7
+ * https://datatables.net/download/#dt/dt-1.10.20
8
+ *
9
+ * Included libraries:
10
+ * DataTables 1.10.20
11
+ */
12
+
13
+ /*
14
+ * Table styles
15
+ */
16
+ table.dataTable {
17
+ width: 100%;
18
+ margin: 0 auto;
19
+ clear: both;
20
+ border-collapse: separate;
21
+ border-spacing: 0;
22
+ /*
23
+ * Header and footer styles
24
+ */
25
+ /*
26
+ * Body styles
27
+ */
28
+ }
29
+ table.dataTable thead th,
30
+ table.dataTable tfoot th {
31
+ font-weight: bold;
32
+ }
33
+ table.dataTable thead th,
34
+ table.dataTable thead td {
35
+ padding: 10px 18px;
36
+ border-bottom: 1px solid #111;
37
+ }
38
+ table.dataTable thead th:active,
39
+ table.dataTable thead td:active {
40
+ outline: none;
41
+ }
42
+ table.dataTable tfoot th,
43
+ table.dataTable tfoot td {
44
+ padding: 10px 18px 6px 18px;
45
+ border-top: 1px solid #111;
46
+ }
47
+ table.dataTable thead .sorting,
48
+ table.dataTable thead .sorting_asc,
49
+ table.dataTable thead .sorting_desc,
50
+ table.dataTable thead .sorting_asc_disabled,
51
+ table.dataTable thead .sorting_desc_disabled {
52
+ cursor: pointer;
53
+ *cursor: hand;
54
+ background-repeat: no-repeat;
55
+ background-position: center right;
56
+ }
57
+ table.dataTable thead .sorting {
58
+ background-image: url("DataTables-1.10.20/images/sort_both.png");
59
+ }
60
+ table.dataTable thead .sorting_asc {
61
+ background-image: url("DataTables-1.10.20/images/sort_asc.png");
62
+ }
63
+ table.dataTable thead .sorting_desc {
64
+ background-image: url("DataTables-1.10.20/images/sort_desc.png");
65
+ }
66
+ table.dataTable thead .sorting_asc_disabled {
67
+ background-image: url("DataTables-1.10.20/images/sort_asc_disabled.png");
68
+ }
69
+ table.dataTable thead .sorting_desc_disabled {
70
+ background-image: url("DataTables-1.10.20/images/sort_desc_disabled.png");
71
+ }
72
+ table.dataTable tbody tr {
73
+ background-color: #ffffff;
74
+ }
75
+ table.dataTable tbody tr.selected {
76
+ background-color: #B0BED9;
77
+ }
78
+ table.dataTable tbody th,
79
+ table.dataTable tbody td {
80
+ padding: 8px 10px;
81
+ }
82
+ table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
83
+ border-top: 1px solid #ddd;
84
+ }
85
+ table.dataTable.row-border tbody tr:first-child th,
86
+ table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
87
+ table.dataTable.display tbody tr:first-child td {
88
+ border-top: none;
89
+ }
90
+ table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
91
+ border-top: 1px solid #ddd;
92
+ border-right: 1px solid #ddd;
93
+ }
94
+ table.dataTable.cell-border tbody tr th:first-child,
95
+ table.dataTable.cell-border tbody tr td:first-child {
96
+ border-left: 1px solid #ddd;
97
+ }
98
+ table.dataTable.cell-border tbody tr:first-child th,
99
+ table.dataTable.cell-border tbody tr:first-child td {
100
+ border-top: none;
101
+ }
102
+ table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
103
+ background-color: #f9f9f9;
104
+ }
105
+ table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
106
+ background-color: #acbad4;
107
+ }
108
+ table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
109
+ background-color: #f6f6f6;
110
+ }
111
+ table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
112
+ background-color: #aab7d1;
113
+ }
114
+ table.dataTable.order-column tbody tr > .sorting_1,
115
+ table.dataTable.order-column tbody tr > .sorting_2,
116
+ table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
117
+ table.dataTable.display tbody tr > .sorting_2,
118
+ table.dataTable.display tbody tr > .sorting_3 {
119
+ background-color: #fafafa;
120
+ }
121
+ table.dataTable.order-column tbody tr.selected > .sorting_1,
122
+ table.dataTable.order-column tbody tr.selected > .sorting_2,
123
+ table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
124
+ table.dataTable.display tbody tr.selected > .sorting_2,
125
+ table.dataTable.display tbody tr.selected > .sorting_3 {
126
+ background-color: #acbad5;
127
+ }
128
+ table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
129
+ background-color: #f1f1f1;
130
+ }
131
+ table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
132
+ background-color: #f3f3f3;
133
+ }
134
+ table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
135
+ background-color: whitesmoke;
136
+ }
137
+ table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
138
+ background-color: #a6b4cd;
139
+ }
140
+ table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
141
+ background-color: #a8b5cf;
142
+ }
143
+ table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
144
+ background-color: #a9b7d1;
145
+ }
146
+ table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
147
+ background-color: #fafafa;
148
+ }
149
+ table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
150
+ background-color: #fcfcfc;
151
+ }
152
+ table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
153
+ background-color: #fefefe;
154
+ }
155
+ table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
156
+ background-color: #acbad5;
157
+ }
158
+ table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
159
+ background-color: #aebcd6;
160
+ }
161
+ table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
162
+ background-color: #afbdd8;
163
+ }
164
+ table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
165
+ background-color: #eaeaea;
166
+ }
167
+ table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
168
+ background-color: #ececec;
169
+ }
170
+ table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
171
+ background-color: #efefef;
172
+ }
173
+ table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
174
+ background-color: #a2aec7;
175
+ }
176
+ table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
177
+ background-color: #a3b0c9;
178
+ }
179
+ table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
180
+ background-color: #a5b2cb;
181
+ }
182
+ table.dataTable.no-footer {
183
+ border-bottom: 1px solid #111;
184
+ }
185
+ table.dataTable.nowrap th, table.dataTable.nowrap td {
186
+ white-space: nowrap;
187
+ }
188
+ table.dataTable.compact thead th,
189
+ table.dataTable.compact thead td {
190
+ padding: 4px 17px 4px 4px;
191
+ }
192
+ table.dataTable.compact tfoot th,
193
+ table.dataTable.compact tfoot td {
194
+ padding: 4px;
195
+ }
196
+ table.dataTable.compact tbody th,
197
+ table.dataTable.compact tbody td {
198
+ padding: 4px;
199
+ }
200
+ table.dataTable th.dt-left,
201
+ table.dataTable td.dt-left {
202
+ text-align: left;
203
+ }
204
+ table.dataTable th.dt-center,
205
+ table.dataTable td.dt-center,
206
+ table.dataTable td.dataTables_empty {
207
+ text-align: center;
208
+ }
209
+ table.dataTable th.dt-right,
210
+ table.dataTable td.dt-right {
211
+ text-align: right;
212
+ }
213
+ table.dataTable th.dt-justify,
214
+ table.dataTable td.dt-justify {
215
+ text-align: justify;
216
+ }
217
+ table.dataTable th.dt-nowrap,
218
+ table.dataTable td.dt-nowrap {
219
+ white-space: nowrap;
220
+ }
221
+ table.dataTable thead th.dt-head-left,
222
+ table.dataTable thead td.dt-head-left,
223
+ table.dataTable tfoot th.dt-head-left,
224
+ table.dataTable tfoot td.dt-head-left {
225
+ text-align: left;
226
+ }
227
+ table.dataTable thead th.dt-head-center,
228
+ table.dataTable thead td.dt-head-center,
229
+ table.dataTable tfoot th.dt-head-center,
230
+ table.dataTable tfoot td.dt-head-center {
231
+ text-align: center;
232
+ }
233
+ table.dataTable thead th.dt-head-right,
234
+ table.dataTable thead td.dt-head-right,
235
+ table.dataTable tfoot th.dt-head-right,
236
+ table.dataTable tfoot td.dt-head-right {
237
+ text-align: right;
238
+ }
239
+ table.dataTable thead th.dt-head-justify,
240
+ table.dataTable thead td.dt-head-justify,
241
+ table.dataTable tfoot th.dt-head-justify,
242
+ table.dataTable tfoot td.dt-head-justify {
243
+ text-align: justify;
244
+ }
245
+ table.dataTable thead th.dt-head-nowrap,
246
+ table.dataTable thead td.dt-head-nowrap,
247
+ table.dataTable tfoot th.dt-head-nowrap,
248
+ table.dataTable tfoot td.dt-head-nowrap {
249
+ white-space: nowrap;
250
+ }
251
+ table.dataTable tbody th.dt-body-left,
252
+ table.dataTable tbody td.dt-body-left {
253
+ text-align: left;
254
+ }
255
+ table.dataTable tbody th.dt-body-center,
256
+ table.dataTable tbody td.dt-body-center {
257
+ text-align: center;
258
+ }
259
+ table.dataTable tbody th.dt-body-right,
260
+ table.dataTable tbody td.dt-body-right {
261
+ text-align: right;
262
+ }
263
+ table.dataTable tbody th.dt-body-justify,
264
+ table.dataTable tbody td.dt-body-justify {
265
+ text-align: justify;
266
+ }
267
+ table.dataTable tbody th.dt-body-nowrap,
268
+ table.dataTable tbody td.dt-body-nowrap {
269
+ white-space: nowrap;
270
+ }
271
+
272
+ table.dataTable,
273
+ table.dataTable th,
274
+ table.dataTable td {
275
+ box-sizing: content-box;
276
+ }
277
+
278
+ /*
279
+ * Control feature layout
280
+ */
281
+ .dataTables_wrapper {
282
+ position: relative;
283
+ clear: both;
284
+ *zoom: 1;
285
+ zoom: 1;
286
+ }
287
+ .dataTables_wrapper .dataTables_length {
288
+ float: left;
289
+ }
290
+ .dataTables_wrapper .dataTables_filter {
291
+ float: right;
292
+ text-align: right;
293
+ }
294
+ .dataTables_wrapper .dataTables_filter input {
295
+ margin-left: 0.5em;
296
+ }
297
+ .dataTables_wrapper .dataTables_info {
298
+ clear: both;
299
+ float: left;
300
+ padding-top: 0.755em;
301
+ }
302
+ .dataTables_wrapper .dataTables_paginate {
303
+ float: right;
304
+ text-align: right;
305
+ padding-top: 0.25em;
306
+ }
307
+ .dataTables_wrapper .dataTables_paginate .paginate_button {
308
+ box-sizing: border-box;
309
+ display: inline-block;
310
+ min-width: 1.5em;
311
+ padding: 0.5em 1em;
312
+ margin-left: 2px;
313
+ text-align: center;
314
+ text-decoration: none !important;
315
+ cursor: pointer;
316
+ *cursor: hand;
317
+ color: #333 !important;
318
+ border: 1px solid transparent;
319
+ border-radius: 2px;
320
+ }
321
+ .dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
322
+ color: #333 !important;
323
+ border: 1px solid #979797;
324
+ background-color: white;
325
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
326
+ /* Chrome,Safari4+ */
327
+ background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
328
+ /* Chrome10+,Safari5.1+ */
329
+ background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
330
+ /* FF3.6+ */
331
+ background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
332
+ /* IE10+ */
333
+ background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
334
+ /* Opera 11.10+ */
335
+ background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
336
+ /* W3C */
337
+ }
338
+ .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
339
+ cursor: default;
340
+ color: #666 !important;
341
+ border: 1px solid transparent;
342
+ background: transparent;
343
+ box-shadow: none;
344
+ }
345
+ .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
346
+ color: white !important;
347
+ border: 1px solid #111;
348
+ background-color: #585858;
349
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
350
+ /* Chrome,Safari4+ */
351
+ background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
352
+ /* Chrome10+,Safari5.1+ */
353
+ background: -moz-linear-gradient(top, #585858 0%, #111 100%);
354
+ /* FF3.6+ */
355
+ background: -ms-linear-gradient(top, #585858 0%, #111 100%);
356
+ /* IE10+ */
357
+ background: -o-linear-gradient(top, #585858 0%, #111 100%);
358
+ /* Opera 11.10+ */
359
+ background: linear-gradient(to bottom, #585858 0%, #111 100%);
360
+ /* W3C */
361
+ }
362
+ .dataTables_wrapper .dataTables_paginate .paginate_button:active {
363
+ outline: none;
364
+ background-color: #2b2b2b;
365
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
366
+ /* Chrome,Safari4+ */
367
+ background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
368
+ /* Chrome10+,Safari5.1+ */
369
+ background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
370
+ /* FF3.6+ */
371
+ background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
372
+ /* IE10+ */
373
+ background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
374
+ /* Opera 11.10+ */
375
+ background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
376
+ /* W3C */
377
+ box-shadow: inset 0 0 3px #111;
378
+ }
379
+ .dataTables_wrapper .dataTables_paginate .ellipsis {
380
+ padding: 0 1em;
381
+ }
382
+ .dataTables_wrapper .dataTables_processing {
383
+ position: absolute;
384
+ top: 50%;
385
+ left: 50%;
386
+ width: 100%;
387
+ height: 40px;
388
+ margin-left: -50%;
389
+ margin-top: -25px;
390
+ padding-top: 20px;
391
+ text-align: center;
392
+ font-size: 1.2em;
393
+ background-color: white;
394
+ background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
395
+ background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
396
+ background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
397
+ background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
398
+ background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
399
+ background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
400
+ }
401
+ .dataTables_wrapper .dataTables_length,
402
+ .dataTables_wrapper .dataTables_filter,
403
+ .dataTables_wrapper .dataTables_info,
404
+ .dataTables_wrapper .dataTables_processing,
405
+ .dataTables_wrapper .dataTables_paginate {
406
+ color: #333;
407
+ }
408
+ .dataTables_wrapper .dataTables_scroll {
409
+ clear: both;
410
+ }
411
+ .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
412
+ *margin-top: -1px;
413
+ -webkit-overflow-scrolling: touch;
414
+ }
415
+ .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td {
416
+ vertical-align: middle;
417
+ }
418
+ .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > th > div.dataTables_sizing,
419
+ .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > thead > tr > td > div.dataTables_sizing, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > th > div.dataTables_sizing,
420
+ .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody > table > tbody > tr > td > div.dataTables_sizing {
421
+ height: 0;
422
+ overflow: hidden;
423
+ margin: 0 !important;
424
+ padding: 0 !important;
425
+ }
426
+ .dataTables_wrapper.no-footer .dataTables_scrollBody {
427
+ border-bottom: 1px solid #111;
428
+ }
429
+ .dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
430
+ .dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
431
+ border-bottom: none;
432
+ }
433
+ .dataTables_wrapper:after {
434
+ visibility: hidden;
435
+ display: block;
436
+ content: "";
437
+ clear: both;
438
+ height: 0;
439
+ }
440
+
441
+ @media screen and (max-width: 767px) {
442
+ .dataTables_wrapper .dataTables_info,
443
+ .dataTables_wrapper .dataTables_paginate {
444
+ float: none;
445
+ text-align: center;
446
+ }
447
+ .dataTables_wrapper .dataTables_paginate {
448
+ margin-top: 0.5em;
449
+ }
450
+ }
451
+ @media screen and (max-width: 640px) {
452
+ .dataTables_wrapper .dataTables_length,
453
+ .dataTables_wrapper .dataTables_filter {
454
+ float: none;
455
+ text-align: center;
456
+ }
457
+ .dataTables_wrapper .dataTables_filter {
458
+ margin-top: 0.5em;
459
+ }
460
+ }
461
+
462
+