yetty 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +2 -0
  3. data/LICENSE +0 -0
  4. data/README.md +66 -0
  5. data/bin/yetty +9 -4
  6. data/lib/yetty.rb +15 -0
  7. data/lib/yetty/command.rb +136 -0
  8. data/lib/yetty/play.rb +23 -0
  9. data/lib/yetty/push.rb +44 -0
  10. data/lib/yetty/record.rb +73 -0
  11. data/lib/yetty/site.rb +23 -0
  12. data/lib/yetty/site/app.rb +91 -0
  13. data/lib/yetty/site/static/assets/term/bg-gradient.png +0 -0
  14. data/lib/yetty/site/static/config.rb +26 -0
  15. data/lib/yetty/site/static/css/fd-slider.css +1004 -0
  16. data/lib/yetty/site/static/css/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  17. data/lib/yetty/site/static/css/fonts/bootstrap/glyphicons-halflings-regular.svg +229 -0
  18. data/lib/yetty/site/static/css/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  19. data/lib/yetty/site/static/css/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  20. data/lib/yetty/site/static/css/player.css +165 -0
  21. data/lib/yetty/site/static/css/styles.css +8035 -0
  22. data/lib/yetty/site/static/js/bootstrap.js +2323 -0
  23. data/lib/yetty/site/static/js/bootstrap.min.js +12 -0
  24. data/lib/yetty/site/static/js/config.json +429 -0
  25. data/lib/yetty/site/static/js/jquery-2.1.1.min.js +4 -0
  26. data/lib/yetty/site/static/js/nyan/runner.js +92 -0
  27. data/lib/yetty/site/static/js/nyan/three.min.js +724 -0
  28. data/lib/yetty/site/static/js/nyan/threex.nyancat.js +193 -0
  29. data/lib/yetty/site/static/js/nyan/threex.nyancatrainbow.js +89 -0
  30. data/lib/yetty/site/static/js/nyan/threex.nyancatsound.js +33 -0
  31. data/lib/yetty/site/static/js/nyan/threex.nyancatstars.js +116 -0
  32. data/lib/yetty/site/static/js/player/fd-slider.min.js +2 -0
  33. data/lib/yetty/site/static/js/player/player.js +371 -0
  34. data/lib/yetty/site/static/js/player/term.js +4177 -0
  35. data/lib/yetty/site/static/sass/_bootstrap-variables.scss +818 -0
  36. data/lib/yetty/site/static/sass/player.scss +139 -0
  37. data/lib/yetty/site/static/sass/styles.scss +3 -0
  38. data/lib/yetty/site/static/sounds/nyanlooped.mp3 +0 -0
  39. data/lib/yetty/site/static/sounds/nyanslow.mp3 +0 -0
  40. data/lib/yetty/site/views/about.haml +8 -0
  41. data/lib/yetty/site/views/index.haml +13 -0
  42. data/lib/yetty/site/views/layout.haml +33 -0
  43. data/lib/yetty/site/views/recording.haml +34 -0
  44. data/lib/yetty/site/views/recordings.haml +7 -0
  45. data/lib/yetty/site/views/user.haml +28 -0
  46. data/lib/yetty/site/views/users.haml +16 -0
  47. data/lib/yetty/ui.rb +103 -0
  48. data/lib/yetty/user.rb +42 -0
  49. data/lib/yetty/version.rb +4 -0
  50. data/yetty.gemspec +21 -0
  51. metadata +49 -16
@@ -0,0 +1,26 @@
1
+ require 'bootstrap-sass'
2
+ # Require any additional compass plugins here.
3
+
4
+
5
+ # Set this to the root of your project when deployed:
6
+ http_path = "/"
7
+ css_dir = "css"
8
+ sass_dir = "sass"
9
+ images_dir = "images"
10
+ javascripts_dir = "js"
11
+
12
+ # You can select your preferred output style here (can be overridden via the command line):
13
+ # output_style = :expanded or :nested or :compact or :compressed
14
+
15
+ # To enable relative paths to assets via compass helper functions. Uncomment:
16
+ # relative_assets = true
17
+
18
+ # To disable debugging comments that display the original location of your selectors. Uncomment:
19
+ # line_comments = false
20
+
21
+
22
+ # If you prefer the indented syntax, you might want to regenerate this
23
+ # project again passing --syntax sass, or you can uncomment this:
24
+ # preferred_syntax = :sass
25
+ # and then run:
26
+ # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
@@ -0,0 +1,1004 @@
1
+ /*
2
+
3
+ Don't use this version of the file in a production environment. A minified
4
+ version tailored specifically to your needs can be generated in-browser by
5
+ using the /css-generator/index.html file.
6
+
7
+ Notes for the adventurous:
8
+
9
+ 1. The script automagically adds the classname "oldie" to IE6, 7 & 8.
10
+
11
+ 2. A combination of the .oldie class and "safe css hacks" are used to target
12
+ specific IE versions. See: http://mathiasbynens.be/notes/safe-css-hacks
13
+
14
+ 3. MSHTML has been used to base64 encode the various png images used for the
15
+ drag handle in IE6 and 7. IE7 gets served one base64 encoded image sprite
16
+ whereas IE6 gets served individual base64 encoded images.
17
+
18
+ See: http://www.phpied.com/the-proper-mhtml-syntax/ for more info on MHTML
19
+
20
+ The base64 encoded images have been placed into their own .mht file. This
21
+ means only IE6 and 7 will ever be burdened with downloading the file.
22
+
23
+ A Microsoft security update in July 2011 means that .mht files now have to
24
+ be delivered with the mimetype "message/rfc822". If using IIS, there is
25
+ nothing to do as IIS appears to default to using the required
26
+ "message/rfc822" mimetype, if using Apache, there are two ways in which to
27
+ configure this behaviour:
28
+
29
+ A. You have Admin rights and can restart the Apache server
30
+
31
+ Update the apache_root/httpd/conf/Srm.conf file and add the following
32
+ line:
33
+
34
+ AddType message/rfc822 mht
35
+
36
+ This method requires that you restart Apache.
37
+
38
+ B. You can simply use an htaccess directive
39
+
40
+ You can add the following to an .htaccess file that sits in the same
41
+ directory as the .mht file (or to an htaccess file at the root of your
42
+ website if one exists already):
43
+
44
+ AddType message/rfc822 mht
45
+
46
+ You do not need to restart Apache for the change to take effect.
47
+
48
+ Yikes - I cant do either of the above!
49
+
50
+ Don't worry, using the .mht file isn't compulsory - just replace the
51
+ various mhtml: references (found within the .oldie classes) to point to
52
+ the correct image file on your server (not forgetting to actually upload
53
+ the image files to your server of course).
54
+
55
+ All of the relevant rules have further instructions embedded within them.
56
+
57
+ 4. All browsers but IE6 get one "normal" base64 encoded image sprite. IE6 has
58
+ to use separate images for each animation state.
59
+
60
+ 5. The drag handle is only 20px in width & height, most probably not suitable
61
+ for touch screen devices.
62
+
63
+ 6. It's painless to base64 encode your own images, use an online encoder.
64
+ See: http://www.google.com/search?q=base+64+encoder - the only problem is
65
+ that IE6 needs each frame of the handle sprite to be encoded individually.
66
+
67
+ 7. If you want to use a different image for vertical slider drag handles,
68
+ uncomment the relevant classes below (easy to spot as they all have the
69
+ classname ".fd-slider-vertical" somewhere within the declaration).
70
+
71
+ 8. As a reminder, the following HTML is being targetted by the CSS:
72
+
73
+ <span class="fd-slider[-vertical]"
74
+ id="fd-slider-[the associated form element id]"
75
+ role="application"
76
+ aria-disabled="false">
77
+ <span class="fd-slider-wrapper (fd-slider-[focus|hover|no-value|disabled|active])">
78
+ <span class="fd-slider-inner"></span>
79
+ <span class="fd-slider-range"></span>
80
+ <span class="fd-slider-bar"></span>
81
+ <span class="fd-slider-handle"
82
+ tabindex="0"
83
+ role="slider"
84
+ aria-valuemin="-10"
85
+ aria-valuemax="10"
86
+ aria-labelledby="[the associated form element label id]"
87
+ id="fd-slider-handle-[the associated form element id]"
88
+ aria-describedby="fd-slider-describedby"
89
+ aria-valuenow="-3.50"
90
+ aria-valuetext="-3.50">&nbsp;</span>
91
+ </span>
92
+ </span>
93
+
94
+ */
95
+
96
+ /*
97
+ Element: Form element associated with the slider
98
+ Notes: The styles given to the associated form element in order to hide
99
+ it within the display
100
+ */
101
+ .fd-form-element-hidden
102
+ {
103
+ display:none;
104
+ }
105
+ /*
106
+ Element: Outer wrapper
107
+ Orientation: Horizontal
108
+ */
109
+ .fd-slider
110
+ {
111
+ width:100%;
112
+ height:20px;
113
+ margin:0 0 10px 0;
114
+ }
115
+ /*
116
+ Element: Outer wrapper
117
+ Orientation: Vertical
118
+ Notes: You may wish to float the vertical sliders left or use
119
+ display:inline-block (inline-block should work even in IE6 as the slider
120
+ is constructed from span elements but don't quote me on that)
121
+ */
122
+ .fd-slider-vertical
123
+ {
124
+ width:20px;
125
+ height:100%;
126
+ margin:0 10px 10px 0;
127
+ }
128
+ /*
129
+ Element: Outer wrapper
130
+ Orientation: Both horizontal & vertical
131
+ */
132
+ .fd-slider,
133
+ .fd-slider-vertical
134
+ {
135
+ text-align:center;
136
+ display:block;
137
+ position:relative;
138
+ cursor:pointer;
139
+ text-decoration:none;
140
+ border:0 none;
141
+ -webkit-user-select: none;
142
+ -khtml-user-select: none;
143
+ -moz-user-select: none;
144
+ -ms-user-select: none;
145
+ -o-user-select: none;
146
+ user-select: none;
147
+ }
148
+ /*
149
+ Element: Outer Wrapper
150
+ Orientation: Both horizontal & vertical
151
+ Notes: IE6 & 7 need a transparent gif as a background in order for
152
+ hover events to work. This has been base64 encoded within the .mht file.
153
+ As it's not a png, no AlphaImageLoader filter is required for IE6.
154
+ */
155
+ .oldie .fd-slider,
156
+ .oldie .fd-slider-vertical
157
+ {
158
+ /*
159
+ If using the .mht file then uncomment the following rule and edit the
160
+ filepath to match the absolute path to the fd-slider.mht file on your
161
+ server (replace "www.your-domain.com/the/path/to/")
162
+ */
163
+
164
+ /*
165
+
166
+ *background:transparent url(mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!blank) repeat;
167
+
168
+ */
169
+
170
+ /*
171
+ If not using the .mht file then uncomment the following rule and edit
172
+ the filepath to match the absolute path to the blank.gif file on your
173
+ server (replace "www.your-domain.com/the/path/to/")
174
+ */
175
+
176
+ /*
177
+
178
+ *background:transparent url(http://www.your-domain.com/the/path/to/blank.gif) repeat;
179
+
180
+ */
181
+ }
182
+ /*
183
+ Element: Inner wrapper
184
+ Notes: All other DOM elements added as children to this element.
185
+ */
186
+ .fd-slider-wrapper
187
+ {
188
+ position:absolute;
189
+ top:0;
190
+ left:0;
191
+ width:100%;
192
+ height:100%;
193
+ }
194
+ /*
195
+ Element: Inner wrapper
196
+ Notes: IE6 needs an expression as it cannot do a height:100% on
197
+ absolutely positioned elements and it also can't position on four
198
+ corners - so we are left with a "one time evaluated" self-deleting
199
+ expression to do the dirty work.
200
+ */
201
+
202
+ .oldie .fd-slider-vertical .fd-slider-wrapper
203
+ {
204
+ *clear:expression(style.height=parentNode.offsetHeight+'px',style.clear='none', 0);
205
+ }
206
+ /*
207
+ Element: ieBlur shiv
208
+ Notes: Used only by IE for the onfocus "Blur" effect
209
+ */
210
+ .fd-slider-inner
211
+ {
212
+ display:none;
213
+ }
214
+ /*
215
+ Element: ieBlur shiv
216
+ Orientation: Horizontal
217
+ Notes: IE6, 7 & 8 only.
218
+ Use the "Blur" filter to simulate the box-shadow - not brilliant but the
219
+ best we can do for IE. IE6 can't absolutely position on 4 sides so we
220
+ reset the right to "auto" and use a nasty expression to calculate the
221
+ width dynamically.
222
+ */
223
+ .oldie .fd-slider-inner
224
+ {
225
+ position:absolute;
226
+ height:2px;
227
+ border:1px solid #bbf;
228
+ background:#bbf;
229
+ top:4px;
230
+ bottom:auto;
231
+ left:4px;
232
+ right:12px;
233
+ z-index:2;
234
+ margin:0;
235
+ padding:0;
236
+ overflow:hidden;
237
+ line-height:4px;
238
+ _right:auto;
239
+ _width:expression((this.parentNode.offsetWidth - 12) + "px");
240
+ filter:progid:DXImageTransform.Microsoft.Blur(pixelradius=3.5);
241
+ }
242
+ /*
243
+ Element: ieBlur shiv
244
+ Orientation: Vertical
245
+ Notes: Reposition the "Blur" filter for the vertical slider for IE6,
246
+ 7 & 8. The "Blur" filter rule cascades from the rule above so no need to
247
+ redeclare here, we just reposition.
248
+ */
249
+ .oldie .fd-slider-vertical .fd-slider-inner
250
+ {
251
+ width:2px;
252
+ height:auto;
253
+ bottom:12px;
254
+ right:auto;
255
+ _bottom:auto;
256
+ *clear:expression(style.height=(parentNode.offsetHeight - 8)+'px',style.clear='none', 0);
257
+ }
258
+ /*
259
+ Element: ieBlur shiv
260
+ Orientation: Horizontal & Vertical
261
+ Notes: Display the "Blurred" inner div for IE6, 7 & 8 when the slider
262
+ gains focus
263
+ */
264
+ .oldie .fd-slider-focused .fd-slider-inner
265
+ {
266
+ display:block;
267
+ }
268
+ /*
269
+ Element: Inner track bar
270
+ Orientation: Horizontal
271
+ */
272
+ .fd-slider-bar
273
+ {
274
+ display:block;
275
+ position:absolute;
276
+ top:8px;
277
+ right:10px;
278
+ left:10px;
279
+ z-index:2;
280
+ height:2px;
281
+ margin:0;
282
+ padding:0;
283
+ overflow:hidden;
284
+ border:1px solid #bbb;
285
+ border-bottom:1px solid #aaa;
286
+ border-right:1px solid #aaa;
287
+ border:1px solid rgba(187, 187, 187, .8);
288
+ border-bottom:1px solid rgba(170, 170, 170, .8);
289
+ border-right:1px solid rgba(170, 170, 170, .8);
290
+ line-height:4px;
291
+ background-color:#ddd;
292
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#ececec), to(#ccc));
293
+ background-image: -webkit-linear-gradient(top, #ececec, #ccc);
294
+ background-image: -moz-linear-gradient(top, #ececec, #ccc);
295
+ background-image: -ms-linear-gradient(top, #ececec, #ccc);
296
+ background-image: -o-linear-gradient(top, #ececec, #ccc);
297
+ background-image: linear-gradient(to bottom, #ececec, #ccc);
298
+ border-radius:2px;
299
+ -webkit-background-clip: padding-box;
300
+ -moz-background-clip: padding;
301
+ background-clip: padding-box;
302
+ }
303
+ /*
304
+ Element: Inner track bar
305
+ Orientation: Horizontal
306
+ Notes: For IE6 & 7 & 8. IE6 does not recognise absolute positioning on
307
+ four sides (top, right, bottom & left) so we use an expression to
308
+ dynamically calculate the track bar size. Yes, it is horrible - you
309
+ don't need to remind me.
310
+ */
311
+ .oldie .fd-slider-bar
312
+ {
313
+ _right:auto;
314
+ _width:expression((this.parentNode.offsetWidth - 20) + "px");
315
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffececec',endColorstr='#ffcccccc');
316
+ }
317
+ /*
318
+ Element: Inner track bar
319
+ Orientation: Vertical
320
+ */
321
+ .fd-slider-vertical .fd-slider-bar
322
+ {
323
+ width:2px;
324
+ top:10px;
325
+ right:auto;
326
+ bottom:10px;
327
+ left:8px;
328
+ height:auto;
329
+ background-color:#ddd;
330
+ background-image: -webkit-gradient(linear, left top, right top, from(#ececec), to(#ccc));
331
+ background-image: -webkit-linear-gradient(left, #ececec, #ccc);
332
+ background-image: -moz-linear-gradient(left, #ececec, #ccc);
333
+ background-image: -ms-linear-gradient(left, #ececec, #ccc);
334
+ background-image: -o-linear-gradient(left, #ececec, #ccc);
335
+ background-image: linear-gradient(to right, #ececec, #ccc);
336
+ }
337
+ /*
338
+ Element: Inner track bar
339
+ Orientation: Vertical
340
+ Notes: For IE6 & 7 & 8. The gradient filter colour strings in AARRGGBB
341
+ format (to save you one less google). IE6 gets repositioned and alas,
342
+ an expression to calculate the height.
343
+ */
344
+ .oldie .fd-slider-vertical .fd-slider-bar
345
+ {
346
+ _bottom:auto;
347
+ *clear:expression(style.height=(parentNode.offsetHeight - 20)+'px',style.clear='none', 0);
348
+ filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffececec',endColorstr='#ffcccccc');
349
+ }
350
+ /*
351
+ Element: Inner track bar
352
+ Orientation: Horizontal & Vertical
353
+ State: Focused
354
+ Notes: Drop shadow on the inner bar when focused - newer browsers get
355
+ an animation. IE6, 7 & 8 get a "Blur" filter on an inner SPAN
356
+ .fd-slider-inner instead
357
+ */
358
+ .fd-slider-focused .fd-slider-bar
359
+ {
360
+ box-shadow: 0 0 6px rgba(10, 130, 170, 0.7);
361
+ -webkit-animation:fd-pulse 2s infinite;
362
+ -moz-animation:fd-pulse 2s infinite;
363
+ -o-animation:fd-pulse 2s infinite;
364
+ animation:fd-pulse 2s infinite;
365
+ }
366
+ /*
367
+ Element: Inner animated range bar
368
+ Orientation: Horizontal
369
+ */
370
+ .fd-slider-range
371
+ {
372
+ display:block;
373
+ position:absolute;
374
+ top:9px;
375
+ left:11px;
376
+ z-index:3;
377
+ height:2px;
378
+ margin:0;
379
+ padding:0;
380
+ overflow:hidden;
381
+ line-height:2px;
382
+ background-color:#4cc;
383
+ background-image: -webkit-gradient(linear, left top, right top, from(#6cc), to(#3cf));
384
+ background-image: -webkit-linear-gradient(left, #6cc, #3cf);
385
+ background-image: -moz-linear-gradient(left, #6cc, #3cf);
386
+ background-image: -ms-linear-gradient(left, #6cc, #3cf);
387
+ background-image: -o-linear-gradient(left, #6cc, #3cf);
388
+ background-image: linear-gradient(to right, #6cc, #3cf);
389
+ border-radius:2px;
390
+ -webkit-background-clip: padding-box;
391
+ -moz-background-clip: padding;
392
+ background-clip: padding-box;
393
+ }
394
+ /*
395
+ Element: Inner range bar
396
+ Orientation: Horizontal
397
+ Notes: IE6, 7 & 8
398
+ */
399
+ .oldie .fd-slider-range
400
+ {
401
+ /* IE6 - is this needed? To test. */
402
+ _left:10px;
403
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ff66cccc',endColorstr='#ff33ccff');
404
+ }
405
+ /*
406
+ Element: Inner range bar
407
+ Orientation: Vertical
408
+ */
409
+ .fd-slider-vertical .fd-slider-range
410
+ {
411
+ height:auto;
412
+ width:2px;
413
+ top:auto;
414
+ right:auto;
415
+ bottom:11px;
416
+ left:9px;
417
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#3cf), to(#6cc));
418
+ background-image: -webkit-linear-gradient(top, #3cf, #6cc);
419
+ background-image: -moz-linear-gradient(top, #3cf, #6cc);
420
+ background-image: -ms-linear-gradient(top, #3cf, #6cc);
421
+ background-image: -o-linear-gradient(top, #3cf, #6cc);
422
+ background-image: linear-gradient(to bottom, #3cf, #6cc);
423
+ }
424
+ /*
425
+ Element: Inner range bar
426
+ Orientation: Vertical
427
+ Notes: IE6, 7 & 8
428
+ */
429
+ .oldie .fd-slider-vertical .fd-slider-range
430
+ {
431
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ff66cccc',endColorstr='#ff33ccff');
432
+ }
433
+ /*
434
+ Element: Drag handle
435
+ Orientation: Horizontal
436
+ State: Default.
437
+ Notes: The image sprite used for the handle is base64 encoded below. IE7
438
+ gets its own version within the .mht file, IE6 does not use an image
439
+ sprite and it is necessary to base64 encode individual animation frames
440
+ within the .mht file.
441
+ */
442
+ .fd-slider-handle
443
+ {
444
+ position:absolute;
445
+ display:block;
446
+ padding:0;
447
+ border:0 none;
448
+ margin:0;
449
+ z-index:3;
450
+ top:0;
451
+ left:0;
452
+ width:20px;
453
+ height:20px;
454
+ outline:0 none;
455
+ background-color:transparent;
456
+ background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAABQCAYAAAAZQFV3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRDg4NEVDNENDODExRTFCMTZDREIyQTZDMjlDNTQ2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRDg4NEVENENDODExRTFCMTZDREIyQTZDMjlDNTQ2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUVEODg0RUE0Q0M4MTFFMUIxNkNEQjJBNkMyOUM1NDYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUVEODg0RUI0Q0M4MTFFMUIxNkNEQjJBNkMyOUM1NDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz68iMNZAAAIQElEQVR42uxYW28b1xGe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);
457
+ background-position:0 0;
458
+ cursor:W-resize;
459
+ line-height:20px;
460
+ font-size:10px;
461
+ -moz-outline:0 none;
462
+ -webkit-touch-callout: none;
463
+ -webkit-user-select: none;
464
+ -khtml-user-select: none;
465
+ -moz-user-select: none;
466
+ -ms-user-select: none;
467
+ -o-user-select: none;
468
+ user-select: none;
469
+ }
470
+ /*
471
+ Element: Drag handle
472
+ Orientation: Horizontal
473
+ State: Default
474
+ Notes: IE6, 7 & 8 use a nasty expression in order to not draw focus
475
+ outline on drag handle.
476
+ */
477
+ .oldie .fd-slider-handle
478
+ {
479
+ /* IE6 & 7 - set the handle sprite as the background image */
480
+
481
+ /*
482
+ If using the .mht file then uncomment the following rule and edit the
483
+ filepath to match the absolute path to the fd-slider.mht file on your
484
+ server (replace "www.your-domain.com/the/path/to/")
485
+ */
486
+
487
+ /*
488
+
489
+ *background-image:url(mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!fullsprite);
490
+
491
+ */
492
+
493
+ /*
494
+ If not using the .mht file then uncomment the following rule and edit
495
+ the filepath to match the absolute path to the fd-slider-sprite.png
496
+ file on your server (replace "www.your-domain.com/the/path/to/")
497
+ */
498
+
499
+ /*
500
+
501
+ *background-image:url(http://www.your-domain.com/the/path/to/fd-slider-sprite.png);
502
+
503
+ */
504
+
505
+ /**********************************************************************/
506
+
507
+ /* IE6 - reset the background image sprite stipulated above. */
508
+ _background-image:none;
509
+
510
+ /*
511
+ IE6 - use the AlphaImageLoader to either load a base64 encoded image
512
+ from the .mht file or a normal png image from the server
513
+ */
514
+
515
+ /*
516
+ If using the .mht file then uncomment the following rule and edit the
517
+ filepath to match the absolute path to the fd-slider.mht file on your
518
+ server (replace "www.your-domain.com/the/path/to/")
519
+ */
520
+
521
+ /*
522
+
523
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!handlenormal');
524
+
525
+ */
526
+
527
+ /*
528
+ If not using the .mht file then uncomment the following rule and edit
529
+ the filepath to match the absolute path to the fd-handle-normal.png
530
+ file on your server (replace "www.your-domain.com/the/path/to/")
531
+ */
532
+
533
+ /*
534
+
535
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='http://www.your-domain.com/the/path/to/fd-handle-normal.png');
536
+
537
+ */
538
+
539
+ /* IE6, 7 & 8 */
540
+ outline:expression(hideFocus='true');
541
+ }
542
+ /*
543
+ Element: Drag handle
544
+ Orientation: Horizontal & Vertical
545
+ State: Focused
546
+ Notes: Attempts to remove the focus outline, remove the rule if it
547
+ offends your sensibilities.
548
+ */
549
+ .fd-slider-handle:focus
550
+ {
551
+ outline:0 none;
552
+ border:0 none;
553
+ -moz-user-focus:normal;
554
+ }
555
+ .fd-slider-handle:focus::-moz-focus-inner
556
+ {
557
+ border-color: transparent;
558
+ }
559
+ /*
560
+ Element: Drag handle
561
+ Orientation: Horizontal
562
+ State: Focused and Hovered and also while handle is animating into
563
+ position or being dragged.
564
+ Notes: I'm using the same image for focused, hover and active states
565
+ but you can, of course, go wild.
566
+ */
567
+ .fd-slider-focused .fd-slider-handle,
568
+ .fd-slider-hover .fd-slider-handle,
569
+ .fd-slider-active .fd-slider-handle
570
+ {
571
+ background-position:0 -20px;
572
+ }
573
+ /*
574
+ Element: Drag handle
575
+ Orientation: Horizontal
576
+ State: Focused and Hovered and also while handle is animating into
577
+ position or being dragged.
578
+ Notes: IE6 only.
579
+ */
580
+ .oldie .fd-slider-focused .fd-slider-handle,
581
+ .oldie .fd-slider-hover .fd-slider-handle,
582
+ .oldie .fd-slider-active .fd-slider-handle
583
+ {
584
+ /*
585
+ IE6 - use the AlphaImageLoader to either load a base64 encoded image
586
+ from the .mht file or a normal png image from the server
587
+ */
588
+
589
+ /*
590
+ If using the .mht file then uncomment the following rule and edit the
591
+ filepath to match the absolute path to the fd-slider.mht file on your
592
+ server (replace "www.your-domain.com/the/path/to/")
593
+ */
594
+
595
+ /*
596
+
597
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!handleglow');
598
+
599
+ */
600
+
601
+ /*
602
+ If not using the .mht file then uncomment the following rule and edit
603
+ the filepath to match the absolute path to the fd-handle-glow.png
604
+ file on your server (replace "www.your-domain.com/the/path/to/")
605
+ */
606
+
607
+ /*
608
+
609
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='http://www.your-domain.com/the/path/to/fd-handle-glow.png');
610
+
611
+ */
612
+ }
613
+ /*
614
+ Element: Drag handle
615
+ Orientation: Vertical
616
+ Notes: Change the cursor to the correct icon.
617
+ */
618
+ .fd-slider-vertical .fd-slider-handle
619
+ {
620
+ cursor:N-resize;
621
+ }
622
+ /*
623
+ Element: Drag handle
624
+ Orientation: Vertical
625
+ Notes: IE6, 7 & 8
626
+
627
+ .oldie .fd-slider-vertical .fd-slider-handle
628
+ {
629
+ }
630
+ */
631
+ /*
632
+ Element: Drag handle
633
+ Orientation: Vertical
634
+ State: Focused and Hovered and also while handle is animating into
635
+ position or being dragged.
636
+
637
+ .fd-slider-vertical .fd-slider-focused .fd-slider-handle,
638
+ .fd-slider-vertical .fd-slider-hover .fd-slider-handle,
639
+ .fd-slider-vertical .fd-slider-active .fd-slider-handle
640
+ {
641
+ }
642
+ */
643
+ /*
644
+ Element: Drag handle
645
+ Orientation: Vertical
646
+ State: Focused and Hovered and also while handle is animating into
647
+ position or being dragged.
648
+ Notes: IE6, 7 & 8
649
+
650
+ .oldie .fd-slider-vertical .fd-slider-focused .fd-slider-handle,
651
+ .oldie .fd-slider-vertical .fd-slider-hover .fd-slider-handle,
652
+ .oldie .fd-slider-vertical .fd-slider-active .fd-slider-handle
653
+ {
654
+ }
655
+ */
656
+ /*
657
+ Element: Drag handle
658
+ Orientation: Horizontal & Vertical
659
+ State: User has not yet used the slider to set a value
660
+ Notes: I screwed the positioning of the image sprite by 1px which is why
661
+ it's -59px and not -60px. Yeah - I suck at Photoshop.
662
+ */
663
+ .fd-slider-no-value .fd-slider-handle
664
+ {
665
+ background-position:0 -59px;
666
+ }
667
+ /*
668
+ Element: Drag handle
669
+ Orientation: Horizontal
670
+ State: User has not yet used the slider to set a value
671
+ Notes: IE6 only
672
+ */
673
+ .oldie .fd-slider-no-value .fd-slider-handle
674
+ {
675
+ /*
676
+ IE6 - use the AlphaImageLoader to either load a base64 encoded image
677
+ from the .mht file or a normal png image from the server
678
+ */
679
+
680
+ /*
681
+ If using the .mht file then uncomment the following rule and edit the
682
+ filepath to match the absolute path to the fd-slider.mht file on your
683
+ server (replace "www.your-domain.com/the/path/to/")
684
+ */
685
+
686
+ /*
687
+
688
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!handlenovalue');
689
+
690
+ */
691
+
692
+ /*
693
+ If not using the .mht file then uncomment the following rule and edit
694
+ the filepath to match the absolute path to the fd-handle-no-value.png
695
+ file on your server (replace "www.your-domain.com/the/path/to/")
696
+ */
697
+
698
+ /*
699
+
700
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='http://www.your-domain.com/the/path/to/fd-handle-no-value.png');
701
+
702
+ */
703
+ }
704
+ /*
705
+ Element: Drag handle
706
+ Orientation: Vertical
707
+ State: User has not yet used the slider to set a value
708
+ Notes: IE6, 7 & 8. Only required should you use a different image for
709
+ vertical sliders.
710
+
711
+ .oldie .fd-slider-vertical .fd-slider-no-value .fd-slider-handle
712
+ {
713
+ }
714
+ */
715
+ /*
716
+ Element: document.body
717
+ Orientation: Horizontal and Vertical
718
+ Notes: Class given to body to change cursor style when dragging. It also
719
+ attempts to stop text selection while dragging.
720
+ */
721
+ body.fd-slider-drag-horizontal,
722
+ body.fd-slider-drag-horizontal *,
723
+ body.fd-slider-drag-vertical,
724
+ body.fd-slider-drag-vertical *
725
+ {
726
+ cursor:N-resize !important;
727
+ -webkit-user-select: none;
728
+ -moz-user-select: none;
729
+ -ms-user-select: none;
730
+ -o-user-select: none;
731
+ user-select: none;
732
+ }
733
+ /*
734
+ Element: document.body
735
+ Orientation: Horizontal
736
+ Notes: Class given to body to change cursor style when dragging
737
+ */
738
+ body.fd-slider-drag-horizontal,
739
+ body.fd-slider-drag-horizontal *
740
+ {
741
+ cursor:W-resize !important;
742
+ }
743
+ /*
744
+ Element: Inner wrapper
745
+ Orientation: Horizontal & Vertical
746
+ State: disabled
747
+ Notes: Class given to slider when disabled
748
+ */
749
+ .fd-slider-disabled
750
+ {
751
+ opacity:.8;
752
+ cursor:default;
753
+ }
754
+ /*
755
+ Element: Drag handle
756
+ Orientation: Horizontal
757
+ State: disabled
758
+ Notes: Class given to slider when disabled
759
+ */
760
+ .fd-slider-disabled .fd-slider-handle
761
+ {
762
+ cursor:default !important;
763
+ background-position:0 -40px;
764
+ opacity:1;
765
+ }
766
+ /*
767
+ Element: Drag handle
768
+ Orientation: Horizontal
769
+ State: disabled
770
+ Notes: IE6 only
771
+ */
772
+ .oldie .fd-slider-disabled .fd-slider-handle
773
+ {
774
+ /*
775
+ IE6 - use the AlphaImageLoader to either load a base64 encoded image
776
+ from the .mht file or a normal png image from the server
777
+ */
778
+
779
+ /*
780
+ If using the .mht file then uncomment the following rule and edit the
781
+ filepath to match the absolute path to the fd-slider.mht file on your
782
+ server (replace "www.your-domain.com/the/path/to/")
783
+ */
784
+
785
+ /*
786
+
787
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='mhtml:http://www.your-domain.com/the/path/to/fd-slider.mht!handledisabled');
788
+
789
+ */
790
+
791
+ /*
792
+ If not using the .mht file then uncomment the following rule and edit
793
+ the filepath to match the absolute path to the fd-handle-disabled.png
794
+ file on your server (replace "www.your-domain.com/the/path/to/")
795
+ */
796
+
797
+ /*
798
+
799
+ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='http://www.your-domain.com/the/path/to/fd-handle-disabled.png');
800
+
801
+ */
802
+ }
803
+ /*
804
+ Element: Drag handle
805
+ Orientation: Vertical
806
+ State: disabled
807
+
808
+ .fd-slider-vertical .fd-slider-disabled .fd-slider-handle
809
+ {
810
+ }
811
+ .oldie .fd-slider-vertical .fd-slider-disabled .fd-slider-handle
812
+ {
813
+ }
814
+ */
815
+ /*
816
+ Element: Inner track bar
817
+ Orientation: Horizontal
818
+ State: disabled
819
+ */
820
+ .fd-slider-disabled .fd-slider-bar
821
+ {
822
+ cursor:auto !important;
823
+ border:1px solid #888;
824
+ border-bottom:1px solid #999;
825
+ border-right:1px solid #999;
826
+ border:1px solid rgba(136,136,136,.8);
827
+ border-bottom:1px solid rgba(153,153,153,.8);
828
+ border-right:1px solid rgba(153,153,153,.8);
829
+ background-color:#555;
830
+ background-image: -webkit-gradient(linear, left top, right top, from(#666), to(#333));
831
+ background-image: -webkit-linear-gradient(left, #666, #333);
832
+ background-image: -moz-linear-gradient(left, #666, #333);
833
+ background-image: -ms-linear-gradient(left, #666, #333);
834
+ background-image: -o-linear-gradient(left, #666, #333);
835
+ background-image: linear-gradient(to right, #666, #333);
836
+ }
837
+ /*
838
+ Element: Inner track bar
839
+ Orientation: Vertical
840
+ State: disabled
841
+ */
842
+ .fd-slider-vertical .fd-slider-disabled .fd-slider-bar
843
+ {
844
+ background-image: -webkit-gradient(linear, left top, right bottom, from(#333), to(#666));
845
+ background-image: -webkit-linear-gradient(top, #333, #666);
846
+ background-image: -moz-linear-gradient(top, #333, #666);
847
+ background-image: -ms-linear-gradient(top, #333, #666);
848
+ background-image: -o-linear-gradient(top, #333, #666);
849
+ background-image: linear-gradient(to bottom, #333, #666);
850
+ }
851
+ /*
852
+ Element: Inner track bar
853
+ Orientation: Horizontal
854
+ State: disabled
855
+ Notes: IE6, 7 & 8
856
+ */
857
+ .oldie .fd-slider-disabled .fd-slider-bar
858
+ {
859
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ff666666',endColorstr='#ff333333');
860
+ }
861
+ /*
862
+ Element: Inner track bar
863
+ Orientation: Vertical
864
+ State: disabled
865
+ Notes: IE6, 7 & 8
866
+ */
867
+ .oldie .fd-slider-vertical .fd-slider-disabled .fd-slider-bar
868
+ {
869
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ff666666',endColorstr='#ff333333');
870
+ }
871
+ /*
872
+ Element: Range bar
873
+ Orientation: Horizontal
874
+ State: disabled
875
+ */
876
+ .fd-slider-disabled .fd-slider-range
877
+ {
878
+ cursor:auto !important;
879
+ background-color:#222;
880
+ background-image: -webkit-gradient(linear, left top, right top, from(#222), to(#000));
881
+ background-image: -webkit-linear-gradient(left, #222, #000);
882
+ background-image: -moz-linear-gradient(left, #222, #000);
883
+ background-image: -ms-linear-gradient(left, #222, #000);
884
+ background-image: -o-linear-gradient(left, #222, #000);
885
+ background-image: linear-gradient(to right, #222, #000);
886
+ }
887
+ /*
888
+ Element: Range bar
889
+ Orientation: Horizontal
890
+ State: disabled
891
+ Notes: IE6, 7 & 8
892
+ */
893
+ .oldie .fd-slider-disabled .fd-slider-range
894
+ {
895
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ff222222',endColorstr='#ff000000');
896
+ }
897
+ /*
898
+ Element: Range bar
899
+ Orientation: Vertical
900
+ State: disabled
901
+ */
902
+ .fd-slider-vertical .fd-slider-disabled .fd-slider-range
903
+ {
904
+ background-image: -webkit-gradient(linear, left top, right bottom, from(#000), to(#222));
905
+ background-image: -webkit-linear-gradient(top, #000, #222);
906
+ background-image: -moz-linear-gradient(top, #000, #222);
907
+ background-image: -ms-linear-gradient(top, #000, #222);
908
+ background-image: -o-linear-gradient(top, #000, #222);
909
+ background-image: linear-gradient(to bottom, #000, #222);
910
+ }
911
+ /*
912
+ Element: Range bar
913
+ Orientation: Vertical
914
+ State: disabled
915
+ Notes: IE6, 7 & 8
916
+ */
917
+ .oldie .fd-slider-vertical .fd-slider-disabled .fd-slider-range
918
+ {
919
+ filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ff222222',endColorstr='#ff000000');
920
+ }
921
+ /*
922
+ The various prefixed keyframe rules for the glow effect used whenever
923
+ the slider gains keyboard focus
924
+ */
925
+ @-webkit-keyframes fd-pulse {
926
+ 0% {
927
+ box-shadow:0 0 3px rgba(100, 130, 170, 0.55);
928
+ }
929
+ 20% {
930
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
931
+ }
932
+ 40% {
933
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
934
+ }
935
+ 60% {
936
+ box-shadow:0 0 6px rgba(10, 130, 170, 0.7);
937
+ }
938
+ 80% {
939
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
940
+ }
941
+ 100% {
942
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
943
+ }
944
+ }
945
+ @-moz-keyframes fd-pulse {
946
+ 0% {
947
+ box-shadow:0 0 3px rgba(100, 130, 170, 0.55);
948
+ }
949
+ 20% {
950
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
951
+ }
952
+ 40% {
953
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
954
+ }
955
+ 60% {
956
+ box-shadow:0 0 6px rgba(10, 130, 170, 0.7);
957
+ }
958
+ 80% {
959
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
960
+ }
961
+ 100% {
962
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
963
+ }
964
+ }
965
+ @-o-keyframes fd-pulse {
966
+ 0% {
967
+ box-shadow:0 0 3px rgba(100, 130, 170, 0.55);
968
+ }
969
+ 20% {
970
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
971
+ }
972
+ 40% {
973
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
974
+ }
975
+ 60% {
976
+ box-shadow:0 0 6px rgba(10, 130, 170, 0.7);
977
+ }
978
+ 80% {
979
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
980
+ }
981
+ 100% {
982
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
983
+ }
984
+ }
985
+ @keyframes fd-pulse {
986
+ 0% {
987
+ box-shadow:0 0 3px rgba(100, 130, 170, 0.55);
988
+ }
989
+ 20% {
990
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
991
+ }
992
+ 40% {
993
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
994
+ }
995
+ 60% {
996
+ box-shadow:0 0 6px rgba(10, 130, 170, 0.7);
997
+ }
998
+ 80% {
999
+ box-shadow:0 0 5px rgba(40, 130, 170, 0.65);
1000
+ }
1001
+ 100% {
1002
+ box-shadow:0 0 4px rgba(70, 130, 170, 0.6);
1003
+ }
1004
+ }