cherrypy-foundation 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. cherrypy_foundation/__init__.py +0 -0
  2. cherrypy_foundation/components/ColorModes.jinja +70 -0
  3. cherrypy_foundation/components/Datatable.css +47 -0
  4. cherrypy_foundation/components/Datatable.jinja +63 -0
  5. cherrypy_foundation/components/Datatable.js +358 -0
  6. cherrypy_foundation/components/Field.css +10 -0
  7. cherrypy_foundation/components/Field.jinja +66 -0
  8. cherrypy_foundation/components/Field.js +56 -0
  9. cherrypy_foundation/components/Fields.jinja +4 -0
  10. cherrypy_foundation/components/Flash.jinja +13 -0
  11. cherrypy_foundation/components/Icon.jinja +3 -0
  12. cherrypy_foundation/components/LocaleSelection.jinja +13 -0
  13. cherrypy_foundation/components/LocaleSelection.js +26 -0
  14. cherrypy_foundation/components/SideBySideMultiSelect.css +25 -0
  15. cherrypy_foundation/components/SideBySideMultiSelect.jinja +9 -0
  16. cherrypy_foundation/components/SideBySideMultiSelect.js +9 -0
  17. cherrypy_foundation/components/Typeahead.css +55 -0
  18. cherrypy_foundation/components/Typeahead.jinja +106 -0
  19. cherrypy_foundation/components/Typeahead.js +8 -0
  20. cherrypy_foundation/components/__init__.py +51 -0
  21. cherrypy_foundation/components/tests/__init__.py +0 -0
  22. cherrypy_foundation/components/tests/test_static.py +90 -0
  23. cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.css +2106 -0
  24. cherrypy_foundation/components/vendor/bootstrap-icons/bootstrap-icons.min.css +5 -0
  25. cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff +0 -0
  26. cherrypy_foundation/components/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2 +0 -0
  27. cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css +9262 -0
  28. cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.css.map +95 -0
  29. cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css +6 -0
  30. cherrypy_foundation/components/vendor/bootstrap5/css/bootstrap.min.css.map +7 -0
  31. cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js +4846 -0
  32. cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.js.map +1 -0
  33. cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js +7 -0
  34. cherrypy_foundation/components/vendor/bootstrap5/js/bootstrap.min.js.map +7 -0
  35. cherrypy_foundation/components/vendor/bootstrap5/js/color-modes.js +80 -0
  36. cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.css +849 -0
  37. cherrypy_foundation/components/vendor/datatables/css/dataTables.dataTables.min.css +1 -0
  38. cherrypy_foundation/components/vendor/datatables/images/sort_asc.png +0 -0
  39. cherrypy_foundation/components/vendor/datatables/images/sort_asc_disabled.png +0 -0
  40. cherrypy_foundation/components/vendor/datatables/images/sort_both.png +0 -0
  41. cherrypy_foundation/components/vendor/datatables/images/sort_desc.png +0 -0
  42. cherrypy_foundation/components/vendor/datatables/images/sort_desc_disabled.png +0 -0
  43. cherrypy_foundation/components/vendor/datatables/js/dataTables.js +14073 -0
  44. cherrypy_foundation/components/vendor/datatables/js/dataTables.min.js +4 -0
  45. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.css +556 -0
  46. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/css/buttons.dataTables.min.css +1 -0
  47. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.js +1700 -0
  48. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/buttons.html5.min.js +8 -0
  49. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.js +2944 -0
  50. cherrypy_foundation/components/vendor/datatables-extensions/Buttons/js/dataTables.buttons.min.js +4 -0
  51. cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.css +13 -0
  52. cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/css/fixedHeader.dataTables.min.css +1 -0
  53. cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.js +1202 -0
  54. cherrypy_foundation/components/vendor/datatables-extensions/FixedHeader/js/dataTables.fixedHeader.min.js +4 -0
  55. cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.js +11577 -0
  56. cherrypy_foundation/components/vendor/datatables-extensions/JSZip/jszip.min.js +13 -0
  57. cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.css +194 -0
  58. cherrypy_foundation/components/vendor/datatables-extensions/Responsive/css/responsive.dataTables.min.css +1 -0
  59. cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.js +1861 -0
  60. cherrypy_foundation/components/vendor/datatables-extensions/Responsive/js/dataTables.responsive.min.js +4 -0
  61. cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.js +75023 -0
  62. cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/pdfmake.min.js +3 -0
  63. cherrypy_foundation/components/vendor/datatables-extensions/pdfmake/build/vfs_fonts.js +6 -0
  64. cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.css +53 -0
  65. cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/css/rowGroup.dataTables.min.css +1 -0
  66. cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.js +485 -0
  67. cherrypy_foundation/components/vendor/datatables-extensions/rowgroup/js/dataTables.rowGroup.min.js +4 -0
  68. cherrypy_foundation/components/vendor/jquery/jquery.min.js +2 -0
  69. cherrypy_foundation/components/vendor/multi/LICENSE +7 -0
  70. cherrypy_foundation/components/vendor/multi/README.md +109 -0
  71. cherrypy_foundation/components/vendor/multi/multi.css +95 -0
  72. cherrypy_foundation/components/vendor/multi/multi.js +328 -0
  73. cherrypy_foundation/components/vendor/popper/popper.js +1825 -0
  74. cherrypy_foundation/components/vendor/popper/popper.min.js +6 -0
  75. cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.css +1 -0
  76. cherrypy_foundation/components/vendor/typeahead/jquery.typeahead.min.js +10 -0
  77. cherrypy_foundation/error_page.py +94 -0
  78. cherrypy_foundation/flash.py +50 -0
  79. cherrypy_foundation/form.py +119 -0
  80. cherrypy_foundation/logging.py +103 -0
  81. cherrypy_foundation/passwd.py +65 -0
  82. cherrypy_foundation/plugins/__init__.py +0 -0
  83. cherrypy_foundation/plugins/db.py +286 -0
  84. cherrypy_foundation/plugins/ldap.py +257 -0
  85. cherrypy_foundation/plugins/restapi.py +74 -0
  86. cherrypy_foundation/plugins/scheduler.py +287 -0
  87. cherrypy_foundation/plugins/smtp.py +223 -0
  88. cherrypy_foundation/plugins/tests/__init__.py +0 -0
  89. cherrypy_foundation/plugins/tests/test_db.py +118 -0
  90. cherrypy_foundation/plugins/tests/test_ldap.py +451 -0
  91. cherrypy_foundation/plugins/tests/test_scheduler.py +100 -0
  92. cherrypy_foundation/plugins/tests/test_scheduler_db.py +107 -0
  93. cherrypy_foundation/plugins/tests/test_smtp.py +140 -0
  94. cherrypy_foundation/sessions.py +93 -0
  95. cherrypy_foundation/tests/__init__.py +72 -0
  96. cherrypy_foundation/tests/templates/test_flash.html +9 -0
  97. cherrypy_foundation/tests/templates/test_form.html +16 -0
  98. cherrypy_foundation/tests/templates/test_url.html +15 -0
  99. cherrypy_foundation/tests/test_error_page.py +78 -0
  100. cherrypy_foundation/tests/test_flash.py +61 -0
  101. cherrypy_foundation/tests/test_form.py +148 -0
  102. cherrypy_foundation/tests/test_logging.py +78 -0
  103. cherrypy_foundation/tests/test_passwd.py +51 -0
  104. cherrypy_foundation/tests/test_sessions.py +89 -0
  105. cherrypy_foundation/tests/test_url.py +161 -0
  106. cherrypy_foundation/tools/__init__.py +0 -0
  107. cherrypy_foundation/tools/auth.py +263 -0
  108. cherrypy_foundation/tools/auth_mfa.py +249 -0
  109. cherrypy_foundation/tools/i18n.py +529 -0
  110. cherrypy_foundation/tools/jinja2.py +158 -0
  111. cherrypy_foundation/tools/ratelimit.py +265 -0
  112. cherrypy_foundation/tools/secure_headers.py +119 -0
  113. cherrypy_foundation/tools/sessions_timeout.py +167 -0
  114. cherrypy_foundation/tools/tests/__init__.py +0 -0
  115. cherrypy_foundation/tools/tests/components/Button.jinja +2 -0
  116. cherrypy_foundation/tools/tests/locales/de/LC_MESSAGES/messages.mo +0 -0
  117. cherrypy_foundation/tools/tests/locales/de/LC_MESSAGES/messages.po +15 -0
  118. cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.mo +0 -0
  119. cherrypy_foundation/tools/tests/locales/fr/LC_MESSAGES/messages.po +15 -0
  120. cherrypy_foundation/tools/tests/locales/messages.pot +2 -0
  121. cherrypy_foundation/tools/tests/templates/test_jinja2.html +11 -0
  122. cherrypy_foundation/tools/tests/templates/test_jinjax.html +9 -0
  123. cherrypy_foundation/tools/tests/templates/test_jinjax_i18n.html +22 -0
  124. cherrypy_foundation/tools/tests/test_auth.py +110 -0
  125. cherrypy_foundation/tools/tests/test_auth_mfa.py +369 -0
  126. cherrypy_foundation/tools/tests/test_i18n.py +247 -0
  127. cherrypy_foundation/tools/tests/test_jinja2.py +153 -0
  128. cherrypy_foundation/tools/tests/test_ratelimit.py +109 -0
  129. cherrypy_foundation/tools/tests/test_secure_headers.py +200 -0
  130. cherrypy_foundation/url.py +66 -0
  131. cherrypy_foundation/widgets.py +48 -0
  132. cherrypy_foundation-1.0.0.dist-info/METADATA +71 -0
  133. cherrypy_foundation-1.0.0.dist-info/RECORD +136 -0
  134. cherrypy_foundation-1.0.0.dist-info/WHEEL +5 -0
  135. cherrypy_foundation-1.0.0.dist-info/licenses/LICENSE.md +674 -0
  136. cherrypy_foundation-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,849 @@
1
+ :root {
2
+ --dt-row-selected: 13, 110, 253;
3
+ --dt-row-selected-text: 255, 255, 255;
4
+ --dt-row-selected-link: 9, 10, 11;
5
+ --dt-row-stripe: 0, 0, 0;
6
+ --dt-row-hover: 0, 0, 0;
7
+ --dt-column-ordering: 0, 0, 0;
8
+ --dt-header-align-items: center;
9
+ --dt-html-background: white;
10
+ }
11
+ :root.dark {
12
+ --dt-html-background: rgb(33, 37, 41);
13
+ }
14
+
15
+ table.dataTable tbody td.dt-control {
16
+ text-align: center;
17
+ cursor: pointer;
18
+ }
19
+ table.dataTable tbody td.dt-control:before {
20
+ display: inline-block;
21
+ box-sizing: border-box;
22
+ content: "";
23
+ border-top: 5px solid transparent;
24
+ border-left: 10px solid rgba(0, 0, 0, 0.5);
25
+ border-bottom: 5px solid transparent;
26
+ border-right: 0px solid transparent;
27
+ }
28
+ table.dataTable tbody tr.dt-hasChild td.dt-control:before {
29
+ border-top: 10px solid rgba(0, 0, 0, 0.5);
30
+ border-left: 5px solid transparent;
31
+ border-bottom: 0px solid transparent;
32
+ border-right: 5px solid transparent;
33
+ }
34
+ table.dataTable tfoot:empty {
35
+ display: none;
36
+ }
37
+
38
+ html.dark table.dataTable td.dt-control:before,
39
+ :root[data-bs-theme=dark] table.dataTable td.dt-control:before,
40
+ :root[data-theme=dark] table.dataTable td.dt-control:before {
41
+ border-left-color: rgba(255, 255, 255, 0.5);
42
+ }
43
+ html.dark table.dataTable tr.dt-hasChild td.dt-control:before,
44
+ :root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,
45
+ :root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before {
46
+ border-top-color: rgba(255, 255, 255, 0.5);
47
+ border-left-color: transparent;
48
+ }
49
+
50
+ div.dt-scroll {
51
+ width: 100%;
52
+ }
53
+
54
+ div.dt-scroll-body thead tr,
55
+ div.dt-scroll-body tfoot tr {
56
+ height: 0;
57
+ }
58
+ div.dt-scroll-body thead tr th, div.dt-scroll-body thead tr td,
59
+ div.dt-scroll-body tfoot tr th,
60
+ div.dt-scroll-body tfoot tr td {
61
+ height: 0 !important;
62
+ padding-top: 0px !important;
63
+ padding-bottom: 0px !important;
64
+ border-top-width: 0px !important;
65
+ border-bottom-width: 0px !important;
66
+ }
67
+ div.dt-scroll-body thead tr th div.dt-scroll-sizing, div.dt-scroll-body thead tr td div.dt-scroll-sizing,
68
+ div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,
69
+ div.dt-scroll-body tfoot tr td div.dt-scroll-sizing {
70
+ height: 0 !important;
71
+ overflow: hidden !important;
72
+ }
73
+
74
+ table.dataTable thead > tr > th:active,
75
+ table.dataTable thead > tr > td:active {
76
+ outline: none;
77
+ }
78
+ table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before,
79
+ table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before,
80
+ table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before {
81
+ position: absolute;
82
+ display: block;
83
+ bottom: 50%;
84
+ content: "\25B2";
85
+ content: "\25B2"/"";
86
+ }
87
+ table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after,
88
+ table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after,
89
+ table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
90
+ position: absolute;
91
+ display: block;
92
+ top: 50%;
93
+ content: "\25BC";
94
+ content: "\25BC"/"";
95
+ }
96
+ table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order,
97
+ table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order,
98
+ table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order,
99
+ table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order,
100
+ table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order {
101
+ position: relative;
102
+ width: 12px;
103
+ height: 20px;
104
+ }
105
+ table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:after, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after,
106
+ table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:before,
107
+ table.dataTable thead > tr > td.dt-orderable-asc span.dt-column-order:after,
108
+ table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:before,
109
+ table.dataTable thead > tr > td.dt-orderable-desc span.dt-column-order:after,
110
+ table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before,
111
+ table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:after,
112
+ table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:before,
113
+ table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
114
+ left: 0;
115
+ opacity: 0.125;
116
+ line-height: 9px;
117
+ font-size: 0.8em;
118
+ }
119
+ table.dataTable thead > tr > th.dt-orderable-asc, table.dataTable thead > tr > th.dt-orderable-desc,
120
+ table.dataTable thead > tr > td.dt-orderable-asc,
121
+ table.dataTable thead > tr > td.dt-orderable-desc {
122
+ cursor: pointer;
123
+ }
124
+ table.dataTable thead > tr > th.dt-orderable-asc:hover, table.dataTable thead > tr > th.dt-orderable-desc:hover,
125
+ table.dataTable thead > tr > td.dt-orderable-asc:hover,
126
+ table.dataTable thead > tr > td.dt-orderable-desc:hover {
127
+ outline: 2px solid rgba(0, 0, 0, 0.05);
128
+ outline-offset: -2px;
129
+ }
130
+ table.dataTable thead > tr > th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead > tr > th.dt-ordering-desc span.dt-column-order:after,
131
+ table.dataTable thead > tr > td.dt-ordering-asc span.dt-column-order:before,
132
+ table.dataTable thead > tr > td.dt-ordering-desc span.dt-column-order:after {
133
+ opacity: 0.6;
134
+ }
135
+ table.dataTable thead > tr > th.sorting_desc_disabled span.dt-column-order:after, table.dataTable thead > tr > th.sorting_asc_disabled span.dt-column-order:before,
136
+ table.dataTable thead > tr > td.sorting_desc_disabled span.dt-column-order:after,
137
+ table.dataTable thead > tr > td.sorting_asc_disabled span.dt-column-order:before {
138
+ display: none;
139
+ }
140
+ table.dataTable thead > tr > th:active,
141
+ table.dataTable thead > tr > td:active {
142
+ outline: none;
143
+ }
144
+
145
+ table.dataTable thead > tr > th div.dt-column-header,
146
+ table.dataTable thead > tr > th div.dt-column-footer,
147
+ table.dataTable thead > tr > td div.dt-column-header,
148
+ table.dataTable thead > tr > td div.dt-column-footer,
149
+ table.dataTable tfoot > tr > th div.dt-column-header,
150
+ table.dataTable tfoot > tr > th div.dt-column-footer,
151
+ table.dataTable tfoot > tr > td div.dt-column-header,
152
+ table.dataTable tfoot > tr > td div.dt-column-footer {
153
+ display: flex;
154
+ justify-content: space-between;
155
+ align-items: var(--dt-header-align-items);
156
+ gap: 4px;
157
+ }
158
+ table.dataTable thead > tr > th div.dt-column-header span.dt-column-title,
159
+ table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title,
160
+ table.dataTable thead > tr > td div.dt-column-header span.dt-column-title,
161
+ table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title,
162
+ table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title,
163
+ table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title,
164
+ table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title,
165
+ table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title {
166
+ flex-grow: 1;
167
+ }
168
+ table.dataTable thead > tr > th div.dt-column-header span.dt-column-title:empty,
169
+ table.dataTable thead > tr > th div.dt-column-footer span.dt-column-title:empty,
170
+ table.dataTable thead > tr > td div.dt-column-header span.dt-column-title:empty,
171
+ table.dataTable thead > tr > td div.dt-column-footer span.dt-column-title:empty,
172
+ table.dataTable tfoot > tr > th div.dt-column-header span.dt-column-title:empty,
173
+ table.dataTable tfoot > tr > th div.dt-column-footer span.dt-column-title:empty,
174
+ table.dataTable tfoot > tr > td div.dt-column-header span.dt-column-title:empty,
175
+ table.dataTable tfoot > tr > td div.dt-column-footer span.dt-column-title:empty {
176
+ display: none;
177
+ }
178
+
179
+ div.dt-scroll-body > table.dataTable > thead > tr > th,
180
+ div.dt-scroll-body > table.dataTable > thead > tr > td {
181
+ overflow: hidden;
182
+ }
183
+
184
+ :root.dark table.dataTable thead > tr > th.dt-orderable-asc:hover, :root.dark table.dataTable thead > tr > th.dt-orderable-desc:hover,
185
+ :root.dark table.dataTable thead > tr > td.dt-orderable-asc:hover,
186
+ :root.dark table.dataTable thead > tr > td.dt-orderable-desc:hover,
187
+ :root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-asc:hover,
188
+ :root[data-bs-theme=dark] table.dataTable thead > tr > th.dt-orderable-desc:hover,
189
+ :root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-asc:hover,
190
+ :root[data-bs-theme=dark] table.dataTable thead > tr > td.dt-orderable-desc:hover {
191
+ outline: 2px solid rgba(255, 255, 255, 0.05);
192
+ }
193
+
194
+ div.dt-processing {
195
+ position: absolute;
196
+ top: 50%;
197
+ left: 50%;
198
+ width: 200px;
199
+ margin-left: -100px;
200
+ margin-top: -22px;
201
+ text-align: center;
202
+ padding: 2px;
203
+ z-index: 10;
204
+ }
205
+ div.dt-processing > div:last-child {
206
+ position: relative;
207
+ width: 80px;
208
+ height: 15px;
209
+ margin: 1em auto;
210
+ }
211
+ div.dt-processing > div:last-child > div {
212
+ position: absolute;
213
+ top: 0;
214
+ width: 13px;
215
+ height: 13px;
216
+ border-radius: 50%;
217
+ background: rgb(13, 110, 253);
218
+ background: rgb(var(--dt-row-selected));
219
+ animation-timing-function: cubic-bezier(0, 1, 1, 0);
220
+ }
221
+ div.dt-processing > div:last-child > div:nth-child(1) {
222
+ left: 8px;
223
+ animation: datatables-loader-1 0.6s infinite;
224
+ }
225
+ div.dt-processing > div:last-child > div:nth-child(2) {
226
+ left: 8px;
227
+ animation: datatables-loader-2 0.6s infinite;
228
+ }
229
+ div.dt-processing > div:last-child > div:nth-child(3) {
230
+ left: 32px;
231
+ animation: datatables-loader-2 0.6s infinite;
232
+ }
233
+ div.dt-processing > div:last-child > div:nth-child(4) {
234
+ left: 56px;
235
+ animation: datatables-loader-3 0.6s infinite;
236
+ }
237
+
238
+ @keyframes datatables-loader-1 {
239
+ 0% {
240
+ transform: scale(0);
241
+ }
242
+ 100% {
243
+ transform: scale(1);
244
+ }
245
+ }
246
+ @keyframes datatables-loader-3 {
247
+ 0% {
248
+ transform: scale(1);
249
+ }
250
+ 100% {
251
+ transform: scale(0);
252
+ }
253
+ }
254
+ @keyframes datatables-loader-2 {
255
+ 0% {
256
+ transform: translate(0, 0);
257
+ }
258
+ 100% {
259
+ transform: translate(24px, 0);
260
+ }
261
+ }
262
+ table.dataTable.nowrap th, table.dataTable.nowrap td {
263
+ white-space: nowrap;
264
+ }
265
+ table.dataTable th,
266
+ table.dataTable td {
267
+ box-sizing: border-box;
268
+ }
269
+ table.dataTable th.dt-type-numeric, table.dataTable th.dt-type-date,
270
+ table.dataTable td.dt-type-numeric,
271
+ table.dataTable td.dt-type-date {
272
+ text-align: right;
273
+ }
274
+ table.dataTable th.dt-type-numeric div.dt-column-header,
275
+ table.dataTable th.dt-type-numeric div.dt-column-footer, table.dataTable th.dt-type-date div.dt-column-header,
276
+ table.dataTable th.dt-type-date div.dt-column-footer,
277
+ table.dataTable td.dt-type-numeric div.dt-column-header,
278
+ table.dataTable td.dt-type-numeric div.dt-column-footer,
279
+ table.dataTable td.dt-type-date div.dt-column-header,
280
+ table.dataTable td.dt-type-date div.dt-column-footer {
281
+ flex-direction: row-reverse;
282
+ }
283
+ table.dataTable th.dt-left,
284
+ table.dataTable td.dt-left {
285
+ text-align: left;
286
+ }
287
+ table.dataTable th.dt-left div.dt-column-header,
288
+ table.dataTable th.dt-left div.dt-column-footer,
289
+ table.dataTable td.dt-left div.dt-column-header,
290
+ table.dataTable td.dt-left div.dt-column-footer {
291
+ flex-direction: row;
292
+ }
293
+ table.dataTable th.dt-center,
294
+ table.dataTable td.dt-center {
295
+ text-align: center;
296
+ }
297
+ table.dataTable th.dt-right,
298
+ table.dataTable td.dt-right {
299
+ text-align: right;
300
+ }
301
+ table.dataTable th.dt-right div.dt-column-header,
302
+ table.dataTable th.dt-right div.dt-column-footer,
303
+ table.dataTable td.dt-right div.dt-column-header,
304
+ table.dataTable td.dt-right div.dt-column-footer {
305
+ flex-direction: row-reverse;
306
+ }
307
+ table.dataTable th.dt-justify,
308
+ table.dataTable td.dt-justify {
309
+ text-align: justify;
310
+ }
311
+ table.dataTable th.dt-justify div.dt-column-header,
312
+ table.dataTable th.dt-justify div.dt-column-footer,
313
+ table.dataTable td.dt-justify div.dt-column-header,
314
+ table.dataTable td.dt-justify div.dt-column-footer {
315
+ flex-direction: row;
316
+ }
317
+ table.dataTable th.dt-nowrap,
318
+ table.dataTable td.dt-nowrap {
319
+ white-space: nowrap;
320
+ }
321
+ table.dataTable th.dt-empty,
322
+ table.dataTable td.dt-empty {
323
+ text-align: center;
324
+ vertical-align: top;
325
+ }
326
+ table.dataTable thead th,
327
+ table.dataTable thead td,
328
+ table.dataTable tfoot th,
329
+ table.dataTable tfoot td {
330
+ text-align: left;
331
+ }
332
+ table.dataTable thead th.dt-head-left,
333
+ table.dataTable thead td.dt-head-left,
334
+ table.dataTable tfoot th.dt-head-left,
335
+ table.dataTable tfoot td.dt-head-left {
336
+ text-align: left;
337
+ }
338
+ table.dataTable thead th.dt-head-left div.dt-column-header,
339
+ table.dataTable thead th.dt-head-left div.dt-column-footer,
340
+ table.dataTable thead td.dt-head-left div.dt-column-header,
341
+ table.dataTable thead td.dt-head-left div.dt-column-footer,
342
+ table.dataTable tfoot th.dt-head-left div.dt-column-header,
343
+ table.dataTable tfoot th.dt-head-left div.dt-column-footer,
344
+ table.dataTable tfoot td.dt-head-left div.dt-column-header,
345
+ table.dataTable tfoot td.dt-head-left div.dt-column-footer {
346
+ flex-direction: row;
347
+ }
348
+ table.dataTable thead th.dt-head-center,
349
+ table.dataTable thead td.dt-head-center,
350
+ table.dataTable tfoot th.dt-head-center,
351
+ table.dataTable tfoot td.dt-head-center {
352
+ text-align: center;
353
+ }
354
+ table.dataTable thead th.dt-head-right,
355
+ table.dataTable thead td.dt-head-right,
356
+ table.dataTable tfoot th.dt-head-right,
357
+ table.dataTable tfoot td.dt-head-right {
358
+ text-align: right;
359
+ }
360
+ table.dataTable thead th.dt-head-right div.dt-column-header,
361
+ table.dataTable thead th.dt-head-right div.dt-column-footer,
362
+ table.dataTable thead td.dt-head-right div.dt-column-header,
363
+ table.dataTable thead td.dt-head-right div.dt-column-footer,
364
+ table.dataTable tfoot th.dt-head-right div.dt-column-header,
365
+ table.dataTable tfoot th.dt-head-right div.dt-column-footer,
366
+ table.dataTable tfoot td.dt-head-right div.dt-column-header,
367
+ table.dataTable tfoot td.dt-head-right div.dt-column-footer {
368
+ flex-direction: row-reverse;
369
+ }
370
+ table.dataTable thead th.dt-head-justify,
371
+ table.dataTable thead td.dt-head-justify,
372
+ table.dataTable tfoot th.dt-head-justify,
373
+ table.dataTable tfoot td.dt-head-justify {
374
+ text-align: justify;
375
+ }
376
+ table.dataTable thead th.dt-head-justify div.dt-column-header,
377
+ table.dataTable thead th.dt-head-justify div.dt-column-footer,
378
+ table.dataTable thead td.dt-head-justify div.dt-column-header,
379
+ table.dataTable thead td.dt-head-justify div.dt-column-footer,
380
+ table.dataTable tfoot th.dt-head-justify div.dt-column-header,
381
+ table.dataTable tfoot th.dt-head-justify div.dt-column-footer,
382
+ table.dataTable tfoot td.dt-head-justify div.dt-column-header,
383
+ table.dataTable tfoot td.dt-head-justify div.dt-column-footer {
384
+ flex-direction: row;
385
+ }
386
+ table.dataTable thead th.dt-head-nowrap,
387
+ table.dataTable thead td.dt-head-nowrap,
388
+ table.dataTable tfoot th.dt-head-nowrap,
389
+ table.dataTable tfoot td.dt-head-nowrap {
390
+ white-space: nowrap;
391
+ }
392
+ table.dataTable tbody th.dt-body-left,
393
+ table.dataTable tbody td.dt-body-left {
394
+ text-align: left;
395
+ }
396
+ table.dataTable tbody th.dt-body-center,
397
+ table.dataTable tbody td.dt-body-center {
398
+ text-align: center;
399
+ }
400
+ table.dataTable tbody th.dt-body-right,
401
+ table.dataTable tbody td.dt-body-right {
402
+ text-align: right;
403
+ }
404
+ table.dataTable tbody th.dt-body-justify,
405
+ table.dataTable tbody td.dt-body-justify {
406
+ text-align: justify;
407
+ }
408
+ table.dataTable tbody th.dt-body-nowrap,
409
+ table.dataTable tbody td.dt-body-nowrap {
410
+ white-space: nowrap;
411
+ }
412
+
413
+ :root {
414
+ --dt-row-hover-alpha: 0.035;
415
+ --dt-row-stripe-alpha: 0.023;
416
+ --dt-column-ordering-alpha: 0.019;
417
+ --dt-row-selected-stripe-alpha: 0.923;
418
+ --dt-row-selected-column-ordering-alpha: 0.919;
419
+ }
420
+
421
+ /*
422
+ * Table styles
423
+ */
424
+ table.dataTable {
425
+ width: 100%;
426
+ margin: 0 auto;
427
+ border-spacing: 0;
428
+ /*
429
+ * Header and footer styles
430
+ */
431
+ /*
432
+ * Body styles
433
+ */
434
+ }
435
+ table.dataTable thead th,
436
+ table.dataTable tfoot th {
437
+ font-weight: bold;
438
+ }
439
+ table.dataTable > thead > tr > th,
440
+ table.dataTable > thead > tr > td {
441
+ padding: 10px;
442
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
443
+ }
444
+ table.dataTable > thead > tr > th:active,
445
+ table.dataTable > thead > tr > td:active {
446
+ outline: none;
447
+ }
448
+ table.dataTable > tfoot > tr > th,
449
+ table.dataTable > tfoot > tr > td {
450
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
451
+ padding: 10px 10px 6px 10px;
452
+ }
453
+ table.dataTable > tbody > tr {
454
+ background-color: transparent;
455
+ }
456
+ table.dataTable > tbody > tr:first-child > * {
457
+ border-top: none;
458
+ }
459
+ table.dataTable > tbody > tr:last-child > * {
460
+ border-bottom: none;
461
+ }
462
+ table.dataTable > tbody > tr.selected > * {
463
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.9);
464
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.9);
465
+ color: rgb(255, 255, 255);
466
+ color: rgb(var(--dt-row-selected-text));
467
+ }
468
+ table.dataTable > tbody > tr.selected a {
469
+ color: rgb(9, 10, 11);
470
+ color: rgb(var(--dt-row-selected-link));
471
+ }
472
+ table.dataTable > tbody > tr > th,
473
+ table.dataTable > tbody > tr > td {
474
+ padding: 8px 10px;
475
+ }
476
+ table.dataTable.row-border > tbody > tr > *, table.dataTable.display > tbody > tr > * {
477
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
478
+ }
479
+ table.dataTable.row-border > tbody > tr:first-child > *, table.dataTable.display > tbody > tr:first-child > * {
480
+ border-top: none;
481
+ }
482
+ table.dataTable.row-border > tbody > tr.selected + tr.selected > td, table.dataTable.display > tbody > tr.selected + tr.selected > td {
483
+ border-top-color: rgba(13, 110, 253, 0.65);
484
+ border-top-color: rgba(var(--dt-row-selected), 0.65);
485
+ }
486
+ table.dataTable.cell-border > tbody > tr > * {
487
+ border-top: 1px solid rgba(0, 0, 0, 0.15);
488
+ border-right: 1px solid rgba(0, 0, 0, 0.15);
489
+ }
490
+ table.dataTable.cell-border > tbody > tr > *:first-child {
491
+ border-left: 1px solid rgba(0, 0, 0, 0.15);
492
+ }
493
+ table.dataTable.cell-border > tbody > tr:first-child > * {
494
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
495
+ }
496
+ table.dataTable.stripe > tbody > tr:nth-child(odd) > *, table.dataTable.display > tbody > tr:nth-child(odd) > * {
497
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023);
498
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-stripe), var(--dt-row-stripe-alpha));
499
+ }
500
+ table.dataTable.stripe > tbody > tr:nth-child(odd).selected > *, table.dataTable.display > tbody > tr:nth-child(odd).selected > * {
501
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.923);
502
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-stripe-alpha));
503
+ }
504
+ table.dataTable.hover > tbody > tr:hover > *, table.dataTable.display > tbody > tr:hover > * {
505
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.035);
506
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), var(--dt-row-hover-alpha));
507
+ }
508
+ table.dataTable.hover > tbody > tr.selected:hover > *, table.dataTable.display > tbody > tr.selected:hover > * {
509
+ box-shadow: inset 0 0 0 9999px #0d6efd !important;
510
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), 1) !important;
511
+ }
512
+ table.dataTable.order-column > tbody tr > .sorting_1,
513
+ table.dataTable.order-column > tbody tr > .sorting_2,
514
+ table.dataTable.order-column > tbody tr > .sorting_3, table.dataTable.display > tbody tr > .sorting_1,
515
+ table.dataTable.display > tbody tr > .sorting_2,
516
+ table.dataTable.display > tbody tr > .sorting_3 {
517
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.019);
518
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), var(--dt-column-ordering-alpha));
519
+ }
520
+ table.dataTable.order-column > tbody tr.selected > .sorting_1,
521
+ table.dataTable.order-column > tbody tr.selected > .sorting_2,
522
+ table.dataTable.order-column > tbody tr.selected > .sorting_3, table.dataTable.display > tbody tr.selected > .sorting_1,
523
+ table.dataTable.display > tbody tr.selected > .sorting_2,
524
+ table.dataTable.display > tbody tr.selected > .sorting_3 {
525
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.919);
526
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), var(--dt-row-selected-column-ordering-alpha));
527
+ }
528
+ table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_1 {
529
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.054);
530
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha)));
531
+ }
532
+ table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_2 {
533
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.047);
534
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007));
535
+ }
536
+ table.dataTable.display > tbody > tr:nth-child(odd) > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd) > .sorting_3 {
537
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.039);
538
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-column-ordering), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015));
539
+ }
540
+ table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_1, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_1 {
541
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.954);
542
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)));
543
+ }
544
+ table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_2, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_2 {
545
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.947);
546
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.007));
547
+ }
548
+ table.dataTable.display > tbody > tr:nth-child(odd).selected > .sorting_3, table.dataTable.order-column.stripe > tbody > tr:nth-child(odd).selected > .sorting_3 {
549
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.939);
550
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) - 0.015));
551
+ }
552
+ table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
553
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.082);
554
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha)));
555
+ }
556
+ table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
557
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.074);
558
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007));
559
+ }
560
+ table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
561
+ box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.062);
562
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-hover), calc(var(--dt-row-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015));
563
+ }
564
+ table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
565
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.982);
566
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha)));
567
+ }
568
+ table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
569
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.974);
570
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.007));
571
+ }
572
+ table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
573
+ box-shadow: inset 0 0 0 9999px rgba(13, 110, 253, 0.962);
574
+ box-shadow: inset 0 0 0 9999px rgba(var(--dt-row-selected), calc(var(--dt-row-selected-stripe-alpha) + var(--dt-column-ordering-alpha) + var(--dt-row-hover-alpha) - 0.015));
575
+ }
576
+ table.dataTable.compact thead th,
577
+ table.dataTable.compact thead td,
578
+ table.dataTable.compact tfoot th,
579
+ table.dataTable.compact tfoot td,
580
+ table.dataTable.compact tbody th,
581
+ table.dataTable.compact tbody td {
582
+ padding: 4px;
583
+ }
584
+
585
+ div.dt-container div.dt-layout-row {
586
+ display: flex;
587
+ justify-content: space-between;
588
+ align-items: center;
589
+ width: 100%;
590
+ margin: 0.75em 0;
591
+ }
592
+ div.dt-container div.dt-layout-row div.dt-layout-cell {
593
+ display: flex;
594
+ justify-content: space-between;
595
+ align-items: center;
596
+ }
597
+ div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-start {
598
+ justify-content: flex-start;
599
+ margin-right: auto;
600
+ }
601
+ div.dt-container div.dt-layout-row div.dt-layout-cell.dt-layout-end {
602
+ justify-content: flex-end;
603
+ margin-left: auto;
604
+ }
605
+ div.dt-container div.dt-layout-row div.dt-layout-cell:empty {
606
+ display: none;
607
+ }
608
+
609
+ @media screen and (max-width: 767px) {
610
+ div.dt-container div.dt-layout-row:not(.dt-layout-table) {
611
+ display: block;
612
+ }
613
+ div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell {
614
+ display: block;
615
+ text-align: center;
616
+ }
617
+ div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell > * {
618
+ margin: 0.5em 0;
619
+ }
620
+ div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-start {
621
+ margin-right: 0;
622
+ }
623
+ div.dt-container div.dt-layout-row:not(.dt-layout-table) div.dt-layout-cell.dt-layout-end {
624
+ margin-left: 0;
625
+ }
626
+ }
627
+ div.dt-container div.dt-layout-start > *:not(:last-child) {
628
+ margin-right: 1em;
629
+ }
630
+ div.dt-container div.dt-layout-end > *:not(:first-child) {
631
+ margin-left: 1em;
632
+ }
633
+ div.dt-container div.dt-layout-full {
634
+ width: 100%;
635
+ }
636
+ div.dt-container div.dt-layout-full > *:only-child {
637
+ margin-left: auto;
638
+ margin-right: auto;
639
+ }
640
+ div.dt-container div.dt-layout-table > div {
641
+ display: block !important;
642
+ }
643
+
644
+ @media screen and (max-width: 767px) {
645
+ div.dt-container div.dt-layout-start > *:not(:last-child) {
646
+ margin-right: 0;
647
+ }
648
+ div.dt-container div.dt-layout-end > *:not(:first-child) {
649
+ margin-left: 0;
650
+ }
651
+ }
652
+ /*
653
+ * Control feature layout
654
+ */
655
+ div.dt-container {
656
+ position: relative;
657
+ clear: both;
658
+ }
659
+ div.dt-container .dt-search input {
660
+ border: 1px solid #aaa;
661
+ border-radius: 3px;
662
+ padding: 5px;
663
+ background-color: transparent;
664
+ color: inherit;
665
+ margin-left: 3px;
666
+ }
667
+ div.dt-container .dt-input {
668
+ border: 1px solid #aaa;
669
+ border-radius: 3px;
670
+ padding: 5px;
671
+ background-color: transparent;
672
+ color: inherit;
673
+ }
674
+ div.dt-container select.dt-input {
675
+ padding: 4px;
676
+ }
677
+ div.dt-container .dt-paging .dt-paging-button {
678
+ box-sizing: border-box;
679
+ display: inline-block;
680
+ min-width: 1.5em;
681
+ padding: 0.5em 1em;
682
+ margin-left: 2px;
683
+ text-align: center;
684
+ text-decoration: none !important;
685
+ cursor: pointer;
686
+ color: inherit !important;
687
+ border: 1px solid transparent;
688
+ border-radius: 2px;
689
+ background: transparent;
690
+ }
691
+ div.dt-container .dt-paging .dt-paging-button.current, div.dt-container .dt-paging .dt-paging-button.current:hover {
692
+ color: inherit !important;
693
+ border: 1px solid rgba(0, 0, 0, 0.3);
694
+ background-color: rgba(0, 0, 0, 0.05);
695
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(230, 230, 230, 0.05)), color-stop(100%, rgba(0, 0, 0, 0.05))); /* Chrome,Safari4+ */
696
+ background: -webkit-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Chrome10+,Safari5.1+ */
697
+ background: -moz-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* FF3.6+ */
698
+ background: -ms-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* IE10+ */
699
+ background: -o-linear-gradient(top, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* Opera 11.10+ */
700
+ background: linear-gradient(to bottom, rgba(230, 230, 230, 0.05) 0%, rgba(0, 0, 0, 0.05) 100%); /* W3C */
701
+ }
702
+ div.dt-container .dt-paging .dt-paging-button.disabled, div.dt-container .dt-paging .dt-paging-button.disabled:hover, div.dt-container .dt-paging .dt-paging-button.disabled:active {
703
+ cursor: default;
704
+ color: rgba(0, 0, 0, 0.5) !important;
705
+ border: 1px solid transparent;
706
+ background: transparent;
707
+ box-shadow: none;
708
+ }
709
+ div.dt-container .dt-paging .dt-paging-button:hover {
710
+ color: white !important;
711
+ border: 1px solid #111;
712
+ background-color: #111;
713
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); /* Chrome,Safari4+ */
714
+ background: -webkit-linear-gradient(top, #585858 0%, #111 100%); /* Chrome10+,Safari5.1+ */
715
+ background: -moz-linear-gradient(top, #585858 0%, #111 100%); /* FF3.6+ */
716
+ background: -ms-linear-gradient(top, #585858 0%, #111 100%); /* IE10+ */
717
+ background: -o-linear-gradient(top, #585858 0%, #111 100%); /* Opera 11.10+ */
718
+ background: linear-gradient(to bottom, #585858 0%, #111 100%); /* W3C */
719
+ }
720
+ div.dt-container .dt-paging .dt-paging-button:active {
721
+ outline: none;
722
+ background-color: #0c0c0c;
723
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); /* Chrome,Safari4+ */
724
+ background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Chrome10+,Safari5.1+ */
725
+ background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* FF3.6+ */
726
+ background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* IE10+ */
727
+ background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); /* Opera 11.10+ */
728
+ background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); /* W3C */
729
+ box-shadow: inset 0 0 3px #111;
730
+ }
731
+ div.dt-container .dt-paging .ellipsis {
732
+ padding: 0 1em;
733
+ }
734
+ div.dt-container .dt-length,
735
+ div.dt-container .dt-search,
736
+ div.dt-container .dt-info,
737
+ div.dt-container .dt-processing,
738
+ div.dt-container .dt-paging {
739
+ color: inherit;
740
+ }
741
+ div.dt-container .dataTables_scroll {
742
+ clear: both;
743
+ }
744
+ div.dt-container .dataTables_scroll div.dt-scroll-body {
745
+ -webkit-overflow-scrolling: touch;
746
+ }
747
+ div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td {
748
+ vertical-align: middle;
749
+ }
750
+ div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > th > div.dataTables_sizing,
751
+ div.dt-container .dataTables_scroll div.dt-scroll-body > table > thead > tr > td > div.dataTables_sizing, div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > th > div.dataTables_sizing,
752
+ div.dt-container .dataTables_scroll div.dt-scroll-body > table > tbody > tr > td > div.dataTables_sizing {
753
+ height: 0;
754
+ overflow: hidden;
755
+ margin: 0 !important;
756
+ padding: 0 !important;
757
+ }
758
+ div.dt-container.dt-empty-footer tbody > tr:last-child > * {
759
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
760
+ }
761
+ div.dt-container.dt-empty-footer .dt-scroll-body {
762
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
763
+ }
764
+ div.dt-container.dt-empty-footer .dt-scroll-body tbody > tr:last-child > * {
765
+ border-bottom: none;
766
+ }
767
+
768
+ html.dark {
769
+ --dt-row-hover: 255, 255, 255;
770
+ --dt-row-stripe: 255, 255, 255;
771
+ --dt-column-ordering: 255, 255, 255;
772
+ }
773
+ html.dark table.dataTable > thead > tr > th,
774
+ html.dark table.dataTable > thead > tr > td {
775
+ border-bottom: 1px solid rgb(89, 91, 94);
776
+ }
777
+ html.dark table.dataTable > thead > tr > th:active,
778
+ html.dark table.dataTable > thead > tr > td:active {
779
+ outline: none;
780
+ }
781
+ html.dark table.dataTable > tfoot > tr > th,
782
+ html.dark table.dataTable > tfoot > tr > td {
783
+ border-top: 1px solid rgb(89, 91, 94);
784
+ }
785
+ html.dark table.dataTable.row-border > tbody > tr > *, html.dark table.dataTable.display > tbody > tr > * {
786
+ border-top: 1px solid rgb(64, 67, 70);
787
+ }
788
+ html.dark table.dataTable.row-border > tbody > tr:first-child > *, html.dark table.dataTable.display > tbody > tr:first-child > * {
789
+ border-top: none;
790
+ }
791
+ html.dark table.dataTable.row-border > tbody > tr.selected + tr.selected > td, html.dark table.dataTable.display > tbody > tr.selected + tr.selected > td {
792
+ border-top-color: rgba(13, 110, 253, 0.65);
793
+ border-top-color: rgba(var(--dt-row-selected), 0.65);
794
+ }
795
+ html.dark table.dataTable.cell-border > tbody > tr > th,
796
+ html.dark table.dataTable.cell-border > tbody > tr > td {
797
+ border-top: 1px solid rgb(64, 67, 70);
798
+ border-right: 1px solid rgb(64, 67, 70);
799
+ }
800
+ html.dark table.dataTable.cell-border > tbody > tr > th:first-child,
801
+ html.dark table.dataTable.cell-border > tbody > tr > td:first-child {
802
+ border-left: 1px solid rgb(64, 67, 70);
803
+ }
804
+ html.dark .dt-container.dt-empty-footer table.dataTable {
805
+ border-bottom: 1px solid rgb(89, 91, 94);
806
+ }
807
+ html.dark .dt-container .dt-search input,
808
+ html.dark .dt-container .dt-length select {
809
+ border: 1px solid rgba(255, 255, 255, 0.2);
810
+ background-color: var(--dt-html-background);
811
+ }
812
+ html.dark .dt-container .dt-paging .dt-paging-button.current, html.dark .dt-container .dt-paging .dt-paging-button.current:hover {
813
+ border: 1px solid rgb(89, 91, 94);
814
+ background: rgba(255, 255, 255, 0.15);
815
+ }
816
+ html.dark .dt-container .dt-paging .dt-paging-button.disabled, html.dark .dt-container .dt-paging .dt-paging-button.disabled:hover, html.dark .dt-container .dt-paging .dt-paging-button.disabled:active {
817
+ color: #666 !important;
818
+ }
819
+ html.dark .dt-container .dt-paging .dt-paging-button:hover {
820
+ border: 1px solid rgb(53, 53, 53);
821
+ background: rgb(53, 53, 53);
822
+ }
823
+ html.dark .dt-container .dt-paging .dt-paging-button:active {
824
+ background: #3a3a3a;
825
+ }
826
+
827
+ /*
828
+ * Overrides for RTL support
829
+ */
830
+ *[dir=rtl] table.dataTable thead th,
831
+ *[dir=rtl] table.dataTable thead td,
832
+ *[dir=rtl] table.dataTable tfoot th,
833
+ *[dir=rtl] table.dataTable tfoot td {
834
+ text-align: right;
835
+ }
836
+ *[dir=rtl] table.dataTable th.dt-type-numeric, *[dir=rtl] table.dataTable th.dt-type-date,
837
+ *[dir=rtl] table.dataTable td.dt-type-numeric,
838
+ *[dir=rtl] table.dataTable td.dt-type-date {
839
+ text-align: left;
840
+ }
841
+ *[dir=rtl] div.dt-container div.dt-layout-cell.dt-start {
842
+ text-align: right;
843
+ }
844
+ *[dir=rtl] div.dt-container div.dt-layout-cell.dt-end {
845
+ text-align: left;
846
+ }
847
+ *[dir=rtl] div.dt-container div.dt-search input {
848
+ margin: 0 3px 0 0;
849
+ }