Statistics
| Branch: | Revision:

blinker / firefox.plugin / data / style / text / keyboard.css @ master

History | View | Annotate | Download (21.345 KB)

1
/* keyboard - jQuery UI Widget */
2
.ui-keyboard {
3
    text-align: center;
4
    padding: .3em;
5
    position: absolute;
6
    left: 0;
7
    top: 0% !important;
8
    padding-top: 300px !important;
9
    z-index: 2000000132;
10
    /* see issue #484 */
11
    -ms-touch-action: manipulation;
12
    touch-action: manipulation;
13
}
14

    
15
.ui-keyboard .gsfi {
16
    border: 1px solid black !important;
17
    position: relative !important;
18
    background: none !important; 
19
    width: 99% !important;
20

    
21
}
22

    
23
.ui-keyboard-has-focus {
24
    z-index: 2000000132;
25
}
26
.ui-keyboard div {
27
    font-size: 1.1em;
28
}
29
.ui-keyboard-button {
30
    height: 2em;
31
    min-width: 2em;
32
    margin: .1em;
33
    cursor: pointer;
34
    overflow: hidden;
35
    line-height: 2em;
36
    -moz-user-focus: ignore;
37
}
38
.ui-keyboard-button span {
39
    padding: 0;
40
    margin: 0;
41
    white-space: nowrap;
42
    display: inline-block;
43
}
44
.ui-keyboard-button-endrow {
45
    clear: left;
46
}
47
.ui-keyboard-space {
48
    width: 15em;
49
}
50
/* see http://nicolasgallagher.com/another-css-image-replacement-technique/ */
51
.ui-keyboard-space span, .ui-keyboard-empty span {
52
    font: 0/0 a;
53
    text-shadow: none;
54
    color: transparent;
55
}
56
.ui-keyboard-preview-wrapper {
57
    text-align: center;
58
    position: relative;
59
    overflow: hidden;
60
    max-width: 1000px;
61
    margin: 30px auto;
62
}
63

    
64
.ui-keyboard-preview-wrapper textarea {
65
    max-height: 120px;
66
}
67
/* width is calculated in IE, since 99% = 99% full browser width =( */
68
.ui-keyboard-preview {
69
    text-align: left;
70
    margin: 0 0 3px 0;
71
    display: inline;
72
    width: 99%;
73
}
74
.ui-keyboard-keyset {
75
    text-align: center;
76
    white-space: nowrap;
77
}
78
.ui-keyboard-input {
79
    text-align: left;
80
}
81
.ui-keyboard-input-current {
82
    -moz-box-shadow: 0 0 5px #4d90fe;
83
    -webkit-box-shadow: 0 0 5px #4d90fe;
84
    box-shadow: 0 0 5px #4d90fe;
85
}
86
.ui-keyboard-placeholder {
87
    color: #888;
88
}
89
/* disabled or readonly inputs, or use
90
 input[disabled='disabled'] { color: #f00; } */
91
.ui-keyboard-nokeyboard {
92
    color: #888;
93
    border-color: #888;
94
}
95
.ui-keyboard-spacer {
96
    display: inline-block;
97
    width: 1px;
98
    height: 0;
99
    cursor: default;
100
}
101

    
102
.ui-keyboard-NBSP span, .ui-keyboard-ZWSP span, .ui-keyboard-ZWNJ span,
103
.ui-keyboard-ZWJ span, .ui-keyboard-LRM span, .ui-keyboard-RLM span {
104
    font-size: 0.5em;
105
    line-height: 1.5em;
106
    white-space: normal;
107
}
108

    
109
/* combo key styling - toggles diacritics on/off */
110
.ui-keyboard-button.ui-keyboard-combo.ui-state-default {
111
    border-color: #ffaf0f;
112
}
113

    
114
/* (in)valid inputs */
115
button.ui-keyboard-accept.ui-keyboard-valid-input {
116
    border-color: #0c0;
117
    background: #080;
118
    color: #fff;
119
}
120
button.ui-keyboard-accept.ui-keyboard-valid-input:not([disabled]):hover {
121
    background: #0a0;
122
}
123
button.ui-keyboard-accept.ui-keyboard-invalid-input {
124
    border-color: #c00;
125
    background: #800;
126
    color: #fff;
127
    opacity: 0.5;
128
    filter: alpha(opacity=50);
129
}
130
button.ui-keyboard-accept.ui-keyboard-invalid-input:not([disabled]):hover {
131
    background: #a00;
132
}
133

    
134
/*** Caret extension definition ***/
135
/* margin-top => is added to the caret height (top & bottom) */
136
.ui-keyboard-caret {
137
    background: #c00;
138
    width: 1px;
139
    margin-top: 3px;
140
}
141

    
142
/*** jQuery Mobile definitions ***/
143
/* jQuery Mobile styles - need wider buttons because of font size and
144
 text-overflow:ellipsis */
145
div.ui-body.ui-keyboard button.ui-keyboard-button.ui-btn {
146
    padding: 0.5em 1em;
147
    border-color: transparent;
148
}
149
.ui-body .ui-keyboard-button {
150
    width: 3em;
151
    height: 3em;
152
    display: inline-block;
153
}
154
.ui-body .ui-keyboard-widekey {
155
    width: 5.5em;
156
}
157
.ui-body .ui-keyboard-space {
158
    width: 15em;
159
}
160
.ui-body .ui-keyboard-space span {
161
    visibility: hidden; /* hides the ellipsis */
162
}
163
.ui-body .ui-keyboard-keyset {
164
    line-height: 0.5em;
165
}
166
.ui-body input.ui-input-text, .ui-body textarea.ui-input-text {
167
    width: 95%;
168
}
169

    
170
/* over-ride padding set by mobile ui theme - needed because the mobile script
171
 wraps button text with several more spans */
172
.ui-body .ui-btn-inner {
173
    height: 2em;
174
    padding: 0.2em 0;
175
    margin: 0;
176
}
177
.ui-body .ui-btn {
178
    margin: 0;
179
    font-size: 13px; /* mobile default size is 13px */
180
}
181

    
182
/* override Bootstrap excessive button padding */
183
button.ui-keyboard-button.btn {
184
    padding: 1px 6px;
185
}
186

    
187
/* enable/disable icons */
188
button.ui-keyboard-toggle span {
189
    width: .8em;
190
    height: .8em;
191
    display: inline-block;
192
    background-repeat: no-repeat;
193
    background-position: center center;
194
    background-size: contain;
195
}
196
/* unlocked icon (keyboard enabled) */
197
button.ui-keyboard-toggle span {
198
    /* light theme unlocked icon - fill: #111 */
199
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTguNyw0LjRINy41SDUuMHYtMS45YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40LDAtMi41LDEuMS0yLjUsMi41djEuOWgxLjIgdi0xLjljMC0wLjcsMC42LTEuMiwxLjItMS4yczEuMiwwLjYsMS4yLDEuMnYxLjljLTAuNywwLTEuMiwwLjYtMS4yLDEuMlY4LjggYzAsMC43LDAuNiwxLjIsMS4yLDEuMmg1LjBDOS40LDEwLDEwLDkuNCwxMCw4LjhWNS42QzEwLDUuMCw5LjQsNC40LDguOCw0LjR6IE02LjYsNy40djEuMCBjMCwwLjItMC4xLDAuMy0wLjMsMC4zUzYuMCw4LjYsNi4wLDguNFY3LjRjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zLDAuMy0wLjYsMC42LTAuNiBTNi45LDYuNiw2LjksNi45QzYuOSw3LjEsNi44LDcuMyw2LjYsNy40eiIvPjwvc3ZnPg==);
200
}
201
.ui-keyboard-dark-theme button.ui-keyboard-toggle span {
202
    /* dark theme unlocked icon - fill: #eee */
203
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iI2VlZSI+PHBhdGggZD0iTTguNyw0LjRINy41SDUuMHYtMS45YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40LDAtMi41LDEuMS0yLjUsMi41djEuOWgxLjIgdi0xLjljMC0wLjcsMC42LTEuMiwxLjItMS4yczEuMiwwLjYsMS4yLDEuMnYxLjljLTAuNywwLTEuMiwwLjYtMS4yLDEuMlY4LjggYzAsMC43LDAuNiwxLjIsMS4yLDEuMmg1LjBDOS40LDEwLDEwLDkuNCwxMCw4LjhWNS42QzEwLDUuMCw5LjQsNC40LDguOCw0LjR6IE02LjYsNy40djEuMCBjMCwwLjItMC4xLDAuMy0wLjMsMC4zUzYuMCw4LjYsNi4wLDguNFY3LjRjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zLDAuMy0wLjYsMC42LTAuNiBTNi45LDYuNiw2LjksNi45QzYuOSw3LjEsNi44LDcuMyw2LjYsNy40eiIvPjwvc3ZnPg==);
204
}
205

    
206
/* locked icon (keyboard disabled) */
207
button.ui-keyboard-toggle.ui-keyboard-disabled span {
208
    /* light theme locked icon - fill: #111 */
209
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTcuNCA0LjRWMi41YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40IDAtMi41IDEuMS0yLjUgMi41djEuOSBjLTAuNyAwLTEuMiAwLjUtMS4yIDEuMnYzLjFDMS4zIDkuNCAxLjggMTAgMi41IDEwaDQuOWMwLjcgMCAxLjItMC42IDEuMi0xLjJWNS42IEM4LjcgNC45IDguMSA0LjQgNy40IDQuNHogTTUuMyA3LjR2MS4wYzAgMC4yLTAuMSAwLjMtMC4zIDAuM2MtMC4yIDAtMC4zLTAuMS0wLjMtMC4zVjcuNCBjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zIDAuMy0wLjYgMC42LTAuNmMwLjMgMCAwLjYgMC4zIDAuNiAwLjYgQzUuNiA3LjEgNS41IDcuMyA1LjMgNy40eiBNNi4yIDQuNEgzLjdWMi41YzAtMC43IDAuNS0xLjIgMS4yLTEuMmMwLjcgMCAxLjIgMC42IDEuMiAxLjIgVjQuNHoiLz48L3N2Zz4=);
210
}
211
.ui-keyboard-dark-theme button.ui-keyboard-toggle.ui-keyboard-disabled span {
212
    /* dark theme locked icon - fill: #eee */
213
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iI2VlZSI+PHBhdGggZD0iTTcuNCA0LjRWMi41YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40IDAtMi41IDEuMS0yLjUgMi41djEuOSBjLTAuNyAwLTEuMiAwLjUtMS4yIDEuMnYzLjFDMS4zIDkuNCAxLjggMTAgMi41IDEwaDQuOWMwLjcgMCAxLjItMC42IDEuMi0xLjJWNS42IEM4LjcgNC45IDguMSA0LjQgNy40IDQuNHogTTUuMyA3LjR2MS4wYzAgMC4yLTAuMSAwLjMtMC4zIDAuM2MtMC4yIDAtMC4zLTAuMS0wLjMtMC4zVjcuNCBjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zIDAuMy0wLjYgMC42LTAuNmMwLjMgMCAwLjYgMC4zIDAuNiAwLjYgQzUuNiA3LjEgNS41IDcuMyA1LjMgNy40eiBNNi4yIDQuNEgzLjdWMi41YzAtMC43IDAuNS0xLjIgMS4yLTEuMmMwLjcgMCAxLjIgMC42IDEuMiAxLjIgVjQuNHoiLz48L3N2Zz4=);
214
}
215

    
216
.ui-keyboard.ui-keyboard-disabled button:not(.ui-keyboard-toggle),
217
.ui-keyboard.ui-keyboard-disabled input {
218
    opacity: 0.5;
219
}
220

    
221
/*** Alt-Keys Popup extension ***/
222
/* clickable overlay on top of keyboard to hide the popup */
223
.ui-keyboard-overlay {
224
    position: absolute;
225
    top: 0;
226
    left: 0;
227
    bottom: 0;
228
    right: 0;
229
    background: rgba(0, 0, 0, 0.5);
230
}
231
/* the actual popup styling, class names from the css.container option are also
232
 added */
233
.ui-keyboard-popup {
234
    display: inline-block;
235
    /* default buttons are 2em wide + .1em margin on either side (set in
236
    .ui-keyboard-button definition); so use multiples of 2.2em for a max-width
237
    if you don't want any extra white space on the sides, e.g.
238
    5 buttons * 2.2em = 11em,
239
    6 buttons * 2.2em = 13.2em, etc
240
    */
241
    max-width: 22em; /* 10 buttons */
242
}
243

    
244
/*** Extender keyboard extension ***/
245
div.ui-keyboard-extender {
246
    margin-left: 5px;
247
}
248
button.ui-keyboard-extender span {
249
    width: .9em;
250
    height: .9em;
251
    display: inline-block;
252
    margin-bottom: 3px;
253
    background-repeat: no-repeat;
254
    background-position: center center;
255
    background-size: contain;
256
    /* light theme extender icon - fill: #111 */
257
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGw6IzExMSI+PGc+PHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzExMSIgZD0iTSAwLjUsNC41IDE1LjUsNC41IDE1LjUsMTUuNSAwLjUsMTUuNSBaIj48L3BhdGg+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iMiIgeT0iNiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjYiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSI4IiB5PSI2Ij48L3JlY3Q+PHBhdGggZD0ibSAxMSw2IDMsMCAwLDUgLTIsMCAwLC0zIC0xLDAgeiI+PC9wYXRoPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjEyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjEyIj48L3JlY3Q+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iOSIgeT0iOSI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjYiIHk9IjkiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSIyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjkiPjwvcmVjdD48L2c+PC9zdmc+);
258
}
259
.ui-keyboard-dark-theme button.ui-keyboard-extender span {
260
    /* dark theme extender icon - fill: #eee */
261
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGw6I2VlZSI+PGc+PHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2VlZSIgZD0iTSAwLjUsNC41IDE1LjUsNC41IDE1LjUsMTUuNSAwLjUsMTUuNSBaIj48L3BhdGg+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iMiIgeT0iNiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjYiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSI4IiB5PSI2Ij48L3JlY3Q+PHBhdGggZD0ibSAxMSw2IDMsMCAwLDUgLTIsMCAwLC0zIC0xLDAgeiI+PC9wYXRoPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjEyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjEyIj48L3JlY3Q+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iOSIgeT0iOSI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjYiIHk9IjkiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSIyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjkiPjwvcmVjdD48L2c+PC9zdmc+);
262
}
263

    
264
/* Media Queries (optimized for jQuery UI themes;
265
 may be slightly off in jQuery Mobile themes) */
266
/* 240 x 320 (small phone)  */
267
@media all and (max-width: 319px) {
268
    .ui-keyboard div {
269
        font-size: 9px;
270
    }
271
    .ui-keyboard .ui-keyboard-input {
272
        font-size: 12px;
273
    }
274
    /* I don't own an iPhone so I have no idea how small this really is... is it
275
    even clickable with your finger? */
276
    .ui-body .ui-btn {
277
        margin: 0;
278
        font-size: 9px;
279
    }
280
    .ui-body .ui-keyboard-button {
281
        width: 1.8em;
282
        height: 2.5em;
283
    }
284
    .ui-body .ui-keyboard-widekey {
285
        width: 4em;
286
    }
287
    .ui-body .ui-keyboard-space {
288
        width: 8em;
289
    }
290
    .ui-body .ui-btn-inner {
291
        height: 2.5em;
292
        padding: 0.3em 0;
293
    }
294
}
295

    
296
/* 320 x 480 (iPhone)  */
297
@media all and (min-width: 320px) and (max-width: 479px) {
298
    .ui-keyboard div {
299
        font-size: 9px;
300
    }
301
    .ui-keyboard .ui-keyboard-input {
302
        font-size: 14px;
303
    }
304
    /* I don't own an iPhone so I have no idea how small this really is... is it
305
    even clickable with your finger? */
306
    .ui-body .ui-btn {
307
        margin: 0;
308
        font-size: 11px;
309
    }
310
    .ui-body .ui-keyboard-button {
311
        width: 1.8em;
312
        height: 3em;
313
    }
314
    .ui-body .ui-keyboard-widekey {
315
        width: 4.5em;
316
    }
317
    .ui-body .ui-keyboard-space {
318
        width: 10em;
319
    }
320
    .ui-body .ui-btn-inner {
321
        height: 3em;
322
        padding: 0.7em 0;
323
    }
324
}
325

    
326
/* 480 x 640 (small tablet) */
327
@media all and (min-width: 480px) and (max-width: 767px) {
328
    .ui-keyboard div {
329
        font-size: 13px;
330
    }
331
    .ui-keyboard .ui-keyboard-input {
332
        font-size: 14px;
333
    }
334
    .ui-body .ui-btn {
335
        margin: 0;
336
        font-size: 10px;
337
    }
338
    .ui-body .ui-keyboard-button {
339
        height: 2.5em;
340
    }
341
    .ui-body .ui-btn-inner {
342
        height: 2.5em;
343
        padding: 0.5em 0;
344
    }
345
}
346

    
347

    
348

    
349

    
350
/* *** keyboard light theme ***
351
  for when jQuery UI themes are not being used
352
  See https://jsfiddle.net/Mottie/jsh0377k/
353
 */
354
.ui-keyboard {
355
    /* adjust overall keyboard size using "font-size" */
356
    font-size: 14px;
357
    text-align: center;
358
    background: #fefefe;
359
    border: 1px solid #aaa;
360
    padding: 4px;
361

    
362
    /* include the following setting to place the
363
    keyboard at the bottom of the browser window */
364
    width: 100%;
365
    height: auto;
366
    left: 0px;
367
    top: auto;
368
    bottom: 0px;
369
    position: fixed;
370
    white-space: nowrap;
371
    overflow-x: auto;
372
    /* see issue #484 */
373
    -ms-touch-action: manipulation;
374
    touch-action: manipulation;
375
}
376
.ui-keyboard-has-focus {
377
    z-index: 2000000132;
378
}
379
.ui-keyboard-button {
380
    border: 1px solid #aaa;
381
    width: auto;
382
    padding: 0 2.2em;
383
    margin: 1px;
384
    min-width: 3em;
385
    height: 4.4em;
386
    line-height: 3em;
387
    vertical-align: top;
388
    font-family: Helvetica, Arial, sans-serif;
389
    color: #333;
390
    text-align: center;
391
    border-radius: 5px;
392
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.5);
393
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.5);
394
    background: white;
395
    background-image: -webkit-linear-gradient(-90deg, white 0%, #e3e3e3 100%);
396
    background-image:         linear-gradient(-90deg, white 0%, #e3e3e3 100%);
397
    cursor: pointer;
398
    overflow: hidden;
399
    -moz-user-focus: ignore;
400
    margin: 2px;
401
    transition:all .07s;
402
    font-size: 18px;
403
}
404

    
405
.ui-keyboard-button.openedElement {
406
    transform:scale(1.2);
407
    border-color:#4bc970;
408
    box-shadow: 0 0 10px #4bc970;
409
    transition:all .07s;
410
}
411

    
412
.ui-keyboard-button.openedElementPrev, .ui-keyboard-button.openedElementNext {
413
    transform:scale(1.1);
414
    border-color:#ffa200;
415
    box-shadow: 0 0 10px #ffa200;
416
}
417

    
418
.ui-keyboard-button.openedElementNext {
419
    border-color: #0216f8;
420
    box-shadow: 0 0 10px #0216f8;
421
}
422

    
423

    
424
.ui-keyboard-button:not([disabled]):hover {
425
    background: #eee;
426
    background-image: -webkit-linear-gradient(-90deg, #f2f2f2 0%, #d3d3d3 100%);
427
    background-image:         linear-gradient(-90deg, #f2f2f2 0%, #d3d3d3 100%);
428
}
429
.ui-keyboard-button:not([disabled]):active {
430
    background: #ddd;
431
    background-image: -webkit-linear-gradient(-90deg, #e5e5e5 0%, #d3d3d3 100%);
432
    background-image:         linear-gradient(-90deg, #e5e5e5 0%, #d3d3d3 100%);
433
}
434
.ui-keyboard-button span {
435
    display: block;
436
    width: 100%;
437
    font-size: 1.2em;
438
    text-align: center;
439
}
440
/* make action keys extra-wide */
441
.ui-keyboard-actionkey:not(.ui-keyboard-dec):not(.ui-keyboard-combo) {
442
    min-width: 6em;
443
}
444
.ui-keyboard-space {
445
    width: 15em;
446
}
447
.ui-keyboard-actionkey:not(.ui-keyboard-dec):not(.ui-keyboard-combo) span {
448
    font-size: 0.8em;
449
    position: relative;
450
    top: -1em;
451
    left: -1.6em;
452
}
453
.ui-keyboard-placeholder {
454
    color: #888;
455
}
456
/* disabled or readonly inputs, or use input[disabled='disabled'] { color: #f00; } */
457
.ui-keyboard-nokeyboard {
458
    color: #888;
459
    border-color: #888;
460
}
461
.ui-keyboard-spacer {
462
    display: inline-block;
463
    width: 1px;
464
    height: 0;
465
    cursor: default;
466
}
467
.ui-keyboard-NBSP span, .ui-keyboard-ZWSP span, .ui-keyboard-ZWNJ span, .ui-keyboard-ZWJ span,
468
.ui-keyboard-LRM span, .ui-keyboard-RLM span {
469
    font-size: 0.5em;
470
    line-height: 1.5em;
471
    white-space: normal;
472
}
473

    
474
/* combo key styling - toggles diacritics on/off */
475
.ui-keyboard-button.ui-keyboard-combo.ui-state-default {
476
    -webkit-box-shadow: 1px 1px 3px 0 rgba(213, 133, 18, 0.5);
477
            box-shadow: 1px 1px 3px 0 rgba(213, 133, 18, 0.5);
478
    border-color: #d58512;
479
}
480
.ui-keyboard-button.ui-keyboard-combo.ui-state-active {
481
    -webkit-box-shadow: 1px 1px 3px 0 rgba(38, 154, 188, 0.5);
482
            box-shadow: 1px 1px 3px 0 rgba(38, 154, 188, 0.5);
483
    border-color: #269abc;
484
}
485
/* (in)valid inputs */
486
button.ui-keyboard-accept.ui-keyboard-valid-input {
487
    -webkit-box-shadow: 1px 1px 3px 0 rgba(57, 132, 57, 0.5);
488
            box-shadow: 1px 1px 3px 0 rgba(57, 132, 57, 0.5);
489
    border-color: #398439;
490
}
491
button.ui-keyboard-accept.ui-keyboard-valid-input:not([disabled]):hover {
492
    border-color: #4cae4c;
493
}
494
button.ui-keyboard-accept.ui-keyboard-invalid-input {
495
    -webkit-box-shadow: 1px 1px 3px 0 rgba(172, 41, 37, 0.5);
496
            box-shadow: 1px 1px 3px 0 rgba(172, 41, 37, 0.5);
497
    border-color: #ac2925;
498
}
499
button.ui-keyboard-accept.ui-keyboard-invalid-input:not([disabled]):hover {
500
    border-color: #d43f3a;
501
}
502
/* unlocked icon (keyboard enabled) */
503
button.ui-keyboard-toggle span {
504
    width: .9em;
505
    height: .9em;
506
    display: inline-block;
507
    background-repeat: no-repeat;
508
    background-position: center center;
509
    background-size: contain;
510
    /* light theme unlocked icon - fill: #111 */
511
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTguNyw0LjRINy41SDUuMHYtMS45YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40LDAtMi41LDEuMS0yLjUsMi41djEuOWgxLjIgdi0xLjljMC0wLjcsMC42LTEuMiwxLjItMS4yczEuMiwwLjYsMS4yLDEuMnYxLjljLTAuNywwLTEuMiwwLjYtMS4yLDEuMlY4LjggYzAsMC43LDAuNiwxLjIsMS4yLDEuMmg1LjBDOS40LDEwLDEwLDkuNCwxMCw4LjhWNS42QzEwLDUuMCw5LjQsNC40LDguOCw0LjR6IE02LjYsNy40djEuMCBjMCwwLjItMC4xLDAuMy0wLjMsMC4zUzYuMCw4LjYsNi4wLDguNFY3LjRjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zLDAuMy0wLjYsMC42LTAuNiBTNi45LDYuNiw2LjksNi45QzYuOSw3LjEsNi44LDcuMyw2LjYsNy40eiIvPjwvc3ZnPg==');
512
}
513
/* locked icon (keyboard disabled) */
514
button.ui-keyboard-toggle.ui-keyboard-disabled span {
515
    /* light theme locked icon - fill: #111 */
516
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgZmlsbD0iIzExMSI+PHBhdGggZD0iTTcuNCA0LjRWMi41YzAtMS40LTEuMS0yLjUtMi41LTIuNWMtMS40IDAtMi41IDEuMS0yLjUgMi41djEuOSBjLTAuNyAwLTEuMiAwLjUtMS4yIDEuMnYzLjFDMS4zIDkuNCAxLjggMTAgMi41IDEwaDQuOWMwLjcgMCAxLjItMC42IDEuMi0xLjJWNS42IEM4LjcgNC45IDguMSA0LjQgNy40IDQuNHogTTUuMyA3LjR2MS4wYzAgMC4yLTAuMSAwLjMtMC4zIDAuM2MtMC4yIDAtMC4zLTAuMS0wLjMtMC4zVjcuNCBjLTAuMi0wLjEtMC4zLTAuMy0wLjMtMC41YzAtMC4zIDAuMy0wLjYgMC42LTAuNmMwLjMgMCAwLjYgMC4zIDAuNiAwLjYgQzUuNiA3LjEgNS41IDcuMyA1LjMgNy40eiBNNi4yIDQuNEgzLjdWMi41YzAtMC43IDAuNS0xLjIgMS4yLTEuMmMwLjcgMCAxLjIgMC42IDEuMiAxLjIgVjQuNHoiLz48L3N2Zz4=');
517
}
518
.ui-keyboard.ui-keyboard-disabled button:not(.ui-keyboard-toggle), .ui-keyboard.ui-keyboard-disabled input {
519
    opacity: 0.5;
520
}
521

    
522
/*** Alt-Keys Popup extension ***/
523
/* clickable overlay on top of keyboard to hide the popup */
524
.ui-keyboard-overlay {
525
    position: absolute;
526
    top: 0;
527
    left: 0;
528
    bottom: 0;
529
    right: 0;
530
    background: rgba(238, 238, 238, 0.5);
531
}
532
/* the actual popup styling, class names from the css.container option are also added */
533
.ui-keyboard-popup {
534
    display: inline-block;
535
    /* default buttons are 2em wide + .1em margin on either side (set in .ui-keyboard-button definition);
536
    so use multiples of 2.2em   for a max-width if you don't want any extra white space on the sides,
537
    e.g. 5 buttons * 2.2em = 11em, 6 buttons * 2.2em = 13.2em, etc */
538
    max-width: 22em;
539
    /* 10 buttons */
540
}
541

    
542
/*** Caret extension definition ***/
543
/* margin-top => is added to the caret height (top & bottom) */
544
.ui-keyboard-caret {
545
    background: #c00;
546
    width: 1px;
547
    margin-top: 3px;
548
}
549

    
550
/*** Extender keyboard extension ***/
551
div.ui-keyboard-extender {
552
    margin-left: 5px;
553
    margin-right: 10px;
554
}
555
button.ui-keyboard-extender span {
556
    width: .9em;
557
    height: .9em;
558
    display: inline-block;
559
    margin-bottom: 3px;
560
    background-repeat: no-repeat;
561
    background-position: center center;
562
    background-size: contain;
563
    /* light theme extender icon - fill: #111 */
564
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3R5bGU9ImZpbGw6IzExMSI+PGc+PHBhdGggc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzExMSIgZD0iTSAwLjUsNC41IDE1LjUsNC41IDE1LjUsMTUuNSAwLjUsMTUuNSBaIj48L3BhdGg+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iMiIgeT0iNiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjYiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSI4IiB5PSI2Ij48L3JlY3Q+PHBhdGggZD0ibSAxMSw2IDMsMCAwLDUgLTIsMCAwLC0zIC0xLDAgeiI+PC9wYXRoPjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjEyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSI2IiBoZWlnaHQ9IjIiIHg9IjUiIHk9IjEyIj48L3JlY3Q+PHJlY3Qgd2lkdGg9IjIiIGhlaWdodD0iMiIgeD0iOSIgeT0iOSI+PC9yZWN0PjxyZWN0IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHg9IjYiIHk9IjkiPjwvcmVjdD48cmVjdCB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB4PSIyIiB5PSIxMiI+PC9yZWN0PjxyZWN0IHdpZHRoPSIzIiBoZWlnaHQ9IjIiIHg9IjIiIHk9IjkiPjwvcmVjdD48L2c+PC9zdmc+');
565
}