Advanced Custom Fields: Font Awesome Field - Version 1.5

Version Description

  • New Feature: Integrated with the Better Font Awesome Library to automatically use the latest version of the Font Awesome icons
Download this release

Release Info

Developer mattkeys
Plugin Icon 128x128 Advanced Custom Fields: Font Awesome Field
Version 1.5
Comparing to
See all releases

Code changes from version 1.4 to 1.5

acf-font-awesome-v4.php CHANGED
@@ -4,7 +4,9 @@ class acf_field_font_awesome extends acf_field
4
  {
5
  // vars
6
  var $settings, // will hold info such as dir / path
7
- $defaults; // will hold default field options
 
 
8
 
9
  /*
10
  * __construct
@@ -25,563 +27,13 @@ class acf_field_font_awesome extends acf_field
25
  'allow_null' => 0,
26
  'save_format' => 'element',
27
  'default_value' => '',
28
- 'choices' => array(
29
- 'fa-adjust' => ' fa-adjust',
30
- 'fa-adn' => ' fa-adn',
31
- 'fa-align-center' => ' fa-align-center',
32
- 'fa-align-justify' => ' fa-align-justify',
33
- 'fa-align-left' => ' fa-align-left',
34
- 'fa-align-right' => ' fa-align-right',
35
- 'fa-ambulance' => ' fa-ambulance',
36
- 'fa-anchor' => ' fa-anchor',
37
- 'fa-android' => ' fa-android',
38
- 'fa-angellist' => ' fa-angellist',
39
- 'fa-angle-double-down' => ' fa-angle-double-down',
40
- 'fa-angle-double-left' => ' fa-angle-double-left',
41
- 'fa-angle-double-right' => ' fa-angle-double-right',
42
- 'fa-angle-double-up' => ' fa-angle-double-up',
43
- 'fa-angle-down' => ' fa-angle-down',
44
- 'fa-angle-left' => ' fa-angle-left',
45
- 'fa-angle-right' => ' fa-angle-right',
46
- 'fa-angle-up' => ' fa-angle-up',
47
- 'fa-apple' => ' fa-apple',
48
- 'fa-archive' => ' fa-archive',
49
- 'fa-area-chart' => ' fa-area-chart',
50
- 'fa-arrow-circle-down' => ' fa-arrow-circle-down',
51
- 'fa-arrow-circle-left' => ' fa-arrow-circle-left',
52
- 'fa-arrow-circle-o-down' => ' fa-arrow-circle-o-down',
53
- 'fa-arrow-circle-o-left' => ' fa-arrow-circle-o-left',
54
- 'fa-arrow-circle-o-right' => ' fa-arrow-circle-o-right',
55
- 'fa-arrow-circle-o-up' => ' fa-arrow-circle-o-up',
56
- 'fa-arrow-circle-right' => ' fa-arrow-circle-right',
57
- 'fa-arrow-circle-up' => ' fa-arrow-circle-up',
58
- 'fa-arrow-down' => ' fa-arrow-down',
59
- 'fa-arrow-left' => ' fa-arrow-left',
60
- 'fa-arrow-right' => ' fa-arrow-right',
61
- 'fa-arrow-up' => ' fa-arrow-up',
62
- 'fa-arrows' => ' fa-arrows',
63
- 'fa-arrows-alt' => ' fa-arrows-alt',
64
- 'fa-arrows-h' => ' fa-arrows-h',
65
- 'fa-arrows-v' => ' fa-arrows-v',
66
- 'fa-asterisk' => ' fa-asterisk',
67
- 'fa-at' => ' fa-at',
68
- 'fa-automobile' => ' fa-automobile',
69
- 'fa-backward' => ' fa-backward',
70
- 'fa-ban' => ' fa-ban',
71
- 'fa-bank' => ' fa-bank',
72
- 'fa-bar-chart' => ' fa-bar-chart',
73
- 'fa-bar-chart-o' => ' fa-bar-chart-o',
74
- 'fa-barcode' => ' fa-barcode',
75
- 'fa-bars' => ' fa-bars',
76
- 'fa-beer' => ' fa-beer',
77
- 'fa-behance' => ' fa-behance',
78
- 'fa-behance-square' => ' fa-behance-square',
79
- 'fa-bell' => ' fa-bell',
80
- 'fa-bell-o' => ' fa-bell-o',
81
- 'fa-bell-slash' => ' fa-bell-slash',
82
- 'fa-bell-slash-o' => ' fa-bell-slash-o',
83
- 'fa-bicycle' => ' fa-bicycle',
84
- 'fa-binoculars' => ' fa-binoculars',
85
- 'fa-birthday-cake' => ' fa-birthday-cake',
86
- 'fa-bitbucket' => ' fa-bitbucket',
87
- 'fa-bitbucket-square' => ' fa-bitbucket-square',
88
- 'fa-bitcoin' => ' fa-bitcoin',
89
- 'fa-bold' => ' fa-bold',
90
- 'fa-bolt' => ' fa-bolt',
91
- 'fa-bomb' => ' fa-bomb',
92
- 'fa-book' => ' fa-book',
93
- 'fa-bookmark' => ' fa-bookmark',
94
- 'fa-bookmark-o' => ' fa-bookmark-o',
95
- 'fa-briefcase' => ' fa-briefcase',
96
- 'fa-btc' => ' fa-btc',
97
- 'fa-bug' => ' fa-bug',
98
- 'fa-building' => ' fa-building',
99
- 'fa-building-o' => ' fa-building-o',
100
- 'fa-bullhorn' => ' fa-bullhorn',
101
- 'fa-bullseye' => ' fa-bullseye',
102
- 'fa-bus' => ' fa-bus',
103
- 'fa-cab' => ' fa-cab',
104
- 'fa-calculator' => ' fa-calculator',
105
- 'fa-calendar' => ' fa-calendar',
106
- 'fa-calendar-o' => ' fa-calendar-o',
107
- 'fa-camera' => ' fa-camera',
108
- 'fa-camera-retro' => ' fa-camera-retro',
109
- 'fa-car' => ' fa-car',
110
- 'fa-caret-down' => ' fa-caret-down',
111
- 'fa-caret-left' => ' fa-caret-left',
112
- 'fa-caret-right' => ' fa-caret-right',
113
- 'fa-caret-square-o-down' => ' fa-caret-square-o-down',
114
- 'fa-caret-square-o-left' => ' fa-caret-square-o-left',
115
- 'fa-caret-square-o-right' => ' fa-caret-square-o-right',
116
- 'fa-caret-square-o-up' => ' fa-caret-square-o-up',
117
- 'fa-caret-up' => ' fa-caret-up',
118
- 'fa-cc' => ' fa-cc',
119
- 'fa-cc-amex' => ' fa-cc-amex',
120
- 'fa-cc-discover' => ' fa-cc-discover',
121
- 'fa-cc-mastercard' => ' fa-cc-mastercard',
122
- 'fa-cc-paypal' => ' fa-cc-paypal',
123
- 'fa-cc-stripe' => ' fa-cc-stripe',
124
- 'fa-cc-visa' => ' fa-cc-visa',
125
- 'fa-certificate' => ' fa-certificate',
126
- 'fa-chain' => ' fa-chain',
127
- 'fa-chain-broken' => ' fa-chain-broken',
128
- 'fa-check' => ' fa-check',
129
- 'fa-check-circle' => ' fa-check-circle',
130
- 'fa-check-circle-o' => ' fa-check-circle-o',
131
- 'fa-check-square' => ' fa-check-square',
132
- 'fa-check-square-o' => ' fa-check-square-o',
133
- 'fa-chevron-circle-down' => ' fa-chevron-circle-down',
134
- 'fa-chevron-circle-left' => ' fa-chevron-circle-left',
135
- 'fa-chevron-circle-right' => ' fa-chevron-circle-right',
136
- 'fa-chevron-circle-up' => ' fa-chevron-circle-up',
137
- 'fa-chevron-down' => ' fa-chevron-down',
138
- 'fa-chevron-left' => ' fa-chevron-left',
139
- 'fa-chevron-right' => ' fa-chevron-right',
140
- 'fa-chevron-up' => ' fa-chevron-up',
141
- 'fa-child' => ' fa-child',
142
- 'fa-circle' => ' fa-circle',
143
- 'fa-circle-o' => ' fa-circle-o',
144
- 'fa-circle-o-notch' => ' fa-circle-o-notch',
145
- 'fa-circle-thin' => ' fa-circle-thin',
146
- 'fa-clipboard' => ' fa-clipboard',
147
- 'fa-clock-o' => ' fa-clock-o',
148
- 'fa-close' => ' fa-close',
149
- 'fa-cloud' => ' fa-cloud',
150
- 'fa-cloud-download' => ' fa-cloud-download',
151
- 'fa-cloud-upload' => ' fa-cloud-upload',
152
- 'fa-cny' => ' fa-cny',
153
- 'fa-code' => ' fa-code',
154
- 'fa-code-fork' => ' fa-code-fork',
155
- 'fa-codepen' => ' fa-codepen',
156
- 'fa-coffee' => ' fa-coffee',
157
- 'fa-cog' => ' fa-cog',
158
- 'fa-cogs' => ' fa-cogs',
159
- 'fa-columns' => ' fa-columns',
160
- 'fa-comment' => ' fa-comment',
161
- 'fa-comment-o' => ' fa-comment-o',
162
- 'fa-comments' => ' fa-comments',
163
- 'fa-comments-o' => ' fa-comments-o',
164
- 'fa-compass' => ' fa-compass',
165
- 'fa-compress' => ' fa-compress',
166
- 'fa-copy' => ' fa-copy',
167
- 'fa-copyright' => ' fa-copyright',
168
- 'fa-credit-card' => ' fa-credit-card',
169
- 'fa-crop' => ' fa-crop',
170
- 'fa-crosshairs' => ' fa-crosshairs',
171
- 'fa-css3' => ' fa-css3',
172
- 'fa-cube' => ' fa-cube',
173
- 'fa-cubes' => ' fa-cubes',
174
- 'fa-cut' => ' fa-cut',
175
- 'fa-cutlery' => ' fa-cutlery',
176
- 'fa-dashboard' => ' fa-dashboard',
177
- 'fa-database' => ' fa-database',
178
- 'fa-dedent' => ' fa-dedent',
179
- 'fa-delicious' => ' fa-delicious',
180
- 'fa-desktop' => ' fa-desktop',
181
- 'fa-deviantart' => ' fa-deviantart',
182
- 'fa-digg' => ' fa-digg',
183
- 'fa-dollar' => ' fa-dollar',
184
- 'fa-dot-circle-o' => ' fa-dot-circle-o',
185
- 'fa-download' => ' fa-download',
186
- 'fa-dribbble' => ' fa-dribbble',
187
- 'fa-dropbox' => ' fa-dropbox',
188
- 'fa-drupal' => ' fa-drupal',
189
- 'fa-edit' => ' fa-edit',
190
- 'fa-eject' => ' fa-eject',
191
- 'fa-ellipsis-h' => ' fa-ellipsis-h',
192
- 'fa-ellipsis-v' => ' fa-ellipsis-v',
193
- 'fa-empire' => ' fa-empire',
194
- 'fa-envelope' => ' fa-envelope',
195
- 'fa-envelope-o' => ' fa-envelope-o',
196
- 'fa-envelope-square' => ' fa-envelope-square',
197
- 'fa-eraser' => ' fa-eraser',
198
- 'fa-eur' => ' fa-eur',
199
- 'fa-euro' => ' fa-euro',
200
- 'fa-exchange' => ' fa-exchange',
201
- 'fa-exclamation' => ' fa-exclamation',
202
- 'fa-exclamation-circle' => ' fa-exclamation-circle',
203
- 'fa-exclamation-triangle' => ' fa-exclamation-triangle',
204
- 'fa-expand' => ' fa-expand',
205
- 'fa-external-link' => ' fa-external-link',
206
- 'fa-external-link-square' => ' fa-external-link-square',
207
- 'fa-eye' => ' fa-eye',
208
- 'fa-eye-slash' => ' fa-eye-slash',
209
- 'fa-eyedropper' => ' fa-eyedropper',
210
- 'fa-facebook' => ' fa-facebook',
211
- 'fa-facebook-square' => ' fa-facebook-square',
212
- 'fa-fast-backward' => ' fa-fast-backward',
213
- 'fa-fast-forward' => ' fa-fast-forward',
214
- 'fa-fax' => ' fa-fax',
215
- 'fa-female' => ' fa-female',
216
- 'fa-fighter-jet' => ' fa-fighter-jet',
217
- 'fa-file' => ' fa-file',
218
- 'fa-file-archive-o' => ' fa-file-archive-o',
219
- 'fa-file-audio-o' => ' fa-file-audio-o',
220
- 'fa-file-code-o' => ' fa-file-code-o',
221
- 'fa-file-excel-o' => ' fa-file-excel-o',
222
- 'fa-file-image-o' => ' fa-file-image-o',
223
- 'fa-file-movie-o' => ' fa-file-movie-o',
224
- 'fa-file-o' => ' fa-file-o',
225
- 'fa-file-pdf-o' => ' fa-file-pdf-o',
226
- 'fa-file-photo-o' => ' fa-file-photo-o',
227
- 'fa-file-picture-o' => ' fa-file-picture-o',
228
- 'fa-file-powerpoint-o' => ' fa-file-powerpoint-o',
229
- 'fa-file-sound-o' => ' fa-file-sound-o',
230
- 'fa-file-text' => ' fa-file-text',
231
- 'fa-file-text-o' => ' fa-file-text-o',
232
- 'fa-file-video-o' => ' fa-file-video-o',
233
- 'fa-file-word-o' => ' fa-file-word-o',
234
- 'fa-file-zip-o' => ' fa-file-zip-o',
235
- 'fa-files-o' => ' fa-files-o',
236
- 'fa-film' => ' fa-film',
237
- 'fa-filter' => ' fa-filter',
238
- 'fa-fire' => ' fa-fire',
239
- 'fa-fire-extinguisher' => ' fa-fire-extinguisher',
240
- 'fa-flag' => ' fa-flag',
241
- 'fa-flag-checkered' => ' fa-flag-checkered',
242
- 'fa-flag-o' => ' fa-flag-o',
243
- 'fa-flash' => ' fa-flash',
244
- 'fa-flask' => ' fa-flask',
245
- 'fa-flickr' => ' fa-flickr',
246
- 'fa-floppy-o' => ' fa-floppy-o',
247
- 'fa-folder' => ' fa-folder',
248
- 'fa-folder-o' => ' fa-folder-o',
249
- 'fa-folder-open' => ' fa-folder-open',
250
- 'fa-folder-open-o' => ' fa-folder-open-o',
251
- 'fa-font' => ' fa-font',
252
- 'fa-forward' => ' fa-forward',
253
- 'fa-foursquare' => ' fa-foursquare',
254
- 'fa-frown-o' => ' fa-frown-o',
255
- 'fa-futbol-o' => ' fa-futbol-o',
256
- 'fa-gamepad' => ' fa-gamepad',
257
- 'fa-gavel' => ' fa-gavel',
258
- 'fa-gbp' => ' fa-gbp',
259
- 'fa-ge' => ' fa-ge',
260
- 'fa-gear' => ' fa-gear',
261
- 'fa-gears' => ' fa-gears',
262
- 'fa-gift' => ' fa-gift',
263
- 'fa-git' => ' fa-git',
264
- 'fa-git-square' => ' fa-git-square',
265
- 'fa-github' => ' fa-github',
266
- 'fa-github-alt' => ' fa-github-alt',
267
- 'fa-github-square' => ' fa-github-square',
268
- 'fa-gittip' => ' fa-gittip',
269
- 'fa-glass' => ' fa-glass',
270
- 'fa-globe' => ' fa-globe',
271
- 'fa-google' => ' fa-google',
272
- 'fa-google-plus' => ' fa-google-plus',
273
- 'fa-google-plus-square' => ' fa-google-plus-square',
274
- 'fa-google-wallet' => ' fa-google-wallet',
275
- 'fa-graduation-cap' => ' fa-graduation-cap',
276
- 'fa-group' => ' fa-group',
277
- 'fa-h-square' => ' fa-h-square',
278
- 'fa-hacker-news' => ' fa-hacker-news',
279
- 'fa-hand-o-down' => ' fa-hand-o-down',
280
- 'fa-hand-o-left' => ' fa-hand-o-left',
281
- 'fa-hand-o-right' => ' fa-hand-o-right',
282
- 'fa-hand-o-up' => ' fa-hand-o-up',
283
- 'fa-hdd-o' => ' fa-hdd-o',
284
- 'fa-header' => ' fa-header',
285
- 'fa-headphones' => ' fa-headphones',
286
- 'fa-heart' => ' fa-heart',
287
- 'fa-heart-o' => ' fa-heart-o',
288
- 'fa-history' => ' fa-history',
289
- 'fa-home' => ' fa-home',
290
- 'fa-hospital-o' => ' fa-hospital-o',
291
- 'fa-html5' => ' fa-html5',
292
- 'fa-ils' => ' fa-ils',
293
- 'fa-image' => ' fa-image',
294
- 'fa-inbox' => ' fa-inbox',
295
- 'fa-indent' => ' fa-indent',
296
- 'fa-info' => ' fa-info',
297
- 'fa-info-circle' => ' fa-info-circle',
298
- 'fa-inr' => ' fa-inr',
299
- 'fa-instagram' => ' fa-instagram',
300
- 'fa-institution' => ' fa-institution',
301
- 'fa-ioxhost' => ' fa-ioxhost',
302
- 'fa-italic' => ' fa-italic',
303
- 'fa-joomla' => ' fa-joomla',
304
- 'fa-jpy' => ' fa-jpy',
305
- 'fa-jsfiddle' => ' fa-jsfiddle',
306
- 'fa-key' => ' fa-key',
307
- 'fa-keyboard-o' => ' fa-keyboard-o',
308
- 'fa-krw' => ' fa-krw',
309
- 'fa-language' => ' fa-language',
310
- 'fa-laptop' => ' fa-laptop',
311
- 'fa-lastfm' => ' fa-lastfm',
312
- 'fa-lastfm-square' => ' fa-lastfm-square',
313
- 'fa-leaf' => ' fa-leaf',
314
- 'fa-legal' => ' fa-legal',
315
- 'fa-lemon-o' => ' fa-lemon-o',
316
- 'fa-level-down' => ' fa-level-down',
317
- 'fa-level-up' => ' fa-level-up',
318
- 'fa-life-bouy' => ' fa-life-bouy',
319
- 'fa-life-buoy' => ' fa-life-buoy',
320
- 'fa-life-ring' => ' fa-life-ring',
321
- 'fa-life-saver' => ' fa-life-saver',
322
- 'fa-lightbulb-o' => ' fa-lightbulb-o',
323
- 'fa-line-chart' => ' fa-line-chart',
324
- 'fa-link' => ' fa-link',
325
- 'fa-linkedin' => ' fa-linkedin',
326
- 'fa-linkedin-square' => ' fa-linkedin-square',
327
- 'fa-linux' => ' fa-linux',
328
- 'fa-list' => ' fa-list',
329
- 'fa-list-alt' => ' fa-list-alt',
330
- 'fa-list-ol' => ' fa-list-ol',
331
- 'fa-list-ul' => ' fa-list-ul',
332
- 'fa-location-arrow' => ' fa-location-arrow',
333
- 'fa-lock' => ' fa-lock',
334
- 'fa-long-arrow-down' => ' fa-long-arrow-down',
335
- 'fa-long-arrow-left' => ' fa-long-arrow-left',
336
- 'fa-long-arrow-right' => ' fa-long-arrow-right',
337
- 'fa-long-arrow-up' => ' fa-long-arrow-up',
338
- 'fa-magic' => ' fa-magic',
339
- 'fa-magnet' => ' fa-magnet',
340
- 'fa-mail-forward' => ' fa-mail-forward',
341
- 'fa-mail-reply' => ' fa-mail-reply',
342
- 'fa-mail-reply-all' => ' fa-mail-reply-all',
343
- 'fa-male' => ' fa-male',
344
- 'fa-map-marker' => ' fa-map-marker',
345
- 'fa-maxcdn' => ' fa-maxcdn',
346
- 'fa-meanpath' => ' fa-meanpath',
347
- 'fa-medkit' => ' fa-medkit',
348
- 'fa-meh-o' => ' fa-meh-o',
349
- 'fa-microphone' => ' fa-microphone',
350
- 'fa-microphone-slash' => ' fa-microphone-slash',
351
- 'fa-minus' => ' fa-minus',
352
- 'fa-minus-circle' => ' fa-minus-circle',
353
- 'fa-minus-square' => ' fa-minus-square',
354
- 'fa-minus-square-o' => ' fa-minus-square-o',
355
- 'fa-mobile' => ' fa-mobile',
356
- 'fa-mobile-phone' => ' fa-mobile-phone',
357
- 'fa-money' => ' fa-money',
358
- 'fa-moon-o' => ' fa-moon-o',
359
- 'fa-mortar-board' => ' fa-mortar-board',
360
- 'fa-music' => ' fa-music',
361
- 'fa-navicon' => ' fa-navicon',
362
- 'fa-newspaper-o' => ' fa-newspaper-o',
363
- 'fa-openid' => ' fa-openid',
364
- 'fa-outdent' => ' fa-outdent',
365
- 'fa-pagelines' => ' fa-pagelines',
366
- 'fa-paint-brush' => ' fa-paint-brush',
367
- 'fa-paper-plane' => ' fa-paper-plane',
368
- 'fa-paper-plane-o' => ' fa-paper-plane-o',
369
- 'fa-paperclip' => ' fa-paperclip',
370
- 'fa-paragraph' => ' fa-paragraph',
371
- 'fa-paste' => ' fa-paste',
372
- 'fa-pause' => ' fa-pause',
373
- 'fa-paw' => ' fa-paw',
374
- 'fa-paypal' => ' fa-paypal',
375
- 'fa-pencil' => ' fa-pencil',
376
- 'fa-pencil-square' => ' fa-pencil-square',
377
- 'fa-pencil-square-o' => ' fa-pencil-square-o',
378
- 'fa-phone' => ' fa-phone',
379
- 'fa-phone-square' => ' fa-phone-square',
380
- 'fa-photo' => ' fa-photo',
381
- 'fa-picture-o' => ' fa-picture-o',
382
- 'fa-pie-chart' => ' fa-pie-chart',
383
- 'fa-pied-piper' => ' fa-pied-piper',
384
- 'fa-pied-piper-alt' => ' fa-pied-piper-alt',
385
- 'fa-pinterest' => ' fa-pinterest',
386
- 'fa-pinterest-square' => ' fa-pinterest-square',
387
- 'fa-plane' => ' fa-plane',
388
- 'fa-play' => ' fa-play',
389
- 'fa-play-circle' => ' fa-play-circle',
390
- 'fa-play-circle-o' => ' fa-play-circle-o',
391
- 'fa-plug' => ' fa-plug',
392
- 'fa-plus' => ' fa-plus',
393
- 'fa-plus-circle' => ' fa-plus-circle',
394
- 'fa-plus-square' => ' fa-plus-square',
395
- 'fa-plus-square-o' => ' fa-plus-square-o',
396
- 'fa-power-off' => ' fa-power-off',
397
- 'fa-print' => ' fa-print',
398
- 'fa-puzzle-piece' => ' fa-puzzle-piece',
399
- 'fa-qq' => ' fa-qq',
400
- 'fa-qrcode' => ' fa-qrcode',
401
- 'fa-question' => ' fa-question',
402
- 'fa-question-circle' => ' fa-question-circle',
403
- 'fa-quote-left' => ' fa-quote-left',
404
- 'fa-quote-right' => ' fa-quote-right',
405
- 'fa-ra' => ' fa-ra',
406
- 'fa-random' => ' fa-random',
407
- 'fa-rebel' => ' fa-rebel',
408
- 'fa-recycle' => ' fa-recycle',
409
- 'fa-reddit' => ' fa-reddit',
410
- 'fa-reddit-square' => ' fa-reddit-square',
411
- 'fa-refresh' => ' fa-refresh',
412
- 'fa-remove' => ' fa-remove',
413
- 'fa-renren' => ' fa-renren',
414
- 'fa-reorder' => ' fa-reorder',
415
- 'fa-repeat' => ' fa-repeat',
416
- 'fa-reply' => ' fa-reply',
417
- 'fa-reply-all' => ' fa-reply-all',
418
- 'fa-retweet' => ' fa-retweet',
419
- 'fa-rmb' => ' fa-rmb',
420
- 'fa-road' => ' fa-road',
421
- 'fa-rocket' => ' fa-rocket',
422
- 'fa-rotate-left' => ' fa-rotate-left',
423
- 'fa-rotate-right' => ' fa-rotate-right',
424
- 'fa-rouble' => ' fa-rouble',
425
- 'fa-rss' => ' fa-rss',
426
- 'fa-rss-square' => ' fa-rss-square',
427
- 'fa-rub' => ' fa-rub',
428
- 'fa-ruble' => ' fa-ruble',
429
- 'fa-rupee' => ' fa-rupee',
430
- 'fa-save' => ' fa-save',
431
- 'fa-scissors' => ' fa-scissors',
432
- 'fa-search' => ' fa-search',
433
- 'fa-search-minus' => ' fa-search-minus',
434
- 'fa-search-plus' => ' fa-search-plus',
435
- 'fa-send' => ' fa-send',
436
- 'fa-send-o' => ' fa-send-o',
437
- 'fa-share' => ' fa-share',
438
- 'fa-share-alt' => ' fa-share-alt',
439
- 'fa-share-alt-square' => ' fa-share-alt-square',
440
- 'fa-share-square' => ' fa-share-square',
441
- 'fa-share-square-o' => ' fa-share-square-o',
442
- 'fa-shekel' => ' fa-shekel',
443
- 'fa-sheqel' => ' fa-sheqel',
444
- 'fa-shield' => ' fa-shield',
445
- 'fa-shopping-cart' => ' fa-shopping-cart',
446
- 'fa-sign-in' => ' fa-sign-in',
447
- 'fa-sign-out' => ' fa-sign-out',
448
- 'fa-signal' => ' fa-signal',
449
- 'fa-sitemap' => ' fa-sitemap',
450
- 'fa-skype' => ' fa-skype',
451
- 'fa-slack' => ' fa-slack',
452
- 'fa-sliders' => ' fa-sliders',
453
- 'fa-slideshare' => ' fa-slideshare',
454
- 'fa-smile-o' => ' fa-smile-o',
455
- 'fa-soccer-ball-o' => ' fa-soccer-ball-o',
456
- 'fa-sort' => ' fa-sort',
457
- 'fa-sort-alpha-asc' => ' fa-sort-alpha-asc',
458
- 'fa-sort-alpha-desc' => ' fa-sort-alpha-desc',
459
- 'fa-sort-amount-asc' => ' fa-sort-amount-asc',
460
- 'fa-sort-amount-desc' => ' fa-sort-amount-desc',
461
- 'fa-sort-asc' => ' fa-sort-asc',
462
- 'fa-sort-desc' => ' fa-sort-desc',
463
- 'fa-sort-down' => ' fa-sort-down',
464
- 'fa-sort-numeric-asc' => ' fa-sort-numeric-asc',
465
- 'fa-sort-numeric-desc' => ' fa-sort-numeric-desc',
466
- 'fa-sort-up' => ' fa-sort-up',
467
- 'fa-soundcloud' => ' fa-soundcloud',
468
- 'fa-space-shuttle' => ' fa-space-shuttle',
469
- 'fa-spinner' => ' fa-spinner',
470
- 'fa-spoon' => ' fa-spoon',
471
- 'fa-spotify' => ' fa-spotify',
472
- 'fa-square' => ' fa-square',
473
- 'fa-square-o' => ' fa-square-o',
474
- 'fa-stack-exchange' => ' fa-stack-exchange',
475
- 'fa-stack-overflow' => ' fa-stack-overflow',
476
- 'fa-star' => ' fa-star',
477
- 'fa-star-half' => ' fa-star-half',
478
- 'fa-star-half-empty' => ' fa-star-half-empty',
479
- 'fa-star-half-full' => ' fa-star-half-full',
480
- 'fa-star-half-o' => ' fa-star-half-o',
481
- 'fa-star-o' => ' fa-star-o',
482
- 'fa-steam' => ' fa-steam',
483
- 'fa-steam-square' => ' fa-steam-square',
484
- 'fa-step-backward' => ' fa-step-backward',
485
- 'fa-step-forward' => ' fa-step-forward',
486
- 'fa-stethoscope' => ' fa-stethoscope',
487
- 'fa-stop' => ' fa-stop',
488
- 'fa-strikethrough' => ' fa-strikethrough',
489
- 'fa-stumbleupon' => ' fa-stumbleupon',
490
- 'fa-stumbleupon-circle' => ' fa-stumbleupon-circle',
491
- 'fa-subscript' => ' fa-subscript',
492
- 'fa-suitcase' => ' fa-suitcase',
493
- 'fa-sun-o' => ' fa-sun-o',
494
- 'fa-superscript' => ' fa-superscript',
495
- 'fa-support' => ' fa-support',
496
- 'fa-table' => ' fa-table',
497
- 'fa-tablet' => ' fa-tablet',
498
- 'fa-tachometer' => ' fa-tachometer',
499
- 'fa-tag' => ' fa-tag',
500
- 'fa-tags' => ' fa-tags',
501
- 'fa-tasks' => ' fa-tasks',
502
- 'fa-taxi' => ' fa-taxi',
503
- 'fa-tencent-weibo' => ' fa-tencent-weibo',
504
- 'fa-terminal' => ' fa-terminal',
505
- 'fa-text-height' => ' fa-text-height',
506
- 'fa-text-width' => ' fa-text-width',
507
- 'fa-th' => ' fa-th',
508
- 'fa-th-large' => ' fa-th-large',
509
- 'fa-th-list' => ' fa-th-list',
510
- 'fa-thumb-tack' => ' fa-thumb-tack',
511
- 'fa-thumbs-down' => ' fa-thumbs-down',
512
- 'fa-thumbs-o-down' => ' fa-thumbs-o-down',
513
- 'fa-thumbs-o-up' => ' fa-thumbs-o-up',
514
- 'fa-thumbs-up' => ' fa-thumbs-up',
515
- 'fa-ticket' => ' fa-ticket',
516
- 'fa-times' => ' fa-times',
517
- 'fa-times-circle' => ' fa-times-circle',
518
- 'fa-times-circle-o' => ' fa-times-circle-o',
519
- 'fa-tint' => ' fa-tint',
520
- 'fa-toggle-down' => ' fa-toggle-down',
521
- 'fa-toggle-left' => ' fa-toggle-left',
522
- 'fa-toggle-off' => ' fa-toggle-off',
523
- 'fa-toggle-on' => ' fa-toggle-on',
524
- 'fa-toggle-right' => ' fa-toggle-right',
525
- 'fa-toggle-up' => ' fa-toggle-up',
526
- 'fa-trash' => ' fa-trash',
527
- 'fa-trash-o' => ' fa-trash-o',
528
- 'fa-tree' => ' fa-tree',
529
- 'fa-trello' => ' fa-trello',
530
- 'fa-trophy' => ' fa-trophy',
531
- 'fa-truck' => ' fa-truck',
532
- 'fa-try' => ' fa-try',
533
- 'fa-tty' => ' fa-tty',
534
- 'fa-tumblr' => ' fa-tumblr',
535
- 'fa-tumblr-square' => ' fa-tumblr-square',
536
- 'fa-turkish-lira' => ' fa-turkish-lira',
537
- 'fa-twitch' => ' fa-twitch',
538
- 'fa-twitter' => ' fa-twitter',
539
- 'fa-twitter-square' => ' fa-twitter-square',
540
- 'fa-umbrella' => ' fa-umbrella',
541
- 'fa-underline' => ' fa-underline',
542
- 'fa-undo' => ' fa-undo',
543
- 'fa-university' => ' fa-university',
544
- 'fa-unlink' => ' fa-unlink',
545
- 'fa-unlock' => ' fa-unlock',
546
- 'fa-unlock-alt' => ' fa-unlock-alt',
547
- 'fa-unsorted' => ' fa-unsorted',
548
- 'fa-upload' => ' fa-upload',
549
- 'fa-usd' => ' fa-usd',
550
- 'fa-user' => ' fa-user',
551
- 'fa-user-md' => ' fa-user-md',
552
- 'fa-users' => ' fa-users',
553
- 'fa-video-camera' => ' fa-video-camera',
554
- 'fa-vimeo-square' => ' fa-vimeo-square',
555
- 'fa-vine' => ' fa-vine',
556
- 'fa-vk' => ' fa-vk',
557
- 'fa-volume-down' => ' fa-volume-down',
558
- 'fa-volume-off' => ' fa-volume-off',
559
- 'fa-volume-up' => ' fa-volume-up',
560
- 'fa-warning' => ' fa-warning',
561
- 'fa-wechat' => ' fa-wechat',
562
- 'fa-weibo' => ' fa-weibo',
563
- 'fa-weixin' => ' fa-weixin',
564
- 'fa-wheelchair' => ' fa-wheelchair',
565
- 'fa-wifi' => ' fa-wifi',
566
- 'fa-windows' => ' fa-windows',
567
- 'fa-won' => ' fa-won',
568
- 'fa-wordpress' => ' fa-wordpress',
569
- 'fa-wrench' => ' fa-wrench',
570
- 'fa-xing' => ' fa-xing',
571
- 'fa-xing-square' => ' fa-xing-square',
572
- 'fa-yahoo' => ' fa-yahoo',
573
- 'fa-yelp' => ' fa-yelp',
574
- 'fa-yen' => ' fa-yen',
575
- 'fa-youtube' => ' fa-youtube',
576
- 'fa-youtube-play' => ' fa-youtube-play',
577
- 'fa-youtube-square' => ' fa-youtube-square'
578
- )
579
  );
580
 
581
  $this->settings = array(
582
  'path' => apply_filters('acf/helpers/get_path', __FILE__),
583
  'dir' => apply_filters('acf/helpers/get_dir', __FILE__),
584
- 'version' => '1.2'
585
  );
586
 
587
  add_filter('acf/load_field', array( $this, 'maybe_enqueue_font_awesome' ) );
@@ -589,6 +41,36 @@ class acf_field_font_awesome extends acf_field
589
  parent::__construct();
590
  }
591
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
592
  /*
593
  * maybe_enqueue_font_awesome()
594
  *
@@ -816,7 +298,7 @@ class acf_field_font_awesome extends acf_field
816
  wp_enqueue_script('acf-input-font-awesome-select2', $this->settings['dir'] . 'js/select2/select2.min.js', array(), $this->settings['version']);
817
  wp_enqueue_script('acf-input-font-awesome-edit-input', $this->settings['dir'] . 'js/edit_input.js', array(), $this->settings['version']);
818
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
819
- wp_enqueue_style('acf-input-font-awesome-fa', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
820
  wp_enqueue_style('acf-input-font-awesome-select2-css', $this->settings['dir'] . 'css/select2.css', array(), $this->settings['version']);
821
  }
822
 
@@ -838,7 +320,7 @@ class acf_field_font_awesome extends acf_field
838
  wp_enqueue_script('font-awesome-select2', $this->settings['dir'] . 'js/select2/select2.min.js', array(), $this->settings['version']);
839
  wp_enqueue_script('font-awesome-create-input', $this->settings['dir'] . 'js/create_input.js', array(), $this->settings['version']);
840
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
841
- wp_enqueue_style('acf-input-font-awesome-fa', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
842
  wp_enqueue_style('acf-input-font-awesome-select2-css', $this->settings['dir'] . 'css/select2.css', array(), $this->settings['version']);
843
  }
844
 
@@ -853,11 +335,9 @@ class acf_field_font_awesome extends acf_field
853
 
854
  function frontend_enqueue_scripts()
855
  {
856
- wp_register_style('font-awesome', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
857
 
858
- wp_enqueue_style(array(
859
- 'font-awesome'
860
- ));
861
  }
862
 
863
  /*
4
  {
5
  // vars
6
  var $settings, // will hold info such as dir / path
7
+ $defaults, // will hold default field options
8
+ $stylesheet, // will hold fontawesome stylesheet url
9
+ $version; // will hold fontawesome version number
10
 
11
  /*
12
  * __construct
27
  'allow_null' => 0,
28
  'save_format' => 'element',
29
  'default_value' => '',
30
+ 'choices' => $this->get_icons()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  );
32
 
33
  $this->settings = array(
34
  'path' => apply_filters('acf/helpers/get_path', __FILE__),
35
  'dir' => apply_filters('acf/helpers/get_dir', __FILE__),
36
+ 'version' => '1.5'
37
  );
38
 
39
  add_filter('acf/load_field', array( $this, 'maybe_enqueue_font_awesome' ) );
41
  parent::__construct();
42
  }
43
 
44
+ function get_icons()
45
+ {
46
+ require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );
47
+
48
+ $args = array(
49
+ 'version' => 'latest',
50
+ 'minified' => true,
51
+ 'remove_existing_fa' => false,
52
+ 'load_styles' => false,
53
+ 'load_admin_styles' => false,
54
+ 'load_shortcode' => false,
55
+ 'load_tinymce_plugin' => false
56
+ );
57
+
58
+ $bfa = Better_Font_Awesome_Library::get_instance( $args );
59
+ $bfa_icons = $bfa->get_icons();
60
+ $bfa_prefix = $bfa->get_prefix() . '-';
61
+ $new_icons = array();
62
+
63
+ $this->stylesheet = $bfa->get_stylesheet_url();
64
+ $this->version = $bfa->get_version();
65
+
66
+ foreach ( $bfa_icons as $hex => $class ) {
67
+ $unicode = '&#x' . ltrim( $hex, '\\') . ';';
68
+ $new_icons[ $bfa_prefix . $class ] = $unicode . ' ' . $bfa_prefix . $class;
69
+ }
70
+
71
+ return $new_icons;
72
+ }
73
+
74
  /*
75
  * maybe_enqueue_font_awesome()
76
  *
298
  wp_enqueue_script('acf-input-font-awesome-select2', $this->settings['dir'] . 'js/select2/select2.min.js', array(), $this->settings['version']);
299
  wp_enqueue_script('acf-input-font-awesome-edit-input', $this->settings['dir'] . 'js/edit_input.js', array(), $this->settings['version']);
300
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
301
+ wp_enqueue_style('acf-input-font-awesome-fa', $this->stylesheet, array(), $this->version);
302
  wp_enqueue_style('acf-input-font-awesome-select2-css', $this->settings['dir'] . 'css/select2.css', array(), $this->settings['version']);
303
  }
304
 
320
  wp_enqueue_script('font-awesome-select2', $this->settings['dir'] . 'js/select2/select2.min.js', array(), $this->settings['version']);
321
  wp_enqueue_script('font-awesome-create-input', $this->settings['dir'] . 'js/create_input.js', array(), $this->settings['version']);
322
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
323
+ wp_enqueue_style('acf-input-font-awesome-fa', $this->stylesheet, array(), $this->version);
324
  wp_enqueue_style('acf-input-font-awesome-select2-css', $this->settings['dir'] . 'css/select2.css', array(), $this->settings['version']);
325
  }
326
 
335
 
336
  function frontend_enqueue_scripts()
337
  {
338
+ wp_register_style('font-awesome', $this->stylesheet, array(), $this->version);
339
 
340
+ wp_enqueue_style( array( 'font-awesome' ) );
 
 
341
  }
342
 
343
  /*
acf-font-awesome-v5.php CHANGED
@@ -2,7 +2,9 @@
2
 
3
  class acf_field_font_awesome extends acf_field {
4
 
5
-
 
 
6
  /*
7
  * __construct
8
  *
@@ -27,571 +29,50 @@ class acf_field_font_awesome extends acf_field {
27
  'save_format' => 'element',
28
  'default_value' => '',
29
  'fa_live_preview' => '',
30
- 'choices' => array(
31
- 'fa-adjust' => ' fa-adjust',
32
- 'fa-adn' => ' fa-adn',
33
- 'fa-align-center' => ' fa-align-center',
34
- 'fa-align-justify' => ' fa-align-justify',
35
- 'fa-align-left' => ' fa-align-left',
36
- 'fa-align-right' => ' fa-align-right',
37
- 'fa-ambulance' => ' fa-ambulance',
38
- 'fa-anchor' => ' fa-anchor',
39
- 'fa-android' => ' fa-android',
40
- 'fa-angellist' => ' fa-angellist',
41
- 'fa-angle-double-down' => ' fa-angle-double-down',
42
- 'fa-angle-double-left' => ' fa-angle-double-left',
43
- 'fa-angle-double-right' => ' fa-angle-double-right',
44
- 'fa-angle-double-up' => ' fa-angle-double-up',
45
- 'fa-angle-down' => ' fa-angle-down',
46
- 'fa-angle-left' => ' fa-angle-left',
47
- 'fa-angle-right' => ' fa-angle-right',
48
- 'fa-angle-up' => ' fa-angle-up',
49
- 'fa-apple' => ' fa-apple',
50
- 'fa-archive' => ' fa-archive',
51
- 'fa-area-chart' => ' fa-area-chart',
52
- 'fa-arrow-circle-down' => ' fa-arrow-circle-down',
53
- 'fa-arrow-circle-left' => ' fa-arrow-circle-left',
54
- 'fa-arrow-circle-o-down' => ' fa-arrow-circle-o-down',
55
- 'fa-arrow-circle-o-left' => ' fa-arrow-circle-o-left',
56
- 'fa-arrow-circle-o-right' => ' fa-arrow-circle-o-right',
57
- 'fa-arrow-circle-o-up' => ' fa-arrow-circle-o-up',
58
- 'fa-arrow-circle-right' => ' fa-arrow-circle-right',
59
- 'fa-arrow-circle-up' => ' fa-arrow-circle-up',
60
- 'fa-arrow-down' => ' fa-arrow-down',
61
- 'fa-arrow-left' => ' fa-arrow-left',
62
- 'fa-arrow-right' => ' fa-arrow-right',
63
- 'fa-arrow-up' => ' fa-arrow-up',
64
- 'fa-arrows' => ' fa-arrows',
65
- 'fa-arrows-alt' => ' fa-arrows-alt',
66
- 'fa-arrows-h' => ' fa-arrows-h',
67
- 'fa-arrows-v' => ' fa-arrows-v',
68
- 'fa-asterisk' => ' fa-asterisk',
69
- 'fa-at' => ' fa-at',
70
- 'fa-automobile' => ' fa-automobile',
71
- 'fa-backward' => ' fa-backward',
72
- 'fa-ban' => ' fa-ban',
73
- 'fa-bank' => ' fa-bank',
74
- 'fa-bar-chart' => ' fa-bar-chart',
75
- 'fa-bar-chart-o' => ' fa-bar-chart-o',
76
- 'fa-barcode' => ' fa-barcode',
77
- 'fa-bars' => ' fa-bars',
78
- 'fa-beer' => ' fa-beer',
79
- 'fa-behance' => ' fa-behance',
80
- 'fa-behance-square' => ' fa-behance-square',
81
- 'fa-bell' => ' fa-bell',
82
- 'fa-bell-o' => ' fa-bell-o',
83
- 'fa-bell-slash' => ' fa-bell-slash',
84
- 'fa-bell-slash-o' => ' fa-bell-slash-o',
85
- 'fa-bicycle' => ' fa-bicycle',
86
- 'fa-binoculars' => ' fa-binoculars',
87
- 'fa-birthday-cake' => ' fa-birthday-cake',
88
- 'fa-bitbucket' => ' fa-bitbucket',
89
- 'fa-bitbucket-square' => ' fa-bitbucket-square',
90
- 'fa-bitcoin' => ' fa-bitcoin',
91
- 'fa-bold' => ' fa-bold',
92
- 'fa-bolt' => ' fa-bolt',
93
- 'fa-bomb' => ' fa-bomb',
94
- 'fa-book' => ' fa-book',
95
- 'fa-bookmark' => ' fa-bookmark',
96
- 'fa-bookmark-o' => ' fa-bookmark-o',
97
- 'fa-briefcase' => ' fa-briefcase',
98
- 'fa-btc' => ' fa-btc',
99
- 'fa-bug' => ' fa-bug',
100
- 'fa-building' => ' fa-building',
101
- 'fa-building-o' => ' fa-building-o',
102
- 'fa-bullhorn' => ' fa-bullhorn',
103
- 'fa-bullseye' => ' fa-bullseye',
104
- 'fa-bus' => ' fa-bus',
105
- 'fa-cab' => ' fa-cab',
106
- 'fa-calculator' => ' fa-calculator',
107
- 'fa-calendar' => ' fa-calendar',
108
- 'fa-calendar-o' => ' fa-calendar-o',
109
- 'fa-camera' => ' fa-camera',
110
- 'fa-camera-retro' => ' fa-camera-retro',
111
- 'fa-car' => ' fa-car',
112
- 'fa-caret-down' => ' fa-caret-down',
113
- 'fa-caret-left' => ' fa-caret-left',
114
- 'fa-caret-right' => ' fa-caret-right',
115
- 'fa-caret-square-o-down' => ' fa-caret-square-o-down',
116
- 'fa-caret-square-o-left' => ' fa-caret-square-o-left',
117
- 'fa-caret-square-o-right' => ' fa-caret-square-o-right',
118
- 'fa-caret-square-o-up' => ' fa-caret-square-o-up',
119
- 'fa-caret-up' => ' fa-caret-up',
120
- 'fa-cc' => ' fa-cc',
121
- 'fa-cc-amex' => ' fa-cc-amex',
122
- 'fa-cc-discover' => ' fa-cc-discover',
123
- 'fa-cc-mastercard' => ' fa-cc-mastercard',
124
- 'fa-cc-paypal' => ' fa-cc-paypal',
125
- 'fa-cc-stripe' => ' fa-cc-stripe',
126
- 'fa-cc-visa' => ' fa-cc-visa',
127
- 'fa-certificate' => ' fa-certificate',
128
- 'fa-chain' => ' fa-chain',
129
- 'fa-chain-broken' => ' fa-chain-broken',
130
- 'fa-check' => ' fa-check',
131
- 'fa-check-circle' => ' fa-check-circle',
132
- 'fa-check-circle-o' => ' fa-check-circle-o',
133
- 'fa-check-square' => ' fa-check-square',
134
- 'fa-check-square-o' => ' fa-check-square-o',
135
- 'fa-chevron-circle-down' => ' fa-chevron-circle-down',
136
- 'fa-chevron-circle-left' => ' fa-chevron-circle-left',
137
- 'fa-chevron-circle-right' => ' fa-chevron-circle-right',
138
- 'fa-chevron-circle-up' => ' fa-chevron-circle-up',
139
- 'fa-chevron-down' => ' fa-chevron-down',
140
- 'fa-chevron-left' => ' fa-chevron-left',
141
- 'fa-chevron-right' => ' fa-chevron-right',
142
- 'fa-chevron-up' => ' fa-chevron-up',
143
- 'fa-child' => ' fa-child',
144
- 'fa-circle' => ' fa-circle',
145
- 'fa-circle-o' => ' fa-circle-o',
146
- 'fa-circle-o-notch' => ' fa-circle-o-notch',
147
- 'fa-circle-thin' => ' fa-circle-thin',
148
- 'fa-clipboard' => ' fa-clipboard',
149
- 'fa-clock-o' => ' fa-clock-o',
150
- 'fa-close' => ' fa-close',
151
- 'fa-cloud' => ' fa-cloud',
152
- 'fa-cloud-download' => ' fa-cloud-download',
153
- 'fa-cloud-upload' => ' fa-cloud-upload',
154
- 'fa-cny' => ' fa-cny',
155
- 'fa-code' => ' fa-code',
156
- 'fa-code-fork' => ' fa-code-fork',
157
- 'fa-codepen' => ' fa-codepen',
158
- 'fa-coffee' => ' fa-coffee',
159
- 'fa-cog' => ' fa-cog',
160
- 'fa-cogs' => ' fa-cogs',
161
- 'fa-columns' => ' fa-columns',
162
- 'fa-comment' => ' fa-comment',
163
- 'fa-comment-o' => ' fa-comment-o',
164
- 'fa-comments' => ' fa-comments',
165
- 'fa-comments-o' => ' fa-comments-o',
166
- 'fa-compass' => ' fa-compass',
167
- 'fa-compress' => ' fa-compress',
168
- 'fa-copy' => ' fa-copy',
169
- 'fa-copyright' => ' fa-copyright',
170
- 'fa-credit-card' => ' fa-credit-card',
171
- 'fa-crop' => ' fa-crop',
172
- 'fa-crosshairs' => ' fa-crosshairs',
173
- 'fa-css3' => ' fa-css3',
174
- 'fa-cube' => ' fa-cube',
175
- 'fa-cubes' => ' fa-cubes',
176
- 'fa-cut' => ' fa-cut',
177
- 'fa-cutlery' => ' fa-cutlery',
178
- 'fa-dashboard' => ' fa-dashboard',
179
- 'fa-database' => ' fa-database',
180
- 'fa-dedent' => ' fa-dedent',
181
- 'fa-delicious' => ' fa-delicious',
182
- 'fa-desktop' => ' fa-desktop',
183
- 'fa-deviantart' => ' fa-deviantart',
184
- 'fa-digg' => ' fa-digg',
185
- 'fa-dollar' => ' fa-dollar',
186
- 'fa-dot-circle-o' => ' fa-dot-circle-o',
187
- 'fa-download' => ' fa-download',
188
- 'fa-dribbble' => ' fa-dribbble',
189
- 'fa-dropbox' => ' fa-dropbox',
190
- 'fa-drupal' => ' fa-drupal',
191
- 'fa-edit' => ' fa-edit',
192
- 'fa-eject' => ' fa-eject',
193
- 'fa-ellipsis-h' => ' fa-ellipsis-h',
194
- 'fa-ellipsis-v' => ' fa-ellipsis-v',
195
- 'fa-empire' => ' fa-empire',
196
- 'fa-envelope' => ' fa-envelope',
197
- 'fa-envelope-o' => ' fa-envelope-o',
198
- 'fa-envelope-square' => ' fa-envelope-square',
199
- 'fa-eraser' => ' fa-eraser',
200
- 'fa-eur' => ' fa-eur',
201
- 'fa-euro' => ' fa-euro',
202
- 'fa-exchange' => ' fa-exchange',
203
- 'fa-exclamation' => ' fa-exclamation',
204
- 'fa-exclamation-circle' => ' fa-exclamation-circle',
205
- 'fa-exclamation-triangle' => ' fa-exclamation-triangle',
206
- 'fa-expand' => ' fa-expand',
207
- 'fa-external-link' => ' fa-external-link',
208
- 'fa-external-link-square' => ' fa-external-link-square',
209
- 'fa-eye' => ' fa-eye',
210
- 'fa-eye-slash' => ' fa-eye-slash',
211
- 'fa-eyedropper' => ' fa-eyedropper',
212
- 'fa-facebook' => ' fa-facebook',
213
- 'fa-facebook-square' => ' fa-facebook-square',
214
- 'fa-fast-backward' => ' fa-fast-backward',
215
- 'fa-fast-forward' => ' fa-fast-forward',
216
- 'fa-fax' => ' fa-fax',
217
- 'fa-female' => ' fa-female',
218
- 'fa-fighter-jet' => ' fa-fighter-jet',
219
- 'fa-file' => ' fa-file',
220
- 'fa-file-archive-o' => ' fa-file-archive-o',
221
- 'fa-file-audio-o' => ' fa-file-audio-o',
222
- 'fa-file-code-o' => ' fa-file-code-o',
223
- 'fa-file-excel-o' => ' fa-file-excel-o',
224
- 'fa-file-image-o' => ' fa-file-image-o',
225
- 'fa-file-movie-o' => ' fa-file-movie-o',
226
- 'fa-file-o' => ' fa-file-o',
227
- 'fa-file-pdf-o' => ' fa-file-pdf-o',
228
- 'fa-file-photo-o' => ' fa-file-photo-o',
229
- 'fa-file-picture-o' => ' fa-file-picture-o',
230
- 'fa-file-powerpoint-o' => ' fa-file-powerpoint-o',
231
- 'fa-file-sound-o' => ' fa-file-sound-o',
232
- 'fa-file-text' => ' fa-file-text',
233
- 'fa-file-text-o' => ' fa-file-text-o',
234
- 'fa-file-video-o' => ' fa-file-video-o',
235
- 'fa-file-word-o' => ' fa-file-word-o',
236
- 'fa-file-zip-o' => ' fa-file-zip-o',
237
- 'fa-files-o' => ' fa-files-o',
238
- 'fa-film' => ' fa-film',
239
- 'fa-filter' => ' fa-filter',
240
- 'fa-fire' => ' fa-fire',
241
- 'fa-fire-extinguisher' => ' fa-fire-extinguisher',
242
- 'fa-flag' => ' fa-flag',
243
- 'fa-flag-checkered' => ' fa-flag-checkered',
244
- 'fa-flag-o' => ' fa-flag-o',
245
- 'fa-flash' => ' fa-flash',
246
- 'fa-flask' => ' fa-flask',
247
- 'fa-flickr' => ' fa-flickr',
248
- 'fa-floppy-o' => ' fa-floppy-o',
249
- 'fa-folder' => ' fa-folder',
250
- 'fa-folder-o' => ' fa-folder-o',
251
- 'fa-folder-open' => ' fa-folder-open',
252
- 'fa-folder-open-o' => ' fa-folder-open-o',
253
- 'fa-font' => ' fa-font',
254
- 'fa-forward' => ' fa-forward',
255
- 'fa-foursquare' => ' fa-foursquare',
256
- 'fa-frown-o' => ' fa-frown-o',
257
- 'fa-futbol-o' => ' fa-futbol-o',
258
- 'fa-gamepad' => ' fa-gamepad',
259
- 'fa-gavel' => ' fa-gavel',
260
- 'fa-gbp' => ' fa-gbp',
261
- 'fa-ge' => ' fa-ge',
262
- 'fa-gear' => ' fa-gear',
263
- 'fa-gears' => ' fa-gears',
264
- 'fa-gift' => ' fa-gift',
265
- 'fa-git' => ' fa-git',
266
- 'fa-git-square' => ' fa-git-square',
267
- 'fa-github' => ' fa-github',
268
- 'fa-github-alt' => ' fa-github-alt',
269
- 'fa-github-square' => ' fa-github-square',
270
- 'fa-gittip' => ' fa-gittip',
271
- 'fa-glass' => ' fa-glass',
272
- 'fa-globe' => ' fa-globe',
273
- 'fa-google' => ' fa-google',
274
- 'fa-google-plus' => ' fa-google-plus',
275
- 'fa-google-plus-square' => ' fa-google-plus-square',
276
- 'fa-google-wallet' => ' fa-google-wallet',
277
- 'fa-graduation-cap' => ' fa-graduation-cap',
278
- 'fa-group' => ' fa-group',
279
- 'fa-h-square' => ' fa-h-square',
280
- 'fa-hacker-news' => ' fa-hacker-news',
281
- 'fa-hand-o-down' => ' fa-hand-o-down',
282
- 'fa-hand-o-left' => ' fa-hand-o-left',
283
- 'fa-hand-o-right' => ' fa-hand-o-right',
284
- 'fa-hand-o-up' => ' fa-hand-o-up',
285
- 'fa-hdd-o' => ' fa-hdd-o',
286
- 'fa-header' => ' fa-header',
287
- 'fa-headphones' => ' fa-headphones',
288
- 'fa-heart' => ' fa-heart',
289
- 'fa-heart-o' => ' fa-heart-o',
290
- 'fa-history' => ' fa-history',
291
- 'fa-home' => ' fa-home',
292
- 'fa-hospital-o' => ' fa-hospital-o',
293
- 'fa-html5' => ' fa-html5',
294
- 'fa-ils' => ' fa-ils',
295
- 'fa-image' => ' fa-image',
296
- 'fa-inbox' => ' fa-inbox',
297
- 'fa-indent' => ' fa-indent',
298
- 'fa-info' => ' fa-info',
299
- 'fa-info-circle' => ' fa-info-circle',
300
- 'fa-inr' => ' fa-inr',
301
- 'fa-instagram' => ' fa-instagram',
302
- 'fa-institution' => ' fa-institution',
303
- 'fa-ioxhost' => ' fa-ioxhost',
304
- 'fa-italic' => ' fa-italic',
305
- 'fa-joomla' => ' fa-joomla',
306
- 'fa-jpy' => ' fa-jpy',
307
- 'fa-jsfiddle' => ' fa-jsfiddle',
308
- 'fa-key' => ' fa-key',
309
- 'fa-keyboard-o' => ' fa-keyboard-o',
310
- 'fa-krw' => ' fa-krw',
311
- 'fa-language' => ' fa-language',
312
- 'fa-laptop' => ' fa-laptop',
313
- 'fa-lastfm' => ' fa-lastfm',
314
- 'fa-lastfm-square' => ' fa-lastfm-square',
315
- 'fa-leaf' => ' fa-leaf',
316
- 'fa-legal' => ' fa-legal',
317
- 'fa-lemon-o' => ' fa-lemon-o',
318
- 'fa-level-down' => ' fa-level-down',
319
- 'fa-level-up' => ' fa-level-up',
320
- 'fa-life-bouy' => ' fa-life-bouy',
321
- 'fa-life-buoy' => ' fa-life-buoy',
322
- 'fa-life-ring' => ' fa-life-ring',
323
- 'fa-life-saver' => ' fa-life-saver',
324
- 'fa-lightbulb-o' => ' fa-lightbulb-o',
325
- 'fa-line-chart' => ' fa-line-chart',
326
- 'fa-link' => ' fa-link',
327
- 'fa-linkedin' => ' fa-linkedin',
328
- 'fa-linkedin-square' => ' fa-linkedin-square',
329
- 'fa-linux' => ' fa-linux',
330
- 'fa-list' => ' fa-list',
331
- 'fa-list-alt' => ' fa-list-alt',
332
- 'fa-list-ol' => ' fa-list-ol',
333
- 'fa-list-ul' => ' fa-list-ul',
334
- 'fa-location-arrow' => ' fa-location-arrow',
335
- 'fa-lock' => ' fa-lock',
336
- 'fa-long-arrow-down' => ' fa-long-arrow-down',
337
- 'fa-long-arrow-left' => ' fa-long-arrow-left',
338
- 'fa-long-arrow-right' => ' fa-long-arrow-right',
339
- 'fa-long-arrow-up' => ' fa-long-arrow-up',
340
- 'fa-magic' => ' fa-magic',
341
- 'fa-magnet' => ' fa-magnet',
342
- 'fa-mail-forward' => ' fa-mail-forward',
343
- 'fa-mail-reply' => ' fa-mail-reply',
344
- 'fa-mail-reply-all' => ' fa-mail-reply-all',
345
- 'fa-male' => ' fa-male',
346
- 'fa-map-marker' => ' fa-map-marker',
347
- 'fa-maxcdn' => ' fa-maxcdn',
348
- 'fa-meanpath' => ' fa-meanpath',
349
- 'fa-medkit' => ' fa-medkit',
350
- 'fa-meh-o' => ' fa-meh-o',
351
- 'fa-microphone' => ' fa-microphone',
352
- 'fa-microphone-slash' => ' fa-microphone-slash',
353
- 'fa-minus' => ' fa-minus',
354
- 'fa-minus-circle' => ' fa-minus-circle',
355
- 'fa-minus-square' => ' fa-minus-square',
356
- 'fa-minus-square-o' => ' fa-minus-square-o',
357
- 'fa-mobile' => ' fa-mobile',
358
- 'fa-mobile-phone' => ' fa-mobile-phone',
359
- 'fa-money' => ' fa-money',
360
- 'fa-moon-o' => ' fa-moon-o',
361
- 'fa-mortar-board' => ' fa-mortar-board',
362
- 'fa-music' => ' fa-music',
363
- 'fa-navicon' => ' fa-navicon',
364
- 'fa-newspaper-o' => ' fa-newspaper-o',
365
- 'fa-openid' => ' fa-openid',
366
- 'fa-outdent' => ' fa-outdent',
367
- 'fa-pagelines' => ' fa-pagelines',
368
- 'fa-paint-brush' => ' fa-paint-brush',
369
- 'fa-paper-plane' => ' fa-paper-plane',
370
- 'fa-paper-plane-o' => ' fa-paper-plane-o',
371
- 'fa-paperclip' => ' fa-paperclip',
372
- 'fa-paragraph' => ' fa-paragraph',
373
- 'fa-paste' => ' fa-paste',
374
- 'fa-pause' => ' fa-pause',
375
- 'fa-paw' => ' fa-paw',
376
- 'fa-paypal' => ' fa-paypal',
377
- 'fa-pencil' => ' fa-pencil',
378
- 'fa-pencil-square' => ' fa-pencil-square',
379
- 'fa-pencil-square-o' => ' fa-pencil-square-o',
380
- 'fa-phone' => ' fa-phone',
381
- 'fa-phone-square' => ' fa-phone-square',
382
- 'fa-photo' => ' fa-photo',
383
- 'fa-picture-o' => ' fa-picture-o',
384
- 'fa-pie-chart' => ' fa-pie-chart',
385
- 'fa-pied-piper' => ' fa-pied-piper',
386
- 'fa-pied-piper-alt' => ' fa-pied-piper-alt',
387
- 'fa-pinterest' => ' fa-pinterest',
388
- 'fa-pinterest-square' => ' fa-pinterest-square',
389
- 'fa-plane' => ' fa-plane',
390
- 'fa-play' => ' fa-play',
391
- 'fa-play-circle' => ' fa-play-circle',
392
- 'fa-play-circle-o' => ' fa-play-circle-o',
393
- 'fa-plug' => ' fa-plug',
394
- 'fa-plus' => ' fa-plus',
395
- 'fa-plus-circle' => ' fa-plus-circle',
396
- 'fa-plus-square' => ' fa-plus-square',
397
- 'fa-plus-square-o' => ' fa-plus-square-o',
398
- 'fa-power-off' => ' fa-power-off',
399
- 'fa-print' => ' fa-print',
400
- 'fa-puzzle-piece' => ' fa-puzzle-piece',
401
- 'fa-qq' => ' fa-qq',
402
- 'fa-qrcode' => ' fa-qrcode',
403
- 'fa-question' => ' fa-question',
404
- 'fa-question-circle' => ' fa-question-circle',
405
- 'fa-quote-left' => ' fa-quote-left',
406
- 'fa-quote-right' => ' fa-quote-right',
407
- 'fa-ra' => ' fa-ra',
408
- 'fa-random' => ' fa-random',
409
- 'fa-rebel' => ' fa-rebel',
410
- 'fa-recycle' => ' fa-recycle',
411
- 'fa-reddit' => ' fa-reddit',
412
- 'fa-reddit-square' => ' fa-reddit-square',
413
- 'fa-refresh' => ' fa-refresh',
414
- 'fa-remove' => ' fa-remove',
415
- 'fa-renren' => ' fa-renren',
416
- 'fa-reorder' => ' fa-reorder',
417
- 'fa-repeat' => ' fa-repeat',
418
- 'fa-reply' => ' fa-reply',
419
- 'fa-reply-all' => ' fa-reply-all',
420
- 'fa-retweet' => ' fa-retweet',
421
- 'fa-rmb' => ' fa-rmb',
422
- 'fa-road' => ' fa-road',
423
- 'fa-rocket' => ' fa-rocket',
424
- 'fa-rotate-left' => ' fa-rotate-left',
425
- 'fa-rotate-right' => ' fa-rotate-right',
426
- 'fa-rouble' => ' fa-rouble',
427
- 'fa-rss' => ' fa-rss',
428
- 'fa-rss-square' => ' fa-rss-square',
429
- 'fa-rub' => ' fa-rub',
430
- 'fa-ruble' => ' fa-ruble',
431
- 'fa-rupee' => ' fa-rupee',
432
- 'fa-save' => ' fa-save',
433
- 'fa-scissors' => ' fa-scissors',
434
- 'fa-search' => ' fa-search',
435
- 'fa-search-minus' => ' fa-search-minus',
436
- 'fa-search-plus' => ' fa-search-plus',
437
- 'fa-send' => ' fa-send',
438
- 'fa-send-o' => ' fa-send-o',
439
- 'fa-share' => ' fa-share',
440
- 'fa-share-alt' => ' fa-share-alt',
441
- 'fa-share-alt-square' => ' fa-share-alt-square',
442
- 'fa-share-square' => ' fa-share-square',
443
- 'fa-share-square-o' => ' fa-share-square-o',
444
- 'fa-shekel' => ' fa-shekel',
445
- 'fa-sheqel' => ' fa-sheqel',
446
- 'fa-shield' => ' fa-shield',
447
- 'fa-shopping-cart' => ' fa-shopping-cart',
448
- 'fa-sign-in' => ' fa-sign-in',
449
- 'fa-sign-out' => ' fa-sign-out',
450
- 'fa-signal' => ' fa-signal',
451
- 'fa-sitemap' => ' fa-sitemap',
452
- 'fa-skype' => ' fa-skype',
453
- 'fa-slack' => ' fa-slack',
454
- 'fa-sliders' => ' fa-sliders',
455
- 'fa-slideshare' => ' fa-slideshare',
456
- 'fa-smile-o' => ' fa-smile-o',
457
- 'fa-soccer-ball-o' => ' fa-soccer-ball-o',
458
- 'fa-sort' => ' fa-sort',
459
- 'fa-sort-alpha-asc' => ' fa-sort-alpha-asc',
460
- 'fa-sort-alpha-desc' => ' fa-sort-alpha-desc',
461
- 'fa-sort-amount-asc' => ' fa-sort-amount-asc',
462
- 'fa-sort-amount-desc' => ' fa-sort-amount-desc',
463
- 'fa-sort-asc' => ' fa-sort-asc',
464
- 'fa-sort-desc' => ' fa-sort-desc',
465
- 'fa-sort-down' => ' fa-sort-down',
466
- 'fa-sort-numeric-asc' => ' fa-sort-numeric-asc',
467
- 'fa-sort-numeric-desc' => ' fa-sort-numeric-desc',
468
- 'fa-sort-up' => ' fa-sort-up',
469
- 'fa-soundcloud' => ' fa-soundcloud',
470
- 'fa-space-shuttle' => ' fa-space-shuttle',
471
- 'fa-spinner' => ' fa-spinner',
472
- 'fa-spoon' => ' fa-spoon',
473
- 'fa-spotify' => ' fa-spotify',
474
- 'fa-square' => ' fa-square',
475
- 'fa-square-o' => ' fa-square-o',
476
- 'fa-stack-exchange' => ' fa-stack-exchange',
477
- 'fa-stack-overflow' => ' fa-stack-overflow',
478
- 'fa-star' => ' fa-star',
479
- 'fa-star-half' => ' fa-star-half',
480
- 'fa-star-half-empty' => ' fa-star-half-empty',
481
- 'fa-star-half-full' => ' fa-star-half-full',
482
- 'fa-star-half-o' => ' fa-star-half-o',
483
- 'fa-star-o' => ' fa-star-o',
484
- 'fa-steam' => ' fa-steam',
485
- 'fa-steam-square' => ' fa-steam-square',
486
- 'fa-step-backward' => ' fa-step-backward',
487
- 'fa-step-forward' => ' fa-step-forward',
488
- 'fa-stethoscope' => ' fa-stethoscope',
489
- 'fa-stop' => ' fa-stop',
490
- 'fa-strikethrough' => ' fa-strikethrough',
491
- 'fa-stumbleupon' => ' fa-stumbleupon',
492
- 'fa-stumbleupon-circle' => ' fa-stumbleupon-circle',
493
- 'fa-subscript' => ' fa-subscript',
494
- 'fa-suitcase' => ' fa-suitcase',
495
- 'fa-sun-o' => ' fa-sun-o',
496
- 'fa-superscript' => ' fa-superscript',
497
- 'fa-support' => ' fa-support',
498
- 'fa-table' => ' fa-table',
499
- 'fa-tablet' => ' fa-tablet',
500
- 'fa-tachometer' => ' fa-tachometer',
501
- 'fa-tag' => ' fa-tag',
502
- 'fa-tags' => ' fa-tags',
503
- 'fa-tasks' => ' fa-tasks',
504
- 'fa-taxi' => ' fa-taxi',
505
- 'fa-tencent-weibo' => ' fa-tencent-weibo',
506
- 'fa-terminal' => ' fa-terminal',
507
- 'fa-text-height' => ' fa-text-height',
508
- 'fa-text-width' => ' fa-text-width',
509
- 'fa-th' => ' fa-th',
510
- 'fa-th-large' => ' fa-th-large',
511
- 'fa-th-list' => ' fa-th-list',
512
- 'fa-thumb-tack' => ' fa-thumb-tack',
513
- 'fa-thumbs-down' => ' fa-thumbs-down',
514
- 'fa-thumbs-o-down' => ' fa-thumbs-o-down',
515
- 'fa-thumbs-o-up' => ' fa-thumbs-o-up',
516
- 'fa-thumbs-up' => ' fa-thumbs-up',
517
- 'fa-ticket' => ' fa-ticket',
518
- 'fa-times' => ' fa-times',
519
- 'fa-times-circle' => ' fa-times-circle',
520
- 'fa-times-circle-o' => ' fa-times-circle-o',
521
- 'fa-tint' => ' fa-tint',
522
- 'fa-toggle-down' => ' fa-toggle-down',
523
- 'fa-toggle-left' => ' fa-toggle-left',
524
- 'fa-toggle-off' => ' fa-toggle-off',
525
- 'fa-toggle-on' => ' fa-toggle-on',
526
- 'fa-toggle-right' => ' fa-toggle-right',
527
- 'fa-toggle-up' => ' fa-toggle-up',
528
- 'fa-trash' => ' fa-trash',
529
- 'fa-trash-o' => ' fa-trash-o',
530
- 'fa-tree' => ' fa-tree',
531
- 'fa-trello' => ' fa-trello',
532
- 'fa-trophy' => ' fa-trophy',
533
- 'fa-truck' => ' fa-truck',
534
- 'fa-try' => ' fa-try',
535
- 'fa-tty' => ' fa-tty',
536
- 'fa-tumblr' => ' fa-tumblr',
537
- 'fa-tumblr-square' => ' fa-tumblr-square',
538
- 'fa-turkish-lira' => ' fa-turkish-lira',
539
- 'fa-twitch' => ' fa-twitch',
540
- 'fa-twitter' => ' fa-twitter',
541
- 'fa-twitter-square' => ' fa-twitter-square',
542
- 'fa-umbrella' => ' fa-umbrella',
543
- 'fa-underline' => ' fa-underline',
544
- 'fa-undo' => ' fa-undo',
545
- 'fa-university' => ' fa-university',
546
- 'fa-unlink' => ' fa-unlink',
547
- 'fa-unlock' => ' fa-unlock',
548
- 'fa-unlock-alt' => ' fa-unlock-alt',
549
- 'fa-unsorted' => ' fa-unsorted',
550
- 'fa-upload' => ' fa-upload',
551
- 'fa-usd' => ' fa-usd',
552
- 'fa-user' => ' fa-user',
553
- 'fa-user-md' => ' fa-user-md',
554
- 'fa-users' => ' fa-users',
555
- 'fa-video-camera' => ' fa-video-camera',
556
- 'fa-vimeo-square' => ' fa-vimeo-square',
557
- 'fa-vine' => ' fa-vine',
558
- 'fa-vk' => ' fa-vk',
559
- 'fa-volume-down' => ' fa-volume-down',
560
- 'fa-volume-off' => ' fa-volume-off',
561
- 'fa-volume-up' => ' fa-volume-up',
562
- 'fa-warning' => ' fa-warning',
563
- 'fa-wechat' => ' fa-wechat',
564
- 'fa-weibo' => ' fa-weibo',
565
- 'fa-weixin' => ' fa-weixin',
566
- 'fa-wheelchair' => ' fa-wheelchair',
567
- 'fa-wifi' => ' fa-wifi',
568
- 'fa-windows' => ' fa-windows',
569
- 'fa-won' => ' fa-won',
570
- 'fa-wordpress' => ' fa-wordpress',
571
- 'fa-wrench' => ' fa-wrench',
572
- 'fa-xing' => ' fa-xing',
573
- 'fa-xing-square' => ' fa-xing-square',
574
- 'fa-yahoo' => ' fa-yahoo',
575
- 'fa-yelp' => ' fa-yelp',
576
- 'fa-yen' => ' fa-yen',
577
- 'fa-youtube' => ' fa-youtube',
578
- 'fa-youtube-play' => ' fa-youtube-play',
579
- 'fa-youtube-square' => ' fa-youtube-square'
580
- )
581
  );
582
  $this->l10n = array();
583
 
584
  $this->settings = array(
585
  'path' => dirname(__FILE__),
586
  'dir' => plugin_dir_url( __FILE__ ),
587
- 'version' => '1.3'
588
  );
589
 
590
  add_filter('acf/load_field', array( $this, 'maybe_enqueue_font_awesome' ) );
591
 
592
  parent::__construct();
593
  }
594
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
595
 
596
  /*
597
  * maybe_enqueue_font_awesome()
@@ -620,11 +101,9 @@ class acf_field_font_awesome extends acf_field {
620
 
621
  function frontend_enqueue_scripts()
622
  {
623
- wp_register_style('font-awesome', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
624
 
625
- wp_enqueue_style(array(
626
- 'font-awesome'
627
- ));
628
  }
629
 
630
  /*
@@ -809,7 +288,7 @@ class acf_field_font_awesome extends acf_field {
809
  // register acf scripts
810
  wp_enqueue_script('acf-input-font-awesome-edit-input', $this->settings['dir'] . 'js/edit_input.js', array(), $this->settings['version']);
811
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
812
- wp_enqueue_style('acf-input-font-awesome-fa', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
813
  }
814
 
815
  /*
@@ -831,7 +310,7 @@ class acf_field_font_awesome extends acf_field {
831
  // register acf scripts
832
  wp_enqueue_script('font-awesome-create-input', $this->settings['dir'] . 'js/create_input.js', array(), $this->settings['version']);
833
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
834
- wp_enqueue_style('acf-input-font-awesome-fa', $this->settings['dir'] . 'css/fontawesome.css', array(), $this->settings['version']);
835
  }
836
 
837
  /*
2
 
3
  class acf_field_font_awesome extends acf_field {
4
 
5
+ var $stylesheet, // will hold fontawesome stylesheet url
6
+ $version; // will hold fontawesome version number
7
+
8
  /*
9
  * __construct
10
  *
29
  'save_format' => 'element',
30
  'default_value' => '',
31
  'fa_live_preview' => '',
32
+ 'choices' => $this->get_icons()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  );
34
  $this->l10n = array();
35
 
36
  $this->settings = array(
37
  'path' => dirname(__FILE__),
38
  'dir' => plugin_dir_url( __FILE__ ),
39
+ 'version' => '1.5'
40
  );
41
 
42
  add_filter('acf/load_field', array( $this, 'maybe_enqueue_font_awesome' ) );
43
 
44
  parent::__construct();
45
  }
46
+
47
+ function get_icons()
48
+ {
49
+ require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );
50
+
51
+ $args = array(
52
+ 'version' => 'latest',
53
+ 'minified' => true,
54
+ 'remove_existing_fa' => false,
55
+ 'load_styles' => false,
56
+ 'load_admin_styles' => false,
57
+ 'load_shortcode' => false,
58
+ 'load_tinymce_plugin' => false
59
+ );
60
+
61
+ $bfa = Better_Font_Awesome_Library::get_instance( $args );
62
+ $bfa_icons = $bfa->get_icons();
63
+ $bfa_prefix = $bfa->get_prefix() . '-';
64
+ $new_icons = array();
65
+
66
+ $this->stylesheet = $bfa->get_stylesheet_url();
67
+ $this->version = $bfa->get_version();
68
+
69
+ foreach ( $bfa_icons as $hex => $class ) {
70
+ $unicode = '&#x' . ltrim( $hex, '\\') . ';';
71
+ $new_icons[ $bfa_prefix . $class ] = $unicode . ' ' . $bfa_prefix . $class;
72
+ }
73
+
74
+ return $new_icons;
75
+ }
76
 
77
  /*
78
  * maybe_enqueue_font_awesome()
101
 
102
  function frontend_enqueue_scripts()
103
  {
104
+ wp_register_style('font-awesome', $this->stylesheet, array(), $this->version);
105
 
106
+ wp_enqueue_style( array( 'font-awesome' ) );
 
 
107
  }
108
 
109
  /*
288
  // register acf scripts
289
  wp_enqueue_script('acf-input-font-awesome-edit-input', $this->settings['dir'] . 'js/edit_input.js', array(), $this->settings['version']);
290
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
291
+ wp_enqueue_style('acf-input-font-awesome-fa', $this->stylesheet, array(), $this->version);
292
  }
293
 
294
  /*
310
  // register acf scripts
311
  wp_enqueue_script('font-awesome-create-input', $this->settings['dir'] . 'js/create_input.js', array(), $this->settings['version']);
312
  wp_enqueue_style('acf-input-font-awesome-input', $this->settings['dir'] . 'css/input.css', array(), $this->settings['version']);
313
+ wp_enqueue_style('acf-input-font-awesome-fa', $this->stylesheet, array(), $this->version);
314
  }
315
 
316
  /*
acf-font-awesome.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Advanced Custom Fields: Font Awesome
4
  Description: Add a Font Awesome field type to Advanced Custom Fields
5
- Version: 1.4
6
  Author: Matt Keys
7
  Author URI: http://mattkeys.me/
8
  License: GPLv2 or later
@@ -25,4 +25,4 @@ function register_fields_font_awesome() {
25
 
26
  }
27
 
28
- add_action('acf/register_fields', 'register_fields_font_awesome');
2
  /*
3
  Plugin Name: Advanced Custom Fields: Font Awesome
4
  Description: Add a Font Awesome field type to Advanced Custom Fields
5
+ Version: 1.5
6
  Author: Matt Keys
7
  Author URI: http://mattkeys.me/
8
  License: GPLv2 or later
25
 
26
  }
27
 
28
+ add_action('acf/register_fields', 'register_fields_font_awesome');
better-font-awesome-library/README.md ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Better Font Awesome Library
2
+ ===========================
3
+
4
+ *The easiest way to integrate Font Awesome into your WordPress project.*
5
+
6
+ ## Table of contents ##
7
+ 1. [Introduction](https://github.com/MickeyKay/better-font-awesome-library#introduction)
8
+ 1. [Features](https://github.com/MickeyKay/better-font-awesome-library#features)
9
+ 1. [Installation](https://github.com/MickeyKay/better-font-awesome-library#installation)
10
+ 1. [Usage](https://github.com/MickeyKay/better-font-awesome-library#usage)
11
+ 1. [Initialization Parameters](https://github.com/MickeyKay/better-font-awesome-library#initialization-parameters-args)
12
+ 1. [Shortcode](https://github.com/MickeyKay/better-font-awesome-library#shortcode)
13
+ 1. [The Better Font Awesome Library Object](https://github.com/MickeyKay/better-font-awesome-library#the-better-font-awesome-library-object)
14
+ 1. [Filters](https://github.com/MickeyKay/better-font-awesome-library#filters)
15
+ 1. [To Do](https://github.com/MickeyKay/better-font-awesome-library#to-do)
16
+ 1. [Credits](https://github.com/MickeyKay/better-font-awesome-library#credits)
17
+
18
+ ## Introduction ##
19
+ The Better Font Awesome Library allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcode, and TinyMCE icon shortcode generator. Furthermore, it generates all the data you need to create new functionality of your own.
20
+
21
+ ## Features ##
22
+ * Automatically fetches the most recent available version of Font Awesome, meaning you no longer need to manually update the version included in your theme/plugin.
23
+ * Generates an easy-to-use [PHP object](#the-better-font-awesome-library-object) that contains all relevant info for the version of Font Awesome you're using, including: version, stylesheet URL, array of available icons, and prefix used (`icon` or `fa`).
24
+ * CDN speeds - Font Awesome CSS is pulled from the super-fast and reliable [jsDelivr CDN](http://www.jsdelivr.com/#!fontawesome).
25
+ * Includes a TinyMCE drop-down shortcode generator.
26
+ * Includes a local copy of Font Awesome to use as a fallback in case the remote fetch fails (or you can specify your own with the [`bfa_fallback_directory_path`](https://github.com/MickeyKay/better-font-awesome-library#bfa_fallback_directory_path) filter).
27
+ * Utilizes transients to optimize for speed and performance.
28
+
29
+ ## Installation ##
30
+ The Better Font Awesome Library contains a [Git submodule](http://git-scm.com/book/en/Git-Tools-Submodules) which will require you to recursively clone this repo:
31
+ ```
32
+ git clone --recursive https://github.com/MickeyKay/better-font-awesome-library.git
33
+ ```
34
+
35
+ Alternately, if you've already cloned the repo and need to add the submodules, you can run the following commands:
36
+ ```
37
+ // Initialize all submodules.
38
+ git submodule init
39
+
40
+ // Pull in updated copies of all submodules.
41
+ git submodule update
42
+ ```
43
+
44
+ ## Usage ##
45
+ 1. Copy the /better-font-awesome-library folder into your project.
46
+
47
+ 2. Add the following code to your main plugin file or your theme's functions.php file.
48
+ ```
49
+ // Include the main library file. Make sure to modify the path to match your directory structure.
50
+ require_once ( dirname( __FILE__ ) . '/better-font-awesome-library/better-font-awesome-library.php' );
51
+
52
+ add_action( 'plugins_loaded', 'my_prefix_load_bfa' );
53
+ /**
54
+ * Initialize the Better Font Awesome Library.
55
+ *
56
+ * (see usage notes below on proper hook priority)
57
+ */
58
+ function my_prefix_load_bfa() {
59
+
60
+ // Set the library initialization args (defaults shown).
61
+ $args = array(
62
+ 'version' => 'latest',
63
+ 'minified' => true,
64
+ 'remove_existing_fa' => false,
65
+ 'load_styles' => true,
66
+ 'load_admin_styles' => true,
67
+ 'load_shortcode' => true,
68
+ 'load_tinymce_plugin' => true,
69
+ );
70
+
71
+ // Initialize the Better Font Awesome Library.
72
+ Better_Font_Awesome_Library::get_instance( $args );
73
+
74
+ }
75
+ ```
76
+
77
+ 3. If desired, use the [Better Font Awesome Library object](#the-better-font-awesome-library-object) to manually include Font Awesome CSS, output lists of available icons, create your own shortcodes, and much more.
78
+
79
+ #### Usage Notes ####
80
+ The Better Font Awesome Library is designed to work in conjunction with the [Better Font Awesome](https://wordpress.org/plugins/better-font-awesome/) WordPress plugin. The plugin initializes this library (with its initialization args) on the `plugins_loaded` hook, priority `5`. When using the Better Font Awesome Library in your project, you have two options:
81
+
82
+ 1. Initialize later, to ensure that any Better Font Awesome plugin settings override yours.
83
+ 1. Initialize earlier, to "take over" and prevent Better Font Awesome settings from having an effect.
84
+
85
+ ## Initialization Parameters ($args) ##
86
+ The following arguments can be used to initialize the library using `Better_Font_Awesome_Library::get_instance( $args )`:
87
+
88
+ #### $args['version'] ####
89
+ (string) Which version of Font Awesome you want to use.
90
+ * `'latest'` (default) - always use the latest available version.
91
+ * `'3.2.1'` - any existing Font Awesome version number.
92
+
93
+ #### $args['minified'] ####
94
+ (boolean) Use minified Font Awesome CSS.
95
+ * `true` (default) - uses minifed CSS.
96
+ * `false` - uses unminified CSS.
97
+
98
+ #### $args['remove_existing_fa'] ####
99
+ (boolean) Attempts to remove existing Font Awesome styles and shortcodes. This can be useful to prevent conflicts with other themes/plugins, but is no guarantee.
100
+ * `true`
101
+ * `false` (default)
102
+
103
+ #### $args['load_styles'] ####
104
+ (boolean) Automatically loads Font Awesome CSS on the **front-end** of your site using `wp_enqueue_scripts()`.
105
+ * `true` (default)
106
+ * `false` - use this if you don't want to load the Font Awesome CSS on the front-end, or wish to do it yourself.
107
+
108
+ #### $args['load_admin_styles'] ####
109
+ (boolean) Automatically loads Font Awesome CSS on the **admin** of your site using `admin_enqueue_scripts()`.
110
+ * `true` (default)
111
+ * `false` - use this if you don't want to load the Font Awesome CSS in the admin, or wish to do it yourself.
112
+
113
+ #### $args['load_shortcode'] ####
114
+ (boolean) Loads the included `[icon]` [shortcode](https://github.com/MickeyKay/better-font-awesome-library#shortcode).
115
+ * `true` (default)
116
+ * `false`
117
+
118
+ #### load_tinymce_plugin ####
119
+ (boolean) Loads a TinyMCE drop-down list of available icons (based on the active Font Awesome version), which generates an `[icon]` shortcode.
120
+ * `true` (default)
121
+ * `false`
122
+
123
+ ## Shortcode ##
124
+ If either the `$args['load_shortcode']` or `$args['load_tinymce_plugin']` initialization arg is set to `true`, then the Better Font Awesome Library will include an icon shortcode that can be used as follows:
125
+ ```
126
+ [icon name="star" class="2x spin" unprefixed_class="my-custom-class"]
127
+ ```
128
+
129
+ **name**
130
+ The unprefixed icon name (e.g. star). The version-specific prefix will be automatically prepended.
131
+
132
+ **class**
133
+ Unprefixed [Font Awesome icon classes](http://fortawesome.github.io/Font-Awesome/examples/). The version-specific prefix will be automatically prepended to each class.
134
+
135
+ **unprefixed_class**
136
+ Any additional classes that you wish to remain unprefixed (e.g. my-custom-class).
137
+
138
+ #### Shortcode Output ####
139
+ The example shortcode above would output the following depending on which version of Font Awesome you've selected:
140
+
141
+ **Version 4+**
142
+ ```
143
+ <i class="fa fa-star fa-2x fa-spin my-custom-class"></i>
144
+ ```
145
+ **Version 3**
146
+ ```
147
+ <i class="icon icon-star icon-2x icon-spin my-custom-class"></i>
148
+ ```
149
+
150
+ ## The Better Font Awesome Library Object ##
151
+ The Better Font Awesome Library object can be accessed with the following code:
152
+ `Better_Font_Awesome_Library::get_instance();`
153
+
154
+ The object has the following public methods:
155
+ #### get_version() ####
156
+ (string) Returns the active version of Font Awesome being used.
157
+
158
+ #### get_stylesheet_url() ####
159
+ (string) Returns the active Font Awesome stylesheet URL.
160
+
161
+ #### get_icons() ####
162
+ (array) Returns an associative array of icon hex values (index, e.g. \f000) and unprefixed icon names (values, e.g. rocket) for all available icons in the active Font Awesome version.
163
+
164
+ #### get_prefix() ####
165
+ (string) Returns the version-dependent prefix ('fa' or 'icon') that is used in the icons' CSS classes.
166
+
167
+ #### get_api_data() ####
168
+ (object) Returns version data for the remote jsDelivr CDN (uses [jsDelivr API](https://github.com/jsdelivr/api)). Includes all available versions and latest version.
169
+
170
+ #### get_errors() ####
171
+ (array) Returns all library errors, including API and CDN fetch failures.
172
+
173
+ #### Example: ####
174
+ ```
175
+ // Initialize the library with custom args.
176
+ Better_Font_Awesome_Library::get_instance( $args );
177
+
178
+ // Get the active Better Font Awesome Library Object.
179
+ $my_bfa = Better_Font_Awesome_Library::get_instance();
180
+
181
+ // Get info on the Better Font Awesome Library object.
182
+ $version = $my_bfa->get_version();
183
+ $stylesheet_url = $my_bfa->get_stylesheet_url();
184
+ $prefix = $my_bfa->get_prefix();
185
+ $icons = $my_bfa->get_icons();
186
+
187
+ // Output all available icons.
188
+ foreach ( $icons as $icon ) {
189
+ echo $icon . '<br />';
190
+ }
191
+ ```
192
+
193
+ ## Filters ##
194
+ The Better Font Awesome Library applies the following filters:
195
+
196
+ #### bfa_init_args ####
197
+ Applied to the initialization arguments after they have been parsed with default args, but before they are used to fetch any Font Awesome data.
198
+
199
+ **Parameters**
200
+
201
+ * `$init_args` (array)
202
+
203
+ #### bfa_wp_remote_get_args ####
204
+ Applied to arguments passed to all `wp_remote_get()` calls (useful for adjusting the timeout if needed).
205
+
206
+ **Parameters**
207
+
208
+ * `$wp_remote_get_args` (array)
209
+
210
+ #### bfa_fallback_directory_path ####
211
+ Applied to the fallback directory path before setting up any fallback CSS info. Can be used to specify an alternate fallback directory to replace the default fallback directory.
212
+
213
+ *The path must be to a local, non-remote, directory.*
214
+
215
+ **Parameters**
216
+
217
+ * `$path` (string)
218
+
219
+ #### bfa_api_transient_expiration ####
220
+ Applied to the API (version information) transient [expiration](http://codex.wordpress.org/Transients_API#Using_Transients). Can be used to increase/decrease the expiration as desired.
221
+
222
+ **Parameters**
223
+
224
+ * `$api_expiration` (int)
225
+
226
+ #### bfa_css_transient_expiration ####
227
+ Applied to the CSS stylesheet data transient [expiration](http://codex.wordpress.org/Transients_API#Using_Transients). Can be used to increase/decrease the expiration as desired.
228
+
229
+ **Parameters**
230
+
231
+ * `$css_expiration` (int)
232
+
233
+ #### bfa_icon_list ####
234
+ Applied to the icon array after it has been generated from the Font Awesome stylesheet, and before it is assigned to the Better Font Awesome Library object's `$icons` property.
235
+
236
+ **Parameters**
237
+
238
+ * `$icons` (array)
239
+
240
+ #### bfa_prefix ####
241
+ Applied to the Font Awesome prefix ('fa' or 'icon') before it is assigned to the Better Font Awesome Library object's `$prefix` property.
242
+
243
+ **Parameters**
244
+
245
+ * `$prefix` (string)
246
+
247
+ #### bfa_icon_class ####
248
+ Applied to the classes that are output on each icon's `<i>` element.
249
+
250
+ **Parameters**
251
+
252
+ * `$class` (string)
253
+
254
+ #### bfa_icon ####
255
+ Applied to the entire `<i>` element that is output for each icon.
256
+
257
+ **Parameters**
258
+
259
+ * `$output` (string)
260
+
261
+ #### bfa_force_fallback ####
262
+ Applied to the boolean that determines whether or not to force the included fallback version of Font Awesome to load. This can be useful if you're having trouble with delays or timeouts.
263
+
264
+ **Parameters**
265
+
266
+ * `$force_fallback` (false)
267
+
268
+ #### bfa_show_errors ####
269
+ Applied to the boolean that determines whether or not to suppress all Font Awesome warnings that normally display in the admin.
270
+
271
+ **Parameters**
272
+
273
+ * `$show_errors` (true)
274
+
275
+
276
+ ## To Do ##
277
+ Ideas? File an issue or add a pull request!
278
+
279
+ ## Credits ##
280
+ Special thanks to the following folks and their plugins for inspiration and support:
281
+ * [Font Awesome Icons](http://wordpress.org/plugins/font-awesome/ "Font Awesome Icons") by [Rachel Baker](http://rachelbaker.me/ "Rachel Baker")
282
+ * [Font Awesome More Icons](https://wordpress.org/plugins/font-awesome-more-icons/ "Font Awesome More Icons") by [Web Guys](http://webguysaz.com/ "Web Guys")
283
+ * [Font Awesome Shortcodes](https://wordpress.org/plugins/font-awesome-shortcodes/) by [FoolsRun](https://profiles.wordpress.org/foolsrun/ "FoolsRun")
284
+ * Dmitriy Akulov and the awesome folks at [jsDelivr](http://www.jsdelivr.com/)
285
+
286
+ And many thanks to the following folks who helped with testing and QA:
287
+ * [Jeffrey Dubinksy](http://vanishingforests.org/)
288
+ * [Neil Gee](https://twitter.com/_neilgee)
289
+ * [Michael Beil](https://twitter.com/MichaelBeil)
290
+ * [Rob Neue](https://twitter.com/rob_neu)
291
+ * [Gary Jones](https://twitter.com/GaryJ)
292
+ * [Jan Hoek](https://twitter.com/JanHoekdotCom)
better-font-awesome-library/better-font-awesome-library.php ADDED
@@ -0,0 +1,1258 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Better Font Awesome Library
4
+ *
5
+ * A class to implement Font Awesome in WordPress.
6
+ *
7
+ * @see jsDelivr CDN and API
8
+ * @link http://www.jsdelivr.com/
9
+ * @link https://github.com/jsdelivr/api
10
+ *
11
+ * @since 1.0.0
12
+ *
13
+ * @package Better Font Awesome Library
14
+ */
15
+
16
+ /**
17
+ * @todo test in both pre and post TinyMCE V4 (make sure icons all appear in
18
+ * editor and front end)
19
+ * @todo There may be a better way to do get_local_file_contents(), refer to:
20
+ * https://github.com/markjaquith/feedback/issues/33
21
+ * @todo Icon menu icon not showing up in black studio widget - add attribute
22
+ * selector for admin CSS instead of exact ID selector. Not sure if this
23
+ * is still an issue?
24
+ */
25
+
26
+ // Exit if accessed directly
27
+ if ( ! defined( 'ABSPATH' ) ) exit;
28
+
29
+ if ( ! class_exists( 'Better_Font_Awesome_Library' ) ) :
30
+ class Better_Font_Awesome_Library {
31
+
32
+ /**
33
+ * Better Font Awesome Library slug.
34
+ *
35
+ * @since 1.0.0
36
+ *
37
+ * @var string
38
+ */
39
+ const SLUG = 'bfa';
40
+
41
+ /**
42
+ * Better Font Awesome Library version slug.
43
+ *
44
+ * @since 1.0.0
45
+ *
46
+ * @var string
47
+ */
48
+ const VERSION = '1.0.0';
49
+
50
+ /**
51
+ * jsDelivr API URL for Font Awesome version info.
52
+ *
53
+ * @since 1.0.0
54
+ *
55
+ * @var string
56
+ */
57
+ const JSDELIVR_API_URL = 'http://api.jsdelivr.com/v1/jsdelivr/libraries/fontawesome/?fields=versions,lastversion';
58
+
59
+ /**
60
+ * Initialization args.
61
+ *
62
+ * @since 1.0.0
63
+ *
64
+ * @var array
65
+ */
66
+ private $args;
67
+
68
+ /**
69
+ * Default args to use if any $arg isn't specified.
70
+ *
71
+ * @since 1.0.0
72
+ *
73
+ * @var array
74
+ */
75
+ private $default_args = array(
76
+ 'version' => 'latest',
77
+ 'minified' => true,
78
+ 'remove_existing_fa' => false,
79
+ 'load_styles' => true,
80
+ 'load_admin_styles' => true,
81
+ 'load_shortcode' => true,
82
+ 'load_tinymce_plugin' => true,
83
+ );
84
+
85
+ /**
86
+ * Args for wp_remote_get() calls.
87
+ *
88
+ * @since 1.0.0
89
+ *
90
+ * @var array
91
+ */
92
+ private $wp_remote_get_args = array(
93
+ 'timeout' => 10
94
+ );
95
+
96
+ /**
97
+ * Array to hold the jsDelivr API data.
98
+ *
99
+ * @since 1.0.0
100
+ *
101
+ * @var string
102
+ */
103
+ private $api_data = array();
104
+
105
+ /**
106
+ * Version of Font Awesome being used.
107
+ *
108
+ * @since 1.0.0
109
+ *
110
+ * @var string
111
+ */
112
+ private $font_awesome_version;
113
+
114
+ /**
115
+ * Font Awesome stylesheet URL.
116
+ *
117
+ * @since 1.0.0
118
+ *
119
+ * @var string
120
+ */
121
+ private $stylesheet_url;
122
+
123
+ /**
124
+ * Font Awesome CSS.
125
+ *
126
+ * @since 1.0.0
127
+ *
128
+ * @var string
129
+ */
130
+ private $css;
131
+
132
+ /**
133
+ * Data associated with the local fallback version of Font Awesome.
134
+ *
135
+ * @since 1.0.0
136
+ *
137
+ * @var string
138
+ */
139
+ private $fallback_data = array(
140
+ 'directory' => 'lib/fallback-font-awesome/',
141
+ 'path' => '',
142
+ 'url' => '',
143
+ 'version' => '',
144
+ 'css' => '',
145
+ );
146
+
147
+ /**
148
+ * Array of available Font Awesome icon slugs.
149
+ *
150
+ * @since 1.0.0
151
+ *
152
+ * @var string
153
+ */
154
+ private $icons = array();
155
+
156
+ /**
157
+ * Font Awesome prefix to be used ('icon' or 'fa').
158
+ *
159
+ * @since 1.0.0
160
+ *
161
+ * @var string
162
+ */
163
+ private $prefix;
164
+
165
+ /**
166
+ * Array to track errors and wp_remote_get() failures.
167
+ *
168
+ * @since 1.0.0
169
+ *
170
+ * @var array
171
+ */
172
+ private $errors = array();
173
+
174
+ /**
175
+ * Instance of this class.
176
+ *
177
+ * @since 1.0.0
178
+ *
179
+ * @var Better_Font_Awesome_Library
180
+ */
181
+ private static $instance = null;
182
+
183
+ /**
184
+ * Returns the instance of this class, and initializes
185
+ * the instance if it doesn't already exist.
186
+ *
187
+ * @since 1.0.0
188
+ *
189
+ * @return Better_Font_Awesome_Library The BFAL object.
190
+ */
191
+ public static function get_instance( $args = array() ) {
192
+
193
+ // If the single instance hasn't been set, set it now.
194
+ if ( null == self::$instance ) {
195
+ self::$instance = new self( $args );
196
+ }
197
+
198
+ return self::$instance;
199
+
200
+ }
201
+
202
+ /**
203
+ * Better Font Awesome Library constructor.
204
+ *
205
+ * @since 1.0.0
206
+ *
207
+ * @param array $args Initialization arguments.
208
+ */
209
+ private function __construct( $args = array() ) {
210
+
211
+ // Get initialization args.
212
+ $this->args = $args;
213
+
214
+ // Load the library functionality.
215
+ $this->load();
216
+
217
+ }
218
+
219
+ /**
220
+ * Set up all plugin library functionality.
221
+ *
222
+ * @since 1.0.0
223
+ */
224
+ public function load() {
225
+
226
+ // Initialize library properties and actions as needed.
227
+ $this->initialize( $this->args );
228
+
229
+ // Use the jsDelivr API to fetch info on the jsDelivr Font Awesome CDN.
230
+ $this->setup_api_data();
231
+
232
+ // Set the version of Font Awesome to be used.
233
+ $this->set_active_version();
234
+
235
+ // Set the URL for the Font Awesome stylesheet.
236
+ $this->set_stylesheet_url( $this->font_awesome_version );
237
+
238
+ // Get stylesheet and generate list of available icons in Font Awesome stylesheet.
239
+ $this->setup_stylesheet_data();
240
+
241
+ /**
242
+ * Remove existing Font Awesome CSS and shortcodes if needed.
243
+ *
244
+ * Use priority 15 to ensure this is done after other plugin
245
+ * CSS/shortcodes are loaded. This must run before any other
246
+ * style/script/shortcode actions so it doesn't accidentally
247
+ * remove them.
248
+ */
249
+ if ( $this->args['remove_existing_fa'] ) {
250
+
251
+ add_action( 'wp_enqueue_scripts', array( $this, 'remove_font_awesome_css' ), 15 );
252
+ add_action( 'init', array( $this, 'remove_icon_shortcode' ), 15 );
253
+
254
+ }
255
+
256
+ /**
257
+ * Load front-end scripts and styles.
258
+ *
259
+ * Use priority 15 to make sure styles/scripts load after other plugins.
260
+ */
261
+ if ( $this->args['load_styles'] || $this->args['remove_existing_fa'] ) {
262
+ add_action( 'wp_enqueue_scripts', array( $this, 'register_font_awesome_css' ), 15 );
263
+ }
264
+
265
+ /**
266
+ * Load admin scripts and styles.
267
+ *
268
+ * Use priority 15 to make sure styles/scripts load after other plugins.
269
+ */
270
+ if ( $this->args['load_admin_styles'] || $this->args['load_tinymce_plugin'] ) {
271
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_font_awesome_css' ), 15 );
272
+ }
273
+
274
+ /**
275
+ * Add [icon] shortcode.
276
+ *
277
+ * Use priority 15 to ensure this is done after removing existing Font
278
+ * Awesome CSS and shortcodes.
279
+ */
280
+ if ( $this->args['load_shortcode'] || $this->args['load_tinymce_plugin'] ) {
281
+ add_action( 'init', array( $this, 'add_icon_shortcode' ), 15 );
282
+ }
283
+
284
+ // Add Font Awesome and/or custom CSS to the editor.
285
+ add_action( 'init', array( $this, 'add_editor_styles' ) );
286
+
287
+ // Load TinyMCE functionality.
288
+ if ( $this->args['load_tinymce_plugin'] ) {
289
+
290
+ add_action( 'admin_init', array( $this, 'add_tinymce_components' ) );
291
+ add_action( 'admin_head', array( $this, 'output_admin_head_variables' ) );
292
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_custom_admin_css' ), 15 );
293
+
294
+ }
295
+
296
+ // Output any necessary admin notices.
297
+ add_action( 'admin_notices', array( $this, 'do_admin_notice' ) );
298
+
299
+ }
300
+
301
+ /**
302
+ * Do necessary initialization actions.
303
+ *
304
+ * @since 1.0.0
305
+ */
306
+ private function initialize( $args ) {
307
+
308
+ // Parse the initialization args with the defaults.
309
+ $this->parse_args( $args );
310
+
311
+ // Set fallback stylesheet directory URL and path.
312
+ $this->setup_fallback_data();
313
+
314
+ }
315
+
316
+ /**
317
+ * Parse the initialization args with the defaults and apply bfa_args filter.
318
+ *
319
+ * @since 1.0.0
320
+ *
321
+ * @param array $args Args used to initialize BFAL.
322
+ */
323
+ private function parse_args( $args = array() ) {
324
+
325
+ // Parse initialization args with defaults.
326
+ $this->args = wp_parse_args( $args, $this->default_args );
327
+
328
+ /**
329
+ * Filter the initialization args.
330
+ *
331
+ * @since 1.0.0
332
+ *
333
+ * @param array $this->args BFAL initialization args.
334
+ */
335
+ $this->args = apply_filters( 'bfa_init_args', $this->args );
336
+
337
+ /**
338
+ * Filter the wp_remote_get args.
339
+ *
340
+ * @since 1.0.0
341
+ *
342
+ * @param array $this->wp_remote_get_args BFAL wp_remote_get_args args.
343
+ */
344
+ $this->wp_remote_get_args = apply_filters( 'bfa_wp_remote_get_args', $this->wp_remote_get_args );
345
+
346
+ }
347
+
348
+ /**
349
+ * Set up data for the local fallback version of Font Awesome.
350
+ *
351
+ * @since 1.0.0
352
+ */
353
+ private function setup_fallback_data() {
354
+
355
+ // Set fallback directory path.
356
+ $directory_path = plugin_dir_path( __FILE__ ) . $this->fallback_data['directory'];
357
+
358
+ /**
359
+ * Filter directory path.
360
+ *
361
+ * @since 1.0.0
362
+ *
363
+ * @param string $directory_path The path to the fallback Font Awesome directory.
364
+ */
365
+ $directory_path = trailingslashit( apply_filters( 'bfa_fallback_directory_path', $directory_path ) );
366
+
367
+ // Set fallback path and URL.
368
+ $this->fallback_data['path'] = $directory_path . 'css/font-awesome' . $this->get_min_suffix() . '.css';
369
+ $this->fallback_data['url'] = plugins_url( $this->fallback_data['directory'] . 'css/font-awesome' . $this->get_min_suffix() . '.css', dirname( $directory_path ) );
370
+
371
+ // Get the fallback version based on package.json.
372
+ $fallback_json_file_path = $directory_path . 'package.json';
373
+ $fallback_data = json_decode( $this->get_local_file_contents( $fallback_json_file_path ) );
374
+ $this->fallback_data['version'] = $fallback_data->version;
375
+
376
+ // Get the fallback CSS.
377
+ $this->fallback_data['css'] = $this->get_fallback_css();
378
+
379
+ }
380
+
381
+ /**
382
+ * Set up data for all versions of Font Awesome available on the jsDelivr
383
+ * CDN.
384
+ *
385
+ * Uses the jsDelivr API.
386
+ *
387
+ * @since 1.0.0
388
+ */
389
+ private function setup_api_data() {
390
+ $this->api_data = $this->fetch_api_data( self::JSDELIVR_API_URL );
391
+ }
392
+
393
+ /**
394
+ * Fetch the jsDelivr API data.
395
+ *
396
+ * First check to see if the api-versions transient is set, and if not use
397
+ * the jsDelivr API to retrieve all available versions of Font Awesome.
398
+ *
399
+ * @since 1.0.0
400
+ *
401
+ * @return array|WP_ERROR Available CDN Font Awesome versions, or a
402
+ * WP_ERROR if the fetch fails.
403
+ */
404
+ private function fetch_api_data( $url ) {
405
+
406
+ if ( false === ( $response = get_transient( self::SLUG . '-api-versions' ) ) ) {
407
+
408
+ $response = wp_remote_get( $url, $this->wp_remote_get_args );
409
+
410
+ if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
411
+
412
+ // Decode the API data and grab the versions info.
413
+ $json_data = json_decode( wp_remote_retrieve_body( $response ) );
414
+ $response = $json_data[0];
415
+
416
+ /**
417
+ * Filter the API transient expiration.
418
+ *
419
+ * @since 1.0.0
420
+ *
421
+ * @param int Expiration for API transient.
422
+ */
423
+ $transient_expiration = apply_filters( 'bfa_api_transient_expiration', 12 * HOUR_IN_SECONDS );
424
+
425
+ // Set the API transient.
426
+ set_transient( self::SLUG . '-api-versions', $response, $transient_expiration );
427
+
428
+ } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
429
+
430
+ $this->set_error( 'api', $response->get_error_code(), $response->get_error_message() . " (URL: $url)" );
431
+ $response = '';
432
+
433
+ } elseif ( isset( $response['response'] ) ) { // Check for 404 and other non-WP_ERROR codes
434
+
435
+ $this->set_error( 'api', $response['response']['code'], $response['response']['message'] . " (URL: $url)" );
436
+ $response = '';
437
+
438
+ } else { // Total failsafe
439
+
440
+ $this->set_error( 'api', 'Unknown', __( 'The jsDelivr API servers appear to be temporarily unavailable.', 'better-font-awesome' ) . " (URL: $url)" );
441
+ $response = '';
442
+
443
+ }
444
+
445
+ }
446
+
447
+ return $response;
448
+
449
+ }
450
+
451
+ /**
452
+ * Set the version of Font Awesome to use.
453
+ *
454
+ * @since 1.0.0
455
+ */
456
+ private function set_active_version() {
457
+
458
+ if ( 'latest' == $this->args['version'] ) {
459
+ $this->font_awesome_version = $this->get_latest_version();
460
+ } else {
461
+ $this->font_awesome_version = $this->args['version'];
462
+ }
463
+
464
+ }
465
+
466
+ /**
467
+ * Get the latest available Font Awesome version.
468
+ *
469
+ * @since 1.0.0
470
+ *
471
+ * @return string Latest available Font Awesome version, either via the
472
+ * jsDelivr API data (if available), or a best guess based on transient and
473
+ * fallback version data.
474
+ */
475
+ private function get_latest_version() {
476
+
477
+ if ( $this->api_data_exists() ) {
478
+ return $this->get_api_value( 'lastversion' );
479
+ } else {
480
+ return $this->guess_latest_version();
481
+ }
482
+
483
+ }
484
+
485
+ /**
486
+ * Guess the latest Font Awesome version.
487
+ *
488
+ * Check both the transient Font Awesome CSS array and the locally-hosted
489
+ * version of Font Awesome to determine the latest listed version.
490
+ *
491
+ * @since 1.0.0
492
+ *
493
+ * @return string Latest transient or fallback version of Font Awesome CSS.
494
+ */
495
+ private function guess_latest_version() {
496
+
497
+ $css_transient_latest_version = $this->get_css_transient_latest_version();
498
+
499
+ if ( version_compare( $css_transient_latest_version, $this->fallback_data['version'], '>' ) ) {
500
+ return $css_transient_latest_version;
501
+ } else {
502
+ return $this->fallback_data['version'];
503
+ }
504
+
505
+ }
506
+
507
+ /**
508
+ * Get the latest version saved in the CSS transient.
509
+ *
510
+ * @since 1.0.0
511
+ *
512
+ * @return string Latest version key in the CSS transient array.
513
+ * Return '0' if the CSS transient isn't set.
514
+ */
515
+ private function get_css_transient_latest_version() {
516
+
517
+ $transient_css_array = get_transient( self::SLUG . '-css' );
518
+
519
+ if ( ! empty( $transient_css_array ) ) {
520
+ return max( array_keys( $transient_css_array ) );
521
+ } else {
522
+ return '0';
523
+ }
524
+
525
+ }
526
+
527
+ /**
528
+ * Determine the remote Font Awesome stylesheet URL based on the selected
529
+ * version.
530
+ *
531
+ * @since 1.0.0
532
+ *
533
+ * @param string $version Version of Font Awesome to use.
534
+ */
535
+ private function set_stylesheet_url( $version ) {
536
+ $this->stylesheet_url = '//cdn.jsdelivr.net/fontawesome/' . $version . '/css/font-awesome' . $this->get_min_suffix() . '.css';
537
+ }
538
+
539
+ /**
540
+ * Get stylesheet CSS and populate icons array.
541
+ *
542
+ * @since 1.0.0
543
+ */
544
+ private function setup_stylesheet_data() {
545
+
546
+ // Get the Font Awesome CSS.
547
+ $this->css = $this->get_css( $this->stylesheet_url, $this->font_awesome_version );
548
+
549
+ // Get the list of available icons from the Font Awesome CSS.
550
+ $this->icons = $this->setup_icon_array( $this->css );
551
+
552
+ // Set up prefix based on version ('fa' or 'icon').
553
+ $this->prefix = $this->setup_prefix( $this->font_awesome_version );
554
+
555
+ }
556
+
557
+ /**
558
+ * Get the Font Awesome CSS.
559
+ *
560
+ * @since 1.0.0
561
+ *
562
+ * @param string $url URL of the remote stylesheet.
563
+ * @param string $version Version of Font Awesome to fetch.
564
+ *
565
+ * @return string $response Font Awesome CSS, from either:
566
+ * 1. transient,
567
+ * 2. wp_remote_get(), or
568
+ * 3. fallback CSS.
569
+ */
570
+ private function get_css( $url, $version ) {
571
+
572
+ // First try getting the transient CSS.
573
+ $response = $this->get_transient_css( $version );
574
+
575
+ // Next, try fetching the CSS from the remote jsDelivr CDN.
576
+ if ( ! $response ) {
577
+ $response = $this->get_remote_css( $url, $version );
578
+ }
579
+
580
+ /**
581
+ * Filter the force fallback flag.
582
+ *
583
+ * @since 1.0.4
584
+ *
585
+ * @param bool Whether or not to force the fallback CSS.
586
+ */
587
+ $force_fallback = apply_filters( 'bfa_force_fallback', false );
588
+
589
+ /**
590
+ * Use the local fallback if both the transient and wp_remote_get()
591
+ * methods fail, or if fallback is forced with bfa_force_fallback filter.
592
+ */
593
+ if ( is_wp_error( $response ) || $force_fallback ) {
594
+
595
+ // Log the CSS fetch error.
596
+ if ( ! $force_fallback ) {
597
+ $this->set_error( 'css', $response->get_error_code(), $response->get_error_message() . " (URL: $url)" );
598
+ }
599
+
600
+ // Use the local fallback CSS.
601
+ $response = $this->fallback_data['css'];
602
+
603
+ // Update the version string to match the fallback version.
604
+ $this->font_awesome_version = $this->fallback_data['version'];
605
+
606
+ // Update the stylesheet URL to match the fallback version.
607
+ $this->stylesheet_url = $this->fallback_data['url'];
608
+ }
609
+
610
+ return $response;
611
+
612
+ }
613
+
614
+ /**
615
+ * Get the transient copy of the CSS for the specified version.
616
+ *
617
+ * @since 1.0.0
618
+ *
619
+ * @param string $version Font Awesome version to check.
620
+ *
621
+ * @return string Transient CSS if it exists, otherwise null.
622
+ */
623
+ private function get_transient_css( $version ) {
624
+
625
+ $transient_css_array = get_transient( self::SLUG . '-css' );
626
+ return isset( $transient_css_array[ $version ] ) ? $transient_css_array[ $version ] : '';
627
+
628
+ }
629
+
630
+ /**
631
+ * Get the CSS from the remote jsDelivr CDN.
632
+ *
633
+ * @since 1.0.0
634
+ *
635
+ * @param string $url URL for the remote stylesheet.
636
+ * @param string $version Font Awesome version to fetch.
637
+ *
638
+ * @return string|WP_ERROR $response Remote CSS, or WP_ERROR if
639
+ * wp_remote_get() fails.
640
+ */
641
+ private function get_remote_css( $url, $version ) {
642
+
643
+ // Get the remote Font Awesome CSS.
644
+ $url = set_url_scheme( $url );
645
+ $response = wp_remote_get( $url, $this->wp_remote_get_args );
646
+
647
+ /**
648
+ * If fetch was successful, return the remote CSS, and set the CSS
649
+ * transient for this version. Otherwise, return a WP_Error object.
650
+ */
651
+ if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
652
+
653
+ $response = wp_remote_retrieve_body( $response );
654
+ $this->set_css_transient( $version, $response );
655
+
656
+ } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
657
+ $response = $response;
658
+ } elseif ( isset( $response['response'] ) ) { // Check for 404 and other non-WP_ERROR codes
659
+ $response = new WP_Error( $response['response']['code'], $response['response']['message'] . " (URL: $url)" );
660
+ } else { // Total failsafe
661
+ $response = '';
662
+ }
663
+
664
+ return $response;
665
+
666
+ }
667
+
668
+ /**
669
+ * Set the CSS transient array.
670
+ *
671
+ * @since 1.0.0
672
+ *
673
+ * @param string $version Version of Font Awesome for which to set the
674
+ * transient.
675
+ * @param string $value CSS for corresponding version of Font Awesome.
676
+ */
677
+ private function set_css_transient( $version, $value ) {
678
+
679
+ /**
680
+ * Get the transient array, which contains data for multiple Font
681
+ * Awesome version.
682
+ */
683
+ $transient_css_array = get_transient( self::SLUG . '-css' );
684
+
685
+ // Set the new value for the specified Font Awesome version.
686
+ $transient_css_array[ $version ] = $value;
687
+
688
+ /**
689
+ * Filter the CSS transient expiration.
690
+ *
691
+ * @since 1.0.0
692
+ *
693
+ * @param int Expiration for the CSS transient.
694
+ */
695
+ $transient_expiration = apply_filters( 'bfa_css_transient_expiration', 30 * DAY_IN_SECONDS );
696
+
697
+ // Set the new CSS array transient.
698
+ set_transient( self::SLUG . '-css', $transient_css_array, $transient_expiration );
699
+
700
+ }
701
+
702
+ /**
703
+ * Get the CSS of the local fallback Font Awesome version.
704
+ *
705
+ * @since 1.0.0
706
+ *
707
+ * @return string Contents of the local fallback Font Awesome stylesheet.
708
+ */
709
+ private function get_fallback_css() {
710
+ return $this->get_local_file_contents( $this->fallback_data['path'] );
711
+ }
712
+
713
+ /**
714
+ * Get array of icons from the Font Awesome CSS.
715
+ *
716
+ * @since 1.0.0
717
+ *
718
+ * @param string $css The Font Awesome CSS.
719
+ *
720
+ * @return array All available icon names (e.g. adjust, car, pencil).
721
+ */
722
+ private function setup_icon_array( $css ) {
723
+
724
+ $icons = array();
725
+ $hex_codes = array();
726
+
727
+ /**
728
+ * Get all CSS selectors that have a "content:" pseudo-element rule,
729
+ * as well as all associated hex codes.
730
+ */
731
+ preg_match_all( '/\.(icon-|fa-)([^,}]*)\s*:before\s*{\s*(content:)\s*"(\\\\[^"]+)"/s', $css, $matches );
732
+ $icons = $matches[2];
733
+ $hex_codes = $matches[4];
734
+
735
+ // Add hex codes as icon array index.
736
+ $icons = array_combine( $hex_codes, $icons );
737
+
738
+ // Alphabetize the icons array by icon name.
739
+ asort( $icons );
740
+
741
+ /**
742
+ * Filter the array of available icons.
743
+ *
744
+ * @since 1.0.0
745
+ *
746
+ * @param array $icons Array of all available icons.
747
+ */
748
+ $icons = apply_filters( 'bfa_icon_list', $icons );
749
+
750
+ return $icons;
751
+
752
+ }
753
+
754
+ /**
755
+ * Get the Font Awesosome prefix ('fa' or 'icon').
756
+ *
757
+ * @since 1.0.0
758
+ *
759
+ * @param string $version Font Awesome version being used.
760
+ *
761
+ * @return string $prefix 'fa' or 'icon', depending on the version.
762
+ */
763
+ private function setup_prefix( $version ) {
764
+
765
+ if ( 0 <= version_compare( $version, '4' ) ) {
766
+ $prefix = 'fa';
767
+ } else {
768
+ $prefix = 'icon';
769
+ }
770
+
771
+ /**
772
+ * Filter the Font Awesome prefix.
773
+ *
774
+ * @since 1.0.0
775
+ *
776
+ * @param string $prefix Font Awesome prefix ('icon' or 'fa').
777
+ */
778
+ $prefix = apply_filters( 'bfa_prefix', $prefix );
779
+
780
+ return $prefix;
781
+
782
+ }
783
+
784
+ /**
785
+ * Remove styles that include 'fontawesome' or 'font-awesome' in their slug.
786
+ *
787
+ * @since 1.0.0
788
+ */
789
+ public function remove_font_awesome_css() {
790
+
791
+ global $wp_styles;
792
+
793
+ // Loop through all registered styles and remove any that appear to be Font Awesome.
794
+ foreach ( $wp_styles->registered as $script => $details ) {
795
+
796
+ if ( false !== strpos( $script, 'fontawesome' ) || false !== strpos( $script, 'font-awesome' ) ) {
797
+ wp_dequeue_style( $script );
798
+ }
799
+
800
+ }
801
+
802
+ }
803
+
804
+ /**
805
+ * Remove [icon] shortcode.
806
+ *
807
+ * @since 1.0.0
808
+ */
809
+ public function remove_icon_shortcode() {
810
+ remove_shortcode( 'icon' );
811
+ }
812
+
813
+ /**
814
+ * Add [icon] shortcode.
815
+ *
816
+ * Usage:
817
+ * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
818
+ *
819
+ * @since 1.0.0
820
+ */
821
+ public function add_icon_shortcode() {
822
+ add_shortcode( 'icon', array( $this, 'render_shortcode' ) );
823
+ }
824
+
825
+ /**
826
+ * Render [icon] shortcode.
827
+ *
828
+ * Usage:
829
+ * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
830
+ *
831
+ * @param array $atts Shortcode attributes.
832
+ * @return string $output Icon HTML (e.g. <i class="fa fa-car"></i>).
833
+ */
834
+ public function render_shortcode( $atts ) {
835
+
836
+ extract( shortcode_atts( array(
837
+ 'name' => '',
838
+ 'class' => '',
839
+ 'unprefixed_class' => '',
840
+ 'title' => '', /* For compatibility with other plugins */
841
+ 'size' => '', /* For compatibility with other plugins */
842
+ 'space' => '',
843
+ ), $atts )
844
+ );
845
+
846
+ /**
847
+ * Include for backwards compatibility with Font Awesome More Icons plugin.
848
+ *
849
+ * @see https://wordpress.org/plugins/font-awesome-more-icons/
850
+ */
851
+ $title = $title ? 'title="' . $title . '" ' : '';
852
+ $space = 'true' == $space ? '&nbsp;' : '';
853
+ $size = $size ? ' '. $this->prefix . '-' . $size : '';
854
+
855
+ // Remove "icon-" and "fa-" from name
856
+ // This helps both:
857
+ // 1. Incorrect shortcodes (when user includes full class name including prefix)
858
+ // 2. Old shortcodes from other plugins that required prefixes
859
+
860
+ /**
861
+ * Strip 'icon-' and 'fa-' from $name.
862
+ *
863
+ * This corrects for:
864
+ * 1. Incorrect shortcodes (when user includes full class name including prefix)
865
+ * 2. Old shortcodes from other plugins that required prefixes
866
+ */
867
+ $name = str_replace( 'icon-', '', $name );
868
+ $name = str_replace( 'fa-', '', $name );
869
+
870
+ // Add the version-specific prefix back on to $name.
871
+ $icon_name = $this->prefix . '-' . $name;
872
+
873
+ // Remove "icon-" and "fa-" from the icon class.
874
+ $class = str_replace( 'icon-', '', $class );
875
+ $class = str_replace( 'fa-', '', $class );
876
+
877
+ // Remove extra spaces from the icon class.
878
+ $class = trim( $class );
879
+ $class = preg_replace( '/\s{3,}/', ' ', $class );
880
+
881
+ // Add the version-specific prefix back on to each class.
882
+ $class = $class ? ' ' . $this->prefix . '-' . str_replace( ' ', ' ' . $this->prefix . '-', $class ) : '';
883
+
884
+ // Add unprefixed classes.
885
+ $class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
886
+
887
+ /**
888
+ * Filter the icon class.
889
+ *
890
+ * @since 1.0.0
891
+ *
892
+ * @param string $class Classes attached to the icon.
893
+ */
894
+ $class = apply_filters( 'bfa_icon_class', $class, $name );
895
+
896
+ // Generate the HTML <i> icon element output.
897
+ $output = sprintf( '<i class="%s %s" %s>%s</i>',
898
+ $this->prefix,
899
+ $icon_name . $class . $size,
900
+ $title,
901
+ $space
902
+ );
903
+
904
+ /**
905
+ * Filter the icon output.
906
+ *
907
+ * @since 1.0.0
908
+ *
909
+ * @param string $output Icon output.
910
+ */
911
+ return apply_filters( 'bfa_icon', $output );
912
+
913
+ }
914
+
915
+ /**
916
+ * Register and enqueue Font Awesome CSS.
917
+ */
918
+ public function register_font_awesome_css() {
919
+
920
+ wp_register_style( self::SLUG . '-font-awesome', $this->stylesheet_url, '', $this->font_awesome_version );
921
+ wp_enqueue_style( self::SLUG . '-font-awesome' );
922
+
923
+ }
924
+
925
+ /**
926
+ * Add Font Awesome CSS to TinyMCE.
927
+ *
928
+ * @since 1.0.0
929
+ */
930
+ public function add_editor_styles() {
931
+ add_editor_style( $this->stylesheet_url );
932
+ }
933
+
934
+ /**
935
+ * Add TinyMCE button functionality.
936
+ *
937
+ * @since 1.0.0
938
+ */
939
+ function add_tinymce_components() {
940
+
941
+ if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
942
+ return;
943
+ }
944
+
945
+ if ( get_user_option( 'rich_editing' ) == 'true' ) {
946
+
947
+ add_filter( 'mce_external_plugins', array( $this, 'register_tinymce_plugin' ) );
948
+ add_filter( 'mce_buttons', array( $this, 'add_tinymce_buttons' ) );
949
+
950
+ }
951
+
952
+ }
953
+
954
+ /**
955
+ * Load TinyMCE Font Awesome dropdown plugin.
956
+ *
957
+ * @since 1.0.0
958
+ */
959
+ function register_tinymce_plugin( $plugin_array ) {
960
+
961
+ global $tinymce_version;
962
+
963
+ /**
964
+ * Register the correct TinyMCE plugin based on the version of TinyMCE
965
+ * being used.
966
+ */
967
+ if ( version_compare( $tinymce_version, '4000', '>=' ) ) {
968
+ $plugin_array['bfa_plugin'] = plugins_url( 'js/tinymce-icons.js', __FILE__ );
969
+ } else {
970
+ $plugin_array['bfa_plugin'] = plugins_url( 'js/tinymce-icons-old.js', __FILE__ );
971
+ }
972
+
973
+ return $plugin_array;
974
+
975
+ }
976
+
977
+ /**
978
+ * Add the TinyMCE button(s).
979
+ *
980
+ * @since 1.0.0
981
+ */
982
+ function add_tinymce_buttons( $buttons ) {
983
+
984
+ array_push( $buttons, 'bfaSelect' );
985
+ return $buttons;
986
+
987
+ }
988
+
989
+ /**
990
+ * Add PHP variables in HTML <head> for use by TinyMCE JavaScript.
991
+ *
992
+ * @since 1.0.0
993
+ */
994
+ function output_admin_head_variables() {
995
+
996
+ $icon_list = implode( ",", $this->icons );
997
+ ?>
998
+ <!-- Better Font Awesome PHP variables for use by TinyMCE JavaScript -->
999
+ <script type='text/javascript'>
1000
+ var bfa_vars = {
1001
+ 'fa_prefix': '<?php echo $this->prefix; ?>',
1002
+ 'fa_icons': '<?php echo $icon_list; ?>',
1003
+ };
1004
+ </script>
1005
+ <!-- End Better Font Awesome PHP variables for use by TinyMCE JavaScript -->
1006
+ <?php
1007
+
1008
+ }
1009
+
1010
+ /**
1011
+ * Load admin CSS.
1012
+ *
1013
+ * @since 1.0.0
1014
+ */
1015
+ public function register_custom_admin_css() {
1016
+ wp_enqueue_style( self::SLUG . '-admin-styles', plugins_url( 'css/admin-styles.css', __FILE__ ) );
1017
+ }
1018
+
1019
+ /**
1020
+ * Generate admin notices.
1021
+ *
1022
+ * @since 1.0.0
1023
+ */
1024
+ public function do_admin_notice() {
1025
+
1026
+ if ( ! empty( $this->errors ) && apply_filters( 'bfa_show_errors', true ) ) :
1027
+ ?>
1028
+ <div class="error">
1029
+ <p>
1030
+ <b><?php _e( 'Better Font Awesome', 'better-font-awesome' ); ?></b>
1031
+ </p>
1032
+
1033
+ <!-- API Error -->
1034
+ <?php if ( is_wp_error ( $this->get_error('api') ) ) : ?>
1035
+ <p>
1036
+ <b><?php _e( 'API Error', 'better-font-awesome' ); ?></b><br />
1037
+ <?php
1038
+ printf( __( 'The attempt to reach the jsDelivr API server failed with the following error: %s', 'better-font-awesome' ),
1039
+ '<code>' . $this->get_error('api')->get_error_code() . ': ' . $this->get_error('api')->get_error_message() . '</code>'
1040
+ );
1041
+ ?>
1042
+ </p>
1043
+ <?php endif; ?>
1044
+
1045
+ <!-- CSS Error -->
1046
+ <?php if ( is_wp_error ( $this->get_error('css') ) ) : ?>
1047
+ <p>
1048
+ <b><?php _e( 'Remote CSS Error', 'better-font-awesome' ); ?></b><br />
1049
+ <?php
1050
+ printf( __( 'The attempt to fetch the remote Font Awesome stylesheet failed with the following error: %s %s The embedded fallback Font Awesome will be used instead (version: %s).', 'better-font-awesome' ),
1051
+ '<code>' . $this->get_error('css')->get_error_code() . ': ' . $this->get_error('css')->get_error_message() . '</code>',
1052
+ '<br />',
1053
+ '<code>' . $this->font_awesome_version . '</code>'
1054
+ );
1055
+ ?>
1056
+ </p>
1057
+ <?php endif; ?>
1058
+
1059
+ <!-- Fallback Text -->
1060
+ <p><?php echo __( '<b>Don\'t worry! Better Font Awesome will still render using the included fallback version:</b> ', 'better-font-awesome' ) . '<code>' . $this->fallback_data['version'] . '</code>' ; ?></p>
1061
+
1062
+ <!-- Solution Text -->
1063
+ <p>
1064
+ <b><?php _e( 'Solution', 'better-font-awesome' ); ?></b><br />
1065
+ <?php
1066
+ printf( __( 'This may be the result of a temporary server or connectivity issue which will resolve shortly. However if the problem persists please file a support ticket on the %splugin forum%s, citing the errors listed above. ', 'better-font-awesome' ),
1067
+ '<a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank" title="Better Font Awesome support forum">',
1068
+ '</a>'
1069
+ );
1070
+ ?>
1071
+ </p>
1072
+ </div>
1073
+ <?php
1074
+ endif;
1075
+ }
1076
+
1077
+ /*----------------------------------------------------------------------------*
1078
+ * Helper Functions
1079
+ *----------------------------------------------------------------------------*/
1080
+
1081
+ /**
1082
+ * Get the contents of a local file.
1083
+ *
1084
+ * @since 1.0.0
1085
+ *
1086
+ * @param string $file_path Path to local file.
1087
+ *
1088
+ * @return string $contents Content of local file.
1089
+ */
1090
+ private function get_local_file_contents( $file_path ) {
1091
+
1092
+ ob_start();
1093
+ include $file_path;
1094
+ $contents = ob_get_clean();
1095
+
1096
+ return $contents;
1097
+
1098
+ }
1099
+
1100
+ /**
1101
+ * Determine whether or not to use the .min suffix on Font Awesome
1102
+ * stylesheet URLs.
1103
+ *
1104
+ * @since 1.0.0
1105
+ *
1106
+ * @return string '.min' if minification is specified, empty string if not.
1107
+ */
1108
+ private function get_min_suffix() {
1109
+ return ( $this->args['minified'] ) ? '.min' : '';
1110
+ }
1111
+
1112
+ /**
1113
+ * Add an error to the $this->errors array.
1114
+ *
1115
+ * @since 1.0.0
1116
+ *
1117
+ * @param string $error_type Type of error (api, css, etc).
1118
+ * @param string $code Error code.
1119
+ * @param string $message Error message.
1120
+ */
1121
+ private function set_error( $error_type, $code, $message ) {
1122
+ $this->errors[ $error_type ] = new WP_Error( $code, $message );
1123
+ }
1124
+
1125
+ /**
1126
+ * Retrieve a library error.
1127
+ *
1128
+ * @since 1.0.0
1129
+ *
1130
+ * @param string $process Slug of the process to check (e.g. 'api').
1131
+ *
1132
+ * @return WP_ERROR The error for the specified process.
1133
+ */
1134
+ public function get_error( $process ) {
1135
+ return isset( $this->errors[ $process ] ) ? $this->errors[ $process ] : '';
1136
+ }
1137
+
1138
+ /**
1139
+ * Check if API version data has been retrieved.
1140
+ *
1141
+ * @since 1.0.0
1142
+ *
1143
+ * @return boolean Whether or not the API version info was successfully fetched.
1144
+ */
1145
+ public function api_data_exists() {
1146
+
1147
+ if ( $this->api_data ) {
1148
+ return true;
1149
+ } else {
1150
+ return false;
1151
+ }
1152
+
1153
+ }
1154
+
1155
+ /**
1156
+ * Get a specific API value.
1157
+ *
1158
+ * @since 1.0.0
1159
+ *
1160
+ * @param string $key Array key of the API data to get.
1161
+ *
1162
+ * @return mixed $value Value associated with specified key.
1163
+ */
1164
+ public function get_api_value( $key ) {
1165
+
1166
+ if ( $this->api_data ) {
1167
+ $value = $this->api_data->$key;
1168
+ } else {
1169
+ $value = '';
1170
+ }
1171
+
1172
+ return $value;
1173
+
1174
+ }
1175
+
1176
+ /*----------------------------------------------------------------------------*
1177
+ * Public User Functions
1178
+ *----------------------------------------------------------------------------*/
1179
+
1180
+ /**
1181
+ * Get the version of Font Awesome currently in use.
1182
+ *
1183
+ * @since 1.0.0
1184
+ *
1185
+ * @return string Font Awesome version.
1186
+ */
1187
+ public function get_version() {
1188
+ return $this->font_awesome_version;
1189
+ }
1190
+
1191
+ /**
1192
+ * Get the fallback version of Font Awesome included locally.
1193
+ *
1194
+ * @since 1.0.0
1195
+ *
1196
+ * @return string Font Awesome fallback version.
1197
+ */
1198
+ public function get_fallback_version() {
1199
+ return $this->fallback_data['version'];
1200
+ }
1201
+
1202
+ /**
1203
+ * Get the stylesheet URL.
1204
+ *
1205
+ * @since 1.0.0
1206
+ *
1207
+ * @return string Stylesheet URL.
1208
+ */
1209
+ public function get_stylesheet_url() {
1210
+ return $this->stylesheet_url;
1211
+ }
1212
+
1213
+ /**
1214
+ * Get the array of available icons.
1215
+ *
1216
+ * @since 1.0.0
1217
+ *
1218
+ * @return array Available Font Awesome icons.
1219
+ */
1220
+ public function get_icons() {
1221
+ return $this->icons;
1222
+ }
1223
+
1224
+ /**
1225
+ * Get the icon prefix ('fa' or 'icon').
1226
+ *
1227
+ * @since 1.0.0
1228
+ *
1229
+ * @return string Font Awesome prefix.
1230
+ */
1231
+ public function get_prefix() {
1232
+ return $this->prefix;
1233
+ }
1234
+
1235
+ /**
1236
+ * Get version data for the remote jsDelivr CDN.
1237
+ *
1238
+ * @since 1.0.0
1239
+ *
1240
+ * @return object jsDelivr API data.
1241
+ */
1242
+ public function get_api_data() {
1243
+ return $this->api_data;
1244
+ }
1245
+
1246
+ /**
1247
+ * Get errors.
1248
+ *
1249
+ * @since 1.0.0
1250
+ *
1251
+ * @return array All library errors that have occured.
1252
+ */
1253
+ public function get_errors() {
1254
+ return $this->errors;
1255
+ }
1256
+
1257
+ }
1258
+ endif;
better-font-awesome-library/css/admin-styles.css ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Better Font Awesome admin styles
3
+ *
4
+ * @package Better Font Awesome Library
5
+ * @author MIGHTYminnow & Mickey Kay <mickey@mickeykaycreative.com>
6
+ * @license GPL-2.0+
7
+ * @link https://github.com/MickeyKay/better-font-awesome-library
8
+ * @copyright 2014 MIGHTYminnow & Mickey Kay
9
+ */
10
+
11
+ /**
12
+ * TinyMCE
13
+ */
14
+
15
+ /* Override TinyMCE rules blocking these native Font Awesome styles */
16
+ #menu_content_content_bfaSelect_menu .icon-fw,
17
+ #menu_content_content_bfaSelect_menu .fa-fw,
18
+ .mce-stack-layout-item .icon-fw,
19
+ .mce-stack-layout-item .fa-fw {
20
+ display: inline-block;
21
+ width: 1.2857142857142858em;
22
+ text-align: center;
23
+ }
24
+
25
+ /* Override TinyMCE icon font family */
26
+ .fa {
27
+ font-family: FontAwesome !important;
28
+ }
29
+
30
+ /* BFA select icon (for versions < TinyMCE 4) */
31
+ [id*="bfaSelect_text"]:before {
32
+ content: "\f024";
33
+ margin-right: .5em;
34
+ font-family: FontAwesome;
35
+ }
36
+
37
+ /**
38
+ * Settings page
39
+ */
40
+
41
+ .bfa-usage-text {
42
+ padding: 20px;
43
+ background-color: #fff;
44
+ border: 1px solid #efefef;
45
+ }
46
+
47
+ .bfa-usage-text h3 {
48
+ margin-top: 0;
49
+ }
50
+
51
+ .bfa-usage-text .fa,
52
+ .bfa-usage-text .icon {
53
+ width: 40px;
54
+ text-align: center;
55
+ box-sizing: border-box;
56
+ }
better-font-awesome-library/js/tinymce-icons-old.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function() {
2
+
3
+ if( typeof bfa_vars != 'undefined' ) {
4
+ var icons = bfa_vars.fa_icons.split(',');
5
+ var prefix = bfa_vars.fa_prefix;
6
+
7
+ var icon_i = function(id) {
8
+ return '<i class="fa ' + prefix + '-' + 'fw ' + prefix + '-' + id + '"></i>';
9
+ }
10
+
11
+ var icon_shortcode = function(id) {
12
+ return '[icon name="' + id + '" class=""]';
13
+ }
14
+
15
+ var createControl = function(name, controlManager) {
16
+ if (name != 'bfaSelect') return null;
17
+ var listBox = controlManager.createListBox('bfaSelect', {
18
+ title: 'Icons',
19
+ onselect: function(v) {
20
+ var editor = this.control_manager.editor;
21
+ if (v) {
22
+ editor.selection.setContent(icon_shortcode(v));
23
+ }
24
+ return false;
25
+ }
26
+ });
27
+
28
+ for (var i = 0; i < icons.length; i++) {
29
+ var _id = icons[i];
30
+ listBox.add(icon_i(_id) + ' ' + _id, _id);
31
+ }
32
+
33
+ return listBox;
34
+ };
35
+
36
+ tinymce.create('tinymce.plugins.bfa_plugin', {
37
+ createControl: createControl
38
+ });
39
+
40
+ tinymce.PluginManager.add('bfa_plugin', tinymce.plugins.bfa_plugin);
41
+
42
+ }
43
+ })();
better-font-awesome-library/js/tinymce-icons.js ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function() {
2
+ "use strict";
3
+
4
+ var icons = bfa_vars.fa_icons.split(',');
5
+ var prefix = bfa_vars.fa_prefix;
6
+
7
+ var icon_shortcode = function(id) {
8
+ return '[icon name="' + id + '" class=""]';
9
+ }
10
+
11
+ var bfaSelect = function( editor, url ) {
12
+ editor.addButton('bfaSelect', function() {
13
+ var values = [];
14
+
15
+ for (var i = 0; i < icons.length; i++) {
16
+ var _id = icons[i];
17
+ values.push({text: _id, value: _id, icon: ' fa fa-fw icon-fw fa-' + _id + ' icon-' + _id });
18
+ }
19
+
20
+ return {
21
+ type: 'listbox',
22
+ name: 'bfaSelect',
23
+ tooltip: 'Better Font Awesome Icons',
24
+ icon: ' fa fa-flag icon-flag',
25
+ text: 'Icons',
26
+ label: 'Select :',
27
+ fixedWidth: true,
28
+ values: values,
29
+ onselect: function(e) {
30
+ if (e) {
31
+ editor.insertContent(icon_shortcode(e.control.settings.value));
32
+ }
33
+
34
+ // Reset back to inital "Icons" text
35
+ this.value(null);
36
+
37
+ return false;
38
+ },
39
+ onPostRender: function() {
40
+ this.addClass('bfaSelect');
41
+ }
42
+
43
+ };
44
+ });
45
+
46
+ };
47
+ tinymce.PluginManager.add( 'bfa_plugin', bfaSelect );
48
+ } )();
better-font-awesome-library/lib/fallback-font-awesome/README.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ # Font Awesome #
2
+ This is a custom version of the Font Awesome repo pared down to only include:
3
+ * package.json
4
+ * /css
5
+ * /fonts
6
+
7
+ It is intended to be as small as possible while still including all of the necessary components to embed Font Awesome in a project.
better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css ADDED
@@ -0,0 +1,1672 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+ /* FONT PATH
6
+ * -------------------------- */
7
+ @font-face {
8
+ font-family: 'FontAwesome';
9
+ src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
10
+ src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+ .fa {
15
+ display: inline-block;
16
+ font: normal normal normal 14px/1 FontAwesome;
17
+ font-size: inherit;
18
+ text-rendering: auto;
19
+ -webkit-font-smoothing: antialiased;
20
+ -moz-osx-font-smoothing: grayscale;
21
+ }
22
+ /* makes the font 33% larger relative to the icon container */
23
+ .fa-lg {
24
+ font-size: 1.33333333em;
25
+ line-height: 0.75em;
26
+ vertical-align: -15%;
27
+ }
28
+ .fa-2x {
29
+ font-size: 2em;
30
+ }
31
+ .fa-3x {
32
+ font-size: 3em;
33
+ }
34
+ .fa-4x {
35
+ font-size: 4em;
36
+ }
37
+ .fa-5x {
38
+ font-size: 5em;
39
+ }
40
+ .fa-fw {
41
+ width: 1.28571429em;
42
+ text-align: center;
43
+ }
44
+ .fa-ul {
45
+ padding-left: 0;
46
+ margin-left: 2.14285714em;
47
+ list-style-type: none;
48
+ }
49
+ .fa-ul > li {
50
+ position: relative;
51
+ }
52
+ .fa-li {
53
+ position: absolute;
54
+ left: -2.14285714em;
55
+ width: 2.14285714em;
56
+ top: 0.14285714em;
57
+ text-align: center;
58
+ }
59
+ .fa-li.fa-lg {
60
+ left: -1.85714286em;
61
+ }
62
+ .fa-border {
63
+ padding: .2em .25em .15em;
64
+ border: solid 0.08em #eeeeee;
65
+ border-radius: .1em;
66
+ }
67
+ .pull-right {
68
+ float: right;
69
+ }
70
+ .pull-left {
71
+ float: left;
72
+ }
73
+ .fa.pull-left {
74
+ margin-right: .3em;
75
+ }
76
+ .fa.pull-right {
77
+ margin-left: .3em;
78
+ }
79
+ .fa-spin {
80
+ -webkit-animation: fa-spin 2s infinite linear;
81
+ animation: fa-spin 2s infinite linear;
82
+ }
83
+ @-webkit-keyframes fa-spin {
84
+ 0% {
85
+ -webkit-transform: rotate(0deg);
86
+ transform: rotate(0deg);
87
+ }
88
+ 100% {
89
+ -webkit-transform: rotate(359deg);
90
+ transform: rotate(359deg);
91
+ }
92
+ }
93
+ @keyframes fa-spin {
94
+ 0% {
95
+ -webkit-transform: rotate(0deg);
96
+ transform: rotate(0deg);
97
+ }
98
+ 100% {
99
+ -webkit-transform: rotate(359deg);
100
+ transform: rotate(359deg);
101
+ }
102
+ }
103
+ .fa-rotate-90 {
104
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
105
+ -webkit-transform: rotate(90deg);
106
+ -ms-transform: rotate(90deg);
107
+ transform: rotate(90deg);
108
+ }
109
+ .fa-rotate-180 {
110
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
111
+ -webkit-transform: rotate(180deg);
112
+ -ms-transform: rotate(180deg);
113
+ transform: rotate(180deg);
114
+ }
115
+ .fa-rotate-270 {
116
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
117
+ -webkit-transform: rotate(270deg);
118
+ -ms-transform: rotate(270deg);
119
+ transform: rotate(270deg);
120
+ }
121
+ .fa-flip-horizontal {
122
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
123
+ -webkit-transform: scale(-1, 1);
124
+ -ms-transform: scale(-1, 1);
125
+ transform: scale(-1, 1);
126
+ }
127
+ .fa-flip-vertical {
128
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
129
+ -webkit-transform: scale(1, -1);
130
+ -ms-transform: scale(1, -1);
131
+ transform: scale(1, -1);
132
+ }
133
+ :root .fa-rotate-90,
134
+ :root .fa-rotate-180,
135
+ :root .fa-rotate-270,
136
+ :root .fa-flip-horizontal,
137
+ :root .fa-flip-vertical {
138
+ filter: none;
139
+ }
140
+ .fa-stack {
141
+ position: relative;
142
+ display: inline-block;
143
+ width: 2em;
144
+ height: 2em;
145
+ line-height: 2em;
146
+ vertical-align: middle;
147
+ }
148
+ .fa-stack-1x,
149
+ .fa-stack-2x {
150
+ position: absolute;
151
+ left: 0;
152
+ width: 100%;
153
+ text-align: center;
154
+ }
155
+ .fa-stack-1x {
156
+ line-height: inherit;
157
+ }
158
+ .fa-stack-2x {
159
+ font-size: 2em;
160
+ }
161
+ .fa-inverse {
162
+ color: #ffffff;
163
+ }
164
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
165
+ readers do not read off random characters that represent icons */
166
+ .fa-glass:before {
167
+ content: "\f000";
168
+ }
169
+ .fa-music:before {
170
+ content: "\f001";
171
+ }
172
+ .fa-search:before {
173
+ content: "\f002";
174
+ }
175
+ .fa-envelope-o:before {
176
+ content: "\f003";
177
+ }
178
+ .fa-heart:before {
179
+ content: "\f004";
180
+ }
181
+ .fa-star:before {
182
+ content: "\f005";
183
+ }
184
+ .fa-star-o:before {
185
+ content: "\f006";
186
+ }
187
+ .fa-user:before {
188
+ content: "\f007";
189
+ }
190
+ .fa-film:before {
191
+ content: "\f008";
192
+ }
193
+ .fa-th-large:before {
194
+ content: "\f009";
195
+ }
196
+ .fa-th:before {
197
+ content: "\f00a";
198
+ }
199
+ .fa-th-list:before {
200
+ content: "\f00b";
201
+ }
202
+ .fa-check:before {
203
+ content: "\f00c";
204
+ }
205
+ .fa-remove:before,
206
+ .fa-close:before,
207
+ .fa-times:before {
208
+ content: "\f00d";
209
+ }
210
+ .fa-search-plus:before {
211
+ content: "\f00e";
212
+ }
213
+ .fa-search-minus:before {
214
+ content: "\f010";
215
+ }
216
+ .fa-power-off:before {
217
+ content: "\f011";
218
+ }
219
+ .fa-signal:before {
220
+ content: "\f012";
221
+ }
222
+ .fa-gear:before,
223
+ .fa-cog:before {
224
+ content: "\f013";
225
+ }
226
+ .fa-trash-o:before {
227
+ content: "\f014";
228
+ }
229
+ .fa-home:before {
230
+ content: "\f015";
231
+ }
232
+ .fa-file-o:before {
233
+ content: "\f016";
234
+ }
235
+ .fa-clock-o:before {
236
+ content: "\f017";
237
+ }
238
+ .fa-road:before {
239
+ content: "\f018";
240
+ }
241
+ .fa-download:before {
242
+ content: "\f019";
243
+ }
244
+ .fa-arrow-circle-o-down:before {
245
+ content: "\f01a";
246
+ }
247
+ .fa-arrow-circle-o-up:before {
248
+ content: "\f01b";
249
+ }
250
+ .fa-inbox:before {
251
+ content: "\f01c";
252
+ }
253
+ .fa-play-circle-o:before {
254
+ content: "\f01d";
255
+ }
256
+ .fa-rotate-right:before,
257
+ .fa-repeat:before {
258
+ content: "\f01e";
259
+ }
260
+ .fa-refresh:before {
261
+ content: "\f021";
262
+ }
263
+ .fa-list-alt:before {
264
+ content: "\f022";
265
+ }
266
+ .fa-lock:before {
267
+ content: "\f023";
268
+ }
269
+ .fa-flag:before {
270
+ content: "\f024";
271
+ }
272
+ .fa-headphones:before {
273
+ content: "\f025";
274
+ }
275
+ .fa-volume-off:before {
276
+ content: "\f026";
277
+ }
278
+ .fa-volume-down:before {
279
+ content: "\f027";
280
+ }
281
+ .fa-volume-up:before {
282
+ content: "\f028";
283
+ }
284
+ .fa-qrcode:before {
285
+ content: "\f029";
286
+ }
287
+ .fa-barcode:before {
288
+ content: "\f02a";
289
+ }
290
+ .fa-tag:before {
291
+ content: "\f02b";
292
+ }
293
+ .fa-tags:before {
294
+ content: "\f02c";
295
+ }
296
+ .fa-book:before {
297
+ content: "\f02d";
298
+ }
299
+ .fa-bookmark:before {
300
+ content: "\f02e";
301
+ }
302
+ .fa-print:before {
303
+ content: "\f02f";
304
+ }
305
+ .fa-camera:before {
306
+ content: "\f030";
307
+ }
308
+ .fa-font:before {
309
+ content: "\f031";
310
+ }
311
+ .fa-bold:before {
312
+ content: "\f032";
313
+ }
314
+ .fa-italic:before {
315
+ content: "\f033";
316
+ }
317
+ .fa-text-height:before {
318
+ content: "\f034";
319
+ }
320
+ .fa-text-width:before {
321
+ content: "\f035";
322
+ }
323
+ .fa-align-left:before {
324
+ content: "\f036";
325
+ }
326
+ .fa-align-center:before {
327
+ content: "\f037";
328
+ }
329
+ .fa-align-right:before {
330
+ content: "\f038";
331
+ }
332
+ .fa-align-justify:before {
333
+ content: "\f039";
334
+ }
335
+ .fa-list:before {
336
+ content: "\f03a";
337
+ }
338
+ .fa-dedent:before,
339
+ .fa-outdent:before {
340
+ content: "\f03b";
341
+ }
342
+ .fa-indent:before {
343
+ content: "\f03c";
344
+ }
345
+ .fa-video-camera:before {
346
+ content: "\f03d";
347
+ }
348
+ .fa-photo:before,
349
+ .fa-image:before,
350
+ .fa-picture-o:before {
351
+ content: "\f03e";
352
+ }
353
+ .fa-pencil:before {
354
+ content: "\f040";
355
+ }
356
+ .fa-map-marker:before {
357
+ content: "\f041";
358
+ }
359
+ .fa-adjust:before {
360
+ content: "\f042";
361
+ }
362
+ .fa-tint:before {
363
+ content: "\f043";
364
+ }
365
+ .fa-edit:before,
366
+ .fa-pencil-square-o:before {
367
+ content: "\f044";
368
+ }
369
+ .fa-share-square-o:before {
370
+ content: "\f045";
371
+ }
372
+ .fa-check-square-o:before {
373
+ content: "\f046";
374
+ }
375
+ .fa-arrows:before {
376
+ content: "\f047";
377
+ }
378
+ .fa-step-backward:before {
379
+ content: "\f048";
380
+ }
381
+ .fa-fast-backward:before {
382
+ content: "\f049";
383
+ }
384
+ .fa-backward:before {
385
+ content: "\f04a";
386
+ }
387
+ .fa-play:before {
388
+ content: "\f04b";
389
+ }
390
+ .fa-pause:before {
391
+ content: "\f04c";
392
+ }
393
+ .fa-stop:before {
394
+ content: "\f04d";
395
+ }
396
+ .fa-forward:before {
397
+ content: "\f04e";
398
+ }
399
+ .fa-fast-forward:before {
400
+ content: "\f050";
401
+ }
402
+ .fa-step-forward:before {
403
+ content: "\f051";
404
+ }
405
+ .fa-eject:before {
406
+ content: "\f052";
407
+ }
408
+ .fa-chevron-left:before {
409
+ content: "\f053";
410
+ }
411
+ .fa-chevron-right:before {
412
+ content: "\f054";
413
+ }
414
+ .fa-plus-circle:before {
415
+ content: "\f055";
416
+ }
417
+ .fa-minus-circle:before {
418
+ content: "\f056";
419
+ }
420
+ .fa-times-circle:before {
421
+ content: "\f057";
422
+ }
423
+ .fa-check-circle:before {
424
+ content: "\f058";
425
+ }
426
+ .fa-question-circle:before {
427
+ content: "\f059";
428
+ }
429
+ .fa-info-circle:before {
430
+ content: "\f05a";
431
+ }
432
+ .fa-crosshairs:before {
433
+ content: "\f05b";
434
+ }
435
+ .fa-times-circle-o:before {
436
+ content: "\f05c";
437
+ }
438
+ .fa-check-circle-o:before {
439
+ content: "\f05d";
440
+ }
441
+ .fa-ban:before {
442
+ content: "\f05e";
443
+ }
444
+ .fa-arrow-left:before {
445
+ content: "\f060";
446
+ }
447
+ .fa-arrow-right:before {
448
+ content: "\f061";
449
+ }
450
+ .fa-arrow-up:before {
451
+ content: "\f062";
452
+ }
453
+ .fa-arrow-down:before {
454
+ content: "\f063";
455
+ }
456
+ .fa-mail-forward:before,
457
+ .fa-share:before {
458
+ content: "\f064";
459
+ }
460
+ .fa-expand:before {
461
+ content: "\f065";
462
+ }
463
+ .fa-compress:before {
464
+ content: "\f066";
465
+ }
466
+ .fa-plus:before {
467
+ content: "\f067";
468
+ }
469
+ .fa-minus:before {
470
+ content: "\f068";
471
+ }
472
+ .fa-asterisk:before {
473
+ content: "\f069";
474
+ }
475
+ .fa-exclamation-circle:before {
476
+ content: "\f06a";
477
+ }
478
+ .fa-gift:before {
479
+ content: "\f06b";
480
+ }
481
+ .fa-leaf:before {
482
+ content: "\f06c";
483
+ }
484
+ .fa-fire:before {
485
+ content: "\f06d";
486
+ }
487
+ .fa-eye:before {
488
+ content: "\f06e";
489
+ }
490
+ .fa-eye-slash:before {
491
+ content: "\f070";
492
+ }
493
+ .fa-warning:before,
494
+ .fa-exclamation-triangle:before {
495
+ content: "\f071";
496
+ }
497
+ .fa-plane:before {
498
+ content: "\f072";
499
+ }
500
+ .fa-calendar:before {
501
+ content: "\f073";
502
+ }
503
+ .fa-random:before {
504
+ content: "\f074";
505
+ }
506
+ .fa-comment:before {
507
+ content: "\f075";
508
+ }
509
+ .fa-magnet:before {
510
+ content: "\f076";
511
+ }
512
+ .fa-chevron-up:before {
513
+ content: "\f077";
514
+ }
515
+ .fa-chevron-down:before {
516
+ content: "\f078";
517
+ }
518
+ .fa-retweet:before {
519
+ content: "\f079";
520
+ }
521
+ .fa-shopping-cart:before {
522
+ content: "\f07a";
523
+ }
524
+ .fa-folder:before {
525
+ content: "\f07b";
526
+ }
527
+ .fa-folder-open:before {
528
+ content: "\f07c";
529
+ }
530
+ .fa-arrows-v:before {
531
+ content: "\f07d";
532
+ }
533
+ .fa-arrows-h:before {
534
+ content: "\f07e";
535
+ }
536
+ .fa-bar-chart-o:before,
537
+ .fa-bar-chart:before {
538
+ content: "\f080";
539
+ }
540
+ .fa-twitter-square:before {
541
+ content: "\f081";
542
+ }
543
+ .fa-facebook-square:before {
544
+ content: "\f082";
545
+ }
546
+ .fa-camera-retro:before {
547
+ content: "\f083";
548
+ }
549
+ .fa-key:before {
550
+ content: "\f084";
551
+ }
552
+ .fa-gears:before,
553
+ .fa-cogs:before {
554
+ content: "\f085";
555
+ }
556
+ .fa-comments:before {
557
+ content: "\f086";
558
+ }
559
+ .fa-thumbs-o-up:before {
560
+ content: "\f087";
561
+ }
562
+ .fa-thumbs-o-down:before {
563
+ content: "\f088";
564
+ }
565
+ .fa-star-half:before {
566
+ content: "\f089";
567
+ }
568
+ .fa-heart-o:before {
569
+ content: "\f08a";
570
+ }
571
+ .fa-sign-out:before {
572
+ content: "\f08b";
573
+ }
574
+ .fa-linkedin-square:before {
575
+ content: "\f08c";
576
+ }
577
+ .fa-thumb-tack:before {
578
+ content: "\f08d";
579
+ }
580
+ .fa-external-link:before {
581
+ content: "\f08e";
582
+ }
583
+ .fa-sign-in:before {
584
+ content: "\f090";
585
+ }
586
+ .fa-trophy:before {
587
+ content: "\f091";
588
+ }
589
+ .fa-github-square:before {
590
+ content: "\f092";
591
+ }
592
+ .fa-upload:before {
593
+ content: "\f093";
594
+ }
595
+ .fa-lemon-o:before {
596
+ content: "\f094";
597
+ }
598
+ .fa-phone:before {
599
+ content: "\f095";
600
+ }
601
+ .fa-square-o:before {
602
+ content: "\f096";
603
+ }
604
+ .fa-bookmark-o:before {
605
+ content: "\f097";
606
+ }
607
+ .fa-phone-square:before {
608
+ content: "\f098";
609
+ }
610
+ .fa-twitter:before {
611
+ content: "\f099";
612
+ }
613
+ .fa-facebook:before {
614
+ content: "\f09a";
615
+ }
616
+ .fa-github:before {
617
+ content: "\f09b";
618
+ }
619
+ .fa-unlock:before {
620
+ content: "\f09c";
621
+ }
622
+ .fa-credit-card:before {
623
+ content: "\f09d";
624
+ }
625
+ .fa-rss:before {
626
+ content: "\f09e";
627
+ }
628
+ .fa-hdd-o:before {
629
+ content: "\f0a0";
630
+ }
631
+ .fa-bullhorn:before {
632
+ content: "\f0a1";
633
+ }
634
+ .fa-bell:before {
635
+ content: "\f0f3";
636
+ }
637
+ .fa-certificate:before {
638
+ content: "\f0a3";
639
+ }
640
+ .fa-hand-o-right:before {
641
+ content: "\f0a4";
642
+ }
643
+ .fa-hand-o-left:before {
644
+ content: "\f0a5";
645
+ }
646
+ .fa-hand-o-up:before {
647
+ content: "\f0a6";
648
+ }
649
+ .fa-hand-o-down:before {
650
+ content: "\f0a7";
651
+ }
652
+ .fa-arrow-circle-left:before {
653
+ content: "\f0a8";
654
+ }
655
+ .fa-arrow-circle-right:before {
656
+ content: "\f0a9";
657
+ }
658
+ .fa-arrow-circle-up:before {
659
+ content: "\f0aa";
660
+ }
661
+ .fa-arrow-circle-down:before {
662
+ content: "\f0ab";
663
+ }
664
+ .fa-globe:before {
665
+ content: "\f0ac";
666
+ }
667
+ .fa-wrench:before {
668
+ content: "\f0ad";
669
+ }
670
+ .fa-tasks:before {
671
+ content: "\f0ae";
672
+ }
673
+ .fa-filter:before {
674
+ content: "\f0b0";
675
+ }
676
+ .fa-briefcase:before {
677
+ content: "\f0b1";
678
+ }
679
+ .fa-arrows-alt:before {
680
+ content: "\f0b2";
681
+ }
682
+ .fa-group:before,
683
+ .fa-users:before {
684
+ content: "\f0c0";
685
+ }
686
+ .fa-chain:before,
687
+ .fa-link:before {
688
+ content: "\f0c1";
689
+ }
690
+ .fa-cloud:before {
691
+ content: "\f0c2";
692
+ }
693
+ .fa-flask:before {
694
+ content: "\f0c3";
695
+ }
696
+ .fa-cut:before,
697
+ .fa-scissors:before {
698
+ content: "\f0c4";
699
+ }
700
+ .fa-copy:before,
701
+ .fa-files-o:before {
702
+ content: "\f0c5";
703
+ }
704
+ .fa-paperclip:before {
705
+ content: "\f0c6";
706
+ }
707
+ .fa-save:before,
708
+ .fa-floppy-o:before {
709
+ content: "\f0c7";
710
+ }
711
+ .fa-square:before {
712
+ content: "\f0c8";
713
+ }
714
+ .fa-navicon:before,
715
+ .fa-reorder:before,
716
+ .fa-bars:before {
717
+ content: "\f0c9";
718
+ }
719
+ .fa-list-ul:before {
720
+ content: "\f0ca";
721
+ }
722
+ .fa-list-ol:before {
723
+ content: "\f0cb";
724
+ }
725
+ .fa-strikethrough:before {
726
+ content: "\f0cc";
727
+ }
728
+ .fa-underline:before {
729
+ content: "\f0cd";
730
+ }
731
+ .fa-table:before {
732
+ content: "\f0ce";
733
+ }
734
+ .fa-magic:before {
735
+ content: "\f0d0";
736
+ }
737
+ .fa-truck:before {
738
+ content: "\f0d1";
739
+ }
740
+ .fa-pinterest:before {
741
+ content: "\f0d2";
742
+ }
743
+ .fa-pinterest-square:before {
744
+ content: "\f0d3";
745
+ }
746
+ .fa-google-plus-square:before {
747
+ content: "\f0d4";
748
+ }
749
+ .fa-google-plus:before {
750
+ content: "\f0d5";
751
+ }
752
+ .fa-money:before {
753
+ content: "\f0d6";
754
+ }
755
+ .fa-caret-down:before {
756
+ content: "\f0d7";
757
+ }
758
+ .fa-caret-up:before {
759
+ content: "\f0d8";
760
+ }
761
+ .fa-caret-left:before {
762
+ content: "\f0d9";
763
+ }
764
+ .fa-caret-right:before {
765
+ content: "\f0da";
766
+ }
767
+ .fa-columns:before {
768
+ content: "\f0db";
769
+ }
770
+ .fa-unsorted:before,
771
+ .fa-sort:before {
772
+ content: "\f0dc";
773
+ }
774
+ .fa-sort-down:before,
775
+ .fa-sort-desc:before {
776
+ content: "\f0dd";
777
+ }
778
+ .fa-sort-up:before,
779
+ .fa-sort-asc:before {
780
+ content: "\f0de";
781
+ }
782
+ .fa-envelope:before {
783
+ content: "\f0e0";
784
+ }
785
+ .fa-linkedin:before {
786
+ content: "\f0e1";
787
+ }
788
+ .fa-rotate-left:before,
789
+ .fa-undo:before {
790
+ content: "\f0e2";
791
+ }
792
+ .fa-legal:before,
793
+ .fa-gavel:before {
794
+ content: "\f0e3";
795
+ }
796
+ .fa-dashboard:before,
797
+ .fa-tachometer:before {
798
+ content: "\f0e4";
799
+ }
800
+ .fa-comment-o:before {
801
+ content: "\f0e5";
802
+ }
803
+ .fa-comments-o:before {
804
+ content: "\f0e6";
805
+ }
806
+ .fa-flash:before,
807
+ .fa-bolt:before {
808
+ content: "\f0e7";
809
+ }
810
+ .fa-sitemap:before {
811
+ content: "\f0e8";
812
+ }
813
+ .fa-umbrella:before {
814
+ content: "\f0e9";
815
+ }
816
+ .fa-paste:before,
817
+ .fa-clipboard:before {
818
+ content: "\f0ea";
819
+ }
820
+ .fa-lightbulb-o:before {
821
+ content: "\f0eb";
822
+ }
823
+ .fa-exchange:before {
824
+ content: "\f0ec";
825
+ }
826
+ .fa-cloud-download:before {
827
+ content: "\f0ed";
828
+ }
829
+ .fa-cloud-upload:before {
830
+ content: "\f0ee";
831
+ }
832
+ .fa-user-md:before {
833
+ content: "\f0f0";
834
+ }
835
+ .fa-stethoscope:before {
836
+ content: "\f0f1";
837
+ }
838
+ .fa-suitcase:before {
839
+ content: "\f0f2";
840
+ }
841
+ .fa-bell-o:before {
842
+ content: "\f0a2";
843
+ }
844
+ .fa-coffee:before {
845
+ content: "\f0f4";
846
+ }
847
+ .fa-cutlery:before {
848
+ content: "\f0f5";
849
+ }
850
+ .fa-file-text-o:before {
851
+ content: "\f0f6";
852
+ }
853
+ .fa-building-o:before {
854
+ content: "\f0f7";
855
+ }
856
+ .fa-hospital-o:before {
857
+ content: "\f0f8";
858
+ }
859
+ .fa-ambulance:before {
860
+ content: "\f0f9";
861
+ }
862
+ .fa-medkit:before {
863
+ content: "\f0fa";
864
+ }
865
+ .fa-fighter-jet:before {
866
+ content: "\f0fb";
867
+ }
868
+ .fa-beer:before {
869
+ content: "\f0fc";
870
+ }
871
+ .fa-h-square:before {
872
+ content: "\f0fd";
873
+ }
874
+ .fa-plus-square:before {
875
+ content: "\f0fe";
876
+ }
877
+ .fa-angle-double-left:before {
878
+ content: "\f100";
879
+ }
880
+ .fa-angle-double-right:before {
881
+ content: "\f101";
882
+ }
883
+ .fa-angle-double-up:before {
884
+ content: "\f102";
885
+ }
886
+ .fa-angle-double-down:before {
887
+ content: "\f103";
888
+ }
889
+ .fa-angle-left:before {
890
+ content: "\f104";
891
+ }
892
+ .fa-angle-right:before {
893
+ content: "\f105";
894
+ }
895
+ .fa-angle-up:before {
896
+ content: "\f106";
897
+ }
898
+ .fa-angle-down:before {
899
+ content: "\f107";
900
+ }
901
+ .fa-desktop:before {
902
+ content: "\f108";
903
+ }
904
+ .fa-laptop:before {
905
+ content: "\f109";
906
+ }
907
+ .fa-tablet:before {
908
+ content: "\f10a";
909
+ }
910
+ .fa-mobile-phone:before,
911
+ .fa-mobile:before {
912
+ content: "\f10b";
913
+ }
914
+ .fa-circle-o:before {
915
+ content: "\f10c";
916
+ }
917
+ .fa-quote-left:before {
918
+ content: "\f10d";
919
+ }
920
+ .fa-quote-right:before {
921
+ content: "\f10e";
922
+ }
923
+ .fa-spinner:before {
924
+ content: "\f110";
925
+ }
926
+ .fa-circle:before {
927
+ content: "\f111";
928
+ }
929
+ .fa-mail-reply:before,
930
+ .fa-reply:before {
931
+ content: "\f112";
932
+ }
933
+ .fa-github-alt:before {
934
+ content: "\f113";
935
+ }
936
+ .fa-folder-o:before {
937
+ content: "\f114";
938
+ }
939
+ .fa-folder-open-o:before {
940
+ content: "\f115";
941
+ }
942
+ .fa-smile-o:before {
943
+ content: "\f118";
944
+ }
945
+ .fa-frown-o:before {
946
+ content: "\f119";
947
+ }
948
+ .fa-meh-o:before {
949
+ content: "\f11a";
950
+ }
951
+ .fa-gamepad:before {
952
+ content: "\f11b";
953
+ }
954
+ .fa-keyboard-o:before {
955
+ content: "\f11c";
956
+ }
957
+ .fa-flag-o:before {
958
+ content: "\f11d";
959
+ }
960
+ .fa-flag-checkered:before {
961
+ content: "\f11e";
962
+ }
963
+ .fa-terminal:before {
964
+ content: "\f120";
965
+ }
966
+ .fa-code:before {
967
+ content: "\f121";
968
+ }
969
+ .fa-mail-reply-all:before,
970
+ .fa-reply-all:before {
971
+ content: "\f122";
972
+ }
973
+ .fa-star-half-empty:before,
974
+ .fa-star-half-full:before,
975
+ .fa-star-half-o:before {
976
+ content: "\f123";
977
+ }
978
+ .fa-location-arrow:before {
979
+ content: "\f124";
980
+ }
981
+ .fa-crop:before {
982
+ content: "\f125";
983
+ }
984
+ .fa-code-fork:before {
985
+ content: "\f126";
986
+ }
987
+ .fa-unlink:before,
988
+ .fa-chain-broken:before {
989
+ content: "\f127";
990
+ }
991
+ .fa-question:before {
992
+ content: "\f128";
993
+ }
994
+ .fa-info:before {
995
+ content: "\f129";
996
+ }
997
+ .fa-exclamation:before {
998
+ content: "\f12a";
999
+ }
1000
+ .fa-superscript:before {
1001
+ content: "\f12b";
1002
+ }
1003
+ .fa-subscript:before {
1004
+ content: "\f12c";
1005
+ }
1006
+ .fa-eraser:before {
1007
+ content: "\f12d";
1008
+ }
1009
+ .fa-puzzle-piece:before {
1010
+ content: "\f12e";
1011
+ }
1012
+ .fa-microphone:before {
1013
+ content: "\f130";
1014
+ }
1015
+ .fa-microphone-slash:before {
1016
+ content: "\f131";
1017
+ }
1018
+ .fa-shield:before {
1019
+ content: "\f132";
1020
+ }
1021
+ .fa-calendar-o:before {
1022
+ content: "\f133";
1023
+ }
1024
+ .fa-fire-extinguisher:before {
1025
+ content: "\f134";
1026
+ }
1027
+ .fa-rocket:before {
1028
+ content: "\f135";
1029
+ }
1030
+ .fa-maxcdn:before {
1031
+ content: "\f136";
1032
+ }
1033
+ .fa-chevron-circle-left:before {
1034
+ content: "\f137";
1035
+ }
1036
+ .fa-chevron-circle-right:before {
1037
+ content: "\f138";
1038
+ }
1039
+ .fa-chevron-circle-up:before {
1040
+ content: "\f139";
1041
+ }
1042
+ .fa-chevron-circle-down:before {
1043
+ content: "\f13a";
1044
+ }
1045
+ .fa-html5:before {
1046
+ content: "\f13b";
1047
+ }
1048
+ .fa-css3:before {
1049
+ content: "\f13c";
1050
+ }
1051
+ .fa-anchor:before {
1052
+ content: "\f13d";
1053
+ }
1054
+ .fa-unlock-alt:before {
1055
+ content: "\f13e";
1056
+ }
1057
+ .fa-bullseye:before {
1058
+ content: "\f140";
1059
+ }
1060
+ .fa-ellipsis-h:before {
1061
+ content: "\f141";
1062
+ }
1063
+ .fa-ellipsis-v:before {
1064
+ content: "\f142";
1065
+ }
1066
+ .fa-rss-square:before {
1067
+ content: "\f143";
1068
+ }
1069
+ .fa-play-circle:before {
1070
+ content: "\f144";
1071
+ }
1072
+ .fa-ticket:before {
1073
+ content: "\f145";
1074
+ }
1075
+ .fa-minus-square:before {
1076
+ content: "\f146";
1077
+ }
1078
+ .fa-minus-square-o:before {
1079
+ content: "\f147";
1080
+ }
1081
+ .fa-level-up:before {
1082
+ content: "\f148";
1083
+ }
1084
+ .fa-level-down:before {
1085
+ content: "\f149";
1086
+ }
1087
+ .fa-check-square:before {
1088
+ content: "\f14a";
1089
+ }
1090
+ .fa-pencil-square:before {
1091
+ content: "\f14b";
1092
+ }
1093
+ .fa-external-link-square:before {
1094
+ content: "\f14c";
1095
+ }
1096
+ .fa-share-square:before {
1097
+ content: "\f14d";
1098
+ }
1099
+ .fa-compass:before {
1100
+ content: "\f14e";
1101
+ }
1102
+ .fa-toggle-down:before,
1103
+ .fa-caret-square-o-down:before {
1104
+ content: "\f150";
1105
+ }
1106
+ .fa-toggle-up:before,
1107
+ .fa-caret-square-o-up:before {
1108
+ content: "\f151";
1109
+ }
1110
+ .fa-toggle-right:before,
1111
+ .fa-caret-square-o-right:before {
1112
+ content: "\f152";
1113
+ }
1114
+ .fa-euro:before,
1115
+ .fa-eur:before {
1116
+ content: "\f153";
1117
+ }
1118
+ .fa-gbp:before {
1119
+ content: "\f154";
1120
+ }
1121
+ .fa-dollar:before,
1122
+ .fa-usd:before {
1123
+ content: "\f155";
1124
+ }
1125
+ .fa-rupee:before,
1126
+ .fa-inr:before {
1127
+ content: "\f156";
1128
+ }
1129
+ .fa-cny:before,
1130
+ .fa-rmb:before,
1131
+ .fa-yen:before,
1132
+ .fa-jpy:before {
1133
+ content: "\f157";
1134
+ }
1135
+ .fa-ruble:before,
1136
+ .fa-rouble:before,
1137
+ .fa-rub:before {
1138
+ content: "\f158";
1139
+ }
1140
+ .fa-won:before,
1141
+ .fa-krw:before {
1142
+ content: "\f159";
1143
+ }
1144
+ .fa-bitcoin:before,
1145
+ .fa-btc:before {
1146
+ content: "\f15a";
1147
+ }
1148
+ .fa-file:before {
1149
+ content: "\f15b";
1150
+ }
1151
+ .fa-file-text:before {
1152
+ content: "\f15c";
1153
+ }
1154
+ .fa-sort-alpha-asc:before {
1155
+ content: "\f15d";
1156
+ }
1157
+ .fa-sort-alpha-desc:before {
1158
+ content: "\f15e";
1159
+ }
1160
+ .fa-sort-amount-asc:before {
1161
+ content: "\f160";
1162
+ }
1163
+ .fa-sort-amount-desc:before {
1164
+ content: "\f161";
1165
+ }
1166
+ .fa-sort-numeric-asc:before {
1167
+ content: "\f162";
1168
+ }
1169
+ .fa-sort-numeric-desc:before {
1170
+ content: "\f163";
1171
+ }
1172
+ .fa-thumbs-up:before {
1173
+ content: "\f164";
1174
+ }
1175
+ .fa-thumbs-down:before {
1176
+ content: "\f165";
1177
+ }
1178
+ .fa-youtube-square:before {
1179
+ content: "\f166";
1180
+ }
1181
+ .fa-youtube:before {
1182
+ content: "\f167";
1183
+ }
1184
+ .fa-xing:before {
1185
+ content: "\f168";
1186
+ }
1187
+ .fa-xing-square:before {
1188
+ content: "\f169";
1189
+ }
1190
+ .fa-youtube-play:before {
1191
+ content: "\f16a";
1192
+ }
1193
+ .fa-dropbox:before {
1194
+ content: "\f16b";
1195
+ }
1196
+ .fa-stack-overflow:before {
1197
+ content: "\f16c";
1198
+ }
1199
+ .fa-instagram:before {
1200
+ content: "\f16d";
1201
+ }
1202
+ .fa-flickr:before {
1203
+ content: "\f16e";
1204
+ }
1205
+ .fa-adn:before {
1206
+ content: "\f170";
1207
+ }
1208
+ .fa-bitbucket:before {
1209
+ content: "\f171";
1210
+ }
1211
+ .fa-bitbucket-square:before {
1212
+ content: "\f172";
1213
+ }
1214
+ .fa-tumblr:before {
1215
+ content: "\f173";
1216
+ }
1217
+ .fa-tumblr-square:before {
1218
+ content: "\f174";
1219
+ }
1220
+ .fa-long-arrow-down:before {
1221
+ content: "\f175";
1222
+ }
1223
+ .fa-long-arrow-up:before {
1224
+ content: "\f176";
1225
+ }
1226
+ .fa-long-arrow-left:before {
1227
+ content: "\f177";
1228
+ }
1229
+ .fa-long-arrow-right:before {
1230
+ content: "\f178";
1231
+ }
1232
+ .fa-apple:before {
1233
+ content: "\f179";
1234
+ }
1235
+ .fa-windows:before {
1236
+ content: "\f17a";
1237
+ }
1238
+ .fa-android:before {
1239
+ content: "\f17b";
1240
+ }
1241
+ .fa-linux:before {
1242
+ content: "\f17c";
1243
+ }
1244
+ .fa-dribbble:before {
1245
+ content: "\f17d";
1246
+ }
1247
+ .fa-skype:before {
1248
+ content: "\f17e";
1249
+ }
1250
+ .fa-foursquare:before {
1251
+ content: "\f180";
1252
+ }
1253
+ .fa-trello:before {
1254
+ content: "\f181";
1255
+ }
1256
+ .fa-female:before {
1257
+ content: "\f182";
1258
+ }
1259
+ .fa-male:before {
1260
+ content: "\f183";
1261
+ }
1262
+ .fa-gittip:before {
1263
+ content: "\f184";
1264
+ }
1265
+ .fa-sun-o:before {
1266
+ content: "\f185";
1267
+ }
1268
+ .fa-moon-o:before {
1269
+ content: "\f186";
1270
+ }
1271
+ .fa-archive:before {
1272
+ content: "\f187";
1273
+ }
1274
+ .fa-bug:before {
1275
+ content: "\f188";
1276
+ }
1277
+ .fa-vk:before {
1278
+ content: "\f189";
1279
+ }
1280
+ .fa-weibo:before {
1281
+ content: "\f18a";
1282
+ }
1283
+ .fa-renren:before {
1284
+ content: "\f18b";
1285
+ }
1286
+ .fa-pagelines:before {
1287
+ content: "\f18c";
1288
+ }
1289
+ .fa-stack-exchange:before {
1290
+ content: "\f18d";
1291
+ }
1292
+ .fa-arrow-circle-o-right:before {
1293
+ content: "\f18e";
1294
+ }
1295
+ .fa-arrow-circle-o-left:before {
1296
+ content: "\f190";
1297
+ }
1298
+ .fa-toggle-left:before,
1299
+ .fa-caret-square-o-left:before {
1300
+ content: "\f191";
1301
+ }
1302
+ .fa-dot-circle-o:before {
1303
+ content: "\f192";
1304
+ }
1305
+ .fa-wheelchair:before {
1306
+ content: "\f193";
1307
+ }
1308
+ .fa-vimeo-square:before {
1309
+ content: "\f194";
1310
+ }
1311
+ .fa-turkish-lira:before,
1312
+ .fa-try:before {
1313
+ content: "\f195";
1314
+ }
1315
+ .fa-plus-square-o:before {
1316
+ content: "\f196";
1317
+ }
1318
+ .fa-space-shuttle:before {
1319
+ content: "\f197";
1320
+ }
1321
+ .fa-slack:before {
1322
+ content: "\f198";
1323
+ }
1324
+ .fa-envelope-square:before {
1325
+ content: "\f199";
1326
+ }
1327
+ .fa-wordpress:before {
1328
+ content: "\f19a";
1329
+ }
1330
+ .fa-openid:before {
1331
+ content: "\f19b";
1332
+ }
1333
+ .fa-institution:before,
1334
+ .fa-bank:before,
1335
+ .fa-university:before {
1336
+ content: "\f19c";
1337
+ }
1338
+ .fa-mortar-board:before,
1339
+ .fa-graduation-cap:before {
1340
+ content: "\f19d";
1341
+ }
1342
+ .fa-yahoo:before {
1343
+ content: "\f19e";
1344
+ }
1345
+ .fa-google:before {
1346
+ content: "\f1a0";
1347
+ }
1348
+ .fa-reddit:before {
1349
+ content: "\f1a1";
1350
+ }
1351
+ .fa-reddit-square:before {
1352
+ content: "\f1a2";
1353
+ }
1354
+ .fa-stumbleupon-circle:before {
1355
+ content: "\f1a3";
1356
+ }
1357
+ .fa-stumbleupon:before {
1358
+ content: "\f1a4";
1359
+ }
1360
+ .fa-delicious:before {
1361
+ content: "\f1a5";
1362
+ }
1363
+ .fa-digg:before {
1364
+ content: "\f1a6";
1365
+ }
1366
+ .fa-pied-piper:before {
1367
+ content: "\f1a7";
1368
+ }
1369
+ .fa-pied-piper-alt:before {
1370
+ content: "\f1a8";
1371
+ }
1372
+ .fa-drupal:before {
1373
+ content: "\f1a9";
1374
+ }
1375
+ .fa-joomla:before {
1376
+ content: "\f1aa";
1377
+ }
1378
+ .fa-language:before {
1379
+ content: "\f1ab";
1380
+ }
1381
+ .fa-fax:before {
1382
+ content: "\f1ac";
1383
+ }
1384
+ .fa-building:before {
1385
+ content: "\f1ad";
1386
+ }
1387
+ .fa-child:before {
1388
+ content: "\f1ae";
1389
+ }
1390
+ .fa-paw:before {
1391
+ content: "\f1b0";
1392
+ }
1393
+ .fa-spoon:before {
1394
+ content: "\f1b1";
1395
+ }
1396
+ .fa-cube:before {
1397
+ content: "\f1b2";
1398
+ }
1399
+ .fa-cubes:before {
1400
+ content: "\f1b3";
1401
+ }
1402
+ .fa-behance:before {
1403
+ content: "\f1b4";
1404
+ }
1405
+ .fa-behance-square:before {
1406
+ content: "\f1b5";
1407
+ }
1408
+ .fa-steam:before {
1409
+ content: "\f1b6";
1410
+ }
1411
+ .fa-steam-square:before {
1412
+ content: "\f1b7";
1413
+ }
1414
+ .fa-recycle:before {
1415
+ content: "\f1b8";
1416
+ }
1417
+ .fa-automobile:before,
1418
+ .fa-car:before {
1419
+ content: "\f1b9";
1420
+ }
1421
+ .fa-cab:before,
1422
+ .fa-taxi:before {
1423
+ content: "\f1ba";
1424
+ }
1425
+ .fa-tree:before {
1426
+ content: "\f1bb";
1427
+ }
1428
+ .fa-spotify:before {
1429
+ content: "\f1bc";
1430
+ }
1431
+ .fa-deviantart:before {
1432
+ content: "\f1bd";
1433
+ }
1434
+ .fa-soundcloud:before {
1435
+ content: "\f1be";
1436
+ }
1437
+ .fa-database:before {
1438
+ content: "\f1c0";
1439
+ }
1440
+ .fa-file-pdf-o:before {
1441
+ content: "\f1c1";
1442
+ }
1443
+ .fa-file-word-o:before {
1444
+ content: "\f1c2";
1445
+ }
1446
+ .fa-file-excel-o:before {
1447
+ content: "\f1c3";
1448
+ }
1449
+ .fa-file-powerpoint-o:before {
1450
+ content: "\f1c4";
1451
+ }
1452
+ .fa-file-photo-o:before,
1453
+ .fa-file-picture-o:before,
1454
+ .fa-file-image-o:before {
1455
+ content: "\f1c5";
1456
+ }
1457
+ .fa-file-zip-o:before,
1458
+ .fa-file-archive-o:before {
1459
+ content: "\f1c6";
1460
+ }
1461
+ .fa-file-sound-o:before,
1462
+ .fa-file-audio-o:before {
1463
+ content: "\f1c7";
1464
+ }
1465
+ .fa-file-movie-o:before,
1466
+ .fa-file-video-o:before {
1467
+ content: "\f1c8";
1468
+ }
1469
+ .fa-file-code-o:before {
1470
+ content: "\f1c9";
1471
+ }
1472
+ .fa-vine:before {
1473
+ content: "\f1ca";
1474
+ }
1475
+ .fa-codepen:before {
1476
+ content: "\f1cb";
1477
+ }
1478
+ .fa-jsfiddle:before {
1479
+ content: "\f1cc";
1480
+ }
1481
+ .fa-life-bouy:before,
1482
+ .fa-life-buoy:before,
1483
+ .fa-life-saver:before,
1484
+ .fa-support:before,
1485
+ .fa-life-ring:before {
1486
+ content: "\f1cd";
1487
+ }
1488
+ .fa-circle-o-notch:before {
1489
+ content: "\f1ce";
1490
+ }
1491
+ .fa-ra:before,
1492
+ .fa-rebel:before {
1493
+ content: "\f1d0";
1494
+ }
1495
+ .fa-ge:before,
1496
+ .fa-empire:before {
1497
+ content: "\f1d1";
1498
+ }
1499
+ .fa-git-square:before {
1500
+ content: "\f1d2";
1501
+ }
1502
+ .fa-git:before {
1503
+ content: "\f1d3";
1504
+ }
1505
+ .fa-hacker-news:before {
1506
+ content: "\f1d4";
1507
+ }
1508
+ .fa-tencent-weibo:before {
1509
+ content: "\f1d5";
1510
+ }
1511
+ .fa-qq:before {
1512
+ content: "\f1d6";
1513
+ }
1514
+ .fa-wechat:before,
1515
+ .fa-weixin:before {
1516
+ content: "\f1d7";
1517
+ }
1518
+ .fa-send:before,
1519
+ .fa-paper-plane:before {
1520
+ content: "\f1d8";
1521
+ }
1522
+ .fa-send-o:before,
1523
+ .fa-paper-plane-o:before {
1524
+ content: "\f1d9";
1525
+ }
1526
+ .fa-history:before {
1527
+ content: "\f1da";
1528
+ }
1529
+ .fa-circle-thin:before {
1530
+ content: "\f1db";
1531
+ }
1532
+ .fa-header:before {
1533
+ content: "\f1dc";
1534
+ }
1535
+ .fa-paragraph:before {
1536
+ content: "\f1dd";
1537
+ }
1538
+ .fa-sliders:before {
1539
+ content: "\f1de";
1540
+ }
1541
+ .fa-share-alt:before {
1542
+ content: "\f1e0";
1543
+ }
1544
+ .fa-share-alt-square:before {
1545
+ content: "\f1e1";
1546
+ }
1547
+ .fa-bomb:before {
1548
+ content: "\f1e2";
1549
+ }
1550
+ .fa-soccer-ball-o:before,
1551
+ .fa-futbol-o:before {
1552
+ content: "\f1e3";
1553
+ }
1554
+ .fa-tty:before {
1555
+ content: "\f1e4";
1556
+ }
1557
+ .fa-binoculars:before {
1558
+ content: "\f1e5";
1559
+ }
1560
+ .fa-plug:before {
1561
+ content: "\f1e6";
1562
+ }
1563
+ .fa-slideshare:before {
1564
+ content: "\f1e7";
1565
+ }
1566
+ .fa-twitch:before {
1567
+ content: "\f1e8";
1568
+ }
1569
+ .fa-yelp:before {
1570
+ content: "\f1e9";
1571
+ }
1572
+ .fa-newspaper-o:before {
1573
+ content: "\f1ea";
1574
+ }
1575
+ .fa-wifi:before {
1576
+ content: "\f1eb";
1577
+ }
1578
+ .fa-calculator:before {
1579
+ content: "\f1ec";
1580
+ }
1581
+ .fa-paypal:before {
1582
+ content: "\f1ed";
1583
+ }
1584
+ .fa-google-wallet:before {
1585
+ content: "\f1ee";
1586
+ }
1587
+ .fa-cc-visa:before {
1588
+ content: "\f1f0";
1589
+ }
1590
+ .fa-cc-mastercard:before {
1591
+ content: "\f1f1";
1592
+ }
1593
+ .fa-cc-discover:before {
1594
+ content: "\f1f2";
1595
+ }
1596
+ .fa-cc-amex:before {
1597
+ content: "\f1f3";
1598
+ }
1599
+ .fa-cc-paypal:before {
1600
+ content: "\f1f4";
1601
+ }
1602
+ .fa-cc-stripe:before {
1603
+ content: "\f1f5";
1604
+ }
1605
+ .fa-bell-slash:before {
1606
+ content: "\f1f6";
1607
+ }
1608
+ .fa-bell-slash-o:before {
1609
+ content: "\f1f7";
1610
+ }
1611
+ .fa-trash:before {
1612
+ content: "\f1f8";
1613
+ }
1614
+ .fa-copyright:before {
1615
+ content: "\f1f9";
1616
+ }
1617
+ .fa-at:before {
1618
+ content: "\f1fa";
1619
+ }
1620
+ .fa-eyedropper:before {
1621
+ content: "\f1fb";
1622
+ }
1623
+ .fa-paint-brush:before {
1624
+ content: "\f1fc";
1625
+ }
1626
+ .fa-birthday-cake:before {
1627
+ content: "\f1fd";
1628
+ }
1629
+ .fa-area-chart:before {
1630
+ content: "\f1fe";
1631
+ }
1632
+ .fa-pie-chart:before {
1633
+ content: "\f200";
1634
+ }
1635
+ .fa-line-chart:before {
1636
+ content: "\f201";
1637
+ }
1638
+ .fa-lastfm:before {
1639
+ content: "\f202";
1640
+ }
1641
+ .fa-lastfm-square:before {
1642
+ content: "\f203";
1643
+ }
1644
+ .fa-toggle-off:before {
1645
+ content: "\f204";
1646
+ }
1647
+ .fa-toggle-on:before {
1648
+ content: "\f205";
1649
+ }
1650
+ .fa-bicycle:before {
1651
+ content: "\f206";
1652
+ }
1653
+ .fa-bus:before {
1654
+ content: "\f207";
1655
+ }
1656
+ .fa-ioxhost:before {
1657
+ content: "\f208";
1658
+ }
1659
+ .fa-angellist:before {
1660
+ content: "\f209";
1661
+ }
1662
+ .fa-cc:before {
1663
+ content: "\f20a";
1664
+ }
1665
+ .fa-shekel:before,
1666
+ .fa-sheqel:before,
1667
+ .fa-ils:before {
1668
+ content: "\f20b";
1669
+ }
1670
+ .fa-meanpath:before {
1671
+ content: "\f20c";
1672
+ }
better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.min.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}
{font → better-font-awesome-library/lib/fallback-font-awesome/fonts}/FontAwesome.otf RENAMED
File without changes
{font → better-font-awesome-library/lib/fallback-font-awesome/fonts}/fontawesome-webfont.eot RENAMED
File without changes
{font → better-font-awesome-library/lib/fallback-font-awesome/fonts}/fontawesome-webfont.svg RENAMED
File without changes
{font → better-font-awesome-library/lib/fallback-font-awesome/fonts}/fontawesome-webfont.ttf RENAMED
File without changes
{font → better-font-awesome-library/lib/fallback-font-awesome/fonts}/fontawesome-webfont.woff RENAMED
File without changes
better-font-awesome-library/lib/fallback-font-awesome/package.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "font-awesome",
3
+ "description": "The iconic font and CSS framework",
4
+ "version": "4.2.0",
5
+ "keywords": ["font", "awesome", "fontawesome", "icon", "font", "bootstrap"],
6
+ "homepage": "http://fontawesome.io/",
7
+ "bugs": {
8
+ "url" : "http://github.com/FortAwesome/Font-Awesome/issues"
9
+ },
10
+ "author": {
11
+ "name": "Dave Gandy",
12
+ "email": "dave@fontawesome.io",
13
+ "web": "http://twitter.com/davegandy"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/FortAwesome/Font-Awesome.git"
18
+ },
19
+ "contributors": [
20
+ {
21
+ "name": "Rob Madole",
22
+ "web": "http://twitter.com/robmadole"
23
+ },
24
+ {
25
+ "name": "Geremia Taglialatela",
26
+ "web": "http://twitter.com/gtagliala"
27
+ },
28
+ {
29
+ "name": "Travis Chase",
30
+ "web": "http://twitter.com/supercodepoet"
31
+ }
32
+ ],
33
+ "licenses": [
34
+ {
35
+ "type": "OFL-1.1",
36
+ "url": "http://scripts.sil.org/OFL"
37
+ },
38
+ {
39
+ "type": "MIT",
40
+ "url": "http://opensource.org/licenses/mit-license.html"
41
+ }
42
+ ],
43
+ "dependencies": {
44
+ },
45
+ "engines" : {
46
+ "node" : ">=0.10.3"
47
+ }
48
+ }
css/fontawesome.css DELETED
@@ -1,19 +0,0 @@
1
- /*!
2
- * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
3
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
- */
5
- /* FONT PATH
6
- * -------------------------- */
7
- .fa-live-preview {
8
- font-size: 50px;
9
- padding: 10px;
10
- }
11
-
12
- [data-name="fa_live_preview"] i {
13
- font-size: 50px;
14
- }
15
-
16
- /*!
17
- * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
18
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
19
- */@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=4.2.0');src:url('../font/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../font/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/input.css CHANGED
@@ -1,3 +1,12 @@
 
 
 
 
 
 
 
 
 
1
  .select2-drop,
2
  .select2-chosen {
3
  font-family: 'FontAwesome', 'Open Sans', sans-serif;
1
+ .fa-live-preview {
2
+ font-size: 50px;
3
+ padding: 10px;
4
+ }
5
+
6
+ [data-name="fa_live_preview"] i {
7
+ font-size: 50px;
8
+ }
9
+
10
  .select2-drop,
11
  .select2-chosen {
12
  font-family: 'FontAwesome', 'Open Sans', sans-serif;
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: mattkeys
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UTNU7YJG2KVPJ
4
  Tags: Advanced Custom Fields, ACF, Font Awesome, FontAwesome
5
  Requires at least: 3.5
6
- Tested up to: 4.0
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -17,6 +17,9 @@ Add a [Font Awesome](http://fontawesome.io/) icon field type to Advanced Custom
17
  * Optionally set a default icon
18
  * Returns Icon Element, Icon Class, Icon Unicode, or an Object including the element, class, and unicode value
19
  * Optionally enqueues Font Awesome in footer
 
 
 
20
 
21
  = Compatibility =
22
 
@@ -37,6 +40,9 @@ This ACF field type is compatible with:
37
 
38
  == Changelog ==
39
 
 
 
 
40
  = 1.4 =
41
  * Updated included FontAwesome to version 4.2
42
 
@@ -64,6 +70,9 @@ This ACF field type is compatible with:
64
 
65
  == Upgrade Notice ==
66
 
 
 
 
67
  = 1.4 =
68
  * Updated included FontAwesome to version 4.2 (40 more icons)
69
 
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UTNU7YJG2KVPJ
4
  Tags: Advanced Custom Fields, ACF, Font Awesome, FontAwesome
5
  Requires at least: 3.5
6
+ Tested up to: 4.1
7
  Stable tag: trunk
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
17
  * Optionally set a default icon
18
  * Returns Icon Element, Icon Class, Icon Unicode, or an Object including the element, class, and unicode value
19
  * Optionally enqueues Font Awesome in footer
20
+ * Integrates with the [Better Font Awesome Library](https://github.com/MickeyKay/better-font-awesome-library) by [Mickey Kay](http://www.mickeykaycreative.com) to automatically use the latest version of the Font Awesome icons
21
+
22
+ Note: It is recommended to let this plugin enqueue the latest version of Font Awesome on your front-end; or include the latest version by some other means; so that available icons in the admin area will be displayed properly on your sites front-end.
23
 
24
  = Compatibility =
25
 
40
 
41
  == Changelog ==
42
 
43
+ = 1.5 =
44
+ * New Feature: Integrated with the [Better Font Awesome Library](https://github.com/MickeyKay/better-font-awesome-library) to automatically use the latest version of the Font Awesome icons
45
+
46
  = 1.4 =
47
  * Updated included FontAwesome to version 4.2
48
 
70
 
71
  == Upgrade Notice ==
72
 
73
+ = 1.5 =
74
+ This plugin now integrates with the [Better Font Awesome Library](https://github.com/MickeyKay/better-font-awesome-library) to automatically use the latest version of the Font Awesome icons
75
+
76
  = 1.4 =
77
  * Updated included FontAwesome to version 4.2 (40 more icons)
78