toolbox_esten 1.0.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +0 -0
- data/CONTRIBUTING.md +0 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +165 -0
- data/LICENSE.txt +22 -0
- data/README.md +0 -0
- data/Rakefile +8 -0
- data/assets/javascripts/simpleLoader/simpleLoader.js +122 -0
- data/assets/javascripts/simpleLoader/simpleLoader.min.js +1 -0
- data/assets/javascripts/simpleMenu/simpleMenu.js +53 -0
- data/assets/javascripts/simpleMenu/simpleMenu.min.js +1 -0
- data/assets/javascripts/simpleSelection/simpleSelect.js +60 -0
- data/assets/javascripts/simpleTextfield/simpleTextfield.js +94 -0
- data/assets/javascripts/simpleTooltip/simpleTooltip.js +166 -0
- data/assets/javascripts/simpleTooltip/simpleTooltip.min.js +1 -0
- data/assets/stylesheets/_jquery_ui.scss +1 -0
- data/assets/stylesheets/_simpleloader.scss +2 -0
- data/assets/stylesheets/_simpleselection.scss +1 -0
- data/assets/stylesheets/_simpletextfield.scss +1 -0
- data/assets/stylesheets/_simpletooltip.scss +1 -0
- data/assets/stylesheets/_toolbox_esten.scss +18 -0
- data/assets/stylesheets/jquery_ui/uidialog.scss +39 -0
- data/assets/stylesheets/simpleLoader/keyframes.scss +325 -0
- data/assets/stylesheets/simpleLoader/simpleLoader.scss +367 -0
- data/assets/stylesheets/simpleSelection/simpleSelection.scss +15 -0
- data/assets/stylesheets/simpleTextfield/simpleTextfield.scss +54 -0
- data/assets/stylesheets/simpleTooltip/simpleTooltip.scss +21 -0
- data/assets/stylesheets/toolbox_esten/base.scss +27 -0
- data/assets/stylesheets/toolbox_esten/buttons.scss +162 -0
- data/assets/stylesheets/toolbox_esten/datatables.scss +113 -0
- data/assets/stylesheets/toolbox_esten/detail.scss +22 -0
- data/assets/stylesheets/toolbox_esten/flex.scss +32 -0
- data/assets/stylesheets/toolbox_esten/form.scss +35 -0
- data/assets/stylesheets/toolbox_esten/grid.scss +34 -0
- data/assets/stylesheets/toolbox_esten/helper.scss +42 -0
- data/assets/stylesheets/toolbox_esten/mixins.scss +179 -0
- data/assets/stylesheets/toolbox_esten/notification.scss +109 -0
- data/assets/stylesheets/toolbox_esten/reset.scss +38 -0
- data/assets/stylesheets/toolbox_esten/section.scss +53 -0
- data/assets/stylesheets/toolbox_esten/tables.scss +72 -0
- data/assets/stylesheets/toolbox_esten/tabs.scss +42 -0
- data/assets/stylesheets/toolbox_esten/textfield.scss +43 -0
- data/assets/stylesheets/toolbox_esten/top_bar.scss +80 -0
- data/assets/stylesheets/toolbox_esten/variables.scss +260 -0
- data/bower.json +26 -0
- data/composer.json +20 -0
- data/lib/toolbox_esten.rb +84 -0
- data/lib/toolbox_esten/engine.rb +11 -0
- data/lib/toolbox_esten/version.rb +3 -0
- data/sache.json +5 -0
- data/tasks/bower.rake +29 -0
- data/tasks/converter.rb +62 -0
- data/tasks/converter/char_string_scanner.rb +38 -0
- data/tasks/converter/logger.rb +57 -0
- data/tasks/converter/network.rb +100 -0
- data/tasks/install.rake +20 -0
- data/templates/.travis.yml +19 -0
- data/templates/project/styles.sass +2 -0
- data/toolbox_esten.gemspec +43 -0
- metadata +317 -0
@@ -0,0 +1,367 @@
|
|
1
|
+
/* ==================== General ==================== */
|
2
|
+
.loader {
|
3
|
+
@extend .vm;
|
4
|
+
@include size(140px, 140px);
|
5
|
+
> div {
|
6
|
+
@include size(100%, 100%);
|
7
|
+
@include box-sizing(border-box);
|
8
|
+
position: relative;
|
9
|
+
text-align: center;
|
10
|
+
}
|
11
|
+
.circle > div,
|
12
|
+
.ball > div,
|
13
|
+
.cube > div {
|
14
|
+
@extend .inline-middle;
|
15
|
+
@include size(20px, 20px);
|
16
|
+
}
|
17
|
+
.circle > div,
|
18
|
+
.ball > div {
|
19
|
+
@include border-radius(100%);
|
20
|
+
}
|
21
|
+
.circle > div {
|
22
|
+
border-style: solid;
|
23
|
+
border-width: 2px;
|
24
|
+
}
|
25
|
+
.line > div {
|
26
|
+
@extend .inline-middle;
|
27
|
+
@include size(6px, 20px);
|
28
|
+
@include border-radius(3px);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
/* ==================== END General ==================== */
|
32
|
+
|
33
|
+
.loader {
|
34
|
+
/* ==================== Horizontal Ball ==================== */
|
35
|
+
.horizon-ball {
|
36
|
+
> div {
|
37
|
+
margin: 60px 2px;
|
38
|
+
animation: horizon-ball .75s infinite;
|
39
|
+
&:nth-child(1) { animation-delay: .12s; }
|
40
|
+
&:nth-child(2) { animation-delay: .24s; }
|
41
|
+
&:nth-child(3) { animation-delay: .36s; }
|
42
|
+
}
|
43
|
+
}
|
44
|
+
/* ==================== END Horizontal Ball ==================== */
|
45
|
+
|
46
|
+
/* ==================== Grid Ball ==================== */
|
47
|
+
.grid-ball {
|
48
|
+
padding-top: 20px;
|
49
|
+
> div {
|
50
|
+
margin: 8px;
|
51
|
+
animation: grid-ball .72s infinite;
|
52
|
+
&:nth-child(1) { animation-delay: .12s; }
|
53
|
+
&:nth-child(2) { animation-delay: .35s; }
|
54
|
+
&:nth-child(3) { animation-delay: .27s; }
|
55
|
+
&:nth-child(4) { animation-delay: .42s; }
|
56
|
+
&:nth-child(5) { animation-delay: .45s; }
|
57
|
+
&:nth-child(6) { animation-delay: .18s; }
|
58
|
+
&:nth-child(7) { animation-delay: .87s; }
|
59
|
+
&:nth-child(8) { animation-delay: .45s; }
|
60
|
+
&:nth-child(9) { animation-delay: .06s; }
|
61
|
+
}
|
62
|
+
}
|
63
|
+
/* ==================== END Grid Ball ==================== */
|
64
|
+
|
65
|
+
/* ==================== Rotate Circle ==================== */
|
66
|
+
.rotate-circle {
|
67
|
+
> div {
|
68
|
+
margin: 56px auto;
|
69
|
+
border-top-color: transparent!important;
|
70
|
+
animation: rotate-circle .80s infinite linear;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
/* ==================== END Rotate Circle ==================== */
|
74
|
+
|
75
|
+
/* ==================== Rotate Clip Ball ==================== */
|
76
|
+
.rotate-clip-ball {
|
77
|
+
> div {
|
78
|
+
@extend .vm;
|
79
|
+
animation-duration: 1s;
|
80
|
+
animation-iteration-count: infinite;
|
81
|
+
&:nth-child(1) {
|
82
|
+
border-left-color: transparent!important;
|
83
|
+
border-right-color: transparent!important;
|
84
|
+
animation-name: rotate-circle;
|
85
|
+
animation-timing-function: ease;
|
86
|
+
}
|
87
|
+
&:nth-child(2) {
|
88
|
+
@include size(12px, 12px);
|
89
|
+
border-width: 3px;
|
90
|
+
border-color: transparent!important;
|
91
|
+
animation-name: rotate-clip-ball;
|
92
|
+
animation-timing-function: cubic-bezier(.09,.57,.49,.9);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
/* ==================== END Rotate Clip Ball ==================== */
|
97
|
+
|
98
|
+
/* ==================== Square Spin ==================== */
|
99
|
+
.square-spin {
|
100
|
+
> div {
|
101
|
+
@extend .vm;
|
102
|
+
@include size(40px, 40px);
|
103
|
+
animation: square-spin 3s infinite cubic-bezier(.25,.5,.3,.8);
|
104
|
+
}
|
105
|
+
}
|
106
|
+
/* ==================== END Square Spin ==================== */
|
107
|
+
|
108
|
+
/* ==================== Rotate Clip Circle ==================== */
|
109
|
+
.rotate-clip-circle {
|
110
|
+
> div {
|
111
|
+
@extend .vm;
|
112
|
+
animation-name: rotate-clip-circle;
|
113
|
+
animation-iteration-count: infinite;
|
114
|
+
&:nth-child(1) {
|
115
|
+
@include size(24px, 24px);
|
116
|
+
border-top-color: transparent!important;
|
117
|
+
border-bottom-color: transparent!important;
|
118
|
+
animation-duration: 1s;
|
119
|
+
}
|
120
|
+
&:nth-child(2) {
|
121
|
+
@include size(12px, 12px);
|
122
|
+
border-left-color: transparent!important;
|
123
|
+
border-right-color: transparent!important;
|
124
|
+
animation-duration: .5s;
|
125
|
+
animation-direction: reverse;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
/* ==================== END Rotate Clip Circle ==================== */
|
130
|
+
|
131
|
+
/* ==================== Rise Ball ==================== */
|
132
|
+
.rise-ball {
|
133
|
+
> div {
|
134
|
+
@include size(16px, 16px);
|
135
|
+
margin: 60px 0;
|
136
|
+
animation-duration: 1s;
|
137
|
+
animation-iteration-count: infinite;
|
138
|
+
animation-timing-function: linear;
|
139
|
+
&:nth-child(2n-1) { animation-name: rise-ball-odd; }
|
140
|
+
&:nth-child(2n) { animation-name: rise-ball-even; }
|
141
|
+
}
|
142
|
+
}
|
143
|
+
/* ==================== END Rise Ball ==================== */
|
144
|
+
|
145
|
+
/* ==================== Rotate Ball ==================== */
|
146
|
+
.rotate-ball {
|
147
|
+
animation: rotate-ball 1s infinite ease;
|
148
|
+
> div {
|
149
|
+
@extend .vm;
|
150
|
+
@include size(16px, 16px);
|
151
|
+
&:nth-child(odd) {
|
152
|
+
@include border-radius(100%);
|
153
|
+
content: "";
|
154
|
+
opacity: .8;
|
155
|
+
}
|
156
|
+
&:nth-child(1) { left: -50px; }
|
157
|
+
&:nth-child(3) { right: -50px; }
|
158
|
+
}
|
159
|
+
}
|
160
|
+
/* ==================== END Rotate Ball ==================== */
|
161
|
+
|
162
|
+
/* ==================== Transition Cube ==================== */
|
163
|
+
.transition-cube {
|
164
|
+
> div {
|
165
|
+
@include size(12px, 12px);
|
166
|
+
position: absolute;
|
167
|
+
top: 30px;
|
168
|
+
left: 30px;
|
169
|
+
animation: transition-cube 1.6s infinite ease-in-out;
|
170
|
+
&:nth-child(2) { animation-delay: -0.8s; }
|
171
|
+
}
|
172
|
+
}
|
173
|
+
/* ==================== END Transition Cube ==================== */
|
174
|
+
|
175
|
+
/* ==================== Transition Ball ==================== */
|
176
|
+
.transition-ball {
|
177
|
+
> div {
|
178
|
+
@include size(14px, 14px);
|
179
|
+
@extend .vm;
|
180
|
+
animation: transition-ball 1s infinite ease-in-out;
|
181
|
+
&:nth-child(2) { animation-name: transition-ball-opposite; }
|
182
|
+
}
|
183
|
+
}
|
184
|
+
/* ==================== END Transition Ball ==================== */
|
185
|
+
|
186
|
+
/* ==================== Transition Ball Reflect ==================== */
|
187
|
+
.transition-ball-reflect {
|
188
|
+
> div {
|
189
|
+
@include size(14px, 14px);
|
190
|
+
@extend .vm;
|
191
|
+
animation: transition-ball-reflect 1.5s infinite linear;
|
192
|
+
&:nth-child(2) { animation-name: transition-ball-reflect-opposite; }
|
193
|
+
}
|
194
|
+
}
|
195
|
+
/* ==================== END Transition Ball Reflect ==================== */
|
196
|
+
|
197
|
+
/* ==================== Transition Ball Triangle ==================== */
|
198
|
+
.transition-ball-triangle {
|
199
|
+
> div {
|
200
|
+
@include size(16px, 16px);
|
201
|
+
position: absolute;
|
202
|
+
animation-duration: 2s;
|
203
|
+
animation-iteration-count: infinite;
|
204
|
+
animation-timing-function: ease-in-out;
|
205
|
+
&:nth-child(1) {
|
206
|
+
@include tblr-cust((top, 30px), (left, 60px));
|
207
|
+
animation-name: transition-ball-triangle-path1;
|
208
|
+
}
|
209
|
+
&:nth-child(2) {
|
210
|
+
@include tblr-cust((top, 90px), (left, 20px));
|
211
|
+
animation-name: transition-ball-triangle-path2;
|
212
|
+
}
|
213
|
+
&:nth-child(3) {
|
214
|
+
@include tblr-cust((top, 90px), (left, 100px));
|
215
|
+
animation-name: transition-ball-triangle-path3;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
}
|
219
|
+
/* ==================== END Transition Ball Triangle ==================== */
|
220
|
+
|
221
|
+
/* ==================== Scale Ball ==================== */
|
222
|
+
.scale-ball {
|
223
|
+
position: relative;
|
224
|
+
> div {
|
225
|
+
@include size(60px, 60px);
|
226
|
+
@extend .vm;
|
227
|
+
animation: scale-ball 1s infinite ease-in-out;
|
228
|
+
}
|
229
|
+
}
|
230
|
+
/* ==================== END Scale Ball ==================== */
|
231
|
+
|
232
|
+
/* ==================== Scale Ball Multiple ==================== */
|
233
|
+
.scale-ball-multiple {
|
234
|
+
> div {
|
235
|
+
@include size(60px, 60px);
|
236
|
+
@extend .vm;
|
237
|
+
animation-name: scale-ball-multiple;
|
238
|
+
animation-duration: 1s;
|
239
|
+
animation-iteration-count: infinite;
|
240
|
+
animation-timing-function: linear;
|
241
|
+
&:nth-child(1) { animation-delay: .4s; }
|
242
|
+
&:nth-child(2) { animation-delay: .2s; }
|
243
|
+
}
|
244
|
+
}
|
245
|
+
/* ==================== END Scale Ball Multiple ==================== */
|
246
|
+
|
247
|
+
/* ==================== Spin Ball ==================== */
|
248
|
+
.spin-ball {
|
249
|
+
> div {
|
250
|
+
@include size(14px, 14px);
|
251
|
+
position: absolute;
|
252
|
+
animation: spin-ball 1s infinite linear;
|
253
|
+
&:nth-child(1) { @include tblr-cust((top, 40px), (left, 63px)); }
|
254
|
+
&:nth-child(2) {
|
255
|
+
@include tblr-cust((top, 46.78px), (right, 46.78px));
|
256
|
+
animation-delay: .1s;
|
257
|
+
}
|
258
|
+
&:nth-child(3) {
|
259
|
+
@include tblr-cust((top, 63px), (right, 40px));
|
260
|
+
animation-delay: .2s;
|
261
|
+
}
|
262
|
+
&:nth-child(4) {
|
263
|
+
@include tblr-cust((bottom, 46.78px), (right, 46.78px));
|
264
|
+
animation-delay: .3s;
|
265
|
+
}
|
266
|
+
&:nth-child(5) {
|
267
|
+
@include tblr-cust((bottom, 40px), (left, 63px));
|
268
|
+
animation-delay: .4s;
|
269
|
+
}
|
270
|
+
&:nth-child(6) {
|
271
|
+
@include tblr-cust((bottom, 46.78px), (left, 46.78px));
|
272
|
+
animation-delay: .5s;
|
273
|
+
}
|
274
|
+
&:nth-child(7) {
|
275
|
+
@include tblr-cust((top, 63px), (left, 40px));
|
276
|
+
animation-delay: .6s;
|
277
|
+
}
|
278
|
+
&:nth-child(8) {
|
279
|
+
@include tblr-cust((top, 46.78px), (left, 46.78px));
|
280
|
+
animation-delay: .7s;
|
281
|
+
}
|
282
|
+
}
|
283
|
+
}
|
284
|
+
/* ==================== END Spin Ball ==================== */
|
285
|
+
|
286
|
+
/* ==================== Spin Line ==================== */
|
287
|
+
.spin-line {
|
288
|
+
> div {
|
289
|
+
position: absolute;
|
290
|
+
animation: spin-line 1s infinite linear;
|
291
|
+
&:nth-child(1) { @include tblr-cust((top, 40px), (left, 67px)); }
|
292
|
+
&:nth-child(2) {
|
293
|
+
@include tblr-cust((top, 45.93px), (right, 53.43px));
|
294
|
+
@include transform(rotate(45deg));
|
295
|
+
animation-delay: .1s;
|
296
|
+
}
|
297
|
+
&:nth-child(3) {
|
298
|
+
@include tblr-cust((top, 60px), (right, 47px));
|
299
|
+
@include transform(rotate(90deg));
|
300
|
+
animation-delay: .2s;
|
301
|
+
}
|
302
|
+
&:nth-child(4) {
|
303
|
+
@include tblr-cust((bottom, 45.93px), (right, 53.43px));
|
304
|
+
@include transform(rotate(135deg));
|
305
|
+
animation-delay: .3s;
|
306
|
+
}
|
307
|
+
&:nth-child(5) {
|
308
|
+
@include tblr-cust((bottom, 40px), (left, 67px));
|
309
|
+
animation-delay: .4s;
|
310
|
+
}
|
311
|
+
&:nth-child(6) {
|
312
|
+
@include tblr-cust((bottom, 45.93px), (left, 53.43px));
|
313
|
+
@include transform(rotate(45deg));
|
314
|
+
animation-delay: .5s;
|
315
|
+
}
|
316
|
+
&:nth-child(7) {
|
317
|
+
@include tblr-cust((top, 60px), (left, 47px));
|
318
|
+
@include transform(rotate(90deg));
|
319
|
+
animation-delay: .6s;
|
320
|
+
}
|
321
|
+
&:nth-child(8) {
|
322
|
+
@include tblr-cust((top, 45.93px), (left, 53.43px));
|
323
|
+
@include transform(rotate(135deg));
|
324
|
+
animation-delay: .7s;
|
325
|
+
}
|
326
|
+
}
|
327
|
+
}
|
328
|
+
/* ==================== END Spin Line ==================== */
|
329
|
+
|
330
|
+
/* ==================== Time Loader ==================== */
|
331
|
+
.time-loader > div:not(:required) {
|
332
|
+
@include border-radius(100%);
|
333
|
+
@include box-sizing(border-box);
|
334
|
+
@include size(54px, 54px);
|
335
|
+
@extend .vm;
|
336
|
+
display: inline-block;
|
337
|
+
text-indent: -9999px;
|
338
|
+
border: 4px solid $blue_400;
|
339
|
+
overflow: hidden;
|
340
|
+
&:before,
|
341
|
+
&:after {
|
342
|
+
@include tblr-cust((top, 20px), (left, 20px));
|
343
|
+
@include border-radius(3px);
|
344
|
+
@include transform-origin(3px, 3px);
|
345
|
+
content: '';
|
346
|
+
position: absolute;
|
347
|
+
display: block;
|
348
|
+
background: $blue_400;
|
349
|
+
}
|
350
|
+
&:before {
|
351
|
+
@include size(6px, 26px);
|
352
|
+
animation: time-loader 1250ms infinite linear;
|
353
|
+
}
|
354
|
+
&:after {
|
355
|
+
@include size(6px, 20px);
|
356
|
+
animation: time-loader 15000ms infinite linear;
|
357
|
+
}
|
358
|
+
}
|
359
|
+
/* ==================== END Time Loader ==================== */
|
360
|
+
}
|
361
|
+
|
362
|
+
.layermask {
|
363
|
+
@include size(100%, 100%);
|
364
|
+
@include tblr-cust((top, 0), (left, 0));
|
365
|
+
position: fixed;
|
366
|
+
background: rgba(255,255,255,.6);
|
367
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
[class^="icon-select"],
|
2
|
+
[class*=" icon-select"],
|
3
|
+
[class^="icon-unselect"],
|
4
|
+
[class*=" icon-unselect"] {
|
5
|
+
position: relative;
|
6
|
+
&:not(.btn) {
|
7
|
+
@include size(20px, 30px);
|
8
|
+
margin-right: 8px;
|
9
|
+
}
|
10
|
+
&:before {
|
11
|
+
vertical-align: top;
|
12
|
+
font-size: 16px;
|
13
|
+
line-height: 30px;
|
14
|
+
}
|
15
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
.simpletextfield {
|
2
|
+
background: none;
|
3
|
+
border: none;
|
4
|
+
border-bottom: solid 2px $grey_300;
|
5
|
+
color: $grey_700;
|
6
|
+
&[disabled] { @include opacity(70); }
|
7
|
+
&.focus, &:focus {
|
8
|
+
border-bottom: solid 2px $blue_400;
|
9
|
+
color: $blue_400;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
.simplelabel {
|
13
|
+
@include line-height(30px, 30px);
|
14
|
+
@include font(14px, 400);
|
15
|
+
@include tblr-cust((top, 0), (left, 0));
|
16
|
+
@include user-select(none);
|
17
|
+
@include transition(0.2s);
|
18
|
+
position: absolute;
|
19
|
+
padding: 0 8px;
|
20
|
+
margin: 0 4px;
|
21
|
+
text-transform: uppercase;
|
22
|
+
color: $grey_500;
|
23
|
+
&.focus, &.filled {
|
24
|
+
@include font(12px, 400);
|
25
|
+
top: -24px;
|
26
|
+
}
|
27
|
+
&.focus { color: $blue_400; }
|
28
|
+
}
|
29
|
+
.simplelabel_error {
|
30
|
+
display: none;
|
31
|
+
width: 100%;
|
32
|
+
line-height: 20px;
|
33
|
+
padding: 0 4px;
|
34
|
+
font-size: 11px;
|
35
|
+
color: $red_500;
|
36
|
+
}
|
37
|
+
|
38
|
+
.field_with_errors {
|
39
|
+
.simpletextfield {
|
40
|
+
color: $red_500;
|
41
|
+
border-bottom: solid 2px $red_500;
|
42
|
+
&.focus, &:focus {
|
43
|
+
border-bottom: solid 2px $red_500;
|
44
|
+
color: $red_500;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
.simplelabel {
|
48
|
+
color: $red_500;
|
49
|
+
&.focus, &.filled {
|
50
|
+
color: $red_500;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
.simplelabel_error { display: block; }
|
54
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.tooltip {
|
2
|
+
@include border-radius(2px);
|
3
|
+
position: absolute;
|
4
|
+
display: block;
|
5
|
+
padding: 8px;
|
6
|
+
font-size: 12px;
|
7
|
+
line-height: 16px;
|
8
|
+
}
|
9
|
+
.simpletooltip:not(.no_i):after {
|
10
|
+
@extend .inline-middle;
|
11
|
+
@include border-radius(100%);
|
12
|
+
@include size(12px, 12px);
|
13
|
+
@include font(12px, 500);
|
14
|
+
content: "i";
|
15
|
+
line-height: 12px;
|
16
|
+
margin-left: 4px;
|
17
|
+
font-style: italic;
|
18
|
+
text-transform: lowercase;
|
19
|
+
text-align: center;
|
20
|
+
cursor: pointer;
|
21
|
+
}
|