fnordmetric 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/Rakefile +1 -1
  2. data/fnordmetric.gemspec +1 -0
  3. data/lib/fnordmetric.rb +6 -13
  4. data/lib/fnordmetric/acceptors/acceptor.rb +20 -7
  5. data/lib/fnordmetric/acceptors/amqp_acceptor.rb +56 -0
  6. data/lib/fnordmetric/acceptors/fyrehose_acceptor.rb +43 -0
  7. data/lib/fnordmetric/acceptors/stomp_acceptor.rb +71 -0
  8. data/lib/fnordmetric/acceptors/tcp_acceptor.rb +1 -0
  9. data/lib/fnordmetric/acceptors/udp_acceptor.rb +2 -1
  10. data/lib/fnordmetric/context.rb +21 -9
  11. data/lib/fnordmetric/defaults.rb +16 -3
  12. data/lib/fnordmetric/gauge.rb +8 -3
  13. data/lib/fnordmetric/gauge_calculations.rb +8 -2
  14. data/lib/fnordmetric/gauge_modifiers.rb +5 -4
  15. data/lib/fnordmetric/gauges/server_health_gauge.rb +13 -0
  16. data/lib/fnordmetric/namespace.rb +53 -17
  17. data/lib/fnordmetric/util.rb +25 -0
  18. data/lib/fnordmetric/version.rb +1 -1
  19. data/lib/fnordmetric/web/app.rb +7 -66
  20. data/lib/fnordmetric/web/reactor.rb +32 -2
  21. data/lib/fnordmetric/web/websocket.rb +1 -1
  22. data/lib/fnordmetric/widgets/bars_widget.rb +1 -1
  23. data/lib/fnordmetric/widgets/numbers_widget.rb +28 -4
  24. data/lib/fnordmetric/widgets/timeseries_widget.rb +19 -9
  25. data/lib/fnordmetric/widgets/toplist_widget.rb +8 -4
  26. data/lib/fnordmetric/worker.rb +5 -1
  27. data/lib/fnordmetric/zero_config_gauge.rb +138 -0
  28. data/spec/context_spec.rb +4 -4
  29. data/spec/event_spec.rb +11 -11
  30. data/spec/gauge_modifiers_spec.rb +135 -29
  31. data/spec/gauge_spec.rb +7 -2
  32. data/spec/namespace_spec.rb +8 -19
  33. data/spec/util_spec.rb +46 -0
  34. data/web/.gitignore +4 -0
  35. data/web/build.sh +34 -0
  36. data/web/{fnordmetric.css → css/fnordmetric.core.css} +121 -58
  37. data/web/haml/app.haml +4 -22
  38. data/web/{loader.gif → img/loader.gif} +0 -0
  39. data/web/js/fnordmetric.bars_widget.js +3 -3
  40. data/web/js/fnordmetric.dashboard_view.js +1 -1
  41. data/web/js/fnordmetric.gauge_explorer.js +173 -0
  42. data/web/js/fnordmetric.js +93 -33
  43. data/web/js/fnordmetric.numbers_widget.js +15 -14
  44. data/web/js/fnordmetric.session_view.js +0 -1
  45. data/web/js/fnordmetric.timeline_widget.js +3 -3
  46. data/web/js/fnordmetric.timeseries_widget.js +46 -29
  47. data/web/js/fnordmetric.toplist_widget.js +23 -16
  48. data/web/js/fnordmetric.util.js +12 -8
  49. data/web/vendor/font-awesome/css/font-awesome-ie7.min.css +22 -0
  50. data/web/vendor/font-awesome/css/font-awesome.css +522 -221
  51. data/web/vendor/font-awesome/css/font-awesome.min.css +33 -0
  52. data/web/vendor/font-awesome/font/FontAwesome.otf +0 -0
  53. data/web/vendor/font-awesome/font/fontawesome-webfont.eot +0 -0
  54. data/web/vendor/font-awesome/font/fontawesome-webfont.svg +278 -169
  55. data/web/vendor/font-awesome/font/fontawesome-webfont.ttf +0 -0
  56. data/web/vendor/font-awesome/font/fontawesome-webfont.woff +0 -0
  57. data/web/vendor/jquery-ui.min.js +6 -413
  58. data/web/vendor/jquery.combobox.js +129 -0
  59. metadata +55 -48
  60. data/doc/V1.0-ROADMAP +0 -97
  61. data/doc/full_example.rb +0 -224
  62. data/doc/legacy_example.rb +0 -640
  63. data/doc/minimal_example.rb +0 -26
  64. data/doc/preview1.png +0 -0
  65. data/doc/preview2.png +0 -0
  66. data/doc/preview3.png +0 -0
  67. data/readme.md +0 -365
  68. data/web/vendor/d3.v2.js +0 -9382
  69. data/web/vendor/font-awesome/font/fontawesome-webfont.svgz +0 -0
  70. data/web/vendor/rickshaw.css +0 -286
  71. data/web/vendor/rickshaw.fnordmetric.js +0 -2700
@@ -224,7 +224,6 @@ FnordMetric.views.sessionView = (function(){
224
224
  }
225
225
 
226
226
  function sortSessions(){
227
- console.log("fixpaul: sort and splice to 100");
228
227
  }
229
228
 
230
229
  function renderSession(session_data){
@@ -4,7 +4,7 @@ FnordMetric.widgets.timelineWidget = function(){
4
4
  var width, height, canvas, series, opts, xtick;
5
5
  var xticks = 100;
6
6
  var running_request = false;
7
-
7
+
8
8
  var series_paths = {};
9
9
  var series_values = {};
10
10
 
@@ -52,13 +52,13 @@ FnordMetric.widgets.timelineWidget = function(){
52
52
  });
53
53
  }
54
54
  }
55
-
55
+
56
56
  //canvas.drawGrid(0, 0, width+(2*xpadding), height, 1, 6, "#ececec");
57
57
  }
58
58
 
59
59
  function announce(evt){
60
60
  if(evt.widget_key == opts.widget_key){
61
- if((evt._class == "widget_response") && (evt.cmd == "values_at")){
61
+ if((evt.type == "widget_response") && (evt.cmd == "values_at")){
62
62
  running_request = false;
63
63
  updateSeriesData(evt.tick, evt.values);
64
64
  updateChart();
@@ -2,7 +2,6 @@ FnordMetric.widgets.timeseriesWidget = function(){
2
2
 
3
3
  /*
4
4
  options:
5
-
6
5
  height: 430
7
6
  default_cardinal: true/false
8
7
  default_style: line/area/stack/flow
@@ -20,7 +19,8 @@ FnordMetric.widgets.timeseriesWidget = function(){
20
19
 
21
20
  if(opts.default_style == "areaspline"){ opts.default_style = 'area'; }
22
21
  if(!opts.default_style){ opts.default_style = 'line'; }
23
- if(!opts.default_cardinal){ opts.default_cardinal = true; }
22
+ if(!opts.default_cardinal){ opts.default_cardinal = false; }
23
+ if(opts.xticks){ xticks = opts.xticks; }
24
24
 
25
25
  draw_layout();
26
26
 
@@ -100,11 +100,11 @@ FnordMetric.widgets.timeseriesWidget = function(){
100
100
  );
101
101
 
102
102
  if((!best_resolution) || (_diff < best_resolution)){
103
- best_resolution = opts.series_resolutions[ind];
103
+ best_resolution = opts.series_resolutions[ind];
104
104
  }
105
105
  }
106
-
107
- resolution = best_resolution;
106
+
107
+ resolution = best_resolution;
108
108
  }
109
109
 
110
110
  for(ind in gconfig.series){
@@ -118,7 +118,7 @@ FnordMetric.widgets.timeseriesWidget = function(){
118
118
  }
119
119
 
120
120
  function draw_layout(){
121
- if(!opts.no_headbar){
121
+ if(!opts.ext && !opts.no_headbar){
122
122
  $(opts.elem).append(
123
123
  $('<div></div>')
124
124
  .addClass('headbar')
@@ -185,8 +185,8 @@ FnordMetric.widgets.timeseriesWidget = function(){
185
185
  margin: '0 23px 25px 23px',
186
186
  })
187
187
  );
188
-
189
- if(opts.async_chart){
188
+
189
+ if(!opts.ext && opts.async_chart && !opts.no_datepicker){
190
190
  $('.headbar', opts.elem).prepend(
191
191
  $('<div></div>')
192
192
  .addClass('button ml')
@@ -227,7 +227,7 @@ FnordMetric.widgets.timeseriesWidget = function(){
227
227
  if((opts.autoupdate) && (opts.async_chart)){
228
228
  var secs = parseInt(opts.autoupdate);
229
229
  if(secs > 0){
230
- var autoupdate_interval = window.setInterval(function(){
230
+ var autoupdate_interval = window.setInterval(function(){
231
231
  updateChart(false, true);
232
232
  }, secs*1000);
233
233
 
@@ -246,38 +246,38 @@ FnordMetric.widgets.timeseriesWidget = function(){
246
246
  gconfig.height = height;
247
247
 
248
248
  $(gconfig.element).html("");
249
- $(".rickshaw_legend", opts.elem).html("");
249
+ $(".fnordmetric_legend", opts.elem).html("");
250
250
 
251
251
  if(opts.series_resolutions){
252
252
  apply_resolution();
253
253
  }
254
254
 
255
- graph = new Rickshaw.Graph(gconfig);
255
+ graph = new FnordMetric.rickshaw.Graph(gconfig);
256
256
 
257
- legend = new Rickshaw.Graph.Legend({
257
+ legend = new FnordMetric.rickshaw.Graph.Legend({
258
258
  graph: graph,
259
259
  element: $('.legend', opts.elem)[0]
260
260
  });
261
261
 
262
- hoverDetail = new Rickshaw.Graph.HoverDetail( {
262
+ hoverDetail = new FnordMetric.rickshaw.Graph.HoverDetail( {
263
263
  graph: graph
264
264
  });
265
265
 
266
- shelving = new Rickshaw.Graph.Behavior.Series.Toggle({
266
+ shelving = new FnordMetric.rickshaw.Graph.Behavior.Series.Toggle({
267
267
  graph: graph,
268
268
  legend: legend
269
269
  });
270
270
 
271
- highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({
271
+ highlighter = new FnordMetric.rickshaw.Graph.Behavior.Series.Highlight({
272
272
  graph: graph,
273
273
  legend: legend
274
274
  });
275
275
 
276
- new Rickshaw.Graph.Axis.Time({
276
+ new FnordMetric.rickshaw.Graph.Axis.Time({
277
277
  graph: graph,
278
278
  }).render();
279
279
 
280
- new Rickshaw.Graph.Axis.Y({
280
+ new FnordMetric.rickshaw.Graph.Axis.Y({
281
281
  graph: graph,
282
282
  }).render();
283
283
 
@@ -292,10 +292,10 @@ FnordMetric.widgets.timeseriesWidget = function(){
292
292
 
293
293
  function announce(evt){
294
294
  if(evt.widget_key == opts.widget_key){
295
- if((evt.class == "widget_response") && (evt.cmd == "values_at")){
295
+ if((evt.type == "widget_response") && (evt.cmd == "values_at")){
296
296
  running_request = false;
297
- $(opts.elem).css('opacity', 1);
298
- updateSeriesData(evt.gauges);
297
+ $(opts.elem).css('opacity', 1);
298
+ updateSeriesData(evt.gauges);
299
299
  }
300
300
  }
301
301
  }
@@ -303,27 +303,27 @@ FnordMetric.widgets.timeseriesWidget = function(){
303
303
  function requestValuesAsync(){
304
304
  FnordMetric.publish({
305
305
  "type": "widget_request",
306
- "klass": "TimeseriesWidget",
306
+ "klass": "generic",
307
307
  "gauges": opts.gauges,
308
308
  "cmd": "values_at",
309
309
  "tick": opts.tick,
310
310
  "since": opts.start_timestamp,
311
311
  "until": opts.end_timestamp,
312
312
  "widget_key": opts.widget_key
313
- })
313
+ });
314
314
  }
315
315
 
316
316
  function updateSeriesData(dgauges){
317
317
  gconfig.series = [];
318
318
 
319
319
  for(var ind = 0; ind < dgauges.length; ind++){
320
-
320
+
321
321
  gconfig.series.push({
322
- name: dgauges[ind].key,
322
+ name: dgauges[ind].title,
323
323
  color: opts.series[ind].color,
324
324
  data: []
325
325
  });
326
-
326
+
327
327
  for(_time in dgauges[ind].vals){
328
328
  gconfig.series[ind].data.push(
329
329
  { x: parseInt(_time), y: parseInt(dgauges[ind].vals[_time] || 0) }
@@ -336,7 +336,7 @@ FnordMetric.widgets.timeseriesWidget = function(){
336
336
  }
337
337
 
338
338
  function updateChart(first_time, silent){
339
- if(!silent){ $(opts.elem).css('opacity', 0.5); }
339
+ if(!silent){ $(opts.elem).css('opacity', 0.7); }
340
340
  updateRange();
341
341
  redrawDatepicker();
342
342
  requestValuesAsync();
@@ -351,12 +351,21 @@ FnordMetric.widgets.timeseriesWidget = function(){
351
351
  }
352
352
 
353
353
  function updateRange(force){
354
+ var _now = parseInt(new Date().getTime() / 1000);
355
+
356
+ if (opts.no_update_range)
357
+ return;
358
+
359
+ if (opts.ext) {
360
+ opts.end_timestamp = _now;
361
+ opts.start_timestamp = _now - opts.trange;
362
+ return;
363
+ }
364
+
354
365
  if(!opts.tick){
355
366
  opts.tick = opts.ticks[0];
356
367
  }
357
368
 
358
- var _now = parseInt(new Date().getTime() / 1000);
359
-
360
369
  if((opts.autoupdate) &&
361
370
  ((_now - opts.end_timestamp) < ((opts.tick*(opts.autoupdate+1)) + 5))){
362
371
  force = true;
@@ -380,9 +389,17 @@ FnordMetric.widgets.timeseriesWidget = function(){
380
389
  requestValuesAsync();
381
390
  }
382
391
 
392
+ function set_timerange(s, e){
393
+ opts.start_timestamp = s;
394
+ opts.end_timestamp = e;
395
+ redrawDatepicker();
396
+ requestValuesAsync();
397
+ }
398
+
383
399
  return {
384
400
  render: render,
385
- announce: announce
401
+ announce: announce,
402
+ set_timerange: set_timerange
386
403
  }
387
404
 
388
405
  };
@@ -10,27 +10,32 @@ FnordMetric.widgets.toplistWidget = function(){
10
10
  $('<h2></h2>').html(opts.title)
11
11
  );
12
12
 
13
+ var __elem = $('<div class="toplist_inner ui_toplist"></div>');
14
+
15
+ if (opts.no_min_height) {
16
+ __elem.css('minHeight', '0');
17
+ }
18
+
13
19
  opts.elem.append(headbar).css({
14
20
  'marginBottom': 20,
15
21
  'overflow': 'hidden'
16
- }).append(
17
- $('<div class="toplist_inner ui_toplist"></div>')
18
- );
22
+ }).append(__elem);
19
23
 
20
24
  if(!opts.ticks){
21
25
  var first = true;
22
26
  for(k in opts.gauges){
23
- headbar.append(
24
- $('<div></div>')
25
- .attr('class', 'button mr')
26
- .attr('rel', k)
27
- .append(
28
- $('<span></span>').html(opts.gauges[k].title)
29
- ).click(function(){
30
- loadGauge($(this).attr('rel'));
31
- }
32
- )
33
- );
27
+ if (opts.gauges.length > 1)
28
+ headbar.append(
29
+ $('<div></div>')
30
+ .attr('class', 'button mr')
31
+ .attr('rel', k)
32
+ .append(
33
+ $('<span></span>').html(opts.gauges[k].title)
34
+ ).click(function(){
35
+ loadGauge($(this).attr('rel'));
36
+ }
37
+ )
38
+ );
34
39
  if(first){
35
40
  first = false;
36
41
  loadGauge(k);
@@ -77,7 +82,9 @@ FnordMetric.widgets.toplistWidget = function(){
77
82
 
78
83
  function renderGauge(gkey, gdata){
79
84
  var _elem = $('.toplist_inner', opts.elem).removeClass('loading').html('');
85
+ var i = 0;
80
86
  $(gdata.values).each(function(n, _gd){
87
+ if (opts.limit && ((i += 1) > opts.limit)) { return; }
81
88
  var _perc = (parseInt(gdata.values[n][1]) / parseFloat(gdata.count))*100;
82
89
  var _item = $('<div class="toplist_item"><div class="title"></div><div class="value"></div><div class="percent"></div></div>');
83
90
 
@@ -88,7 +95,7 @@ FnordMetric.widgets.toplistWidget = function(){
88
95
  lelem.click(function(){ lclbck($(this).attr('data-key')); return false; });
89
96
  $('.title', _item).html(lelem)
90
97
  } else {
91
- $('.title', _item).html(gdata.values[n][0]);
98
+ $('.title', _item).html(gdata.values[n][0]);
92
99
  }
93
100
 
94
101
  $('.value', _item).html(FnordMetric.util.formatGaugeValue(gkey, parseInt(gdata.values[n][1])));
@@ -99,7 +106,7 @@ FnordMetric.widgets.toplistWidget = function(){
99
106
 
100
107
  function announce(evt){
101
108
 
102
- if((evt.widget_key == opts.widget_key) && ((evt.class == "widget_response") && (evt.cmd == "values_for")))
109
+ if((evt.widget_key == opts.widget_key) && ((evt.type == "widget_response") && (evt.cmd == "values_for")))
103
110
  renderGauge(evt.gauge, evt);
104
111
 
105
112
  }
@@ -82,7 +82,7 @@ FnordMetric.util.formatOffset = function(offset, next_offset){
82
82
 
83
83
  FnordMetric.util.formatValue = function(value){
84
84
  if(value < 10){
85
- return value.toFixed(2);
85
+ return value.toFixed(1);
86
86
  }
87
87
  if(value < 100){
88
88
  return value.toFixed(1);
@@ -127,10 +127,12 @@ FnordMetric.util.formatGaugeValue = function(gauge_key, value){
127
127
  }
128
128
  }
129
129
 
130
- FnordMetric.util.updateNumbers = function(trgt_elem, diff_factor){
130
+ FnordMetric.util.updateNumbers = function(trgt_elem, diff_factor, single){
131
131
  var still_running = false;
132
132
  if(!diff_factor){ diff_factor = 4; }
133
- $('.number', $(trgt_elem)).each(function(){
133
+ var elems = [];
134
+ if (single) { elems = [trgt_elem]; } else { elems = $('.number', $(trgt_elem)); }
135
+ $(elems).each(function(){
134
136
  var target_val = parseFloat($(this).attr('data'));
135
137
  var current_val = parseFloat($(this).attr('data-current'));
136
138
  if(!current_val){ current_val=0; }
@@ -144,15 +146,17 @@ FnordMetric.util.updateNumbers = function(trgt_elem, diff_factor){
144
146
  if((diff > 0) && (new_val > target_val)){ new_val = target_val; }
145
147
  if((diff < 0) && (new_val < target_val)){ new_val = target_val; }
146
148
  $(this).attr('data-current', new_val);
147
- $('.value', this).html(FnordMetric.util.formatGaugeValue($(this).attr('rel'), new_val));
149
+ var val_txt = FnordMetric.util.formatGaugeValue($(this).attr('rel'), new_val);
150
+ if ($(this).attr('data-unit')){ val_txt += $(this).attr('data-unit'); }
151
+ if (single) { $(this).html(val_txt); } else { $('.value', this).html(val_txt); }
148
152
  }
149
153
  });
150
154
  if(still_running){
151
- (function(te, df){
155
+ (function(te, df, sg){
152
156
  window.setTimeout(function(){
153
- FnordMetric.util.updateNumbers(te, df);
157
+ FnordMetric.util.updateNumbers(te, df, sg);
154
158
  }, 30);
155
- })(trgt_elem, diff_factor);
159
+ })(trgt_elem, diff_factor, single);
156
160
  }
157
161
  }
158
162
 
@@ -241,4 +245,4 @@ FnordMetric.util.evilFormat = function(str){
241
245
  } else {
242
246
  return str;
243
247
  }
244
- }
248
+ }
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Font Awesome 3.0.2
3
+ * the iconic font designed for use with Twitter Bootstrap
4
+ * -------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation
6
+ * can be found at: http://fortawesome.github.com/Font-Awesome/
7
+ *
8
+ * License
9
+ * -------------------------------------------------------
10
+ * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
11
+ * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
12
+ * http://opensource.org/licenses/mit-license.html
13
+ * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
14
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
15
+ * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
16
+
17
+ * Contact
18
+ * -------------------------------------------------------
19
+ * Email: dave@davegandy.com
20
+ * Twitter: http://twitter.com/fortaweso_me
21
+ * Work: Lead Product Designer @ http://kyruus.com
22
+ */.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle}.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%}.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px}.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit}.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em}a [class^="icon-"],a [class*=" icon-"]{cursor:pointer}ul.icons{text-indent:-1.5em;margin-left:3em}.icon-glass{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf000;')}.icon-music{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf001;')}.icon-search{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf002;')}.icon-envelope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf003;')}.icon-heart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf004;')}.icon-star{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf005;')}.icon-star-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf006;')}.icon-user{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf007;')}.icon-film{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf008;')}.icon-th-large{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf009;')}.icon-th{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf00a;')}.icon-th-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf00b;')}.icon-ok{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf00c;')}.icon-remove{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf00d;')}.icon-zoom-in{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf00e;')}.icon-zoom-out{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf010;')}.icon-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf011;')}.icon-signal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf012;')}.icon-cog{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf013;')}.icon-trash{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf014;')}.icon-home{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf015;')}.icon-file{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf016;')}.icon-time{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf017;')}.icon-road{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf018;')}.icon-download-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf019;')}.icon-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf01a;')}.icon-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf01b;')}.icon-inbox{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf01c;')}.icon-play-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf01d;')}.icon-repeat{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf01e;')}.icon-refresh{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf021;')}.icon-list-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf022;')}.icon-lock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf023;')}.icon-flag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf024;')}.icon-headphones{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf025;')}.icon-volume-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf026;')}.icon-volume-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf027;')}.icon-volume-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf028;')}.icon-qrcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf029;')}.icon-barcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02a;')}.icon-tag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02b;')}.icon-tags{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02c;')}.icon-book{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02d;')}.icon-bookmark{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02e;')}.icon-print{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf02f;')}.icon-camera{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf030;')}.icon-font{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf031;')}.icon-bold{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf032;')}.icon-italic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf033;')}.icon-text-height{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf034;')}.icon-text-width{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf035;')}.icon-align-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf036;')}.icon-align-center{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf037;')}.icon-align-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf038;')}.icon-align-justify{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf039;')}.icon-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf03a;')}.icon-indent-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf03b;')}.icon-indent-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf03c;')}.icon-facetime-video{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf03d;')}.icon-picture{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf03e;')}.icon-pencil{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf040;')}.icon-map-marker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf041;')}.icon-adjust{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf042;')}.icon-tint{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf043;')}.icon-edit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf044;')}.icon-share{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf045;')}.icon-check{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf046;')}.icon-move{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf047;')}.icon-step-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf048;')}.icon-fast-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf049;')}.icon-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf04a;')}.icon-play{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf04b;')}.icon-pause{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf04c;')}.icon-stop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf04d;')}.icon-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf04e;')}.icon-fast-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf050;')}.icon-step-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf051;')}.icon-eject{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf052;')}.icon-chevron-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf053;')}.icon-chevron-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf054;')}.icon-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf055;')}.icon-minus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf056;')}.icon-remove-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf057;')}.icon-ok-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf058;')}.icon-question-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf059;')}.icon-info-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf05a;')}.icon-screenshot{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf05b;')}.icon-remove-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf05c;')}.icon-ok-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf05d;')}.icon-ban-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf05e;')}.icon-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf060;')}.icon-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf061;')}.icon-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf062;')}.icon-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf063;')}.icon-share-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf064;')}.icon-resize-full{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf065;')}.icon-resize-small{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf066;')}.icon-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf067;')}.icon-minus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf068;')}.icon-asterisk{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf069;')}.icon-exclamation-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf06a;')}.icon-gift{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf06b;')}.icon-leaf{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf06c;')}.icon-fire{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf06d;')}.icon-eye-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf06e;')}.icon-eye-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf070;')}.icon-warning-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf071;')}.icon-plane{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf072;')}.icon-calendar{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf073;')}.icon-random{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf074;')}.icon-comment{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf075;')}.icon-magnet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf076;')}.icon-chevron-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf077;')}.icon-chevron-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf078;')}.icon-retweet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf079;')}.icon-shopping-cart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf07a;')}.icon-folder-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf07b;')}.icon-folder-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf07c;')}.icon-resize-vertical{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf07d;')}.icon-resize-horizontal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf07e;')}.icon-bar-chart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf080;')}.icon-twitter-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf081;')}.icon-facebook-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf082;')}.icon-camera-retro{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf083;')}.icon-key{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf084;')}.icon-cogs{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf085;')}.icon-comments{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf086;')}.icon-thumbs-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf087;')}.icon-thumbs-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf088;')}.icon-star-half{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf089;')}.icon-heart-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf08a;')}.icon-signout{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf08b;')}.icon-linkedin-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf08c;')}.icon-pushpin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf08d;')}.icon-external-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf08e;')}.icon-signin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf090;')}.icon-trophy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf091;')}.icon-github-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf092;')}.icon-upload-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf093;')}.icon-lemon{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf094;')}.icon-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf095;')}.icon-check-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf096;')}.icon-bookmark-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf097;')}.icon-phone-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf098;')}.icon-twitter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf099;')}.icon-facebook{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf09a;')}.icon-github{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf09b;')}.icon-unlock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf09c;')}.icon-credit-card{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf09d;')}.icon-rss{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf09e;')}.icon-hdd{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a0;')}.icon-bullhorn{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a1;')}.icon-bell{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a2;')}.icon-certificate{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a3;')}.icon-hand-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a4;')}.icon-hand-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a5;')}.icon-hand-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a6;')}.icon-hand-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a7;')}.icon-circle-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a8;')}.icon-circle-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0a9;')}.icon-circle-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0aa;')}.icon-circle-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ab;')}.icon-globe{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ac;')}.icon-wrench{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ad;')}.icon-tasks{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ae;')}.icon-filter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0b0;')}.icon-briefcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0b1;')}.icon-fullscreen{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0b2;')}.icon-group{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c0;')}.icon-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c1;')}.icon-cloud{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c2;')}.icon-beaker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c3;')}.icon-cut{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c4;')}.icon-copy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c5;')}.icon-paper-clip{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c6;')}.icon-save{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c7;')}.icon-sign-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c8;')}.icon-reorder{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0c9;')}.icon-list-ul{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ca;')}.icon-list-ol{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0cb;')}.icon-strikethrough{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0cc;')}.icon-underline{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0cd;')}.icon-table{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ce;')}.icon-magic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d0;')}.icon-truck{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d1;')}.icon-pinterest{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d2;')}.icon-pinterest-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d3;')}.icon-google-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d4;')}.icon-google-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d5;')}.icon-money{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d6;')}.icon-caret-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d7;')}.icon-caret-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d8;')}.icon-caret-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0d9;')}.icon-caret-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0da;')}.icon-columns{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0db;')}.icon-sort{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0dc;')}.icon-sort-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0dd;')}.icon-sort-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0de;')}.icon-envelope-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e0;')}.icon-linkedin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e1;')}.icon-undo{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e2;')}.icon-legal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e3;')}.icon-dashboard{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e4;')}.icon-comment-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e5;')}.icon-comments-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e6;')}.icon-bolt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e7;')}.icon-sitemap{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e8;')}.icon-umbrella{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0e9;')}.icon-paste{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ea;')}.icon-lightbulb{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0eb;')}.icon-exchange{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ec;')}.icon-cloud-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ed;')}.icon-cloud-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0ee;')}.icon-user-md{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f0;')}.icon-stethoscope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f1;')}.icon-suitcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f2;')}.icon-bell-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f3;')}.icon-coffee{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f4;')}.icon-food{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f5;')}.icon-file-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f6;')}.icon-building{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f7;')}.icon-hospital{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f8;')}.icon-ambulance{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0f9;')}.icon-medkit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0fa;')}.icon-fighter-jet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0fb;')}.icon-beer{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0fc;')}.icon-h-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0fd;')}.icon-plus-sign-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf0fe;')}.icon-double-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf100;')}.icon-double-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf101;')}.icon-double-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf102;')}.icon-double-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf103;')}.icon-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf104;')}.icon-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf105;')}.icon-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf106;')}.icon-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf107;')}.icon-desktop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf108;')}.icon-laptop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf109;')}.icon-tablet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf10a;')}.icon-mobile-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf10b;')}.icon-circle-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf10c;')}.icon-quote-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf10d;')}.icon-quote-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf10e;')}.icon-spinner{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf110;')}.icon-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf111;')}.icon-reply{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf112;')}.icon-github-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf113;')}.icon-folder-close-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf114;')}.icon-folder-open-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#xf115;')}
@@ -1,239 +1,540 @@
1
- /* Font Awesome
2
- the iconic font designed for use with Twitter Bootstrap
3
- -------------------------------------------------------
4
- The full suite of pictographic icons, examples, and documentation
5
- can be found at: http://fortawesome.github.com/Font-Awesome/
6
-
7
- License
8
- -------------------------------------------------------
9
- The Font Awesome webfont, CSS, and LESS files are licensed under CC BY 3.0:
10
- http://creativecommons.org/licenses/by/3.0/ A mention of
11
- 'Font Awesome - http://fortawesome.github.com/Font-Awesome' in human-readable
12
- source code is considered acceptable attribution (most common on the web).
13
- If human readable source code is not available to the end user, a mention in
14
- an 'About' or 'Credits' screen is considered acceptable (most common in desktop
15
- or mobile software).
16
-
17
- Contact
18
- -------------------------------------------------------
19
- Email: dave@davegandy.com
20
- Twitter: http://twitter.com/fortaweso_me
21
- Work: http://lemonwi.se co-founder
22
-
23
- */
1
+ /*!
2
+ * Font Awesome 3.0.2
3
+ * the iconic font designed for use with Twitter Bootstrap
4
+ * -------------------------------------------------------
5
+ * The full suite of pictographic icons, examples, and documentation
6
+ * can be found at: http://fortawesome.github.com/Font-Awesome/
7
+ *
8
+ * License
9
+ * -------------------------------------------------------
10
+ * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
11
+ * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
12
+ * http://opensource.org/licenses/mit-license.html
13
+ * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
14
+ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
15
+ * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
24
16
 
17
+ * Contact
18
+ * -------------------------------------------------------
19
+ * Email: dave@davegandy.com
20
+ * Twitter: http://twitter.com/fortaweso_me
21
+ * Work: Lead Product Designer @ http://kyruus.com
22
+ */
25
23
  @font-face {
26
- font-family: 'FontAwesome';
27
- src: url('../font/fontawesome-webfont.eot');
28
- src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), url('../font/fontawesome-webfont.woff') format('woff'), url('../font/fontawesome-webfont.ttf') format('truetype'), url('../font/fontawesome-webfont.svgz#FontAwesomeRegular') format('svg'), url('../font/fontawesome-webfont.svg#FontAwesomeRegular') format('svg');
29
- font-weight: normal;
30
- font-style: normal;
31
- }
32
- /* sprites.less reset */
33
- [class^="icon-"], [class*=" icon-"] {
34
- display: inline;
35
- width: auto;
36
- height: auto;
37
- line-height: inherit;
38
- vertical-align: baseline;
39
- background-image: none;
40
- background-position: 0% 0%;
41
- background-repeat: repeat;
42
- }
43
- li[class^="icon-"], li[class*=" icon-"] {
44
- display: block;
24
+ font-family: 'FontAwesome';
25
+ src: url('/vendor/font-awesome/font/fontawesome-webfont.eot?v=3.0.1');
26
+ src: url('/vendor/font-awesome/font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
27
+ url('/vendor/font-awesome/font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
28
+ url('/vendor/font-awesome/font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
29
+ font-weight: normal;
30
+ font-style: normal;
45
31
  }
46
32
  /* Font Awesome styles
47
33
  ------------------------------------------------------- */
48
- [class^="icon-"]:before, [class*=" icon-"]:before {
49
- font-family: FontAwesome;
50
- font-weight: normal;
51
- font-style: normal;
52
- display: inline-block;
53
- text-decoration: inherit;
34
+ [class^="icon-"],
35
+ [class*=" icon-"] {
36
+ font-family: FontAwesome;
37
+ font-weight: normal;
38
+ font-style: normal;
39
+ text-decoration: inherit;
40
+ -webkit-font-smoothing: antialiased;
41
+
42
+ /* sprites.less reset */
43
+ display: inline;
44
+ width: auto;
45
+ height: auto;
46
+ line-height: normal;
47
+ vertical-align: baseline;
48
+ background-image: none;
49
+ background-position: 0% 0%;
50
+ background-repeat: repeat;
51
+ margin-top: 0;
52
+ }
53
+ /* more sprites.less reset */
54
+ .icon-white,
55
+ .nav-pills > .active > a > [class^="icon-"],
56
+ .nav-pills > .active > a > [class*=" icon-"],
57
+ .nav-list > .active > a > [class^="icon-"],
58
+ .nav-list > .active > a > [class*=" icon-"],
59
+ .navbar-inverse .nav > .active > a > [class^="icon-"],
60
+ .navbar-inverse .nav > .active > a > [class*=" icon-"],
61
+ .dropdown-menu > li > a:hover > [class^="icon-"],
62
+ .dropdown-menu > li > a:hover > [class*=" icon-"],
63
+ .dropdown-menu > .active > a > [class^="icon-"],
64
+ .dropdown-menu > .active > a > [class*=" icon-"],
65
+ .dropdown-submenu:hover > a > [class^="icon-"],
66
+ .dropdown-submenu:hover > a > [class*=" icon-"] {
67
+ background-image: none;
54
68
  }
55
- a [class^="icon-"], a [class*=" icon-"] {
56
- display: inline-block;
57
- text-decoration: inherit;
69
+ [class^="icon-"]:before,
70
+ [class*=" icon-"]:before {
71
+ text-decoration: inherit;
72
+ display: inline-block;
73
+ speak: none;
74
+ }
75
+ /* makes sure icons active on rollover in links */
76
+ a [class^="icon-"],
77
+ a [class*=" icon-"] {
78
+ display: inline-block;
58
79
  }
59
80
  /* makes the font 33% larger relative to the icon container */
60
81
  .icon-large:before {
61
- vertical-align: top;
62
- font-size: 1.3333333333333333em;
82
+ vertical-align: -10%;
83
+ font-size: 1.3333333333333333em;
84
+ }
85
+ .btn [class^="icon-"],
86
+ .nav [class^="icon-"],
87
+ .btn [class*=" icon-"],
88
+ .nav [class*=" icon-"] {
89
+ display: inline;
90
+ /* keeps button heights with and without icons the same */
91
+
92
+ }
93
+ .btn [class^="icon-"].icon-large,
94
+ .nav [class^="icon-"].icon-large,
95
+ .btn [class*=" icon-"].icon-large,
96
+ .nav [class*=" icon-"].icon-large {
97
+ line-height: .9em;
98
+ }
99
+ .btn [class^="icon-"].icon-spin,
100
+ .nav [class^="icon-"].icon-spin,
101
+ .btn [class*=" icon-"].icon-spin,
102
+ .nav [class*=" icon-"].icon-spin {
103
+ display: inline-block;
104
+ }
105
+ .nav-tabs [class^="icon-"],
106
+ .nav-pills [class^="icon-"],
107
+ .nav-tabs [class*=" icon-"],
108
+ .nav-pills [class*=" icon-"] {
109
+ /* keeps button heights with and without icons the same */
110
+
111
+ }
112
+ .nav-tabs [class^="icon-"],
113
+ .nav-pills [class^="icon-"],
114
+ .nav-tabs [class*=" icon-"],
115
+ .nav-pills [class*=" icon-"],
116
+ .nav-tabs [class^="icon-"].icon-large,
117
+ .nav-pills [class^="icon-"].icon-large,
118
+ .nav-tabs [class*=" icon-"].icon-large,
119
+ .nav-pills [class*=" icon-"].icon-large {
120
+ line-height: .9em;
121
+ }
122
+ li [class^="icon-"],
123
+ .nav li [class^="icon-"],
124
+ li [class*=" icon-"],
125
+ .nav li [class*=" icon-"] {
126
+ display: inline-block;
127
+ width: 1.25em;
128
+ text-align: center;
129
+ }
130
+ li [class^="icon-"].icon-large,
131
+ .nav li [class^="icon-"].icon-large,
132
+ li [class*=" icon-"].icon-large,
133
+ .nav li [class*=" icon-"].icon-large {
134
+ /* increased font size for icon-large */
135
+
136
+ width: 1.5625em;
137
+ }
138
+ ul.icons {
139
+ list-style-type: none;
140
+ text-indent: -0.75em;
141
+ }
142
+ ul.icons li [class^="icon-"],
143
+ ul.icons li [class*=" icon-"] {
144
+ width: .75em;
145
+ }
146
+ .icon-muted {
147
+ color: #eeeeee;
148
+ }
149
+ .icon-border {
150
+ border: solid 1px #eeeeee;
151
+ padding: .2em .25em .15em;
152
+ -webkit-border-radius: 3px;
153
+ -moz-border-radius: 3px;
154
+ border-radius: 3px;
155
+ }
156
+ .icon-2x {
157
+ font-size: 2em;
158
+ }
159
+ .icon-2x.icon-border {
160
+ border-width: 2px;
161
+ -webkit-border-radius: 4px;
162
+ -moz-border-radius: 4px;
163
+ border-radius: 4px;
164
+ }
165
+ .icon-3x {
166
+ font-size: 3em;
167
+ }
168
+ .icon-3x.icon-border {
169
+ border-width: 3px;
170
+ -webkit-border-radius: 5px;
171
+ -moz-border-radius: 5px;
172
+ border-radius: 5px;
173
+ }
174
+ .icon-4x {
175
+ font-size: 4em;
176
+ }
177
+ .icon-4x.icon-border {
178
+ border-width: 4px;
179
+ -webkit-border-radius: 6px;
180
+ -moz-border-radius: 6px;
181
+ border-radius: 6px;
182
+ }
183
+ .pull-right {
184
+ float: right;
185
+ }
186
+ .pull-left {
187
+ float: left;
188
+ }
189
+ [class^="icon-"].pull-left,
190
+ [class*=" icon-"].pull-left {
191
+ margin-right: .3em;
63
192
  }
64
- .btn [class^="icon-"], .btn [class*=" icon-"] {
65
- /* keeps button heights with and without icons the same */
66
- line-height: .9em;
193
+ [class^="icon-"].pull-right,
194
+ [class*=" icon-"].pull-right {
195
+ margin-left: .3em;
67
196
  }
68
- li [class^="icon-"], li [class*=" icon-"] {
69
- display: inline-block;
70
- width: 1.25em;
71
- text-align: center;
197
+ .btn [class^="icon-"].pull-left.icon-2x,
198
+ .btn [class*=" icon-"].pull-left.icon-2x,
199
+ .btn [class^="icon-"].pull-right.icon-2x,
200
+ .btn [class*=" icon-"].pull-right.icon-2x {
201
+ margin-top: .18em;
72
202
  }
73
- li .icon-large[class^="icon-"], li .icon-large[class*=" icon-"] {
74
- /* 1.5 increased font size for icon-large * 1.25 width */
75
- width: 1.875em;
203
+ .btn [class^="icon-"].icon-spin.icon-large,
204
+ .btn [class*=" icon-"].icon-spin.icon-large {
205
+ line-height: .8em;
76
206
  }
77
- li[class^="icon-"], li[class*=" icon-"] {
78
- margin-left: 0;
79
- list-style-type: none;
207
+ .btn.btn-small [class^="icon-"].pull-left.icon-2x,
208
+ .btn.btn-small [class*=" icon-"].pull-left.icon-2x,
209
+ .btn.btn-small [class^="icon-"].pull-right.icon-2x,
210
+ .btn.btn-small [class*=" icon-"].pull-right.icon-2x {
211
+ margin-top: .25em;
80
212
  }
81
- li[class^="icon-"]:before, li[class*=" icon-"]:before {
82
- text-indent: -2em;
83
- text-align: center;
213
+ .btn.btn-large [class^="icon-"],
214
+ .btn.btn-large [class*=" icon-"] {
215
+ margin-top: 0;
84
216
  }
85
- li[class^="icon-"].icon-large:before, li[class*=" icon-"].icon-large:before {
86
- text-indent: -1.3333333333333333em;
217
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
218
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
219
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
220
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
221
+ margin-top: .05em;
222
+ }
223
+ .btn.btn-large [class^="icon-"].pull-left.icon-2x,
224
+ .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
225
+ margin-right: .2em;
226
+ }
227
+ .btn.btn-large [class^="icon-"].pull-right.icon-2x,
228
+ .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
229
+ margin-left: .2em;
230
+ }
231
+ .icon-spin {
232
+ display: inline-block;
233
+ -moz-animation: spin 2s infinite linear;
234
+ -o-animation: spin 2s infinite linear;
235
+ -webkit-animation: spin 2s infinite linear;
236
+ animation: spin 2s infinite linear;
237
+ }
238
+ @-moz-keyframes spin {
239
+ 0% { -moz-transform: rotate(0deg); }
240
+ 100% { -moz-transform: rotate(359deg); }
241
+ }
242
+ @-webkit-keyframes spin {
243
+ 0% { -webkit-transform: rotate(0deg); }
244
+ 100% { -webkit-transform: rotate(359deg); }
245
+ }
246
+ @-o-keyframes spin {
247
+ 0% { -o-transform: rotate(0deg); }
248
+ 100% { -o-transform: rotate(359deg); }
249
+ }
250
+ @-ms-keyframes spin {
251
+ 0% { -ms-transform: rotate(0deg); }
252
+ 100% { -ms-transform: rotate(359deg); }
253
+ }
254
+ @keyframes spin {
255
+ 0% { transform: rotate(0deg); }
256
+ 100% { transform: rotate(359deg); }
257
+ }
258
+ @-moz-document url-prefix() {
259
+ .icon-spin {
260
+ height: .9em;
261
+ }
262
+ .btn .icon-spin {
263
+ height: auto;
264
+ }
265
+ .icon-spin.icon-large {
266
+ height: 1.25em;
267
+ }
268
+ .btn .icon-spin.icon-large {
269
+ height: .75em;
270
+ }
87
271
  }
88
272
  /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
89
273
  readers do not read off random characters that represent icons */
90
- .icon-glass:before { content: "\f000"; }
91
- .icon-music:before { content: "\f001"; }
92
- .icon-search:before { content: "\f002"; }
93
- .icon-envelope:before { content: "\f003"; }
94
- .icon-heart:before { content: "\f004"; }
95
- .icon-star:before { content: "\f005"; }
96
- .icon-star-empty:before { content: "\f006"; }
97
- .icon-user:before { content: "\f007"; }
98
- .icon-film:before { content: "\f008"; }
99
- .icon-th-large:before { content: "\f009"; }
100
- .icon-th:before { content: "\f00a"; }
101
- .icon-th-list:before { content: "\f00b"; }
102
- .icon-ok:before { content: "\f00c"; }
103
- .icon-remove:before { content: "\f00d"; }
104
- .icon-zoom-in:before { content: "\f00e"; }
105
-
106
- .icon-zoom-out:before { content: "\f010"; }
107
- .icon-off:before { content: "\f011"; }
108
- .icon-signal:before { content: "\f012"; }
109
- .icon-cog:before { content: "\f013"; }
110
- .icon-trash:before { content: "\f014"; }
111
- .icon-home:before { content: "\f015"; }
112
- .icon-file:before { content: "\f016"; }
113
- .icon-time:before { content: "\f017"; }
114
- .icon-road:before { content: "\f018"; }
115
- .icon-download-alt:before { content: "\f019"; }
116
- .icon-download:before { content: "\f01a"; }
117
- .icon-upload:before { content: "\f01b"; }
118
- .icon-inbox:before { content: "\f01c"; }
119
- .icon-play-circle:before { content: "\f01d"; }
120
- .icon-repeat:before { content: "\f01e"; }
121
-
122
- /* \f020 is not a valid unicode character. all shifted one down */
123
- .icon-refresh:before { content: "\f021"; }
124
- .icon-list-alt:before { content: "\f022"; }
125
- .icon-lock:before { content: "\f023"; }
126
- .icon-flag:before { content: "\f024"; }
127
- .icon-headphones:before { content: "\f025"; }
128
- .icon-volume-off:before { content: "\f026"; }
129
- .icon-volume-down:before { content: "\f027"; }
130
- .icon-volume-up:before { content: "\f028"; }
131
- .icon-qrcode:before { content: "\f029"; }
132
- .icon-barcode:before { content: "\f02a"; }
133
- .icon-tag:before { content: "\f02b"; }
134
- .icon-tags:before { content: "\f02c"; }
135
- .icon-book:before { content: "\f02d"; }
136
- .icon-bookmark:before { content: "\f02e"; }
137
- .icon-print:before { content: "\f02f"; }
138
-
139
- .icon-camera:before { content: "\f030"; }
140
- .icon-font:before { content: "\f031"; }
141
- .icon-bold:before { content: "\f032"; }
142
- .icon-italic:before { content: "\f033"; }
143
- .icon-text-height:before { content: "\f034"; }
144
- .icon-text-width:before { content: "\f035"; }
145
- .icon-align-left:before { content: "\f036"; }
146
- .icon-align-center:before { content: "\f037"; }
147
- .icon-align-right:before { content: "\f038"; }
148
- .icon-align-justify:before { content: "\f039"; }
149
- .icon-list:before { content: "\f03a"; }
150
- .icon-indent-left:before { content: "\f03b"; }
151
- .icon-indent-right:before { content: "\f03c"; }
152
- .icon-facetime-video:before { content: "\f03d"; }
153
- .icon-picture:before { content: "\f03e"; }
154
-
155
- .icon-pencil:before { content: "\f040"; }
156
- .icon-map-marker:before { content: "\f041"; }
157
- .icon-adjust:before { content: "\f042"; }
158
- .icon-tint:before { content: "\f043"; }
159
- .icon-edit:before { content: "\f044"; }
160
- .icon-share:before { content: "\f045"; }
161
- .icon-check:before { content: "\f046"; }
162
- .icon-move:before { content: "\f047"; }
163
- .icon-step-backward:before { content: "\f048"; }
164
- .icon-fast-backward:before { content: "\f049"; }
165
- .icon-backward:before { content: "\f04a"; }
166
- .icon-play:before { content: "\f04b"; }
167
- .icon-pause:before { content: "\f04c"; }
168
- .icon-stop:before { content: "\f04d"; }
169
- .icon-forward:before { content: "\f04e"; }
170
-
171
- .icon-fast-forward:before { content: "\f050"; }
172
- .icon-step-forward:before { content: "\f051"; }
173
- .icon-eject:before { content: "\f052"; }
174
- .icon-chevron-left:before { content: "\f053"; }
175
- .icon-chevron-right:before { content: "\f054"; }
176
- .icon-plus-sign:before { content: "\f055"; }
177
- .icon-minus-sign:before { content: "\f056"; }
178
- .icon-remove-sign:before { content: "\f057"; }
179
- .icon-ok-sign:before { content: "\f058"; }
180
- .icon-question-sign:before { content: "\f059"; }
181
- .icon-info-sign:before { content: "\f05a"; }
182
- .icon-screenshot:before { content: "\f05b"; }
183
- .icon-remove-circle:before { content: "\f05c"; }
184
- .icon-ok-circle:before { content: "\f05d"; }
185
- .icon-ban-circle:before { content: "\f05e"; }
186
-
187
- .icon-arrow-left:before { content: "\f060"; }
188
- .icon-arrow-right:before { content: "\f061"; }
189
- .icon-arrow-up:before { content: "\f062"; }
190
- .icon-arrow-down:before { content: "\f063"; }
191
- .icon-share-alt:before { content: "\f064"; }
192
- .icon-resize-full:before { content: "\f065"; }
193
- .icon-resize-small:before { content: "\f066"; }
194
- .icon-plus:before { content: "\f067"; }
195
- .icon-minus:before { content: "\f068"; }
196
- .icon-asterisk:before { content: "\f069"; }
197
- .icon-exclamation-sign:before { content: "\f06a"; }
198
- .icon-gift:before { content: "\f06b"; }
199
- .icon-leaf:before { content: "\f06c"; }
200
- .icon-fire:before { content: "\f06d"; }
201
- .icon-eye-open:before { content: "\f06e"; }
202
-
203
- .icon-eye-close:before { content: "\f070"; }
204
- .icon-warning-sign:before { content: "\f071"; }
205
- .icon-plane:before { content: "\f072"; }
206
- .icon-calendar:before { content: "\f073"; }
207
- .icon-random:before { content: "\f074"; }
208
- .icon-comment:before { content: "\f075"; }
209
- .icon-magnet:before { content: "\f076"; }
210
- .icon-chevron-up:before { content: "\f077"; }
211
- .icon-chevron-down:before { content: "\f078"; }
212
- .icon-retweet:before { content: "\f079"; }
213
- .icon-shopping-cart:before { content: "\f07a"; }
214
- .icon-folder-close:before { content: "\f07b"; }
215
- .icon-folder-open:before { content: "\f07c"; }
216
- .icon-resize-vertical:before { content: "\f07d"; }
217
- .icon-resize-horizontal:before { content: "\f07e"; }
218
-
219
- .icon-bar-chart:before { content: "\f080"; }
220
- .icon-twitter-sign:before { content: "\f081"; }
221
- .icon-facebook-sign:before { content: "\f082"; }
222
- .icon-camera-retro:before { content: "\f083"; }
223
- .icon-key:before { content: "\f084"; }
224
- .icon-cogs:before { content: "\f085"; }
225
- .icon-comments:before { content: "\f086"; }
226
- .icon-thumbs-up:before { content: "\f087"; }
227
- .icon-thumbs-down:before { content: "\f088"; }
228
- .icon-star-half:before { content: "\f089"; }
229
- .icon-heart-empty:before { content: "\f08a"; }
230
- .icon-signout:before { content: "\f08b"; }
231
- .icon-linkedin-sign:before { content: "\f08c"; }
232
- .icon-pushpin:before { content: "\f08d"; }
233
- .icon-external-link:before { content: "\f08e"; }
234
-
235
- .icon-signin:before { content: "\f090"; }
236
- .icon-trophy:before { content: "\f091"; }
237
- .icon-github-sign:before { content: "\f092"; }
238
- .icon-upload-alt:before { content: "\f093"; }
239
- .icon-lemon:before { content: "\f094"; }
274
+ .icon-glass:before { content: "\f000"; }
275
+ .icon-music:before { content: "\f001"; }
276
+ .icon-search:before { content: "\f002"; }
277
+ .icon-envelope:before { content: "\f003"; }
278
+ .icon-heart:before { content: "\f004"; }
279
+ .icon-star:before { content: "\f005"; }
280
+ .icon-star-empty:before { content: "\f006"; }
281
+ .icon-user:before { content: "\f007"; }
282
+ .icon-film:before { content: "\f008"; }
283
+ .icon-th-large:before { content: "\f009"; }
284
+ .icon-th:before { content: "\f00a"; }
285
+ .icon-th-list:before { content: "\f00b"; }
286
+ .icon-ok:before { content: "\f00c"; }
287
+ .icon-remove:before { content: "\f00d"; }
288
+ .icon-zoom-in:before { content: "\f00e"; }
289
+
290
+ .icon-zoom-out:before { content: "\f010"; }
291
+ .icon-off:before { content: "\f011"; }
292
+ .icon-signal:before { content: "\f012"; }
293
+ .icon-cog:before { content: "\f013"; }
294
+ .icon-trash:before { content: "\f014"; }
295
+ .icon-home:before { content: "\f015"; }
296
+ .icon-file:before { content: "\f016"; }
297
+ .icon-time:before { content: "\f017"; }
298
+ .icon-road:before { content: "\f018"; }
299
+ .icon-download-alt:before { content: "\f019"; }
300
+ .icon-download:before { content: "\f01a"; }
301
+ .icon-upload:before { content: "\f01b"; }
302
+ .icon-inbox:before { content: "\f01c"; }
303
+ .icon-play-circle:before { content: "\f01d"; }
304
+ .icon-repeat:before { content: "\f01e"; }
305
+
306
+ /* \f020 doesn't work in Safari. all shifted one down */
307
+ .icon-refresh:before { content: "\f021"; }
308
+ .icon-list-alt:before { content: "\f022"; }
309
+ .icon-lock:before { content: "\f023"; }
310
+ .icon-flag:before { content: "\f024"; }
311
+ .icon-headphones:before { content: "\f025"; }
312
+ .icon-volume-off:before { content: "\f026"; }
313
+ .icon-volume-down:before { content: "\f027"; }
314
+ .icon-volume-up:before { content: "\f028"; }
315
+ .icon-qrcode:before { content: "\f029"; }
316
+ .icon-barcode:before { content: "\f02a"; }
317
+ .icon-tag:before { content: "\f02b"; }
318
+ .icon-tags:before { content: "\f02c"; }
319
+ .icon-book:before { content: "\f02d"; }
320
+ .icon-bookmark:before { content: "\f02e"; }
321
+ .icon-print:before { content: "\f02f"; }
322
+
323
+ .icon-camera:before { content: "\f030"; }
324
+ .icon-font:before { content: "\f031"; }
325
+ .icon-bold:before { content: "\f032"; }
326
+ .icon-italic:before { content: "\f033"; }
327
+ .icon-text-height:before { content: "\f034"; }
328
+ .icon-text-width:before { content: "\f035"; }
329
+ .icon-align-left:before { content: "\f036"; }
330
+ .icon-align-center:before { content: "\f037"; }
331
+ .icon-align-right:before { content: "\f038"; }
332
+ .icon-align-justify:before { content: "\f039"; }
333
+ .icon-list:before { content: "\f03a"; }
334
+ .icon-indent-left:before { content: "\f03b"; }
335
+ .icon-indent-right:before { content: "\f03c"; }
336
+ .icon-facetime-video:before { content: "\f03d"; }
337
+ .icon-picture:before { content: "\f03e"; }
338
+
339
+ .icon-pencil:before { content: "\f040"; }
340
+ .icon-map-marker:before { content: "\f041"; }
341
+ .icon-adjust:before { content: "\f042"; }
342
+ .icon-tint:before { content: "\f043"; }
343
+ .icon-edit:before { content: "\f044"; }
344
+ .icon-share:before { content: "\f045"; }
345
+ .icon-check:before { content: "\f046"; }
346
+ .icon-move:before { content: "\f047"; }
347
+ .icon-step-backward:before { content: "\f048"; }
348
+ .icon-fast-backward:before { content: "\f049"; }
349
+ .icon-backward:before { content: "\f04a"; }
350
+ .icon-play:before { content: "\f04b"; }
351
+ .icon-pause:before { content: "\f04c"; }
352
+ .icon-stop:before { content: "\f04d"; }
353
+ .icon-forward:before { content: "\f04e"; }
354
+
355
+ .icon-fast-forward:before { content: "\f050"; }
356
+ .icon-step-forward:before { content: "\f051"; }
357
+ .icon-eject:before { content: "\f052"; }
358
+ .icon-chevron-left:before { content: "\f053"; }
359
+ .icon-chevron-right:before { content: "\f054"; }
360
+ .icon-plus-sign:before { content: "\f055"; }
361
+ .icon-minus-sign:before { content: "\f056"; }
362
+ .icon-remove-sign:before { content: "\f057"; }
363
+ .icon-ok-sign:before { content: "\f058"; }
364
+ .icon-question-sign:before { content: "\f059"; }
365
+ .icon-info-sign:before { content: "\f05a"; }
366
+ .icon-screenshot:before { content: "\f05b"; }
367
+ .icon-remove-circle:before { content: "\f05c"; }
368
+ .icon-ok-circle:before { content: "\f05d"; }
369
+ .icon-ban-circle:before { content: "\f05e"; }
370
+
371
+ .icon-arrow-left:before { content: "\f060"; }
372
+ .icon-arrow-right:before { content: "\f061"; }
373
+ .icon-arrow-up:before { content: "\f062"; }
374
+ .icon-arrow-down:before { content: "\f063"; }
375
+ .icon-share-alt:before { content: "\f064"; }
376
+ .icon-resize-full:before { content: "\f065"; }
377
+ .icon-resize-small:before { content: "\f066"; }
378
+ .icon-plus:before { content: "\f067"; }
379
+ .icon-minus:before { content: "\f068"; }
380
+ .icon-asterisk:before { content: "\f069"; }
381
+ .icon-exclamation-sign:before { content: "\f06a"; }
382
+ .icon-gift:before { content: "\f06b"; }
383
+ .icon-leaf:before { content: "\f06c"; }
384
+ .icon-fire:before { content: "\f06d"; }
385
+ .icon-eye-open:before { content: "\f06e"; }
386
+
387
+ .icon-eye-close:before { content: "\f070"; }
388
+ .icon-warning-sign:before { content: "\f071"; }
389
+ .icon-plane:before { content: "\f072"; }
390
+ .icon-calendar:before { content: "\f073"; }
391
+ .icon-random:before { content: "\f074"; }
392
+ .icon-comment:before { content: "\f075"; }
393
+ .icon-magnet:before { content: "\f076"; }
394
+ .icon-chevron-up:before { content: "\f077"; }
395
+ .icon-chevron-down:before { content: "\f078"; }
396
+ .icon-retweet:before { content: "\f079"; }
397
+ .icon-shopping-cart:before { content: "\f07a"; }
398
+ .icon-folder-close:before { content: "\f07b"; }
399
+ .icon-folder-open:before { content: "\f07c"; }
400
+ .icon-resize-vertical:before { content: "\f07d"; }
401
+ .icon-resize-horizontal:before { content: "\f07e"; }
402
+
403
+ .icon-bar-chart:before { content: "\f080"; }
404
+ .icon-twitter-sign:before { content: "\f081"; }
405
+ .icon-facebook-sign:before { content: "\f082"; }
406
+ .icon-camera-retro:before { content: "\f083"; }
407
+ .icon-key:before { content: "\f084"; }
408
+ .icon-cogs:before { content: "\f085"; }
409
+ .icon-comments:before { content: "\f086"; }
410
+ .icon-thumbs-up:before { content: "\f087"; }
411
+ .icon-thumbs-down:before { content: "\f088"; }
412
+ .icon-star-half:before { content: "\f089"; }
413
+ .icon-heart-empty:before { content: "\f08a"; }
414
+ .icon-signout:before { content: "\f08b"; }
415
+ .icon-linkedin-sign:before { content: "\f08c"; }
416
+ .icon-pushpin:before { content: "\f08d"; }
417
+ .icon-external-link:before { content: "\f08e"; }
418
+
419
+ .icon-signin:before { content: "\f090"; }
420
+ .icon-trophy:before { content: "\f091"; }
421
+ .icon-github-sign:before { content: "\f092"; }
422
+ .icon-upload-alt:before { content: "\f093"; }
423
+ .icon-lemon:before { content: "\f094"; }
424
+ .icon-phone:before { content: "\f095"; }
425
+ .icon-check-empty:before { content: "\f096"; }
426
+ .icon-bookmark-empty:before { content: "\f097"; }
427
+ .icon-phone-sign:before { content: "\f098"; }
428
+ .icon-twitter:before { content: "\f099"; }
429
+ .icon-facebook:before { content: "\f09a"; }
430
+ .icon-github:before { content: "\f09b"; }
431
+ .icon-unlock:before { content: "\f09c"; }
432
+ .icon-credit-card:before { content: "\f09d"; }
433
+ .icon-rss:before { content: "\f09e"; }
434
+
435
+ .icon-hdd:before { content: "\f0a0"; }
436
+ .icon-bullhorn:before { content: "\f0a1"; }
437
+ .icon-bell:before { content: "\f0a2"; }
438
+ .icon-certificate:before { content: "\f0a3"; }
439
+ .icon-hand-right:before { content: "\f0a4"; }
440
+ .icon-hand-left:before { content: "\f0a5"; }
441
+ .icon-hand-up:before { content: "\f0a6"; }
442
+ .icon-hand-down:before { content: "\f0a7"; }
443
+ .icon-circle-arrow-left:before { content: "\f0a8"; }
444
+ .icon-circle-arrow-right:before { content: "\f0a9"; }
445
+ .icon-circle-arrow-up:before { content: "\f0aa"; }
446
+ .icon-circle-arrow-down:before { content: "\f0ab"; }
447
+ .icon-globe:before { content: "\f0ac"; }
448
+ .icon-wrench:before { content: "\f0ad"; }
449
+ .icon-tasks:before { content: "\f0ae"; }
450
+
451
+ .icon-filter:before { content: "\f0b0"; }
452
+ .icon-briefcase:before { content: "\f0b1"; }
453
+ .icon-fullscreen:before { content: "\f0b2"; }
454
+
455
+ .icon-group:before { content: "\f0c0"; }
456
+ .icon-link:before { content: "\f0c1"; }
457
+ .icon-cloud:before { content: "\f0c2"; }
458
+ .icon-beaker:before { content: "\f0c3"; }
459
+ .icon-cut:before { content: "\f0c4"; }
460
+ .icon-copy:before { content: "\f0c5"; }
461
+ .icon-paper-clip:before { content: "\f0c6"; }
462
+ .icon-save:before { content: "\f0c7"; }
463
+ .icon-sign-blank:before { content: "\f0c8"; }
464
+ .icon-reorder:before { content: "\f0c9"; }
465
+ .icon-list-ul:before { content: "\f0ca"; }
466
+ .icon-list-ol:before { content: "\f0cb"; }
467
+ .icon-strikethrough:before { content: "\f0cc"; }
468
+ .icon-underline:before { content: "\f0cd"; }
469
+ .icon-table:before { content: "\f0ce"; }
470
+
471
+ .icon-magic:before { content: "\f0d0"; }
472
+ .icon-truck:before { content: "\f0d1"; }
473
+ .icon-pinterest:before { content: "\f0d2"; }
474
+ .icon-pinterest-sign:before { content: "\f0d3"; }
475
+ .icon-google-plus-sign:before { content: "\f0d4"; }
476
+ .icon-google-plus:before { content: "\f0d5"; }
477
+ .icon-money:before { content: "\f0d6"; }
478
+ .icon-caret-down:before { content: "\f0d7"; }
479
+ .icon-caret-up:before { content: "\f0d8"; }
480
+ .icon-caret-left:before { content: "\f0d9"; }
481
+ .icon-caret-right:before { content: "\f0da"; }
482
+ .icon-columns:before { content: "\f0db"; }
483
+ .icon-sort:before { content: "\f0dc"; }
484
+ .icon-sort-down:before { content: "\f0dd"; }
485
+ .icon-sort-up:before { content: "\f0de"; }
486
+
487
+ .icon-envelope-alt:before { content: "\f0e0"; }
488
+ .icon-linkedin:before { content: "\f0e1"; }
489
+ .icon-undo:before { content: "\f0e2"; }
490
+ .icon-legal:before { content: "\f0e3"; }
491
+ .icon-dashboard:before { content: "\f0e4"; }
492
+ .icon-comment-alt:before { content: "\f0e5"; }
493
+ .icon-comments-alt:before { content: "\f0e6"; }
494
+ .icon-bolt:before { content: "\f0e7"; }
495
+ .icon-sitemap:before { content: "\f0e8"; }
496
+ .icon-umbrella:before { content: "\f0e9"; }
497
+ .icon-paste:before { content: "\f0ea"; }
498
+ .icon-lightbulb:before { content: "\f0eb"; }
499
+ .icon-exchange:before { content: "\f0ec"; }
500
+ .icon-cloud-download:before { content: "\f0ed"; }
501
+ .icon-cloud-upload:before { content: "\f0ee"; }
502
+
503
+ .icon-user-md:before { content: "\f0f0"; }
504
+ .icon-stethoscope:before { content: "\f0f1"; }
505
+ .icon-suitcase:before { content: "\f0f2"; }
506
+ .icon-bell-alt:before { content: "\f0f3"; }
507
+ .icon-coffee:before { content: "\f0f4"; }
508
+ .icon-food:before { content: "\f0f5"; }
509
+ .icon-file-alt:before { content: "\f0f6"; }
510
+ .icon-building:before { content: "\f0f7"; }
511
+ .icon-hospital:before { content: "\f0f8"; }
512
+ .icon-ambulance:before { content: "\f0f9"; }
513
+ .icon-medkit:before { content: "\f0fa"; }
514
+ .icon-fighter-jet:before { content: "\f0fb"; }
515
+ .icon-beer:before { content: "\f0fc"; }
516
+ .icon-h-sign:before { content: "\f0fd"; }
517
+ .icon-plus-sign-alt:before { content: "\f0fe"; }
518
+
519
+ .icon-double-angle-left:before { content: "\f100"; }
520
+ .icon-double-angle-right:before { content: "\f101"; }
521
+ .icon-double-angle-up:before { content: "\f102"; }
522
+ .icon-double-angle-down:before { content: "\f103"; }
523
+ .icon-angle-left:before { content: "\f104"; }
524
+ .icon-angle-right:before { content: "\f105"; }
525
+ .icon-angle-up:before { content: "\f106"; }
526
+ .icon-angle-down:before { content: "\f107"; }
527
+ .icon-desktop:before { content: "\f108"; }
528
+ .icon-laptop:before { content: "\f109"; }
529
+ .icon-tablet:before { content: "\f10a"; }
530
+ .icon-mobile-phone:before { content: "\f10b"; }
531
+ .icon-circle-blank:before { content: "\f10c"; }
532
+ .icon-quote-left:before { content: "\f10d"; }
533
+ .icon-quote-right:before { content: "\f10e"; }
534
+
535
+ .icon-spinner:before { content: "\f110"; }
536
+ .icon-circle:before { content: "\f111"; }
537
+ .icon-reply:before { content: "\f112"; }
538
+ .icon-github-alt:before { content: "\f113"; }
539
+ .icon-folder-close-alt:before { content: "\f114"; }
540
+ .icon-folder-open-alt:before { content: "\f115"; }