facades 1.0.9 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a743fe12d5a16254cf64d4dacaa2c0d8bc4bf9bd
4
+ data.tar.gz: feec0393cdec1776324d0414ee8412a55ef3e044
5
+ SHA512:
6
+ metadata.gz: 9bdd78bdccd3b2564121f79810cf5eff37966899504e4fc4c663735b4e37d2f54364c2f235dff17e4179475787fdea5433e321f5764911b457c9c4b465f28217
7
+ data.tar.gz: 444bfad355400391c7bc15579e03bb50982b682373794863b508a9ad98fce96b1a95a4095ff02bcc1bfa5e662a9ae198b5dd4509e9d7f0c3250e824f018e8183
data/Rakefile CHANGED
@@ -2,6 +2,8 @@ require 'bundler/gem_tasks'
2
2
  require "rspec"
3
3
  require "rspec/core/rake_task"
4
4
 
5
+ load File.join( File.expand_path("../", __FILE__), 'src', 'icons', 'generator.rake')
6
+
5
7
  RSpec::Core::RakeTask.new("spec") do |spec|
6
8
  spec.pattern = "spec/**/*_spec.rb"
7
9
  end
data/lib/facades.rb CHANGED
@@ -5,23 +5,60 @@ module Facades
5
5
  extend self
6
6
  autoload :Helpers, 'facades/helpers'
7
7
  autoload :Patterns, 'facades/patterns'
8
-
8
+
9
+
10
+ ##
11
+ # Path to the app dir for the Rails Engine
12
+ #
9
13
  def app_path
10
14
  File.expand_path("../../app", __FILE__)
11
15
  end
12
16
 
17
+
18
+ ##
19
+ # Accessor for the config
20
+ #
21
+ def config
22
+ return Config unless block_given?
23
+ yield Config
24
+ end
25
+
26
+
27
+ ##
28
+ # Path to any relevant Rails views
29
+ #
13
30
  def view_path
14
31
  File.join(File.expand_path("../../app", __FILE__), 'views')
15
32
  end
16
33
 
34
+
35
+ ##
36
+ # Where to load the SASS files.
37
+ #
17
38
  def scss_path
18
39
  File.join(File.expand_path("../../src", __FILE__), 'scss')
19
40
  end
20
41
 
42
+
43
+ ##
44
+ # Where image assets are stored.
45
+ #
21
46
  def image_path
22
47
  File.join(File.expand_path("../../src", __FILE__), 'images')
23
48
  end
24
49
 
50
+
51
+ ##
52
+ # Icon data for available icon packs
53
+ #
54
+ def icon_packs
55
+ @icon_packs ||= ActiveSupport::HashWithIndifferentAccess.new
56
+ end
57
+
58
+
59
+ ##
60
+ # Where to find icon data
61
+ #
25
62
  def icon_path
26
63
  File.join(File.expand_path("../../src", __FILE__), 'icons')
27
64
  end
@@ -16,6 +16,7 @@ module Facades
16
16
  Sass::Script::String.new("\\#{icon_glyph_value(name, set)}")
17
17
  end
18
18
 
19
+
19
20
  ##
20
21
  # Creates a entity representation of the unicode character.
21
22
  # Used in IE7/legacy support.
@@ -24,6 +25,33 @@ module Facades
24
25
  Sass::Script::String.new("&#xf#{icon_glyph_value(name, set)}; ")
25
26
  end
26
27
 
28
+
29
+ ##
30
+ # Maps a "pack" name to a font name.
31
+ #
32
+ def icon_font_name(name)
33
+ Sass::Script::String.new({
34
+ 'facades' => 'FacadesRegular',
35
+ 'font-awesome' => 'FontAwesome'
36
+ }[name])
37
+ end
38
+
39
+
40
+ ##
41
+ # Get the url for the icon font file, based on type.
42
+ # Only works if the font author has provided a cdn
43
+ # ( such as font awesome )
44
+ #
45
+ def icon_font_url(name, type, extra = '')
46
+ name = name.value if name.respond_to?(:value)
47
+ type = type.value if type.respond_to?(:value)
48
+ fonts = icon_data(name)['fonts']
49
+ url = fonts[type.to_s].to_s
50
+ ::Rails.logger.info(url.inspect)
51
+ Sass::Script::String.new(url)
52
+ end
53
+
54
+
27
55
  ##
28
56
  # Create a sass list of icon names from an icon pack.
29
57
  #
@@ -34,26 +62,32 @@ module Facades
34
62
  Sass::Script::List.new(keys, ',')
35
63
  end
36
64
 
65
+
37
66
  ##
38
- # Maps a "pack" name to a font name.
67
+ # Shows relevant version information on an icon pack
39
68
  #
40
- def icon_font(name)
41
- Sass::Script::String.new({
42
- 'facades' => 'FacadesRegular',
43
- 'font-awesome' => 'FontAwesome'
44
- }[name])
69
+ def icon_version(set = 'facades')
70
+ set = set.value if set.respond_to?(:value)
71
+ Sass::Script::String.new(icon_data(set)['version'])
45
72
  end
46
73
 
74
+
47
75
  private
48
76
 
77
+
78
+ ##
79
+ # Return all of the glyph data for a particular icon pack
80
+ #
49
81
  def icon_translations(set)
50
82
  set = set.value if set.respond_to?(:value)
51
- #glyphs = Icons.glyph_sets[set] || YAML::load(File.open(File.join(Facades.icon_path, "#{set}.yml")))
52
- glyphs = Icons.glyph_sets[set] || YAML::load(File.open(Facades::Config.icon_definitions[set.to_s.underscore.to_sym]))
83
+ glyphs = icon_data(set)['icons'].dup
53
84
  Icons.glyph_sets[set] ||= Hash[glyphs.map{ |k, v| [k.to_s.gsub("_", "-"), v] }]
54
- Icons.glyph_sets[set]
55
85
  end
56
86
 
87
+
88
+ ##
89
+ # Get the CSS "content" value for an icon by name
90
+ #
57
91
  def icon_glyph_value(name, set = 'facades')
58
92
  name = name.to_s
59
93
  value = icon_translations(set)[name]
@@ -62,6 +96,16 @@ module Facades
62
96
  end
63
97
  value
64
98
  end
99
+
100
+
101
+ ##
102
+ # Loads icon data unless it was previously loaded.
103
+ #
104
+ def icon_data(name)
105
+ name = name.to_s.underscore.to_sym
106
+ Facades.icon_packs[name] || Facades.icon_packs.merge!(name => YAML::load( File.open( Facades.config.icon_definitions[name] ) ))
107
+ Facades.icon_packs[name]
108
+ end
65
109
  end
66
110
  end
67
111
  end
@@ -1,3 +1,3 @@
1
1
  module Facades
2
- VERSION = "1.0.9"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -0,0 +1,1361 @@
1
+ /*!
2
+ * Font Awesome 4.0.1
3
+ * the iconic font designed for Bootstrap
4
+ * ------------------------------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation can be
6
+ * found at http://fontawesome.io. Stay up to date on Twitter at
7
+ * http://twitter.com/fontawesome.
8
+ *
9
+ * License
10
+ * ------------------------------------------------------------------------------
11
+ * - The Font Awesome font is licensed under SIL OFL 1.1 -
12
+ * http://scripts.sil.org/OFL
13
+ * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License -
14
+ * http://opensource.org/licenses/mit-license.html
15
+ * - Font Awesome documentation licensed under CC BY 3.0 -
16
+ * http://creativecommons.org/licenses/by/3.0/
17
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
18
+ * "Font Awesome by Dave Gandy - http://fontawesome.io"
19
+ *
20
+ * Author - Dave Gandy
21
+ * ------------------------------------------------------------------------------
22
+ * Email: dave@fontawesome.io
23
+ * Twitter: http://twitter.com/davegandy
24
+ * Work: Lead Product Designer @ Kyruus - http://kyruus.com
25
+ */
26
+ /* FONT PATH
27
+ * -------------------------- */
28
+ @font-face {
29
+ font-family: 'FontAwesome';
30
+ src: url('../fonts/fontawesome-webfont.eot?v=4.0.1');
31
+ src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.1') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.1') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.1') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.1#fontawesomeregular') format('svg');
32
+ font-weight: normal;
33
+ font-style: normal;
34
+ }
35
+ .fa {
36
+ display: inline-block;
37
+ font-family: FontAwesome;
38
+ font-style: normal;
39
+ font-weight: normal;
40
+ line-height: 1;
41
+ -webkit-font-smoothing: antialiased;
42
+ -moz-osx-font-smoothing: grayscale;
43
+ }
44
+ /* makes the font 33% larger relative to the icon container */
45
+ .fa-lg {
46
+ font-size: 1.3333333333333333em;
47
+ line-height: 0.75em;
48
+ vertical-align: -15%;
49
+ }
50
+ .fa-2x {
51
+ font-size: 2em;
52
+ }
53
+ .fa-3x {
54
+ font-size: 3em;
55
+ }
56
+ .fa-4x {
57
+ font-size: 4em;
58
+ }
59
+ .fa-5x {
60
+ font-size: 5em;
61
+ }
62
+ .fa-fw {
63
+ width: 1.2857142857142858em;
64
+ text-align: center;
65
+ }
66
+ .fa-ul {
67
+ padding-left: 0;
68
+ margin-left: 2.142857142857143em;
69
+ list-style-type: none;
70
+ }
71
+ .fa-ul > li {
72
+ position: relative;
73
+ }
74
+ .fa-li {
75
+ position: absolute;
76
+ left: -2.142857142857143em;
77
+ width: 2.142857142857143em;
78
+ top: 0.14285714285714285em;
79
+ text-align: center;
80
+ }
81
+ .fa-li.fa-lg {
82
+ left: -1.8571428571428572em;
83
+ }
84
+ .fa-border {
85
+ padding: .2em .25em .15em;
86
+ border: solid 0.08em #eeeeee;
87
+ border-radius: .1em;
88
+ }
89
+ .pull-right {
90
+ float: right;
91
+ }
92
+ .pull-left {
93
+ float: left;
94
+ }
95
+ .fa.pull-left {
96
+ margin-right: .3em;
97
+ }
98
+ .fa.pull-right {
99
+ margin-left: .3em;
100
+ }
101
+ .fa-spin {
102
+ -webkit-animation: spin 2s infinite linear;
103
+ -moz-animation: spin 2s infinite linear;
104
+ -o-animation: spin 2s infinite linear;
105
+ animation: spin 2s infinite linear;
106
+ }
107
+ @-moz-keyframes spin {
108
+ 0% {
109
+ -moz-transform: rotate(0deg);
110
+ }
111
+ 100% {
112
+ -moz-transform: rotate(359deg);
113
+ }
114
+ }
115
+ @-webkit-keyframes spin {
116
+ 0% {
117
+ -webkit-transform: rotate(0deg);
118
+ }
119
+ 100% {
120
+ -webkit-transform: rotate(359deg);
121
+ }
122
+ }
123
+ @-o-keyframes spin {
124
+ 0% {
125
+ -o-transform: rotate(0deg);
126
+ }
127
+ 100% {
128
+ -o-transform: rotate(359deg);
129
+ }
130
+ }
131
+ @-ms-keyframes spin {
132
+ 0% {
133
+ -ms-transform: rotate(0deg);
134
+ }
135
+ 100% {
136
+ -ms-transform: rotate(359deg);
137
+ }
138
+ }
139
+ @keyframes spin {
140
+ 0% {
141
+ transform: rotate(0deg);
142
+ }
143
+ 100% {
144
+ transform: rotate(359deg);
145
+ }
146
+ }
147
+ .fa-rotate-90 {
148
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
149
+ -webkit-transform: rotate(90deg);
150
+ -moz-transform: rotate(90deg);
151
+ -ms-transform: rotate(90deg);
152
+ -o-transform: rotate(90deg);
153
+ transform: rotate(90deg);
154
+ }
155
+ .fa-rotate-180 {
156
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
157
+ -webkit-transform: rotate(180deg);
158
+ -moz-transform: rotate(180deg);
159
+ -ms-transform: rotate(180deg);
160
+ -o-transform: rotate(180deg);
161
+ transform: rotate(180deg);
162
+ }
163
+ .fa-rotate-270 {
164
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
165
+ -webkit-transform: rotate(270deg);
166
+ -moz-transform: rotate(270deg);
167
+ -ms-transform: rotate(270deg);
168
+ -o-transform: rotate(270deg);
169
+ transform: rotate(270deg);
170
+ }
171
+ .fa-flip-horizontal {
172
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
173
+ -webkit-transform: scale(-1, 1);
174
+ -moz-transform: scale(-1, 1);
175
+ -ms-transform: scale(-1, 1);
176
+ -o-transform: scale(-1, 1);
177
+ transform: scale(-1, 1);
178
+ }
179
+ .fa-flip-vertical {
180
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
181
+ -webkit-transform: scale(1, -1);
182
+ -moz-transform: scale(1, -1);
183
+ -ms-transform: scale(1, -1);
184
+ -o-transform: scale(1, -1);
185
+ transform: scale(1, -1);
186
+ }
187
+ .fa-stack {
188
+ position: relative;
189
+ display: inline-block;
190
+ width: 2em;
191
+ height: 2em;
192
+ line-height: 2em;
193
+ vertical-align: middle;
194
+ }
195
+ .fa-stack-1x,
196
+ .fa-stack-2x {
197
+ position: absolute;
198
+ left: 0;
199
+ width: 100%;
200
+ text-align: center;
201
+ }
202
+ .fa-stack-1x {
203
+ line-height: inherit;
204
+ }
205
+ .fa-stack-2x {
206
+ font-size: 2em;
207
+ }
208
+ .fa-inverse {
209
+ color: #ffffff;
210
+ }
211
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
212
+ readers do not read off random characters that represent icons */
213
+ .fa-glass:before {
214
+ content: "\f000";
215
+ }
216
+ .fa-music:before {
217
+ content: "\f001";
218
+ }
219
+ .fa-search:before {
220
+ content: "\f002";
221
+ }
222
+ .fa-envelope-o:before {
223
+ content: "\f003";
224
+ }
225
+ .fa-heart:before {
226
+ content: "\f004";
227
+ }
228
+ .fa-star:before {
229
+ content: "\f005";
230
+ }
231
+ .fa-star-o:before {
232
+ content: "\f006";
233
+ }
234
+ .fa-user:before {
235
+ content: "\f007";
236
+ }
237
+ .fa-film:before {
238
+ content: "\f008";
239
+ }
240
+ .fa-th-large:before {
241
+ content: "\f009";
242
+ }
243
+ .fa-th:before {
244
+ content: "\f00a";
245
+ }
246
+ .fa-th-list:before {
247
+ content: "\f00b";
248
+ }
249
+ .fa-check:before {
250
+ content: "\f00c";
251
+ }
252
+ .fa-times:before {
253
+ content: "\f00d";
254
+ }
255
+ .fa-search-plus:before {
256
+ content: "\f00e";
257
+ }
258
+ .fa-search-minus:before {
259
+ content: "\f010";
260
+ }
261
+ .fa-power-off:before {
262
+ content: "\f011";
263
+ }
264
+ .fa-signal:before {
265
+ content: "\f012";
266
+ }
267
+ .fa-gear:before,
268
+ .fa-cog:before {
269
+ content: "\f013";
270
+ }
271
+ .fa-trash-o:before {
272
+ content: "\f014";
273
+ }
274
+ .fa-home:before {
275
+ content: "\f015";
276
+ }
277
+ .fa-file-o:before {
278
+ content: "\f016";
279
+ }
280
+ .fa-clock-o:before {
281
+ content: "\f017";
282
+ }
283
+ .fa-road:before {
284
+ content: "\f018";
285
+ }
286
+ .fa-download:before {
287
+ content: "\f019";
288
+ }
289
+ .fa-arrow-circle-o-down:before {
290
+ content: "\f01a";
291
+ }
292
+ .fa-arrow-circle-o-up:before {
293
+ content: "\f01b";
294
+ }
295
+ .fa-inbox:before {
296
+ content: "\f01c";
297
+ }
298
+ .fa-play-circle-o:before {
299
+ content: "\f01d";
300
+ }
301
+ .fa-rotate-right:before,
302
+ .fa-repeat:before {
303
+ content: "\f01e";
304
+ }
305
+ .fa-refresh:before {
306
+ content: "\f021";
307
+ }
308
+ .fa-list-alt:before {
309
+ content: "\f022";
310
+ }
311
+ .fa-lock:before {
312
+ content: "\f023";
313
+ }
314
+ .fa-flag:before {
315
+ content: "\f024";
316
+ }
317
+ .fa-headphones:before {
318
+ content: "\f025";
319
+ }
320
+ .fa-volume-off:before {
321
+ content: "\f026";
322
+ }
323
+ .fa-volume-down:before {
324
+ content: "\f027";
325
+ }
326
+ .fa-volume-up:before {
327
+ content: "\f028";
328
+ }
329
+ .fa-qrcode:before {
330
+ content: "\f029";
331
+ }
332
+ .fa-barcode:before {
333
+ content: "\f02a";
334
+ }
335
+ .fa-tag:before {
336
+ content: "\f02b";
337
+ }
338
+ .fa-tags:before {
339
+ content: "\f02c";
340
+ }
341
+ .fa-book:before {
342
+ content: "\f02d";
343
+ }
344
+ .fa-bookmark:before {
345
+ content: "\f02e";
346
+ }
347
+ .fa-print:before {
348
+ content: "\f02f";
349
+ }
350
+ .fa-camera:before {
351
+ content: "\f030";
352
+ }
353
+ .fa-font:before {
354
+ content: "\f031";
355
+ }
356
+ .fa-bold:before {
357
+ content: "\f032";
358
+ }
359
+ .fa-italic:before {
360
+ content: "\f033";
361
+ }
362
+ .fa-text-height:before {
363
+ content: "\f034";
364
+ }
365
+ .fa-text-width:before {
366
+ content: "\f035";
367
+ }
368
+ .fa-align-left:before {
369
+ content: "\f036";
370
+ }
371
+ .fa-align-center:before {
372
+ content: "\f037";
373
+ }
374
+ .fa-align-right:before {
375
+ content: "\f038";
376
+ }
377
+ .fa-align-justify:before {
378
+ content: "\f039";
379
+ }
380
+ .fa-list:before {
381
+ content: "\f03a";
382
+ }
383
+ .fa-dedent:before,
384
+ .fa-outdent:before {
385
+ content: "\f03b";
386
+ }
387
+ .fa-indent:before {
388
+ content: "\f03c";
389
+ }
390
+ .fa-video-camera:before {
391
+ content: "\f03d";
392
+ }
393
+ .fa-picture-o:before {
394
+ content: "\f03e";
395
+ }
396
+ .fa-pencil:before {
397
+ content: "\f040";
398
+ }
399
+ .fa-map-marker:before {
400
+ content: "\f041";
401
+ }
402
+ .fa-adjust:before {
403
+ content: "\f042";
404
+ }
405
+ .fa-tint:before {
406
+ content: "\f043";
407
+ }
408
+ .fa-edit:before,
409
+ .fa-pencil-square-o:before {
410
+ content: "\f044";
411
+ }
412
+ .fa-share-square-o:before {
413
+ content: "\f045";
414
+ }
415
+ .fa-check-square-o:before {
416
+ content: "\f046";
417
+ }
418
+ .fa-move:before {
419
+ content: "\f047";
420
+ }
421
+ .fa-step-backward:before {
422
+ content: "\f048";
423
+ }
424
+ .fa-fast-backward:before {
425
+ content: "\f049";
426
+ }
427
+ .fa-backward:before {
428
+ content: "\f04a";
429
+ }
430
+ .fa-play:before {
431
+ content: "\f04b";
432
+ }
433
+ .fa-pause:before {
434
+ content: "\f04c";
435
+ }
436
+ .fa-stop:before {
437
+ content: "\f04d";
438
+ }
439
+ .fa-forward:before {
440
+ content: "\f04e";
441
+ }
442
+ .fa-fast-forward:before {
443
+ content: "\f050";
444
+ }
445
+ .fa-step-forward:before {
446
+ content: "\f051";
447
+ }
448
+ .fa-eject:before {
449
+ content: "\f052";
450
+ }
451
+ .fa-chevron-left:before {
452
+ content: "\f053";
453
+ }
454
+ .fa-chevron-right:before {
455
+ content: "\f054";
456
+ }
457
+ .fa-plus-circle:before {
458
+ content: "\f055";
459
+ }
460
+ .fa-minus-circle:before {
461
+ content: "\f056";
462
+ }
463
+ .fa-times-circle:before {
464
+ content: "\f057";
465
+ }
466
+ .fa-check-circle:before {
467
+ content: "\f058";
468
+ }
469
+ .fa-question-circle:before {
470
+ content: "\f059";
471
+ }
472
+ .fa-info-circle:before {
473
+ content: "\f05a";
474
+ }
475
+ .fa-crosshairs:before {
476
+ content: "\f05b";
477
+ }
478
+ .fa-times-circle-o:before {
479
+ content: "\f05c";
480
+ }
481
+ .fa-check-circle-o:before {
482
+ content: "\f05d";
483
+ }
484
+ .fa-ban:before {
485
+ content: "\f05e";
486
+ }
487
+ .fa-arrow-left:before {
488
+ content: "\f060";
489
+ }
490
+ .fa-arrow-right:before {
491
+ content: "\f061";
492
+ }
493
+ .fa-arrow-up:before {
494
+ content: "\f062";
495
+ }
496
+ .fa-arrow-down:before {
497
+ content: "\f063";
498
+ }
499
+ .fa-mail-forward:before,
500
+ .fa-share:before {
501
+ content: "\f064";
502
+ }
503
+ .fa-resize-full:before {
504
+ content: "\f065";
505
+ }
506
+ .fa-resize-small:before {
507
+ content: "\f066";
508
+ }
509
+ .fa-plus:before {
510
+ content: "\f067";
511
+ }
512
+ .fa-minus:before {
513
+ content: "\f068";
514
+ }
515
+ .fa-asterisk:before {
516
+ content: "\f069";
517
+ }
518
+ .fa-exclamation-circle:before {
519
+ content: "\f06a";
520
+ }
521
+ .fa-gift:before {
522
+ content: "\f06b";
523
+ }
524
+ .fa-leaf:before {
525
+ content: "\f06c";
526
+ }
527
+ .fa-fire:before {
528
+ content: "\f06d";
529
+ }
530
+ .fa-eye:before {
531
+ content: "\f06e";
532
+ }
533
+ .fa-eye-slash:before {
534
+ content: "\f070";
535
+ }
536
+ .fa-warning:before,
537
+ .fa-exclamation-triangle:before {
538
+ content: "\f071";
539
+ }
540
+ .fa-plane:before {
541
+ content: "\f072";
542
+ }
543
+ .fa-calendar:before {
544
+ content: "\f073";
545
+ }
546
+ .fa-random:before {
547
+ content: "\f074";
548
+ }
549
+ .fa-comment:before {
550
+ content: "\f075";
551
+ }
552
+ .fa-magnet:before {
553
+ content: "\f076";
554
+ }
555
+ .fa-chevron-up:before {
556
+ content: "\f077";
557
+ }
558
+ .fa-chevron-down:before {
559
+ content: "\f078";
560
+ }
561
+ .fa-retweet:before {
562
+ content: "\f079";
563
+ }
564
+ .fa-shopping-cart:before {
565
+ content: "\f07a";
566
+ }
567
+ .fa-folder:before {
568
+ content: "\f07b";
569
+ }
570
+ .fa-folder-open:before {
571
+ content: "\f07c";
572
+ }
573
+ .fa-resize-vertical:before {
574
+ content: "\f07d";
575
+ }
576
+ .fa-resize-horizontal:before {
577
+ content: "\f07e";
578
+ }
579
+ .fa-bar-chart-o:before {
580
+ content: "\f080";
581
+ }
582
+ .fa-twitter-square:before {
583
+ content: "\f081";
584
+ }
585
+ .fa-facebook-square:before {
586
+ content: "\f082";
587
+ }
588
+ .fa-camera-retro:before {
589
+ content: "\f083";
590
+ }
591
+ .fa-key:before {
592
+ content: "\f084";
593
+ }
594
+ .fa-gears:before,
595
+ .fa-cogs:before {
596
+ content: "\f085";
597
+ }
598
+ .fa-comments:before {
599
+ content: "\f086";
600
+ }
601
+ .fa-thumbs-o-up:before {
602
+ content: "\f087";
603
+ }
604
+ .fa-thumbs-o-down:before {
605
+ content: "\f088";
606
+ }
607
+ .fa-star-half:before {
608
+ content: "\f089";
609
+ }
610
+ .fa-heart-o:before {
611
+ content: "\f08a";
612
+ }
613
+ .fa-sign-out:before {
614
+ content: "\f08b";
615
+ }
616
+ .fa-linkedin-square:before {
617
+ content: "\f08c";
618
+ }
619
+ .fa-thumb-tack:before {
620
+ content: "\f08d";
621
+ }
622
+ .fa-external-link:before {
623
+ content: "\f08e";
624
+ }
625
+ .fa-sign-in:before {
626
+ content: "\f090";
627
+ }
628
+ .fa-trophy:before {
629
+ content: "\f091";
630
+ }
631
+ .fa-github-square:before {
632
+ content: "\f092";
633
+ }
634
+ .fa-upload:before {
635
+ content: "\f093";
636
+ }
637
+ .fa-lemon-o:before {
638
+ content: "\f094";
639
+ }
640
+ .fa-phone:before {
641
+ content: "\f095";
642
+ }
643
+ .fa-square-o:before {
644
+ content: "\f096";
645
+ }
646
+ .fa-bookmark-o:before {
647
+ content: "\f097";
648
+ }
649
+ .fa-phone-square:before {
650
+ content: "\f098";
651
+ }
652
+ .fa-twitter:before {
653
+ content: "\f099";
654
+ }
655
+ .fa-facebook:before {
656
+ content: "\f09a";
657
+ }
658
+ .fa-github:before {
659
+ content: "\f09b";
660
+ }
661
+ .fa-unlock:before {
662
+ content: "\f09c";
663
+ }
664
+ .fa-credit-card:before {
665
+ content: "\f09d";
666
+ }
667
+ .fa-rss:before {
668
+ content: "\f09e";
669
+ }
670
+ .fa-hdd-o:before {
671
+ content: "\f0a0";
672
+ }
673
+ .fa-bullhorn:before {
674
+ content: "\f0a1";
675
+ }
676
+ .fa-bell:before {
677
+ content: "\f0f3";
678
+ }
679
+ .fa-certificate:before {
680
+ content: "\f0a3";
681
+ }
682
+ .fa-hand-o-right:before {
683
+ content: "\f0a4";
684
+ }
685
+ .fa-hand-o-left:before {
686
+ content: "\f0a5";
687
+ }
688
+ .fa-hand-o-up:before {
689
+ content: "\f0a6";
690
+ }
691
+ .fa-hand-o-down:before {
692
+ content: "\f0a7";
693
+ }
694
+ .fa-arrow-circle-left:before {
695
+ content: "\f0a8";
696
+ }
697
+ .fa-arrow-circle-right:before {
698
+ content: "\f0a9";
699
+ }
700
+ .fa-arrow-circle-up:before {
701
+ content: "\f0aa";
702
+ }
703
+ .fa-arrow-circle-down:before {
704
+ content: "\f0ab";
705
+ }
706
+ .fa-globe:before {
707
+ content: "\f0ac";
708
+ }
709
+ .fa-wrench:before {
710
+ content: "\f0ad";
711
+ }
712
+ .fa-tasks:before {
713
+ content: "\f0ae";
714
+ }
715
+ .fa-filter:before {
716
+ content: "\f0b0";
717
+ }
718
+ .fa-briefcase:before {
719
+ content: "\f0b1";
720
+ }
721
+ .fa-fullscreen:before {
722
+ content: "\f0b2";
723
+ }
724
+ .fa-group:before {
725
+ content: "\f0c0";
726
+ }
727
+ .fa-chain:before,
728
+ .fa-link:before {
729
+ content: "\f0c1";
730
+ }
731
+ .fa-cloud:before {
732
+ content: "\f0c2";
733
+ }
734
+ .fa-flask:before {
735
+ content: "\f0c3";
736
+ }
737
+ .fa-cut:before,
738
+ .fa-scissors:before {
739
+ content: "\f0c4";
740
+ }
741
+ .fa-copy:before,
742
+ .fa-files-o:before {
743
+ content: "\f0c5";
744
+ }
745
+ .fa-paperclip:before {
746
+ content: "\f0c6";
747
+ }
748
+ .fa-save:before,
749
+ .fa-floppy-o:before {
750
+ content: "\f0c7";
751
+ }
752
+ .fa-square:before {
753
+ content: "\f0c8";
754
+ }
755
+ .fa-reorder:before {
756
+ content: "\f0c9";
757
+ }
758
+ .fa-list-ul:before {
759
+ content: "\f0ca";
760
+ }
761
+ .fa-list-ol:before {
762
+ content: "\f0cb";
763
+ }
764
+ .fa-strikethrough:before {
765
+ content: "\f0cc";
766
+ }
767
+ .fa-underline:before {
768
+ content: "\f0cd";
769
+ }
770
+ .fa-table:before {
771
+ content: "\f0ce";
772
+ }
773
+ .fa-magic:before {
774
+ content: "\f0d0";
775
+ }
776
+ .fa-truck:before {
777
+ content: "\f0d1";
778
+ }
779
+ .fa-pinterest:before {
780
+ content: "\f0d2";
781
+ }
782
+ .fa-pinterest-square:before {
783
+ content: "\f0d3";
784
+ }
785
+ .fa-google-plus-square:before {
786
+ content: "\f0d4";
787
+ }
788
+ .fa-google-plus:before {
789
+ content: "\f0d5";
790
+ }
791
+ .fa-money:before {
792
+ content: "\f0d6";
793
+ }
794
+ .fa-caret-down:before {
795
+ content: "\f0d7";
796
+ }
797
+ .fa-caret-up:before {
798
+ content: "\f0d8";
799
+ }
800
+ .fa-caret-left:before {
801
+ content: "\f0d9";
802
+ }
803
+ .fa-caret-right:before {
804
+ content: "\f0da";
805
+ }
806
+ .fa-columns:before {
807
+ content: "\f0db";
808
+ }
809
+ .fa-unsorted:before,
810
+ .fa-sort:before {
811
+ content: "\f0dc";
812
+ }
813
+ .fa-sort-down:before,
814
+ .fa-sort-asc:before {
815
+ content: "\f0dd";
816
+ }
817
+ .fa-sort-up:before,
818
+ .fa-sort-desc:before {
819
+ content: "\f0de";
820
+ }
821
+ .fa-envelope:before {
822
+ content: "\f0e0";
823
+ }
824
+ .fa-linkedin:before {
825
+ content: "\f0e1";
826
+ }
827
+ .fa-rotate-left:before,
828
+ .fa-undo:before {
829
+ content: "\f0e2";
830
+ }
831
+ .fa-legal:before,
832
+ .fa-gavel:before {
833
+ content: "\f0e3";
834
+ }
835
+ .fa-dashboard:before,
836
+ .fa-tachometer:before {
837
+ content: "\f0e4";
838
+ }
839
+ .fa-comment-o:before {
840
+ content: "\f0e5";
841
+ }
842
+ .fa-comments-o:before {
843
+ content: "\f0e6";
844
+ }
845
+ .fa-flash:before,
846
+ .fa-bolt:before {
847
+ content: "\f0e7";
848
+ }
849
+ .fa-sitemap:before {
850
+ content: "\f0e8";
851
+ }
852
+ .fa-umbrella:before {
853
+ content: "\f0e9";
854
+ }
855
+ .fa-paste:before,
856
+ .fa-clipboard:before {
857
+ content: "\f0ea";
858
+ }
859
+ .fa-lightbulb-o:before {
860
+ content: "\f0eb";
861
+ }
862
+ .fa-exchange:before {
863
+ content: "\f0ec";
864
+ }
865
+ .fa-cloud-download:before {
866
+ content: "\f0ed";
867
+ }
868
+ .fa-cloud-upload:before {
869
+ content: "\f0ee";
870
+ }
871
+ .fa-user-md:before {
872
+ content: "\f0f0";
873
+ }
874
+ .fa-stethoscope:before {
875
+ content: "\f0f1";
876
+ }
877
+ .fa-suitcase:before {
878
+ content: "\f0f2";
879
+ }
880
+ .fa-bell-o:before {
881
+ content: "\f0a2";
882
+ }
883
+ .fa-coffee:before {
884
+ content: "\f0f4";
885
+ }
886
+ .fa-cutlery:before {
887
+ content: "\f0f5";
888
+ }
889
+ .fa-file-text-o:before {
890
+ content: "\f0f6";
891
+ }
892
+ .fa-building:before {
893
+ content: "\f0f7";
894
+ }
895
+ .fa-hospital:before {
896
+ content: "\f0f8";
897
+ }
898
+ .fa-ambulance:before {
899
+ content: "\f0f9";
900
+ }
901
+ .fa-medkit:before {
902
+ content: "\f0fa";
903
+ }
904
+ .fa-fighter-jet:before {
905
+ content: "\f0fb";
906
+ }
907
+ .fa-beer:before {
908
+ content: "\f0fc";
909
+ }
910
+ .fa-h-square:before {
911
+ content: "\f0fd";
912
+ }
913
+ .fa-plus-square:before {
914
+ content: "\f0fe";
915
+ }
916
+ .fa-angle-double-left:before {
917
+ content: "\f100";
918
+ }
919
+ .fa-angle-double-right:before {
920
+ content: "\f101";
921
+ }
922
+ .fa-angle-double-up:before {
923
+ content: "\f102";
924
+ }
925
+ .fa-angle-double-down:before {
926
+ content: "\f103";
927
+ }
928
+ .fa-angle-left:before {
929
+ content: "\f104";
930
+ }
931
+ .fa-angle-right:before {
932
+ content: "\f105";
933
+ }
934
+ .fa-angle-up:before {
935
+ content: "\f106";
936
+ }
937
+ .fa-angle-down:before {
938
+ content: "\f107";
939
+ }
940
+ .fa-desktop:before {
941
+ content: "\f108";
942
+ }
943
+ .fa-laptop:before {
944
+ content: "\f109";
945
+ }
946
+ .fa-tablet:before {
947
+ content: "\f10a";
948
+ }
949
+ .fa-mobile-phone:before,
950
+ .fa-mobile:before {
951
+ content: "\f10b";
952
+ }
953
+ .fa-circle-o:before {
954
+ content: "\f10c";
955
+ }
956
+ .fa-quote-left:before {
957
+ content: "\f10d";
958
+ }
959
+ .fa-quote-right:before {
960
+ content: "\f10e";
961
+ }
962
+ .fa-spinner:before {
963
+ content: "\f110";
964
+ }
965
+ .fa-circle:before {
966
+ content: "\f111";
967
+ }
968
+ .fa-mail-reply:before,
969
+ .fa-reply:before {
970
+ content: "\f112";
971
+ }
972
+ .fa-github-alt:before {
973
+ content: "\f113";
974
+ }
975
+ .fa-folder-o:before {
976
+ content: "\f114";
977
+ }
978
+ .fa-folder-open-o:before {
979
+ content: "\f115";
980
+ }
981
+ .fa-expand-o:before {
982
+ content: "\f116";
983
+ }
984
+ .fa-collapse-o:before {
985
+ content: "\f117";
986
+ }
987
+ .fa-smile-o:before {
988
+ content: "\f118";
989
+ }
990
+ .fa-frown-o:before {
991
+ content: "\f119";
992
+ }
993
+ .fa-meh-o:before {
994
+ content: "\f11a";
995
+ }
996
+ .fa-gamepad:before {
997
+ content: "\f11b";
998
+ }
999
+ .fa-keyboard-o:before {
1000
+ content: "\f11c";
1001
+ }
1002
+ .fa-flag-o:before {
1003
+ content: "\f11d";
1004
+ }
1005
+ .fa-flag-checkered:before {
1006
+ content: "\f11e";
1007
+ }
1008
+ .fa-terminal:before {
1009
+ content: "\f120";
1010
+ }
1011
+ .fa-code:before {
1012
+ content: "\f121";
1013
+ }
1014
+ .fa-reply-all:before {
1015
+ content: "\f122";
1016
+ }
1017
+ .fa-mail-reply-all:before {
1018
+ content: "\f122";
1019
+ }
1020
+ .fa-star-half-empty:before,
1021
+ .fa-star-half-full:before,
1022
+ .fa-star-half-o:before {
1023
+ content: "\f123";
1024
+ }
1025
+ .fa-location-arrow:before {
1026
+ content: "\f124";
1027
+ }
1028
+ .fa-crop:before {
1029
+ content: "\f125";
1030
+ }
1031
+ .fa-code-fork:before {
1032
+ content: "\f126";
1033
+ }
1034
+ .fa-unlink:before,
1035
+ .fa-chain-broken:before {
1036
+ content: "\f127";
1037
+ }
1038
+ .fa-question:before {
1039
+ content: "\f128";
1040
+ }
1041
+ .fa-info:before {
1042
+ content: "\f129";
1043
+ }
1044
+ .fa-exclamation:before {
1045
+ content: "\f12a";
1046
+ }
1047
+ .fa-superscript:before {
1048
+ content: "\f12b";
1049
+ }
1050
+ .fa-subscript:before {
1051
+ content: "\f12c";
1052
+ }
1053
+ .fa-eraser:before {
1054
+ content: "\f12d";
1055
+ }
1056
+ .fa-puzzle-piece:before {
1057
+ content: "\f12e";
1058
+ }
1059
+ .fa-microphone:before {
1060
+ content: "\f130";
1061
+ }
1062
+ .fa-microphone-slash:before {
1063
+ content: "\f131";
1064
+ }
1065
+ .fa-shield:before {
1066
+ content: "\f132";
1067
+ }
1068
+ .fa-calendar-o:before {
1069
+ content: "\f133";
1070
+ }
1071
+ .fa-fire-extinguisher:before {
1072
+ content: "\f134";
1073
+ }
1074
+ .fa-rocket:before {
1075
+ content: "\f135";
1076
+ }
1077
+ .fa-maxcdn:before {
1078
+ content: "\f136";
1079
+ }
1080
+ .fa-chevron-circle-left:before {
1081
+ content: "\f137";
1082
+ }
1083
+ .fa-chevron-circle-right:before {
1084
+ content: "\f138";
1085
+ }
1086
+ .fa-chevron-circle-up:before {
1087
+ content: "\f139";
1088
+ }
1089
+ .fa-chevron-circle-down:before {
1090
+ content: "\f13a";
1091
+ }
1092
+ .fa-html5:before {
1093
+ content: "\f13b";
1094
+ }
1095
+ .fa-css3:before {
1096
+ content: "\f13c";
1097
+ }
1098
+ .fa-anchor:before {
1099
+ content: "\f13d";
1100
+ }
1101
+ .fa-unlock-o:before {
1102
+ content: "\f13e";
1103
+ }
1104
+ .fa-bullseye:before {
1105
+ content: "\f140";
1106
+ }
1107
+ .fa-ellipsis-horizontal:before {
1108
+ content: "\f141";
1109
+ }
1110
+ .fa-ellipsis-vertical:before {
1111
+ content: "\f142";
1112
+ }
1113
+ .fa-rss-square:before {
1114
+ content: "\f143";
1115
+ }
1116
+ .fa-play-circle:before {
1117
+ content: "\f144";
1118
+ }
1119
+ .fa-ticket:before {
1120
+ content: "\f145";
1121
+ }
1122
+ .fa-minus-square:before {
1123
+ content: "\f146";
1124
+ }
1125
+ .fa-minus-square-o:before {
1126
+ content: "\f147";
1127
+ }
1128
+ .fa-level-up:before {
1129
+ content: "\f148";
1130
+ }
1131
+ .fa-level-down:before {
1132
+ content: "\f149";
1133
+ }
1134
+ .fa-check-square:before {
1135
+ content: "\f14a";
1136
+ }
1137
+ .fa-pencil-square:before {
1138
+ content: "\f14b";
1139
+ }
1140
+ .fa-external-link-square:before {
1141
+ content: "\f14c";
1142
+ }
1143
+ .fa-share-square:before {
1144
+ content: "\f14d";
1145
+ }
1146
+ .fa-compass:before {
1147
+ content: "\f14e";
1148
+ }
1149
+ .fa-toggle-down:before,
1150
+ .fa-caret-square-o-down:before {
1151
+ content: "\f150";
1152
+ }
1153
+ .fa-toggle-up:before,
1154
+ .fa-caret-square-o-up:before {
1155
+ content: "\f151";
1156
+ }
1157
+ .fa-toggle-right:before,
1158
+ .fa-caret-square-o-right:before {
1159
+ content: "\f152";
1160
+ }
1161
+ .fa-euro:before,
1162
+ .fa-eur:before {
1163
+ content: "\f153";
1164
+ }
1165
+ .fa-gbp:before {
1166
+ content: "\f154";
1167
+ }
1168
+ .fa-dollar:before,
1169
+ .fa-usd:before {
1170
+ content: "\f155";
1171
+ }
1172
+ .fa-rupee:before,
1173
+ .fa-inr:before {
1174
+ content: "\f156";
1175
+ }
1176
+ .fa-cny:before,
1177
+ .fa-rmb:before,
1178
+ .fa-yen:before,
1179
+ .fa-jpy:before {
1180
+ content: "\f157";
1181
+ }
1182
+ .fa-ruble:before,
1183
+ .fa-rouble:before,
1184
+ .fa-rub:before {
1185
+ content: "\f158";
1186
+ }
1187
+ .fa-won:before,
1188
+ .fa-krw:before {
1189
+ content: "\f159";
1190
+ }
1191
+ .fa-bitcoin:before,
1192
+ .fa-btc:before {
1193
+ content: "\f15a";
1194
+ }
1195
+ .fa-file:before {
1196
+ content: "\f15b";
1197
+ }
1198
+ .fa-file-text:before {
1199
+ content: "\f15c";
1200
+ }
1201
+ .fa-sort-alpha-asc:before {
1202
+ content: "\f15d";
1203
+ }
1204
+ .fa-sort-alpha-desc:before {
1205
+ content: "\f15e";
1206
+ }
1207
+ .fa-sort-amount-asc:before {
1208
+ content: "\f160";
1209
+ }
1210
+ .fa-sort-amount-desc:before {
1211
+ content: "\f161";
1212
+ }
1213
+ .fa-sort-numeric-asc:before {
1214
+ content: "\f162";
1215
+ }
1216
+ .fa-sort-numeric-desc:before {
1217
+ content: "\f163";
1218
+ }
1219
+ .fa-thumbs-up:before {
1220
+ content: "\f164";
1221
+ }
1222
+ .fa-thumbs-down:before {
1223
+ content: "\f165";
1224
+ }
1225
+ .fa-youtube-square:before {
1226
+ content: "\f166";
1227
+ }
1228
+ .fa-youtube:before {
1229
+ content: "\f167";
1230
+ }
1231
+ .fa-xing:before {
1232
+ content: "\f168";
1233
+ }
1234
+ .fa-xing-square:before {
1235
+ content: "\f169";
1236
+ }
1237
+ .fa-youtube-play:before {
1238
+ content: "\f16a";
1239
+ }
1240
+ .fa-dropbox:before {
1241
+ content: "\f16b";
1242
+ }
1243
+ .fa-stack-overflow:before {
1244
+ content: "\f16c";
1245
+ }
1246
+ .fa-instagram:before {
1247
+ content: "\f16d";
1248
+ }
1249
+ .fa-flickr:before {
1250
+ content: "\f16e";
1251
+ }
1252
+ .fa-adn:before {
1253
+ content: "\f170";
1254
+ }
1255
+ .fa-bitbucket:before {
1256
+ content: "\f171";
1257
+ }
1258
+ .fa-bitbucket-square:before {
1259
+ content: "\f172";
1260
+ }
1261
+ .fa-tumblr:before {
1262
+ content: "\f173";
1263
+ }
1264
+ .fa-tumblr-square:before {
1265
+ content: "\f174";
1266
+ }
1267
+ .fa-long-arrow-down:before {
1268
+ content: "\f175";
1269
+ }
1270
+ .fa-long-arrow-up:before {
1271
+ content: "\f176";
1272
+ }
1273
+ .fa-long-arrow-left:before {
1274
+ content: "\f177";
1275
+ }
1276
+ .fa-long-arrow-right:before {
1277
+ content: "\f178";
1278
+ }
1279
+ .fa-apple:before {
1280
+ content: "\f179";
1281
+ }
1282
+ .fa-windows:before {
1283
+ content: "\f17a";
1284
+ }
1285
+ .fa-android:before {
1286
+ content: "\f17b";
1287
+ }
1288
+ .fa-linux:before {
1289
+ content: "\f17c";
1290
+ }
1291
+ .fa-dribbble:before {
1292
+ content: "\f17d";
1293
+ }
1294
+ .fa-skype:before {
1295
+ content: "\f17e";
1296
+ }
1297
+ .fa-foursquare:before {
1298
+ content: "\f180";
1299
+ }
1300
+ .fa-trello:before {
1301
+ content: "\f181";
1302
+ }
1303
+ .fa-female:before {
1304
+ content: "\f182";
1305
+ }
1306
+ .fa-male:before {
1307
+ content: "\f183";
1308
+ }
1309
+ .fa-gittip:before {
1310
+ content: "\f184";
1311
+ }
1312
+ .fa-sun-o:before {
1313
+ content: "\f185";
1314
+ }
1315
+ .fa-moon-o:before {
1316
+ content: "\f186";
1317
+ }
1318
+ .fa-archive:before {
1319
+ content: "\f187";
1320
+ }
1321
+ .fa-bug:before {
1322
+ content: "\f188";
1323
+ }
1324
+ .fa-vk:before {
1325
+ content: "\f189";
1326
+ }
1327
+ .fa-weibo:before {
1328
+ content: "\f18a";
1329
+ }
1330
+ .fa-renren:before {
1331
+ content: "\f18b";
1332
+ }
1333
+ .fa-pagelines:before {
1334
+ content: "\f18c";
1335
+ }
1336
+ .fa-stack-exchange:before {
1337
+ content: "\f18d";
1338
+ }
1339
+ .fa-arrow-circle-o-right:before {
1340
+ content: "\f18e";
1341
+ }
1342
+ .fa-arrow-circle-o-left:before {
1343
+ content: "\f190";
1344
+ }
1345
+ .fa-toggle-left:before,
1346
+ .fa-caret-square-o-left:before {
1347
+ content: "\f191";
1348
+ }
1349
+ .fa-dot-circle-o:before {
1350
+ content: "\f192";
1351
+ }
1352
+ .fa-wheelchair:before {
1353
+ content: "\f193";
1354
+ }
1355
+ .fa-vimeo-square:before {
1356
+ content: "\f194";
1357
+ }
1358
+ .fa-turkish-lira:before,
1359
+ .fa-try:before {
1360
+ content: "\f195";
1361
+ }