Browse Source

moved tracim_frontend_app_thread files into frontend_app_thread

Skylsmoi 5 years ago
parent
commit
65dbf0c8b6
59 changed files with 9704 additions and 4 deletions
  1. 0 4
      .gitignore
  2. 13 0
      frontend_app_thread/.editorconfig
  3. 8 0
      frontend_app_thread/.gitignore
  4. 14 0
      frontend_app_thread/README.md
  5. 7 0
      frontend_app_thread/dist/dev/bootstrap-4.0.0-beta.2.js
  6. 7 0
      frontend_app_thread/dist/dev/bootstrap-4.0.0-beta.css
  7. 4 0
      frontend_app_thread/dist/dev/jquery-3.2.1.js
  8. 5 0
      frontend_app_thread/dist/dev/popper-1.12.3.js
  9. 7 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/HELP-US-OUT.txt
  10. 2337 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/css/font-awesome.css
  11. 4 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/css/font-awesome.min.css
  12. BIN
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/FontAwesome.otf
  13. BIN
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
  14. 2671 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.svg
  15. BIN
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
  16. BIN
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
  17. BIN
      frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
  18. 34 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/animated.less
  19. 25 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/bordered-pulled.less
  20. 12 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/core.less
  21. 6 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/fixed-width.less
  22. 18 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/font-awesome.less
  23. 789 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/icons.less
  24. 13 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/larger.less
  25. 19 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/list.less
  26. 60 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/mixins.less
  27. 15 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/path.less
  28. 20 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/rotated-flipped.less
  29. 5 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/screen-reader.less
  30. 20 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/stacked.less
  31. 800 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/less/variables.less
  32. 34 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_animated.scss
  33. 25 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_bordered-pulled.scss
  34. 12 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_core.scss
  35. 6 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_fixed-width.scss
  36. 789 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_icons.scss
  37. 13 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_larger.scss
  38. 19 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_list.scss
  39. 60 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_mixins.scss
  40. 15 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_path.scss
  41. 20 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_rotated-flipped.scss
  42. 5 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_screen-reader.scss
  43. 20 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_stacked.scss
  44. 800 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_variables.scss
  45. 18 0
      frontend_app_thread/dist/font/font-awesome-4.7.0/scss/font-awesome.scss
  46. 109 0
      frontend_app_thread/dist/index.html
  47. 62 0
      frontend_app_thread/package.json
  48. 70 0
      frontend_app_thread/src/action.async.js
  49. 98 0
      frontend_app_thread/src/container/PopupCreateThread.jsx
  50. 230 0
      frontend_app_thread/src/container/Thread.jsx
  51. 34 0
      frontend_app_thread/src/css/index.styl
  52. 85 0
      frontend_app_thread/src/helper.js
  53. 31 0
      frontend_app_thread/src/i18n.js
  54. 16 0
      frontend_app_thread/src/index.dev.js
  55. 28 0
      frontend_app_thread/src/index.js
  56. 87 0
      frontend_app_thread/src/listMessageDebugData.js
  57. 9 0
      frontend_app_thread/src/translate/en.js
  58. 9 0
      frontend_app_thread/src/translate/fr.js
  59. 87 0
      frontend_app_thread/webpack.config.js

+ 0 - 4
.gitignore View File

@@ -1,4 +0,0 @@
1
-.idea/
2
-frontend/dist/app/html-document.app.js
3
-frontend_app_html-document/dist/html-document.app.js
4
-frontend_lib/dist/tracim_frontend_lib.js

+ 13 - 0
frontend_app_thread/.editorconfig View File

@@ -0,0 +1,13 @@
1
+# doc here : https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
2
+root = true
3
+
4
+[*]
5
+indent_style = space
6
+indent_size = 2
7
+end_of_line = lf
8
+charset = utf-8
9
+insert_final_newline = true
10
+trim_trailing_whitespace = true
11
+
12
+[*.py]
13
+indent_size = 4

+ 8 - 0
frontend_app_thread/.gitignore View File

@@ -0,0 +1,8 @@
1
+# Created by .ignore support plugin (hsz.mobi)
2
+.idea/
3
+.git/
4
+node_modules/
5
+dist/thread.app.js
6
+dist/thread.app.js.map
7
+dist/thread.app.dev.js
8
+dist/thread.app.dev.js.map

+ 14 - 0
frontend_app_thread/README.md View File

@@ -0,0 +1,14 @@
1
+# App Thread for Tracim
2
+
3
+This repo is an app loaded by Tracim.
4
+
5
+### To update this repo
6
+- commit and push changes
7
+- run `$ npm run build`
8
+- copy dist/thread.app.js and past it into Tracim(repo)/dist/app
9
+
10
+### Development
11
+To see your changes without importing the app into Tracim:
12
+- run `$ npm run servdev`
13
+Which will create a web server (webpack) where you will see the app loaded with some default values
14
+

File diff suppressed because it is too large
+ 7 - 0
frontend_app_thread/dist/dev/bootstrap-4.0.0-beta.2.js


File diff suppressed because it is too large
+ 7 - 0
frontend_app_thread/dist/dev/bootstrap-4.0.0-beta.css


File diff suppressed because it is too large
+ 4 - 0
frontend_app_thread/dist/dev/jquery-3.2.1.js


File diff suppressed because it is too large
+ 5 - 0
frontend_app_thread/dist/dev/popper-1.12.3.js


+ 7 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/HELP-US-OUT.txt View File

@@ -0,0 +1,7 @@
1
+I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2
+Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3
+comprehensive icon sets or copy and paste your own.
4
+
5
+Please. Check it out.
6
+
7
+-Dave Gandy

File diff suppressed because it is too large
+ 2337 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/css/font-awesome.css


File diff suppressed because it is too large
+ 4 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/css/font-awesome.min.css


BIN
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/FontAwesome.otf View File


BIN
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.eot View File


File diff suppressed because it is too large
+ 2671 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.svg


BIN
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf View File


BIN
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff View File


BIN
frontend_app_thread/dist/font/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 View File


+ 34 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/animated.less View File

@@ -0,0 +1,34 @@
1
+// Animated Icons
2
+// --------------------------
3
+
4
+.@{fa-css-prefix}-spin {
5
+  -webkit-animation: fa-spin 2s infinite linear;
6
+          animation: fa-spin 2s infinite linear;
7
+}
8
+
9
+.@{fa-css-prefix}-pulse {
10
+  -webkit-animation: fa-spin 1s infinite steps(8);
11
+          animation: fa-spin 1s infinite steps(8);
12
+}
13
+
14
+@-webkit-keyframes fa-spin {
15
+  0% {
16
+    -webkit-transform: rotate(0deg);
17
+            transform: rotate(0deg);
18
+  }
19
+  100% {
20
+    -webkit-transform: rotate(359deg);
21
+            transform: rotate(359deg);
22
+  }
23
+}
24
+
25
+@keyframes fa-spin {
26
+  0% {
27
+    -webkit-transform: rotate(0deg);
28
+            transform: rotate(0deg);
29
+  }
30
+  100% {
31
+    -webkit-transform: rotate(359deg);
32
+            transform: rotate(359deg);
33
+  }
34
+}

+ 25 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/bordered-pulled.less View File

@@ -0,0 +1,25 @@
1
+// Bordered & Pulled
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-border {
5
+  padding: .2em .25em .15em;
6
+  border: solid .08em @fa-border-color;
7
+  border-radius: .1em;
8
+}
9
+
10
+.@{fa-css-prefix}-pull-left { float: left; }
11
+.@{fa-css-prefix}-pull-right { float: right; }
12
+
13
+.@{fa-css-prefix} {
14
+  &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15
+  &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16
+}
17
+
18
+/* Deprecated as of 4.4.0 */
19
+.pull-right { float: right; }
20
+.pull-left { float: left; }
21
+
22
+.@{fa-css-prefix} {
23
+  &.pull-left { margin-right: .3em; }
24
+  &.pull-right { margin-left: .3em; }
25
+}

+ 12 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/core.less View File

@@ -0,0 +1,12 @@
1
+// Base Class Definition
2
+// -------------------------
3
+
4
+.@{fa-css-prefix} {
5
+  display: inline-block;
6
+  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}

+ 6 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/fixed-width.less View File

@@ -0,0 +1,6 @@
1
+// Fixed Width Icons
2
+// -------------------------
3
+.@{fa-css-prefix}-fw {
4
+  width: (18em / 14);
5
+  text-align: center;
6
+}

+ 18 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/font-awesome.less View File

@@ -0,0 +1,18 @@
1
+/*!
2
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+@import "variables.less";
7
+@import "mixins.less";
8
+@import "path.less";
9
+@import "core.less";
10
+@import "larger.less";
11
+@import "fixed-width.less";
12
+@import "list.less";
13
+@import "bordered-pulled.less";
14
+@import "animated.less";
15
+@import "rotated-flipped.less";
16
+@import "stacked.less";
17
+@import "icons.less";
18
+@import "screen-reader.less";

+ 789 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/icons.less View File

@@ -0,0 +1,789 @@
1
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+   readers do not read off random characters that represent icons */
3
+
4
+.@{fa-css-prefix}-glass:before { content: @fa-var-glass; }
5
+.@{fa-css-prefix}-music:before { content: @fa-var-music; }
6
+.@{fa-css-prefix}-search:before { content: @fa-var-search; }
7
+.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; }
8
+.@{fa-css-prefix}-heart:before { content: @fa-var-heart; }
9
+.@{fa-css-prefix}-star:before { content: @fa-var-star; }
10
+.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; }
11
+.@{fa-css-prefix}-user:before { content: @fa-var-user; }
12
+.@{fa-css-prefix}-film:before { content: @fa-var-film; }
13
+.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }
14
+.@{fa-css-prefix}-th:before { content: @fa-var-th; }
15
+.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }
16
+.@{fa-css-prefix}-check:before { content: @fa-var-check; }
17
+.@{fa-css-prefix}-remove:before,
18
+.@{fa-css-prefix}-close:before,
19
+.@{fa-css-prefix}-times:before { content: @fa-var-times; }
20
+.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }
21
+.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }
22
+.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }
23
+.@{fa-css-prefix}-signal:before { content: @fa-var-signal; }
24
+.@{fa-css-prefix}-gear:before,
25
+.@{fa-css-prefix}-cog:before { content: @fa-var-cog; }
26
+.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; }
27
+.@{fa-css-prefix}-home:before { content: @fa-var-home; }
28
+.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; }
29
+.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; }
30
+.@{fa-css-prefix}-road:before { content: @fa-var-road; }
31
+.@{fa-css-prefix}-download:before { content: @fa-var-download; }
32
+.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; }
33
+.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; }
34
+.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }
35
+.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; }
36
+.@{fa-css-prefix}-rotate-right:before,
37
+.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; }
38
+.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; }
39
+.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }
40
+.@{fa-css-prefix}-lock:before { content: @fa-var-lock; }
41
+.@{fa-css-prefix}-flag:before { content: @fa-var-flag; }
42
+.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }
43
+.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }
44
+.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }
45
+.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }
46
+.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }
47
+.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }
48
+.@{fa-css-prefix}-tag:before { content: @fa-var-tag; }
49
+.@{fa-css-prefix}-tags:before { content: @fa-var-tags; }
50
+.@{fa-css-prefix}-book:before { content: @fa-var-book; }
51
+.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }
52
+.@{fa-css-prefix}-print:before { content: @fa-var-print; }
53
+.@{fa-css-prefix}-camera:before { content: @fa-var-camera; }
54
+.@{fa-css-prefix}-font:before { content: @fa-var-font; }
55
+.@{fa-css-prefix}-bold:before { content: @fa-var-bold; }
56
+.@{fa-css-prefix}-italic:before { content: @fa-var-italic; }
57
+.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }
58
+.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }
59
+.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }
60
+.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }
61
+.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }
62
+.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }
63
+.@{fa-css-prefix}-list:before { content: @fa-var-list; }
64
+.@{fa-css-prefix}-dedent:before,
65
+.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }
66
+.@{fa-css-prefix}-indent:before { content: @fa-var-indent; }
67
+.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; }
68
+.@{fa-css-prefix}-photo:before,
69
+.@{fa-css-prefix}-image:before,
70
+.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; }
71
+.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; }
72
+.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }
73
+.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }
74
+.@{fa-css-prefix}-tint:before { content: @fa-var-tint; }
75
+.@{fa-css-prefix}-edit:before,
76
+.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; }
77
+.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; }
78
+.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; }
79
+.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; }
80
+.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }
81
+.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }
82
+.@{fa-css-prefix}-backward:before { content: @fa-var-backward; }
83
+.@{fa-css-prefix}-play:before { content: @fa-var-play; }
84
+.@{fa-css-prefix}-pause:before { content: @fa-var-pause; }
85
+.@{fa-css-prefix}-stop:before { content: @fa-var-stop; }
86
+.@{fa-css-prefix}-forward:before { content: @fa-var-forward; }
87
+.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }
88
+.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }
89
+.@{fa-css-prefix}-eject:before { content: @fa-var-eject; }
90
+.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }
91
+.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }
92
+.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }
93
+.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }
94
+.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }
95
+.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }
96
+.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }
97
+.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }
98
+.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }
99
+.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; }
100
+.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; }
101
+.@{fa-css-prefix}-ban:before { content: @fa-var-ban; }
102
+.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }
103
+.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }
104
+.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }
105
+.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }
106
+.@{fa-css-prefix}-mail-forward:before,
107
+.@{fa-css-prefix}-share:before { content: @fa-var-share; }
108
+.@{fa-css-prefix}-expand:before { content: @fa-var-expand; }
109
+.@{fa-css-prefix}-compress:before { content: @fa-var-compress; }
110
+.@{fa-css-prefix}-plus:before { content: @fa-var-plus; }
111
+.@{fa-css-prefix}-minus:before { content: @fa-var-minus; }
112
+.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }
113
+.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }
114
+.@{fa-css-prefix}-gift:before { content: @fa-var-gift; }
115
+.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }
116
+.@{fa-css-prefix}-fire:before { content: @fa-var-fire; }
117
+.@{fa-css-prefix}-eye:before { content: @fa-var-eye; }
118
+.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }
119
+.@{fa-css-prefix}-warning:before,
120
+.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }
121
+.@{fa-css-prefix}-plane:before { content: @fa-var-plane; }
122
+.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }
123
+.@{fa-css-prefix}-random:before { content: @fa-var-random; }
124
+.@{fa-css-prefix}-comment:before { content: @fa-var-comment; }
125
+.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }
126
+.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }
127
+.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }
128
+.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }
129
+.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }
130
+.@{fa-css-prefix}-folder:before { content: @fa-var-folder; }
131
+.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }
132
+.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; }
133
+.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; }
134
+.@{fa-css-prefix}-bar-chart-o:before,
135
+.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; }
136
+.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }
137
+.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }
138
+.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }
139
+.@{fa-css-prefix}-key:before { content: @fa-var-key; }
140
+.@{fa-css-prefix}-gears:before,
141
+.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }
142
+.@{fa-css-prefix}-comments:before { content: @fa-var-comments; }
143
+.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; }
144
+.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; }
145
+.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }
146
+.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; }
147
+.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; }
148
+.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; }
149
+.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; }
150
+.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; }
151
+.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; }
152
+.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }
153
+.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }
154
+.@{fa-css-prefix}-upload:before { content: @fa-var-upload; }
155
+.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; }
156
+.@{fa-css-prefix}-phone:before { content: @fa-var-phone; }
157
+.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }
158
+.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; }
159
+.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }
160
+.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }
161
+.@{fa-css-prefix}-facebook-f:before,
162
+.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }
163
+.@{fa-css-prefix}-github:before { content: @fa-var-github; }
164
+.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }
165
+.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }
166
+.@{fa-css-prefix}-feed:before,
167
+.@{fa-css-prefix}-rss:before { content: @fa-var-rss; }
168
+.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; }
169
+.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }
170
+.@{fa-css-prefix}-bell:before { content: @fa-var-bell; }
171
+.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }
172
+.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; }
173
+.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; }
174
+.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; }
175
+.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; }
176
+.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }
177
+.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }
178
+.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }
179
+.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }
180
+.@{fa-css-prefix}-globe:before { content: @fa-var-globe; }
181
+.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }
182
+.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }
183
+.@{fa-css-prefix}-filter:before { content: @fa-var-filter; }
184
+.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }
185
+.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }
186
+.@{fa-css-prefix}-group:before,
187
+.@{fa-css-prefix}-users:before { content: @fa-var-users; }
188
+.@{fa-css-prefix}-chain:before,
189
+.@{fa-css-prefix}-link:before { content: @fa-var-link; }
190
+.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }
191
+.@{fa-css-prefix}-flask:before { content: @fa-var-flask; }
192
+.@{fa-css-prefix}-cut:before,
193
+.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; }
194
+.@{fa-css-prefix}-copy:before,
195
+.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; }
196
+.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }
197
+.@{fa-css-prefix}-save:before,
198
+.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; }
199
+.@{fa-css-prefix}-square:before { content: @fa-var-square; }
200
+.@{fa-css-prefix}-navicon:before,
201
+.@{fa-css-prefix}-reorder:before,
202
+.@{fa-css-prefix}-bars:before { content: @fa-var-bars; }
203
+.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }
204
+.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }
205
+.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }
206
+.@{fa-css-prefix}-underline:before { content: @fa-var-underline; }
207
+.@{fa-css-prefix}-table:before { content: @fa-var-table; }
208
+.@{fa-css-prefix}-magic:before { content: @fa-var-magic; }
209
+.@{fa-css-prefix}-truck:before { content: @fa-var-truck; }
210
+.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }
211
+.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }
212
+.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }
213
+.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }
214
+.@{fa-css-prefix}-money:before { content: @fa-var-money; }
215
+.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }
216
+.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }
217
+.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }
218
+.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }
219
+.@{fa-css-prefix}-columns:before { content: @fa-var-columns; }
220
+.@{fa-css-prefix}-unsorted:before,
221
+.@{fa-css-prefix}-sort:before { content: @fa-var-sort; }
222
+.@{fa-css-prefix}-sort-down:before,
223
+.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; }
224
+.@{fa-css-prefix}-sort-up:before,
225
+.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; }
226
+.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }
227
+.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }
228
+.@{fa-css-prefix}-rotate-left:before,
229
+.@{fa-css-prefix}-undo:before { content: @fa-var-undo; }
230
+.@{fa-css-prefix}-legal:before,
231
+.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }
232
+.@{fa-css-prefix}-dashboard:before,
233
+.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; }
234
+.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; }
235
+.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; }
236
+.@{fa-css-prefix}-flash:before,
237
+.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }
238
+.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }
239
+.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }
240
+.@{fa-css-prefix}-paste:before,
241
+.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }
242
+.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; }
243
+.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; }
244
+.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; }
245
+.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; }
246
+.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }
247
+.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }
248
+.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }
249
+.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; }
250
+.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }
251
+.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; }
252
+.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; }
253
+.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; }
254
+.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; }
255
+.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }
256
+.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }
257
+.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }
258
+.@{fa-css-prefix}-beer:before { content: @fa-var-beer; }
259
+.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }
260
+.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }
261
+.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }
262
+.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }
263
+.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }
264
+.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }
265
+.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }
266
+.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }
267
+.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }
268
+.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }
269
+.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }
270
+.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }
271
+.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }
272
+.@{fa-css-prefix}-mobile-phone:before,
273
+.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }
274
+.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; }
275
+.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }
276
+.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }
277
+.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }
278
+.@{fa-css-prefix}-circle:before { content: @fa-var-circle; }
279
+.@{fa-css-prefix}-mail-reply:before,
280
+.@{fa-css-prefix}-reply:before { content: @fa-var-reply; }
281
+.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }
282
+.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; }
283
+.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; }
284
+.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; }
285
+.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; }
286
+.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; }
287
+.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }
288
+.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; }
289
+.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; }
290
+.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }
291
+.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }
292
+.@{fa-css-prefix}-code:before { content: @fa-var-code; }
293
+.@{fa-css-prefix}-mail-reply-all:before,
294
+.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }
295
+.@{fa-css-prefix}-star-half-empty:before,
296
+.@{fa-css-prefix}-star-half-full:before,
297
+.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; }
298
+.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }
299
+.@{fa-css-prefix}-crop:before { content: @fa-var-crop; }
300
+.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; }
301
+.@{fa-css-prefix}-unlink:before,
302
+.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; }
303
+.@{fa-css-prefix}-question:before { content: @fa-var-question; }
304
+.@{fa-css-prefix}-info:before { content: @fa-var-info; }
305
+.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }
306
+.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }
307
+.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }
308
+.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }
309
+.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }
310
+.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }
311
+.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }
312
+.@{fa-css-prefix}-shield:before { content: @fa-var-shield; }
313
+.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; }
314
+.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }
315
+.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }
316
+.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }
317
+.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }
318
+.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }
319
+.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }
320
+.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }
321
+.@{fa-css-prefix}-html5:before { content: @fa-var-html5; }
322
+.@{fa-css-prefix}-css3:before { content: @fa-var-css3; }
323
+.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }
324
+.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }
325
+.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }
326
+.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }
327
+.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }
328
+.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }
329
+.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }
330
+.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; }
331
+.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }
332
+.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; }
333
+.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; }
334
+.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; }
335
+.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }
336
+.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; }
337
+.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; }
338
+.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }
339
+.@{fa-css-prefix}-compass:before { content: @fa-var-compass; }
340
+.@{fa-css-prefix}-toggle-down:before,
341
+.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; }
342
+.@{fa-css-prefix}-toggle-up:before,
343
+.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; }
344
+.@{fa-css-prefix}-toggle-right:before,
345
+.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; }
346
+.@{fa-css-prefix}-euro:before,
347
+.@{fa-css-prefix}-eur:before { content: @fa-var-eur; }
348
+.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; }
349
+.@{fa-css-prefix}-dollar:before,
350
+.@{fa-css-prefix}-usd:before { content: @fa-var-usd; }
351
+.@{fa-css-prefix}-rupee:before,
352
+.@{fa-css-prefix}-inr:before { content: @fa-var-inr; }
353
+.@{fa-css-prefix}-cny:before,
354
+.@{fa-css-prefix}-rmb:before,
355
+.@{fa-css-prefix}-yen:before,
356
+.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; }
357
+.@{fa-css-prefix}-ruble:before,
358
+.@{fa-css-prefix}-rouble:before,
359
+.@{fa-css-prefix}-rub:before { content: @fa-var-rub; }
360
+.@{fa-css-prefix}-won:before,
361
+.@{fa-css-prefix}-krw:before { content: @fa-var-krw; }
362
+.@{fa-css-prefix}-bitcoin:before,
363
+.@{fa-css-prefix}-btc:before { content: @fa-var-btc; }
364
+.@{fa-css-prefix}-file:before { content: @fa-var-file; }
365
+.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; }
366
+.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; }
367
+.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; }
368
+.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; }
369
+.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; }
370
+.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; }
371
+.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; }
372
+.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }
373
+.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }
374
+.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }
375
+.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }
376
+.@{fa-css-prefix}-xing:before { content: @fa-var-xing; }
377
+.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }
378
+.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; }
379
+.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }
380
+.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }
381
+.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }
382
+.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }
383
+.@{fa-css-prefix}-adn:before { content: @fa-var-adn; }
384
+.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }
385
+.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; }
386
+.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }
387
+.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }
388
+.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; }
389
+.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; }
390
+.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; }
391
+.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; }
392
+.@{fa-css-prefix}-apple:before { content: @fa-var-apple; }
393
+.@{fa-css-prefix}-windows:before { content: @fa-var-windows; }
394
+.@{fa-css-prefix}-android:before { content: @fa-var-android; }
395
+.@{fa-css-prefix}-linux:before { content: @fa-var-linux; }
396
+.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }
397
+.@{fa-css-prefix}-skype:before { content: @fa-var-skype; }
398
+.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }
399
+.@{fa-css-prefix}-trello:before { content: @fa-var-trello; }
400
+.@{fa-css-prefix}-female:before { content: @fa-var-female; }
401
+.@{fa-css-prefix}-male:before { content: @fa-var-male; }
402
+.@{fa-css-prefix}-gittip:before,
403
+.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; }
404
+.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; }
405
+.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; }
406
+.@{fa-css-prefix}-archive:before { content: @fa-var-archive; }
407
+.@{fa-css-prefix}-bug:before { content: @fa-var-bug; }
408
+.@{fa-css-prefix}-vk:before { content: @fa-var-vk; }
409
+.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }
410
+.@{fa-css-prefix}-renren:before { content: @fa-var-renren; }
411
+.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }
412
+.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }
413
+.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; }
414
+.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; }
415
+.@{fa-css-prefix}-toggle-left:before,
416
+.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; }
417
+.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; }
418
+.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }
419
+.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }
420
+.@{fa-css-prefix}-turkish-lira:before,
421
+.@{fa-css-prefix}-try:before { content: @fa-var-try; }
422
+.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; }
423
+.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }
424
+.@{fa-css-prefix}-slack:before { content: @fa-var-slack; }
425
+.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }
426
+.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }
427
+.@{fa-css-prefix}-openid:before { content: @fa-var-openid; }
428
+.@{fa-css-prefix}-institution:before,
429
+.@{fa-css-prefix}-bank:before,
430
+.@{fa-css-prefix}-university:before { content: @fa-var-university; }
431
+.@{fa-css-prefix}-mortar-board:before,
432
+.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }
433
+.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }
434
+.@{fa-css-prefix}-google:before { content: @fa-var-google; }
435
+.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }
436
+.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }
437
+.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }
438
+.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }
439
+.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }
440
+.@{fa-css-prefix}-digg:before { content: @fa-var-digg; }
441
+.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; }
442
+.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }
443
+.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }
444
+.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }
445
+.@{fa-css-prefix}-language:before { content: @fa-var-language; }
446
+.@{fa-css-prefix}-fax:before { content: @fa-var-fax; }
447
+.@{fa-css-prefix}-building:before { content: @fa-var-building; }
448
+.@{fa-css-prefix}-child:before { content: @fa-var-child; }
449
+.@{fa-css-prefix}-paw:before { content: @fa-var-paw; }
450
+.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; }
451
+.@{fa-css-prefix}-cube:before { content: @fa-var-cube; }
452
+.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }
453
+.@{fa-css-prefix}-behance:before { content: @fa-var-behance; }
454
+.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }
455
+.@{fa-css-prefix}-steam:before { content: @fa-var-steam; }
456
+.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }
457
+.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }
458
+.@{fa-css-prefix}-automobile:before,
459
+.@{fa-css-prefix}-car:before { content: @fa-var-car; }
460
+.@{fa-css-prefix}-cab:before,
461
+.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }
462
+.@{fa-css-prefix}-tree:before { content: @fa-var-tree; }
463
+.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }
464
+.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }
465
+.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }
466
+.@{fa-css-prefix}-database:before { content: @fa-var-database; }
467
+.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; }
468
+.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; }
469
+.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; }
470
+.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; }
471
+.@{fa-css-prefix}-file-photo-o:before,
472
+.@{fa-css-prefix}-file-picture-o:before,
473
+.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; }
474
+.@{fa-css-prefix}-file-zip-o:before,
475
+.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; }
476
+.@{fa-css-prefix}-file-sound-o:before,
477
+.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; }
478
+.@{fa-css-prefix}-file-movie-o:before,
479
+.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; }
480
+.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; }
481
+.@{fa-css-prefix}-vine:before { content: @fa-var-vine; }
482
+.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }
483
+.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }
484
+.@{fa-css-prefix}-life-bouy:before,
485
+.@{fa-css-prefix}-life-buoy:before,
486
+.@{fa-css-prefix}-life-saver:before,
487
+.@{fa-css-prefix}-support:before,
488
+.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }
489
+.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; }
490
+.@{fa-css-prefix}-ra:before,
491
+.@{fa-css-prefix}-resistance:before,
492
+.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }
493
+.@{fa-css-prefix}-ge:before,
494
+.@{fa-css-prefix}-empire:before { content: @fa-var-empire; }
495
+.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }
496
+.@{fa-css-prefix}-git:before { content: @fa-var-git; }
497
+.@{fa-css-prefix}-y-combinator-square:before,
498
+.@{fa-css-prefix}-yc-square:before,
499
+.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }
500
+.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }
501
+.@{fa-css-prefix}-qq:before { content: @fa-var-qq; }
502
+.@{fa-css-prefix}-wechat:before,
503
+.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }
504
+.@{fa-css-prefix}-send:before,
505
+.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }
506
+.@{fa-css-prefix}-send-o:before,
507
+.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; }
508
+.@{fa-css-prefix}-history:before { content: @fa-var-history; }
509
+.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; }
510
+.@{fa-css-prefix}-header:before { content: @fa-var-header; }
511
+.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }
512
+.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; }
513
+.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }
514
+.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }
515
+.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }
516
+.@{fa-css-prefix}-soccer-ball-o:before,
517
+.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; }
518
+.@{fa-css-prefix}-tty:before { content: @fa-var-tty; }
519
+.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; }
520
+.@{fa-css-prefix}-plug:before { content: @fa-var-plug; }
521
+.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; }
522
+.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; }
523
+.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; }
524
+.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; }
525
+.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; }
526
+.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; }
527
+.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; }
528
+.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; }
529
+.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; }
530
+.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; }
531
+.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; }
532
+.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; }
533
+.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; }
534
+.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; }
535
+.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; }
536
+.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; }
537
+.@{fa-css-prefix}-trash:before { content: @fa-var-trash; }
538
+.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; }
539
+.@{fa-css-prefix}-at:before { content: @fa-var-at; }
540
+.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; }
541
+.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; }
542
+.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; }
543
+.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; }
544
+.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; }
545
+.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; }
546
+.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; }
547
+.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; }
548
+.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; }
549
+.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; }
550
+.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; }
551
+.@{fa-css-prefix}-bus:before { content: @fa-var-bus; }
552
+.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; }
553
+.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; }
554
+.@{fa-css-prefix}-cc:before { content: @fa-var-cc; }
555
+.@{fa-css-prefix}-shekel:before,
556
+.@{fa-css-prefix}-sheqel:before,
557
+.@{fa-css-prefix}-ils:before { content: @fa-var-ils; }
558
+.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; }
559
+.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; }
560
+.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; }
561
+.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; }
562
+.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; }
563
+.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; }
564
+.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; }
565
+.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; }
566
+.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; }
567
+.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; }
568
+.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; }
569
+.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; }
570
+.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; }
571
+.@{fa-css-prefix}-ship:before { content: @fa-var-ship; }
572
+.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; }
573
+.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; }
574
+.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; }
575
+.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; }
576
+.@{fa-css-prefix}-venus:before { content: @fa-var-venus; }
577
+.@{fa-css-prefix}-mars:before { content: @fa-var-mars; }
578
+.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; }
579
+.@{fa-css-prefix}-intersex:before,
580
+.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; }
581
+.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; }
582
+.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; }
583
+.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; }
584
+.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; }
585
+.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; }
586
+.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; }
587
+.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; }
588
+.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; }
589
+.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; }
590
+.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; }
591
+.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; }
592
+.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; }
593
+.@{fa-css-prefix}-server:before { content: @fa-var-server; }
594
+.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; }
595
+.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; }
596
+.@{fa-css-prefix}-hotel:before,
597
+.@{fa-css-prefix}-bed:before { content: @fa-var-bed; }
598
+.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; }
599
+.@{fa-css-prefix}-train:before { content: @fa-var-train; }
600
+.@{fa-css-prefix}-subway:before { content: @fa-var-subway; }
601
+.@{fa-css-prefix}-medium:before { content: @fa-var-medium; }
602
+.@{fa-css-prefix}-yc:before,
603
+.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; }
604
+.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; }
605
+.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; }
606
+.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; }
607
+.@{fa-css-prefix}-battery-4:before,
608
+.@{fa-css-prefix}-battery:before,
609
+.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; }
610
+.@{fa-css-prefix}-battery-3:before,
611
+.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; }
612
+.@{fa-css-prefix}-battery-2:before,
613
+.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; }
614
+.@{fa-css-prefix}-battery-1:before,
615
+.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; }
616
+.@{fa-css-prefix}-battery-0:before,
617
+.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; }
618
+.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; }
619
+.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; }
620
+.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; }
621
+.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; }
622
+.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; }
623
+.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; }
624
+.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; }
625
+.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; }
626
+.@{fa-css-prefix}-clone:before { content: @fa-var-clone; }
627
+.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; }
628
+.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; }
629
+.@{fa-css-prefix}-hourglass-1:before,
630
+.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; }
631
+.@{fa-css-prefix}-hourglass-2:before,
632
+.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; }
633
+.@{fa-css-prefix}-hourglass-3:before,
634
+.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; }
635
+.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; }
636
+.@{fa-css-prefix}-hand-grab-o:before,
637
+.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; }
638
+.@{fa-css-prefix}-hand-stop-o:before,
639
+.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; }
640
+.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; }
641
+.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; }
642
+.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; }
643
+.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; }
644
+.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; }
645
+.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; }
646
+.@{fa-css-prefix}-registered:before { content: @fa-var-registered; }
647
+.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; }
648
+.@{fa-css-prefix}-gg:before { content: @fa-var-gg; }
649
+.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; }
650
+.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; }
651
+.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; }
652
+.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; }
653
+.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; }
654
+.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; }
655
+.@{fa-css-prefix}-safari:before { content: @fa-var-safari; }
656
+.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; }
657
+.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; }
658
+.@{fa-css-prefix}-opera:before { content: @fa-var-opera; }
659
+.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; }
660
+.@{fa-css-prefix}-tv:before,
661
+.@{fa-css-prefix}-television:before { content: @fa-var-television; }
662
+.@{fa-css-prefix}-contao:before { content: @fa-var-contao; }
663
+.@{fa-css-prefix}-500px:before { content: @fa-var-500px; }
664
+.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; }
665
+.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; }
666
+.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; }
667
+.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; }
668
+.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; }
669
+.@{fa-css-prefix}-industry:before { content: @fa-var-industry; }
670
+.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; }
671
+.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; }
672
+.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; }
673
+.@{fa-css-prefix}-map:before { content: @fa-var-map; }
674
+.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; }
675
+.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; }
676
+.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; }
677
+.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; }
678
+.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; }
679
+.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; }
680
+.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; }
681
+.@{fa-css-prefix}-edge:before { content: @fa-var-edge; }
682
+.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; }
683
+.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; }
684
+.@{fa-css-prefix}-modx:before { content: @fa-var-modx; }
685
+.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; }
686
+.@{fa-css-prefix}-usb:before { content: @fa-var-usb; }
687
+.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; }
688
+.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; }
689
+.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; }
690
+.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; }
691
+.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; }
692
+.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; }
693
+.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; }
694
+.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; }
695
+.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; }
696
+.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; }
697
+.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; }
698
+.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; }
699
+.@{fa-css-prefix}-percent:before { content: @fa-var-percent; }
700
+.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; }
701
+.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; }
702
+.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; }
703
+.@{fa-css-prefix}-envira:before { content: @fa-var-envira; }
704
+.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; }
705
+.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; }
706
+.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; }
707
+.@{fa-css-prefix}-blind:before { content: @fa-var-blind; }
708
+.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; }
709
+.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; }
710
+.@{fa-css-prefix}-braille:before { content: @fa-var-braille; }
711
+.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; }
712
+.@{fa-css-prefix}-asl-interpreting:before,
713
+.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; }
714
+.@{fa-css-prefix}-deafness:before,
715
+.@{fa-css-prefix}-hard-of-hearing:before,
716
+.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; }
717
+.@{fa-css-prefix}-glide:before { content: @fa-var-glide; }
718
+.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; }
719
+.@{fa-css-prefix}-signing:before,
720
+.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; }
721
+.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; }
722
+.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; }
723
+.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; }
724
+.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; }
725
+.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; }
726
+.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; }
727
+.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }
728
+.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; }
729
+.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; }
730
+.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; }
731
+.@{fa-css-prefix}-google-plus-circle:before,
732
+.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; }
733
+.@{fa-css-prefix}-fa:before,
734
+.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; }
735
+.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; }
736
+.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; }
737
+.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; }
738
+.@{fa-css-prefix}-linode:before { content: @fa-var-linode; }
739
+.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; }
740
+.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; }
741
+.@{fa-css-prefix}-vcard:before,
742
+.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; }
743
+.@{fa-css-prefix}-vcard-o:before,
744
+.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; }
745
+.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; }
746
+.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; }
747
+.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; }
748
+.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; }
749
+.@{fa-css-prefix}-drivers-license:before,
750
+.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; }
751
+.@{fa-css-prefix}-drivers-license-o:before,
752
+.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; }
753
+.@{fa-css-prefix}-quora:before { content: @fa-var-quora; }
754
+.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; }
755
+.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; }
756
+.@{fa-css-prefix}-thermometer-4:before,
757
+.@{fa-css-prefix}-thermometer:before,
758
+.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; }
759
+.@{fa-css-prefix}-thermometer-3:before,
760
+.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; }
761
+.@{fa-css-prefix}-thermometer-2:before,
762
+.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; }
763
+.@{fa-css-prefix}-thermometer-1:before,
764
+.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; }
765
+.@{fa-css-prefix}-thermometer-0:before,
766
+.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; }
767
+.@{fa-css-prefix}-shower:before { content: @fa-var-shower; }
768
+.@{fa-css-prefix}-bathtub:before,
769
+.@{fa-css-prefix}-s15:before,
770
+.@{fa-css-prefix}-bath:before { content: @fa-var-bath; }
771
+.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; }
772
+.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; }
773
+.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; }
774
+.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; }
775
+.@{fa-css-prefix}-times-rectangle:before,
776
+.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; }
777
+.@{fa-css-prefix}-times-rectangle-o:before,
778
+.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; }
779
+.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; }
780
+.@{fa-css-prefix}-grav:before { content: @fa-var-grav; }
781
+.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; }
782
+.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; }
783
+.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; }
784
+.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; }
785
+.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; }
786
+.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; }
787
+.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; }
788
+.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; }
789
+.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; }

+ 13 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/larger.less View File

@@ -0,0 +1,13 @@
1
+// Icon Sizes
2
+// -------------------------
3
+
4
+/* makes the font 33% larger relative to the icon container */
5
+.@{fa-css-prefix}-lg {
6
+  font-size: (4em / 3);
7
+  line-height: (3em / 4);
8
+  vertical-align: -15%;
9
+}
10
+.@{fa-css-prefix}-2x { font-size: 2em; }
11
+.@{fa-css-prefix}-3x { font-size: 3em; }
12
+.@{fa-css-prefix}-4x { font-size: 4em; }
13
+.@{fa-css-prefix}-5x { font-size: 5em; }

+ 19 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/list.less View File

@@ -0,0 +1,19 @@
1
+// List Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-ul {
5
+  padding-left: 0;
6
+  margin-left: @fa-li-width;
7
+  list-style-type: none;
8
+  > li { position: relative; }
9
+}
10
+.@{fa-css-prefix}-li {
11
+  position: absolute;
12
+  left: -@fa-li-width;
13
+  width: @fa-li-width;
14
+  top: (2em / 14);
15
+  text-align: center;
16
+  &.@{fa-css-prefix}-lg {
17
+    left: (-@fa-li-width + (4em / 14));
18
+  }
19
+}

+ 60 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/mixins.less View File

@@ -0,0 +1,60 @@
1
+// Mixins
2
+// --------------------------
3
+
4
+.fa-icon() {
5
+  display: inline-block;
6
+  font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}
13
+
14
+.fa-icon-rotate(@degrees, @rotation) {
15
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
16
+  -webkit-transform: rotate(@degrees);
17
+      -ms-transform: rotate(@degrees);
18
+          transform: rotate(@degrees);
19
+}
20
+
21
+.fa-icon-flip(@horiz, @vert, @rotation) {
22
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
23
+  -webkit-transform: scale(@horiz, @vert);
24
+      -ms-transform: scale(@horiz, @vert);
25
+          transform: scale(@horiz, @vert);
26
+}
27
+
28
+
29
+// Only display content to screen readers. A la Bootstrap 4.
30
+//
31
+// See: http://a11yproject.com/posts/how-to-hide-content/
32
+
33
+.sr-only() {
34
+  position: absolute;
35
+  width: 1px;
36
+  height: 1px;
37
+  padding: 0;
38
+  margin: -1px;
39
+  overflow: hidden;
40
+  clip: rect(0,0,0,0);
41
+  border: 0;
42
+}
43
+
44
+// Use in conjunction with .sr-only to only display content when it's focused.
45
+//
46
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47
+//
48
+// Credit: HTML5 Boilerplate
49
+
50
+.sr-only-focusable() {
51
+  &:active,
52
+  &:focus {
53
+    position: static;
54
+    width: auto;
55
+    height: auto;
56
+    margin: 0;
57
+    overflow: visible;
58
+    clip: auto;
59
+  }
60
+}

+ 15 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/path.less View File

@@ -0,0 +1,15 @@
1
+/* FONT PATH
2
+ * -------------------------- */
3
+
4
+@font-face {
5
+  font-family: 'FontAwesome';
6
+  src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7
+  src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8
+    url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9
+    url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10
+    url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11
+    url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12
+  // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13
+  font-weight: normal;
14
+  font-style: normal;
15
+}

+ 20 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/rotated-flipped.less View File

@@ -0,0 +1,20 @@
1
+// Rotated & Flipped Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }
5
+.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6
+.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7
+
8
+.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9
+.@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }
10
+
11
+// Hook for IE8-9
12
+// -------------------------
13
+
14
+:root .@{fa-css-prefix}-rotate-90,
15
+:root .@{fa-css-prefix}-rotate-180,
16
+:root .@{fa-css-prefix}-rotate-270,
17
+:root .@{fa-css-prefix}-flip-horizontal,
18
+:root .@{fa-css-prefix}-flip-vertical {
19
+  filter: none;
20
+}

+ 5 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/screen-reader.less View File

@@ -0,0 +1,5 @@
1
+// Screen Readers
2
+// -------------------------
3
+
4
+.sr-only { .sr-only(); }
5
+.sr-only-focusable { .sr-only-focusable(); }

+ 20 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/stacked.less View File

@@ -0,0 +1,20 @@
1
+// Stacked Icons
2
+// -------------------------
3
+
4
+.@{fa-css-prefix}-stack {
5
+  position: relative;
6
+  display: inline-block;
7
+  width: 2em;
8
+  height: 2em;
9
+  line-height: 2em;
10
+  vertical-align: middle;
11
+}
12
+.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13
+  position: absolute;
14
+  left: 0;
15
+  width: 100%;
16
+  text-align: center;
17
+}
18
+.@{fa-css-prefix}-stack-1x { line-height: inherit; }
19
+.@{fa-css-prefix}-stack-2x { font-size: 2em; }
20
+.@{fa-css-prefix}-inverse { color: @fa-inverse; }

+ 800 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/less/variables.less View File

@@ -0,0 +1,800 @@
1
+// Variables
2
+// --------------------------
3
+
4
+@fa-font-path:        "../fonts";
5
+@fa-font-size-base:   14px;
6
+@fa-line-height-base: 1;
7
+//@fa-font-path:        "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly
8
+@fa-css-prefix:       fa;
9
+@fa-version:          "4.7.0";
10
+@fa-border-color:     #eee;
11
+@fa-inverse:          #fff;
12
+@fa-li-width:         (30em / 14);
13
+
14
+@fa-var-500px: "\f26e";
15
+@fa-var-address-book: "\f2b9";
16
+@fa-var-address-book-o: "\f2ba";
17
+@fa-var-address-card: "\f2bb";
18
+@fa-var-address-card-o: "\f2bc";
19
+@fa-var-adjust: "\f042";
20
+@fa-var-adn: "\f170";
21
+@fa-var-align-center: "\f037";
22
+@fa-var-align-justify: "\f039";
23
+@fa-var-align-left: "\f036";
24
+@fa-var-align-right: "\f038";
25
+@fa-var-amazon: "\f270";
26
+@fa-var-ambulance: "\f0f9";
27
+@fa-var-american-sign-language-interpreting: "\f2a3";
28
+@fa-var-anchor: "\f13d";
29
+@fa-var-android: "\f17b";
30
+@fa-var-angellist: "\f209";
31
+@fa-var-angle-double-down: "\f103";
32
+@fa-var-angle-double-left: "\f100";
33
+@fa-var-angle-double-right: "\f101";
34
+@fa-var-angle-double-up: "\f102";
35
+@fa-var-angle-down: "\f107";
36
+@fa-var-angle-left: "\f104";
37
+@fa-var-angle-right: "\f105";
38
+@fa-var-angle-up: "\f106";
39
+@fa-var-apple: "\f179";
40
+@fa-var-archive: "\f187";
41
+@fa-var-area-chart: "\f1fe";
42
+@fa-var-arrow-circle-down: "\f0ab";
43
+@fa-var-arrow-circle-left: "\f0a8";
44
+@fa-var-arrow-circle-o-down: "\f01a";
45
+@fa-var-arrow-circle-o-left: "\f190";
46
+@fa-var-arrow-circle-o-right: "\f18e";
47
+@fa-var-arrow-circle-o-up: "\f01b";
48
+@fa-var-arrow-circle-right: "\f0a9";
49
+@fa-var-arrow-circle-up: "\f0aa";
50
+@fa-var-arrow-down: "\f063";
51
+@fa-var-arrow-left: "\f060";
52
+@fa-var-arrow-right: "\f061";
53
+@fa-var-arrow-up: "\f062";
54
+@fa-var-arrows: "\f047";
55
+@fa-var-arrows-alt: "\f0b2";
56
+@fa-var-arrows-h: "\f07e";
57
+@fa-var-arrows-v: "\f07d";
58
+@fa-var-asl-interpreting: "\f2a3";
59
+@fa-var-assistive-listening-systems: "\f2a2";
60
+@fa-var-asterisk: "\f069";
61
+@fa-var-at: "\f1fa";
62
+@fa-var-audio-description: "\f29e";
63
+@fa-var-automobile: "\f1b9";
64
+@fa-var-backward: "\f04a";
65
+@fa-var-balance-scale: "\f24e";
66
+@fa-var-ban: "\f05e";
67
+@fa-var-bandcamp: "\f2d5";
68
+@fa-var-bank: "\f19c";
69
+@fa-var-bar-chart: "\f080";
70
+@fa-var-bar-chart-o: "\f080";
71
+@fa-var-barcode: "\f02a";
72
+@fa-var-bars: "\f0c9";
73
+@fa-var-bath: "\f2cd";
74
+@fa-var-bathtub: "\f2cd";
75
+@fa-var-battery: "\f240";
76
+@fa-var-battery-0: "\f244";
77
+@fa-var-battery-1: "\f243";
78
+@fa-var-battery-2: "\f242";
79
+@fa-var-battery-3: "\f241";
80
+@fa-var-battery-4: "\f240";
81
+@fa-var-battery-empty: "\f244";
82
+@fa-var-battery-full: "\f240";
83
+@fa-var-battery-half: "\f242";
84
+@fa-var-battery-quarter: "\f243";
85
+@fa-var-battery-three-quarters: "\f241";
86
+@fa-var-bed: "\f236";
87
+@fa-var-beer: "\f0fc";
88
+@fa-var-behance: "\f1b4";
89
+@fa-var-behance-square: "\f1b5";
90
+@fa-var-bell: "\f0f3";
91
+@fa-var-bell-o: "\f0a2";
92
+@fa-var-bell-slash: "\f1f6";
93
+@fa-var-bell-slash-o: "\f1f7";
94
+@fa-var-bicycle: "\f206";
95
+@fa-var-binoculars: "\f1e5";
96
+@fa-var-birthday-cake: "\f1fd";
97
+@fa-var-bitbucket: "\f171";
98
+@fa-var-bitbucket-square: "\f172";
99
+@fa-var-bitcoin: "\f15a";
100
+@fa-var-black-tie: "\f27e";
101
+@fa-var-blind: "\f29d";
102
+@fa-var-bluetooth: "\f293";
103
+@fa-var-bluetooth-b: "\f294";
104
+@fa-var-bold: "\f032";
105
+@fa-var-bolt: "\f0e7";
106
+@fa-var-bomb: "\f1e2";
107
+@fa-var-book: "\f02d";
108
+@fa-var-bookmark: "\f02e";
109
+@fa-var-bookmark-o: "\f097";
110
+@fa-var-braille: "\f2a1";
111
+@fa-var-briefcase: "\f0b1";
112
+@fa-var-btc: "\f15a";
113
+@fa-var-bug: "\f188";
114
+@fa-var-building: "\f1ad";
115
+@fa-var-building-o: "\f0f7";
116
+@fa-var-bullhorn: "\f0a1";
117
+@fa-var-bullseye: "\f140";
118
+@fa-var-bus: "\f207";
119
+@fa-var-buysellads: "\f20d";
120
+@fa-var-cab: "\f1ba";
121
+@fa-var-calculator: "\f1ec";
122
+@fa-var-calendar: "\f073";
123
+@fa-var-calendar-check-o: "\f274";
124
+@fa-var-calendar-minus-o: "\f272";
125
+@fa-var-calendar-o: "\f133";
126
+@fa-var-calendar-plus-o: "\f271";
127
+@fa-var-calendar-times-o: "\f273";
128
+@fa-var-camera: "\f030";
129
+@fa-var-camera-retro: "\f083";
130
+@fa-var-car: "\f1b9";
131
+@fa-var-caret-down: "\f0d7";
132
+@fa-var-caret-left: "\f0d9";
133
+@fa-var-caret-right: "\f0da";
134
+@fa-var-caret-square-o-down: "\f150";
135
+@fa-var-caret-square-o-left: "\f191";
136
+@fa-var-caret-square-o-right: "\f152";
137
+@fa-var-caret-square-o-up: "\f151";
138
+@fa-var-caret-up: "\f0d8";
139
+@fa-var-cart-arrow-down: "\f218";
140
+@fa-var-cart-plus: "\f217";
141
+@fa-var-cc: "\f20a";
142
+@fa-var-cc-amex: "\f1f3";
143
+@fa-var-cc-diners-club: "\f24c";
144
+@fa-var-cc-discover: "\f1f2";
145
+@fa-var-cc-jcb: "\f24b";
146
+@fa-var-cc-mastercard: "\f1f1";
147
+@fa-var-cc-paypal: "\f1f4";
148
+@fa-var-cc-stripe: "\f1f5";
149
+@fa-var-cc-visa: "\f1f0";
150
+@fa-var-certificate: "\f0a3";
151
+@fa-var-chain: "\f0c1";
152
+@fa-var-chain-broken: "\f127";
153
+@fa-var-check: "\f00c";
154
+@fa-var-check-circle: "\f058";
155
+@fa-var-check-circle-o: "\f05d";
156
+@fa-var-check-square: "\f14a";
157
+@fa-var-check-square-o: "\f046";
158
+@fa-var-chevron-circle-down: "\f13a";
159
+@fa-var-chevron-circle-left: "\f137";
160
+@fa-var-chevron-circle-right: "\f138";
161
+@fa-var-chevron-circle-up: "\f139";
162
+@fa-var-chevron-down: "\f078";
163
+@fa-var-chevron-left: "\f053";
164
+@fa-var-chevron-right: "\f054";
165
+@fa-var-chevron-up: "\f077";
166
+@fa-var-child: "\f1ae";
167
+@fa-var-chrome: "\f268";
168
+@fa-var-circle: "\f111";
169
+@fa-var-circle-o: "\f10c";
170
+@fa-var-circle-o-notch: "\f1ce";
171
+@fa-var-circle-thin: "\f1db";
172
+@fa-var-clipboard: "\f0ea";
173
+@fa-var-clock-o: "\f017";
174
+@fa-var-clone: "\f24d";
175
+@fa-var-close: "\f00d";
176
+@fa-var-cloud: "\f0c2";
177
+@fa-var-cloud-download: "\f0ed";
178
+@fa-var-cloud-upload: "\f0ee";
179
+@fa-var-cny: "\f157";
180
+@fa-var-code: "\f121";
181
+@fa-var-code-fork: "\f126";
182
+@fa-var-codepen: "\f1cb";
183
+@fa-var-codiepie: "\f284";
184
+@fa-var-coffee: "\f0f4";
185
+@fa-var-cog: "\f013";
186
+@fa-var-cogs: "\f085";
187
+@fa-var-columns: "\f0db";
188
+@fa-var-comment: "\f075";
189
+@fa-var-comment-o: "\f0e5";
190
+@fa-var-commenting: "\f27a";
191
+@fa-var-commenting-o: "\f27b";
192
+@fa-var-comments: "\f086";
193
+@fa-var-comments-o: "\f0e6";
194
+@fa-var-compass: "\f14e";
195
+@fa-var-compress: "\f066";
196
+@fa-var-connectdevelop: "\f20e";
197
+@fa-var-contao: "\f26d";
198
+@fa-var-copy: "\f0c5";
199
+@fa-var-copyright: "\f1f9";
200
+@fa-var-creative-commons: "\f25e";
201
+@fa-var-credit-card: "\f09d";
202
+@fa-var-credit-card-alt: "\f283";
203
+@fa-var-crop: "\f125";
204
+@fa-var-crosshairs: "\f05b";
205
+@fa-var-css3: "\f13c";
206
+@fa-var-cube: "\f1b2";
207
+@fa-var-cubes: "\f1b3";
208
+@fa-var-cut: "\f0c4";
209
+@fa-var-cutlery: "\f0f5";
210
+@fa-var-dashboard: "\f0e4";
211
+@fa-var-dashcube: "\f210";
212
+@fa-var-database: "\f1c0";
213
+@fa-var-deaf: "\f2a4";
214
+@fa-var-deafness: "\f2a4";
215
+@fa-var-dedent: "\f03b";
216
+@fa-var-delicious: "\f1a5";
217
+@fa-var-desktop: "\f108";
218
+@fa-var-deviantart: "\f1bd";
219
+@fa-var-diamond: "\f219";
220
+@fa-var-digg: "\f1a6";
221
+@fa-var-dollar: "\f155";
222
+@fa-var-dot-circle-o: "\f192";
223
+@fa-var-download: "\f019";
224
+@fa-var-dribbble: "\f17d";
225
+@fa-var-drivers-license: "\f2c2";
226
+@fa-var-drivers-license-o: "\f2c3";
227
+@fa-var-dropbox: "\f16b";
228
+@fa-var-drupal: "\f1a9";
229
+@fa-var-edge: "\f282";
230
+@fa-var-edit: "\f044";
231
+@fa-var-eercast: "\f2da";
232
+@fa-var-eject: "\f052";
233
+@fa-var-ellipsis-h: "\f141";
234
+@fa-var-ellipsis-v: "\f142";
235
+@fa-var-empire: "\f1d1";
236
+@fa-var-envelope: "\f0e0";
237
+@fa-var-envelope-o: "\f003";
238
+@fa-var-envelope-open: "\f2b6";
239
+@fa-var-envelope-open-o: "\f2b7";
240
+@fa-var-envelope-square: "\f199";
241
+@fa-var-envira: "\f299";
242
+@fa-var-eraser: "\f12d";
243
+@fa-var-etsy: "\f2d7";
244
+@fa-var-eur: "\f153";
245
+@fa-var-euro: "\f153";
246
+@fa-var-exchange: "\f0ec";
247
+@fa-var-exclamation: "\f12a";
248
+@fa-var-exclamation-circle: "\f06a";
249
+@fa-var-exclamation-triangle: "\f071";
250
+@fa-var-expand: "\f065";
251
+@fa-var-expeditedssl: "\f23e";
252
+@fa-var-external-link: "\f08e";
253
+@fa-var-external-link-square: "\f14c";
254
+@fa-var-eye: "\f06e";
255
+@fa-var-eye-slash: "\f070";
256
+@fa-var-eyedropper: "\f1fb";
257
+@fa-var-fa: "\f2b4";
258
+@fa-var-facebook: "\f09a";
259
+@fa-var-facebook-f: "\f09a";
260
+@fa-var-facebook-official: "\f230";
261
+@fa-var-facebook-square: "\f082";
262
+@fa-var-fast-backward: "\f049";
263
+@fa-var-fast-forward: "\f050";
264
+@fa-var-fax: "\f1ac";
265
+@fa-var-feed: "\f09e";
266
+@fa-var-female: "\f182";
267
+@fa-var-fighter-jet: "\f0fb";
268
+@fa-var-file: "\f15b";
269
+@fa-var-file-archive-o: "\f1c6";
270
+@fa-var-file-audio-o: "\f1c7";
271
+@fa-var-file-code-o: "\f1c9";
272
+@fa-var-file-excel-o: "\f1c3";
273
+@fa-var-file-image-o: "\f1c5";
274
+@fa-var-file-movie-o: "\f1c8";
275
+@fa-var-file-o: "\f016";
276
+@fa-var-file-pdf-o: "\f1c1";
277
+@fa-var-file-photo-o: "\f1c5";
278
+@fa-var-file-picture-o: "\f1c5";
279
+@fa-var-file-powerpoint-o: "\f1c4";
280
+@fa-var-file-sound-o: "\f1c7";
281
+@fa-var-file-text: "\f15c";
282
+@fa-var-file-text-o: "\f0f6";
283
+@fa-var-file-video-o: "\f1c8";
284
+@fa-var-file-word-o: "\f1c2";
285
+@fa-var-file-zip-o: "\f1c6";
286
+@fa-var-files-o: "\f0c5";
287
+@fa-var-film: "\f008";
288
+@fa-var-filter: "\f0b0";
289
+@fa-var-fire: "\f06d";
290
+@fa-var-fire-extinguisher: "\f134";
291
+@fa-var-firefox: "\f269";
292
+@fa-var-first-order: "\f2b0";
293
+@fa-var-flag: "\f024";
294
+@fa-var-flag-checkered: "\f11e";
295
+@fa-var-flag-o: "\f11d";
296
+@fa-var-flash: "\f0e7";
297
+@fa-var-flask: "\f0c3";
298
+@fa-var-flickr: "\f16e";
299
+@fa-var-floppy-o: "\f0c7";
300
+@fa-var-folder: "\f07b";
301
+@fa-var-folder-o: "\f114";
302
+@fa-var-folder-open: "\f07c";
303
+@fa-var-folder-open-o: "\f115";
304
+@fa-var-font: "\f031";
305
+@fa-var-font-awesome: "\f2b4";
306
+@fa-var-fonticons: "\f280";
307
+@fa-var-fort-awesome: "\f286";
308
+@fa-var-forumbee: "\f211";
309
+@fa-var-forward: "\f04e";
310
+@fa-var-foursquare: "\f180";
311
+@fa-var-free-code-camp: "\f2c5";
312
+@fa-var-frown-o: "\f119";
313
+@fa-var-futbol-o: "\f1e3";
314
+@fa-var-gamepad: "\f11b";
315
+@fa-var-gavel: "\f0e3";
316
+@fa-var-gbp: "\f154";
317
+@fa-var-ge: "\f1d1";
318
+@fa-var-gear: "\f013";
319
+@fa-var-gears: "\f085";
320
+@fa-var-genderless: "\f22d";
321
+@fa-var-get-pocket: "\f265";
322
+@fa-var-gg: "\f260";
323
+@fa-var-gg-circle: "\f261";
324
+@fa-var-gift: "\f06b";
325
+@fa-var-git: "\f1d3";
326
+@fa-var-git-square: "\f1d2";
327
+@fa-var-github: "\f09b";
328
+@fa-var-github-alt: "\f113";
329
+@fa-var-github-square: "\f092";
330
+@fa-var-gitlab: "\f296";
331
+@fa-var-gittip: "\f184";
332
+@fa-var-glass: "\f000";
333
+@fa-var-glide: "\f2a5";
334
+@fa-var-glide-g: "\f2a6";
335
+@fa-var-globe: "\f0ac";
336
+@fa-var-google: "\f1a0";
337
+@fa-var-google-plus: "\f0d5";
338
+@fa-var-google-plus-circle: "\f2b3";
339
+@fa-var-google-plus-official: "\f2b3";
340
+@fa-var-google-plus-square: "\f0d4";
341
+@fa-var-google-wallet: "\f1ee";
342
+@fa-var-graduation-cap: "\f19d";
343
+@fa-var-gratipay: "\f184";
344
+@fa-var-grav: "\f2d6";
345
+@fa-var-group: "\f0c0";
346
+@fa-var-h-square: "\f0fd";
347
+@fa-var-hacker-news: "\f1d4";
348
+@fa-var-hand-grab-o: "\f255";
349
+@fa-var-hand-lizard-o: "\f258";
350
+@fa-var-hand-o-down: "\f0a7";
351
+@fa-var-hand-o-left: "\f0a5";
352
+@fa-var-hand-o-right: "\f0a4";
353
+@fa-var-hand-o-up: "\f0a6";
354
+@fa-var-hand-paper-o: "\f256";
355
+@fa-var-hand-peace-o: "\f25b";
356
+@fa-var-hand-pointer-o: "\f25a";
357
+@fa-var-hand-rock-o: "\f255";
358
+@fa-var-hand-scissors-o: "\f257";
359
+@fa-var-hand-spock-o: "\f259";
360
+@fa-var-hand-stop-o: "\f256";
361
+@fa-var-handshake-o: "\f2b5";
362
+@fa-var-hard-of-hearing: "\f2a4";
363
+@fa-var-hashtag: "\f292";
364
+@fa-var-hdd-o: "\f0a0";
365
+@fa-var-header: "\f1dc";
366
+@fa-var-headphones: "\f025";
367
+@fa-var-heart: "\f004";
368
+@fa-var-heart-o: "\f08a";
369
+@fa-var-heartbeat: "\f21e";
370
+@fa-var-history: "\f1da";
371
+@fa-var-home: "\f015";
372
+@fa-var-hospital-o: "\f0f8";
373
+@fa-var-hotel: "\f236";
374
+@fa-var-hourglass: "\f254";
375
+@fa-var-hourglass-1: "\f251";
376
+@fa-var-hourglass-2: "\f252";
377
+@fa-var-hourglass-3: "\f253";
378
+@fa-var-hourglass-end: "\f253";
379
+@fa-var-hourglass-half: "\f252";
380
+@fa-var-hourglass-o: "\f250";
381
+@fa-var-hourglass-start: "\f251";
382
+@fa-var-houzz: "\f27c";
383
+@fa-var-html5: "\f13b";
384
+@fa-var-i-cursor: "\f246";
385
+@fa-var-id-badge: "\f2c1";
386
+@fa-var-id-card: "\f2c2";
387
+@fa-var-id-card-o: "\f2c3";
388
+@fa-var-ils: "\f20b";
389
+@fa-var-image: "\f03e";
390
+@fa-var-imdb: "\f2d8";
391
+@fa-var-inbox: "\f01c";
392
+@fa-var-indent: "\f03c";
393
+@fa-var-industry: "\f275";
394
+@fa-var-info: "\f129";
395
+@fa-var-info-circle: "\f05a";
396
+@fa-var-inr: "\f156";
397
+@fa-var-instagram: "\f16d";
398
+@fa-var-institution: "\f19c";
399
+@fa-var-internet-explorer: "\f26b";
400
+@fa-var-intersex: "\f224";
401
+@fa-var-ioxhost: "\f208";
402
+@fa-var-italic: "\f033";
403
+@fa-var-joomla: "\f1aa";
404
+@fa-var-jpy: "\f157";
405
+@fa-var-jsfiddle: "\f1cc";
406
+@fa-var-key: "\f084";
407
+@fa-var-keyboard-o: "\f11c";
408
+@fa-var-krw: "\f159";
409
+@fa-var-language: "\f1ab";
410
+@fa-var-laptop: "\f109";
411
+@fa-var-lastfm: "\f202";
412
+@fa-var-lastfm-square: "\f203";
413
+@fa-var-leaf: "\f06c";
414
+@fa-var-leanpub: "\f212";
415
+@fa-var-legal: "\f0e3";
416
+@fa-var-lemon-o: "\f094";
417
+@fa-var-level-down: "\f149";
418
+@fa-var-level-up: "\f148";
419
+@fa-var-life-bouy: "\f1cd";
420
+@fa-var-life-buoy: "\f1cd";
421
+@fa-var-life-ring: "\f1cd";
422
+@fa-var-life-saver: "\f1cd";
423
+@fa-var-lightbulb-o: "\f0eb";
424
+@fa-var-line-chart: "\f201";
425
+@fa-var-link: "\f0c1";
426
+@fa-var-linkedin: "\f0e1";
427
+@fa-var-linkedin-square: "\f08c";
428
+@fa-var-linode: "\f2b8";
429
+@fa-var-linux: "\f17c";
430
+@fa-var-list: "\f03a";
431
+@fa-var-list-alt: "\f022";
432
+@fa-var-list-ol: "\f0cb";
433
+@fa-var-list-ul: "\f0ca";
434
+@fa-var-location-arrow: "\f124";
435
+@fa-var-lock: "\f023";
436
+@fa-var-long-arrow-down: "\f175";
437
+@fa-var-long-arrow-left: "\f177";
438
+@fa-var-long-arrow-right: "\f178";
439
+@fa-var-long-arrow-up: "\f176";
440
+@fa-var-low-vision: "\f2a8";
441
+@fa-var-magic: "\f0d0";
442
+@fa-var-magnet: "\f076";
443
+@fa-var-mail-forward: "\f064";
444
+@fa-var-mail-reply: "\f112";
445
+@fa-var-mail-reply-all: "\f122";
446
+@fa-var-male: "\f183";
447
+@fa-var-map: "\f279";
448
+@fa-var-map-marker: "\f041";
449
+@fa-var-map-o: "\f278";
450
+@fa-var-map-pin: "\f276";
451
+@fa-var-map-signs: "\f277";
452
+@fa-var-mars: "\f222";
453
+@fa-var-mars-double: "\f227";
454
+@fa-var-mars-stroke: "\f229";
455
+@fa-var-mars-stroke-h: "\f22b";
456
+@fa-var-mars-stroke-v: "\f22a";
457
+@fa-var-maxcdn: "\f136";
458
+@fa-var-meanpath: "\f20c";
459
+@fa-var-medium: "\f23a";
460
+@fa-var-medkit: "\f0fa";
461
+@fa-var-meetup: "\f2e0";
462
+@fa-var-meh-o: "\f11a";
463
+@fa-var-mercury: "\f223";
464
+@fa-var-microchip: "\f2db";
465
+@fa-var-microphone: "\f130";
466
+@fa-var-microphone-slash: "\f131";
467
+@fa-var-minus: "\f068";
468
+@fa-var-minus-circle: "\f056";
469
+@fa-var-minus-square: "\f146";
470
+@fa-var-minus-square-o: "\f147";
471
+@fa-var-mixcloud: "\f289";
472
+@fa-var-mobile: "\f10b";
473
+@fa-var-mobile-phone: "\f10b";
474
+@fa-var-modx: "\f285";
475
+@fa-var-money: "\f0d6";
476
+@fa-var-moon-o: "\f186";
477
+@fa-var-mortar-board: "\f19d";
478
+@fa-var-motorcycle: "\f21c";
479
+@fa-var-mouse-pointer: "\f245";
480
+@fa-var-music: "\f001";
481
+@fa-var-navicon: "\f0c9";
482
+@fa-var-neuter: "\f22c";
483
+@fa-var-newspaper-o: "\f1ea";
484
+@fa-var-object-group: "\f247";
485
+@fa-var-object-ungroup: "\f248";
486
+@fa-var-odnoklassniki: "\f263";
487
+@fa-var-odnoklassniki-square: "\f264";
488
+@fa-var-opencart: "\f23d";
489
+@fa-var-openid: "\f19b";
490
+@fa-var-opera: "\f26a";
491
+@fa-var-optin-monster: "\f23c";
492
+@fa-var-outdent: "\f03b";
493
+@fa-var-pagelines: "\f18c";
494
+@fa-var-paint-brush: "\f1fc";
495
+@fa-var-paper-plane: "\f1d8";
496
+@fa-var-paper-plane-o: "\f1d9";
497
+@fa-var-paperclip: "\f0c6";
498
+@fa-var-paragraph: "\f1dd";
499
+@fa-var-paste: "\f0ea";
500
+@fa-var-pause: "\f04c";
501
+@fa-var-pause-circle: "\f28b";
502
+@fa-var-pause-circle-o: "\f28c";
503
+@fa-var-paw: "\f1b0";
504
+@fa-var-paypal: "\f1ed";
505
+@fa-var-pencil: "\f040";
506
+@fa-var-pencil-square: "\f14b";
507
+@fa-var-pencil-square-o: "\f044";
508
+@fa-var-percent: "\f295";
509
+@fa-var-phone: "\f095";
510
+@fa-var-phone-square: "\f098";
511
+@fa-var-photo: "\f03e";
512
+@fa-var-picture-o: "\f03e";
513
+@fa-var-pie-chart: "\f200";
514
+@fa-var-pied-piper: "\f2ae";
515
+@fa-var-pied-piper-alt: "\f1a8";
516
+@fa-var-pied-piper-pp: "\f1a7";
517
+@fa-var-pinterest: "\f0d2";
518
+@fa-var-pinterest-p: "\f231";
519
+@fa-var-pinterest-square: "\f0d3";
520
+@fa-var-plane: "\f072";
521
+@fa-var-play: "\f04b";
522
+@fa-var-play-circle: "\f144";
523
+@fa-var-play-circle-o: "\f01d";
524
+@fa-var-plug: "\f1e6";
525
+@fa-var-plus: "\f067";
526
+@fa-var-plus-circle: "\f055";
527
+@fa-var-plus-square: "\f0fe";
528
+@fa-var-plus-square-o: "\f196";
529
+@fa-var-podcast: "\f2ce";
530
+@fa-var-power-off: "\f011";
531
+@fa-var-print: "\f02f";
532
+@fa-var-product-hunt: "\f288";
533
+@fa-var-puzzle-piece: "\f12e";
534
+@fa-var-qq: "\f1d6";
535
+@fa-var-qrcode: "\f029";
536
+@fa-var-question: "\f128";
537
+@fa-var-question-circle: "\f059";
538
+@fa-var-question-circle-o: "\f29c";
539
+@fa-var-quora: "\f2c4";
540
+@fa-var-quote-left: "\f10d";
541
+@fa-var-quote-right: "\f10e";
542
+@fa-var-ra: "\f1d0";
543
+@fa-var-random: "\f074";
544
+@fa-var-ravelry: "\f2d9";
545
+@fa-var-rebel: "\f1d0";
546
+@fa-var-recycle: "\f1b8";
547
+@fa-var-reddit: "\f1a1";
548
+@fa-var-reddit-alien: "\f281";
549
+@fa-var-reddit-square: "\f1a2";
550
+@fa-var-refresh: "\f021";
551
+@fa-var-registered: "\f25d";
552
+@fa-var-remove: "\f00d";
553
+@fa-var-renren: "\f18b";
554
+@fa-var-reorder: "\f0c9";
555
+@fa-var-repeat: "\f01e";
556
+@fa-var-reply: "\f112";
557
+@fa-var-reply-all: "\f122";
558
+@fa-var-resistance: "\f1d0";
559
+@fa-var-retweet: "\f079";
560
+@fa-var-rmb: "\f157";
561
+@fa-var-road: "\f018";
562
+@fa-var-rocket: "\f135";
563
+@fa-var-rotate-left: "\f0e2";
564
+@fa-var-rotate-right: "\f01e";
565
+@fa-var-rouble: "\f158";
566
+@fa-var-rss: "\f09e";
567
+@fa-var-rss-square: "\f143";
568
+@fa-var-rub: "\f158";
569
+@fa-var-ruble: "\f158";
570
+@fa-var-rupee: "\f156";
571
+@fa-var-s15: "\f2cd";
572
+@fa-var-safari: "\f267";
573
+@fa-var-save: "\f0c7";
574
+@fa-var-scissors: "\f0c4";
575
+@fa-var-scribd: "\f28a";
576
+@fa-var-search: "\f002";
577
+@fa-var-search-minus: "\f010";
578
+@fa-var-search-plus: "\f00e";
579
+@fa-var-sellsy: "\f213";
580
+@fa-var-send: "\f1d8";
581
+@fa-var-send-o: "\f1d9";
582
+@fa-var-server: "\f233";
583
+@fa-var-share: "\f064";
584
+@fa-var-share-alt: "\f1e0";
585
+@fa-var-share-alt-square: "\f1e1";
586
+@fa-var-share-square: "\f14d";
587
+@fa-var-share-square-o: "\f045";
588
+@fa-var-shekel: "\f20b";
589
+@fa-var-sheqel: "\f20b";
590
+@fa-var-shield: "\f132";
591
+@fa-var-ship: "\f21a";
592
+@fa-var-shirtsinbulk: "\f214";
593
+@fa-var-shopping-bag: "\f290";
594
+@fa-var-shopping-basket: "\f291";
595
+@fa-var-shopping-cart: "\f07a";
596
+@fa-var-shower: "\f2cc";
597
+@fa-var-sign-in: "\f090";
598
+@fa-var-sign-language: "\f2a7";
599
+@fa-var-sign-out: "\f08b";
600
+@fa-var-signal: "\f012";
601
+@fa-var-signing: "\f2a7";
602
+@fa-var-simplybuilt: "\f215";
603
+@fa-var-sitemap: "\f0e8";
604
+@fa-var-skyatlas: "\f216";
605
+@fa-var-skype: "\f17e";
606
+@fa-var-slack: "\f198";
607
+@fa-var-sliders: "\f1de";
608
+@fa-var-slideshare: "\f1e7";
609
+@fa-var-smile-o: "\f118";
610
+@fa-var-snapchat: "\f2ab";
611
+@fa-var-snapchat-ghost: "\f2ac";
612
+@fa-var-snapchat-square: "\f2ad";
613
+@fa-var-snowflake-o: "\f2dc";
614
+@fa-var-soccer-ball-o: "\f1e3";
615
+@fa-var-sort: "\f0dc";
616
+@fa-var-sort-alpha-asc: "\f15d";
617
+@fa-var-sort-alpha-desc: "\f15e";
618
+@fa-var-sort-amount-asc: "\f160";
619
+@fa-var-sort-amount-desc: "\f161";
620
+@fa-var-sort-asc: "\f0de";
621
+@fa-var-sort-desc: "\f0dd";
622
+@fa-var-sort-down: "\f0dd";
623
+@fa-var-sort-numeric-asc: "\f162";
624
+@fa-var-sort-numeric-desc: "\f163";
625
+@fa-var-sort-up: "\f0de";
626
+@fa-var-soundcloud: "\f1be";
627
+@fa-var-space-shuttle: "\f197";
628
+@fa-var-spinner: "\f110";
629
+@fa-var-spoon: "\f1b1";
630
+@fa-var-spotify: "\f1bc";
631
+@fa-var-square: "\f0c8";
632
+@fa-var-square-o: "\f096";
633
+@fa-var-stack-exchange: "\f18d";
634
+@fa-var-stack-overflow: "\f16c";
635
+@fa-var-star: "\f005";
636
+@fa-var-star-half: "\f089";
637
+@fa-var-star-half-empty: "\f123";
638
+@fa-var-star-half-full: "\f123";
639
+@fa-var-star-half-o: "\f123";
640
+@fa-var-star-o: "\f006";
641
+@fa-var-steam: "\f1b6";
642
+@fa-var-steam-square: "\f1b7";
643
+@fa-var-step-backward: "\f048";
644
+@fa-var-step-forward: "\f051";
645
+@fa-var-stethoscope: "\f0f1";
646
+@fa-var-sticky-note: "\f249";
647
+@fa-var-sticky-note-o: "\f24a";
648
+@fa-var-stop: "\f04d";
649
+@fa-var-stop-circle: "\f28d";
650
+@fa-var-stop-circle-o: "\f28e";
651
+@fa-var-street-view: "\f21d";
652
+@fa-var-strikethrough: "\f0cc";
653
+@fa-var-stumbleupon: "\f1a4";
654
+@fa-var-stumbleupon-circle: "\f1a3";
655
+@fa-var-subscript: "\f12c";
656
+@fa-var-subway: "\f239";
657
+@fa-var-suitcase: "\f0f2";
658
+@fa-var-sun-o: "\f185";
659
+@fa-var-superpowers: "\f2dd";
660
+@fa-var-superscript: "\f12b";
661
+@fa-var-support: "\f1cd";
662
+@fa-var-table: "\f0ce";
663
+@fa-var-tablet: "\f10a";
664
+@fa-var-tachometer: "\f0e4";
665
+@fa-var-tag: "\f02b";
666
+@fa-var-tags: "\f02c";
667
+@fa-var-tasks: "\f0ae";
668
+@fa-var-taxi: "\f1ba";
669
+@fa-var-telegram: "\f2c6";
670
+@fa-var-television: "\f26c";
671
+@fa-var-tencent-weibo: "\f1d5";
672
+@fa-var-terminal: "\f120";
673
+@fa-var-text-height: "\f034";
674
+@fa-var-text-width: "\f035";
675
+@fa-var-th: "\f00a";
676
+@fa-var-th-large: "\f009";
677
+@fa-var-th-list: "\f00b";
678
+@fa-var-themeisle: "\f2b2";
679
+@fa-var-thermometer: "\f2c7";
680
+@fa-var-thermometer-0: "\f2cb";
681
+@fa-var-thermometer-1: "\f2ca";
682
+@fa-var-thermometer-2: "\f2c9";
683
+@fa-var-thermometer-3: "\f2c8";
684
+@fa-var-thermometer-4: "\f2c7";
685
+@fa-var-thermometer-empty: "\f2cb";
686
+@fa-var-thermometer-full: "\f2c7";
687
+@fa-var-thermometer-half: "\f2c9";
688
+@fa-var-thermometer-quarter: "\f2ca";
689
+@fa-var-thermometer-three-quarters: "\f2c8";
690
+@fa-var-thumb-tack: "\f08d";
691
+@fa-var-thumbs-down: "\f165";
692
+@fa-var-thumbs-o-down: "\f088";
693
+@fa-var-thumbs-o-up: "\f087";
694
+@fa-var-thumbs-up: "\f164";
695
+@fa-var-ticket: "\f145";
696
+@fa-var-times: "\f00d";
697
+@fa-var-times-circle: "\f057";
698
+@fa-var-times-circle-o: "\f05c";
699
+@fa-var-times-rectangle: "\f2d3";
700
+@fa-var-times-rectangle-o: "\f2d4";
701
+@fa-var-tint: "\f043";
702
+@fa-var-toggle-down: "\f150";
703
+@fa-var-toggle-left: "\f191";
704
+@fa-var-toggle-off: "\f204";
705
+@fa-var-toggle-on: "\f205";
706
+@fa-var-toggle-right: "\f152";
707
+@fa-var-toggle-up: "\f151";
708
+@fa-var-trademark: "\f25c";
709
+@fa-var-train: "\f238";
710
+@fa-var-transgender: "\f224";
711
+@fa-var-transgender-alt: "\f225";
712
+@fa-var-trash: "\f1f8";
713
+@fa-var-trash-o: "\f014";
714
+@fa-var-tree: "\f1bb";
715
+@fa-var-trello: "\f181";
716
+@fa-var-tripadvisor: "\f262";
717
+@fa-var-trophy: "\f091";
718
+@fa-var-truck: "\f0d1";
719
+@fa-var-try: "\f195";
720
+@fa-var-tty: "\f1e4";
721
+@fa-var-tumblr: "\f173";
722
+@fa-var-tumblr-square: "\f174";
723
+@fa-var-turkish-lira: "\f195";
724
+@fa-var-tv: "\f26c";
725
+@fa-var-twitch: "\f1e8";
726
+@fa-var-twitter: "\f099";
727
+@fa-var-twitter-square: "\f081";
728
+@fa-var-umbrella: "\f0e9";
729
+@fa-var-underline: "\f0cd";
730
+@fa-var-undo: "\f0e2";
731
+@fa-var-universal-access: "\f29a";
732
+@fa-var-university: "\f19c";
733
+@fa-var-unlink: "\f127";
734
+@fa-var-unlock: "\f09c";
735
+@fa-var-unlock-alt: "\f13e";
736
+@fa-var-unsorted: "\f0dc";
737
+@fa-var-upload: "\f093";
738
+@fa-var-usb: "\f287";
739
+@fa-var-usd: "\f155";
740
+@fa-var-user: "\f007";
741
+@fa-var-user-circle: "\f2bd";
742
+@fa-var-user-circle-o: "\f2be";
743
+@fa-var-user-md: "\f0f0";
744
+@fa-var-user-o: "\f2c0";
745
+@fa-var-user-plus: "\f234";
746
+@fa-var-user-secret: "\f21b";
747
+@fa-var-user-times: "\f235";
748
+@fa-var-users: "\f0c0";
749
+@fa-var-vcard: "\f2bb";
750
+@fa-var-vcard-o: "\f2bc";
751
+@fa-var-venus: "\f221";
752
+@fa-var-venus-double: "\f226";
753
+@fa-var-venus-mars: "\f228";
754
+@fa-var-viacoin: "\f237";
755
+@fa-var-viadeo: "\f2a9";
756
+@fa-var-viadeo-square: "\f2aa";
757
+@fa-var-video-camera: "\f03d";
758
+@fa-var-vimeo: "\f27d";
759
+@fa-var-vimeo-square: "\f194";
760
+@fa-var-vine: "\f1ca";
761
+@fa-var-vk: "\f189";
762
+@fa-var-volume-control-phone: "\f2a0";
763
+@fa-var-volume-down: "\f027";
764
+@fa-var-volume-off: "\f026";
765
+@fa-var-volume-up: "\f028";
766
+@fa-var-warning: "\f071";
767
+@fa-var-wechat: "\f1d7";
768
+@fa-var-weibo: "\f18a";
769
+@fa-var-weixin: "\f1d7";
770
+@fa-var-whatsapp: "\f232";
771
+@fa-var-wheelchair: "\f193";
772
+@fa-var-wheelchair-alt: "\f29b";
773
+@fa-var-wifi: "\f1eb";
774
+@fa-var-wikipedia-w: "\f266";
775
+@fa-var-window-close: "\f2d3";
776
+@fa-var-window-close-o: "\f2d4";
777
+@fa-var-window-maximize: "\f2d0";
778
+@fa-var-window-minimize: "\f2d1";
779
+@fa-var-window-restore: "\f2d2";
780
+@fa-var-windows: "\f17a";
781
+@fa-var-won: "\f159";
782
+@fa-var-wordpress: "\f19a";
783
+@fa-var-wpbeginner: "\f297";
784
+@fa-var-wpexplorer: "\f2de";
785
+@fa-var-wpforms: "\f298";
786
+@fa-var-wrench: "\f0ad";
787
+@fa-var-xing: "\f168";
788
+@fa-var-xing-square: "\f169";
789
+@fa-var-y-combinator: "\f23b";
790
+@fa-var-y-combinator-square: "\f1d4";
791
+@fa-var-yahoo: "\f19e";
792
+@fa-var-yc: "\f23b";
793
+@fa-var-yc-square: "\f1d4";
794
+@fa-var-yelp: "\f1e9";
795
+@fa-var-yen: "\f157";
796
+@fa-var-yoast: "\f2b1";
797
+@fa-var-youtube: "\f167";
798
+@fa-var-youtube-play: "\f16a";
799
+@fa-var-youtube-square: "\f166";
800
+

+ 34 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_animated.scss View File

@@ -0,0 +1,34 @@
1
+// Spinning Icons
2
+// --------------------------
3
+
4
+.#{$fa-css-prefix}-spin {
5
+  -webkit-animation: fa-spin 2s infinite linear;
6
+          animation: fa-spin 2s infinite linear;
7
+}
8
+
9
+.#{$fa-css-prefix}-pulse {
10
+  -webkit-animation: fa-spin 1s infinite steps(8);
11
+          animation: fa-spin 1s infinite steps(8);
12
+}
13
+
14
+@-webkit-keyframes fa-spin {
15
+  0% {
16
+    -webkit-transform: rotate(0deg);
17
+            transform: rotate(0deg);
18
+  }
19
+  100% {
20
+    -webkit-transform: rotate(359deg);
21
+            transform: rotate(359deg);
22
+  }
23
+}
24
+
25
+@keyframes fa-spin {
26
+  0% {
27
+    -webkit-transform: rotate(0deg);
28
+            transform: rotate(0deg);
29
+  }
30
+  100% {
31
+    -webkit-transform: rotate(359deg);
32
+            transform: rotate(359deg);
33
+  }
34
+}

+ 25 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_bordered-pulled.scss View File

@@ -0,0 +1,25 @@
1
+// Bordered & Pulled
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-border {
5
+  padding: .2em .25em .15em;
6
+  border: solid .08em $fa-border-color;
7
+  border-radius: .1em;
8
+}
9
+
10
+.#{$fa-css-prefix}-pull-left { float: left; }
11
+.#{$fa-css-prefix}-pull-right { float: right; }
12
+
13
+.#{$fa-css-prefix} {
14
+  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15
+  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16
+}
17
+
18
+/* Deprecated as of 4.4.0 */
19
+.pull-right { float: right; }
20
+.pull-left { float: left; }
21
+
22
+.#{$fa-css-prefix} {
23
+  &.pull-left { margin-right: .3em; }
24
+  &.pull-right { margin-left: .3em; }
25
+}

+ 12 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_core.scss View File

@@ -0,0 +1,12 @@
1
+// Base Class Definition
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix} {
5
+  display: inline-block;
6
+  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}

+ 6 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_fixed-width.scss View File

@@ -0,0 +1,6 @@
1
+// Fixed Width Icons
2
+// -------------------------
3
+.#{$fa-css-prefix}-fw {
4
+  width: (18em / 14);
5
+  text-align: center;
6
+}

+ 789 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_icons.scss View File

@@ -0,0 +1,789 @@
1
+/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+   readers do not read off random characters that represent icons */
3
+
4
+.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }
5
+.#{$fa-css-prefix}-music:before { content: $fa-var-music; }
6
+.#{$fa-css-prefix}-search:before { content: $fa-var-search; }
7
+.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }
8
+.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }
9
+.#{$fa-css-prefix}-star:before { content: $fa-var-star; }
10
+.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }
11
+.#{$fa-css-prefix}-user:before { content: $fa-var-user; }
12
+.#{$fa-css-prefix}-film:before { content: $fa-var-film; }
13
+.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }
14
+.#{$fa-css-prefix}-th:before { content: $fa-var-th; }
15
+.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }
16
+.#{$fa-css-prefix}-check:before { content: $fa-var-check; }
17
+.#{$fa-css-prefix}-remove:before,
18
+.#{$fa-css-prefix}-close:before,
19
+.#{$fa-css-prefix}-times:before { content: $fa-var-times; }
20
+.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }
21
+.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }
22
+.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }
23
+.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }
24
+.#{$fa-css-prefix}-gear:before,
25
+.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }
26
+.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }
27
+.#{$fa-css-prefix}-home:before { content: $fa-var-home; }
28
+.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }
29
+.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }
30
+.#{$fa-css-prefix}-road:before { content: $fa-var-road; }
31
+.#{$fa-css-prefix}-download:before { content: $fa-var-download; }
32
+.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }
33
+.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }
34
+.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }
35
+.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }
36
+.#{$fa-css-prefix}-rotate-right:before,
37
+.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }
38
+.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }
39
+.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }
40
+.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }
41
+.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }
42
+.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }
43
+.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }
44
+.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }
45
+.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }
46
+.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }
47
+.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }
48
+.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }
49
+.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }
50
+.#{$fa-css-prefix}-book:before { content: $fa-var-book; }
51
+.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }
52
+.#{$fa-css-prefix}-print:before { content: $fa-var-print; }
53
+.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }
54
+.#{$fa-css-prefix}-font:before { content: $fa-var-font; }
55
+.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }
56
+.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }
57
+.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }
58
+.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }
59
+.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }
60
+.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }
61
+.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }
62
+.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }
63
+.#{$fa-css-prefix}-list:before { content: $fa-var-list; }
64
+.#{$fa-css-prefix}-dedent:before,
65
+.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }
66
+.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }
67
+.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }
68
+.#{$fa-css-prefix}-photo:before,
69
+.#{$fa-css-prefix}-image:before,
70
+.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }
71
+.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }
72
+.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }
73
+.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }
74
+.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }
75
+.#{$fa-css-prefix}-edit:before,
76
+.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }
77
+.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }
78
+.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }
79
+.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }
80
+.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }
81
+.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }
82
+.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }
83
+.#{$fa-css-prefix}-play:before { content: $fa-var-play; }
84
+.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }
85
+.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }
86
+.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }
87
+.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }
88
+.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }
89
+.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }
90
+.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }
91
+.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }
92
+.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }
93
+.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }
94
+.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }
95
+.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }
96
+.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }
97
+.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }
98
+.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }
99
+.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }
100
+.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }
101
+.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }
102
+.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }
103
+.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }
104
+.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }
105
+.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }
106
+.#{$fa-css-prefix}-mail-forward:before,
107
+.#{$fa-css-prefix}-share:before { content: $fa-var-share; }
108
+.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }
109
+.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }
110
+.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }
111
+.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }
112
+.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }
113
+.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }
114
+.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }
115
+.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }
116
+.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }
117
+.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }
118
+.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }
119
+.#{$fa-css-prefix}-warning:before,
120
+.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }
121
+.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }
122
+.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }
123
+.#{$fa-css-prefix}-random:before { content: $fa-var-random; }
124
+.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }
125
+.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }
126
+.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }
127
+.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }
128
+.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }
129
+.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }
130
+.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }
131
+.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }
132
+.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }
133
+.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }
134
+.#{$fa-css-prefix}-bar-chart-o:before,
135
+.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }
136
+.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }
137
+.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }
138
+.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }
139
+.#{$fa-css-prefix}-key:before { content: $fa-var-key; }
140
+.#{$fa-css-prefix}-gears:before,
141
+.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }
142
+.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }
143
+.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }
144
+.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }
145
+.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }
146
+.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }
147
+.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }
148
+.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }
149
+.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }
150
+.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }
151
+.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }
152
+.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }
153
+.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }
154
+.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }
155
+.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }
156
+.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }
157
+.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }
158
+.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }
159
+.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }
160
+.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }
161
+.#{$fa-css-prefix}-facebook-f:before,
162
+.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }
163
+.#{$fa-css-prefix}-github:before { content: $fa-var-github; }
164
+.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }
165
+.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }
166
+.#{$fa-css-prefix}-feed:before,
167
+.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }
168
+.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }
169
+.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }
170
+.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }
171
+.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }
172
+.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }
173
+.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }
174
+.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }
175
+.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }
176
+.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }
177
+.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }
178
+.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }
179
+.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }
180
+.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }
181
+.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }
182
+.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }
183
+.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }
184
+.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }
185
+.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }
186
+.#{$fa-css-prefix}-group:before,
187
+.#{$fa-css-prefix}-users:before { content: $fa-var-users; }
188
+.#{$fa-css-prefix}-chain:before,
189
+.#{$fa-css-prefix}-link:before { content: $fa-var-link; }
190
+.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }
191
+.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }
192
+.#{$fa-css-prefix}-cut:before,
193
+.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }
194
+.#{$fa-css-prefix}-copy:before,
195
+.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }
196
+.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }
197
+.#{$fa-css-prefix}-save:before,
198
+.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }
199
+.#{$fa-css-prefix}-square:before { content: $fa-var-square; }
200
+.#{$fa-css-prefix}-navicon:before,
201
+.#{$fa-css-prefix}-reorder:before,
202
+.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }
203
+.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }
204
+.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }
205
+.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }
206
+.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }
207
+.#{$fa-css-prefix}-table:before { content: $fa-var-table; }
208
+.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }
209
+.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }
210
+.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }
211
+.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }
212
+.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }
213
+.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }
214
+.#{$fa-css-prefix}-money:before { content: $fa-var-money; }
215
+.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }
216
+.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }
217
+.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }
218
+.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }
219
+.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }
220
+.#{$fa-css-prefix}-unsorted:before,
221
+.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }
222
+.#{$fa-css-prefix}-sort-down:before,
223
+.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }
224
+.#{$fa-css-prefix}-sort-up:before,
225
+.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }
226
+.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }
227
+.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }
228
+.#{$fa-css-prefix}-rotate-left:before,
229
+.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }
230
+.#{$fa-css-prefix}-legal:before,
231
+.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }
232
+.#{$fa-css-prefix}-dashboard:before,
233
+.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }
234
+.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }
235
+.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }
236
+.#{$fa-css-prefix}-flash:before,
237
+.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }
238
+.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }
239
+.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }
240
+.#{$fa-css-prefix}-paste:before,
241
+.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }
242
+.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }
243
+.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }
244
+.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }
245
+.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }
246
+.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }
247
+.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }
248
+.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }
249
+.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }
250
+.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }
251
+.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }
252
+.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }
253
+.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }
254
+.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }
255
+.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }
256
+.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }
257
+.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }
258
+.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }
259
+.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }
260
+.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }
261
+.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }
262
+.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }
263
+.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }
264
+.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }
265
+.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }
266
+.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }
267
+.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }
268
+.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }
269
+.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }
270
+.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }
271
+.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }
272
+.#{$fa-css-prefix}-mobile-phone:before,
273
+.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }
274
+.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }
275
+.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }
276
+.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }
277
+.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }
278
+.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }
279
+.#{$fa-css-prefix}-mail-reply:before,
280
+.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }
281
+.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }
282
+.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }
283
+.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }
284
+.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }
285
+.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }
286
+.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }
287
+.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }
288
+.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }
289
+.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }
290
+.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }
291
+.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }
292
+.#{$fa-css-prefix}-code:before { content: $fa-var-code; }
293
+.#{$fa-css-prefix}-mail-reply-all:before,
294
+.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }
295
+.#{$fa-css-prefix}-star-half-empty:before,
296
+.#{$fa-css-prefix}-star-half-full:before,
297
+.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }
298
+.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }
299
+.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }
300
+.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }
301
+.#{$fa-css-prefix}-unlink:before,
302
+.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }
303
+.#{$fa-css-prefix}-question:before { content: $fa-var-question; }
304
+.#{$fa-css-prefix}-info:before { content: $fa-var-info; }
305
+.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }
306
+.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }
307
+.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }
308
+.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }
309
+.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }
310
+.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }
311
+.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }
312
+.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }
313
+.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }
314
+.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }
315
+.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }
316
+.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }
317
+.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }
318
+.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }
319
+.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }
320
+.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }
321
+.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }
322
+.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }
323
+.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }
324
+.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }
325
+.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }
326
+.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }
327
+.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }
328
+.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }
329
+.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }
330
+.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }
331
+.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }
332
+.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }
333
+.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }
334
+.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }
335
+.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }
336
+.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }
337
+.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }
338
+.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }
339
+.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }
340
+.#{$fa-css-prefix}-toggle-down:before,
341
+.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }
342
+.#{$fa-css-prefix}-toggle-up:before,
343
+.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }
344
+.#{$fa-css-prefix}-toggle-right:before,
345
+.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }
346
+.#{$fa-css-prefix}-euro:before,
347
+.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }
348
+.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }
349
+.#{$fa-css-prefix}-dollar:before,
350
+.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }
351
+.#{$fa-css-prefix}-rupee:before,
352
+.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }
353
+.#{$fa-css-prefix}-cny:before,
354
+.#{$fa-css-prefix}-rmb:before,
355
+.#{$fa-css-prefix}-yen:before,
356
+.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }
357
+.#{$fa-css-prefix}-ruble:before,
358
+.#{$fa-css-prefix}-rouble:before,
359
+.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }
360
+.#{$fa-css-prefix}-won:before,
361
+.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }
362
+.#{$fa-css-prefix}-bitcoin:before,
363
+.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }
364
+.#{$fa-css-prefix}-file:before { content: $fa-var-file; }
365
+.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }
366
+.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }
367
+.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }
368
+.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }
369
+.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }
370
+.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }
371
+.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }
372
+.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }
373
+.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }
374
+.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }
375
+.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }
376
+.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }
377
+.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }
378
+.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }
379
+.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }
380
+.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }
381
+.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }
382
+.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }
383
+.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }
384
+.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }
385
+.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }
386
+.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }
387
+.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }
388
+.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }
389
+.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }
390
+.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }
391
+.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }
392
+.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }
393
+.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }
394
+.#{$fa-css-prefix}-android:before { content: $fa-var-android; }
395
+.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }
396
+.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }
397
+.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }
398
+.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }
399
+.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }
400
+.#{$fa-css-prefix}-female:before { content: $fa-var-female; }
401
+.#{$fa-css-prefix}-male:before { content: $fa-var-male; }
402
+.#{$fa-css-prefix}-gittip:before,
403
+.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }
404
+.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }
405
+.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }
406
+.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }
407
+.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }
408
+.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }
409
+.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }
410
+.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }
411
+.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }
412
+.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }
413
+.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }
414
+.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }
415
+.#{$fa-css-prefix}-toggle-left:before,
416
+.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }
417
+.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }
418
+.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }
419
+.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }
420
+.#{$fa-css-prefix}-turkish-lira:before,
421
+.#{$fa-css-prefix}-try:before { content: $fa-var-try; }
422
+.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }
423
+.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }
424
+.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }
425
+.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }
426
+.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }
427
+.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }
428
+.#{$fa-css-prefix}-institution:before,
429
+.#{$fa-css-prefix}-bank:before,
430
+.#{$fa-css-prefix}-university:before { content: $fa-var-university; }
431
+.#{$fa-css-prefix}-mortar-board:before,
432
+.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }
433
+.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }
434
+.#{$fa-css-prefix}-google:before { content: $fa-var-google; }
435
+.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }
436
+.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }
437
+.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }
438
+.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }
439
+.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }
440
+.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }
441
+.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }
442
+.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }
443
+.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }
444
+.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }
445
+.#{$fa-css-prefix}-language:before { content: $fa-var-language; }
446
+.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }
447
+.#{$fa-css-prefix}-building:before { content: $fa-var-building; }
448
+.#{$fa-css-prefix}-child:before { content: $fa-var-child; }
449
+.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }
450
+.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }
451
+.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }
452
+.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }
453
+.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }
454
+.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }
455
+.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }
456
+.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }
457
+.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }
458
+.#{$fa-css-prefix}-automobile:before,
459
+.#{$fa-css-prefix}-car:before { content: $fa-var-car; }
460
+.#{$fa-css-prefix}-cab:before,
461
+.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }
462
+.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }
463
+.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }
464
+.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }
465
+.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }
466
+.#{$fa-css-prefix}-database:before { content: $fa-var-database; }
467
+.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }
468
+.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }
469
+.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }
470
+.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }
471
+.#{$fa-css-prefix}-file-photo-o:before,
472
+.#{$fa-css-prefix}-file-picture-o:before,
473
+.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }
474
+.#{$fa-css-prefix}-file-zip-o:before,
475
+.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }
476
+.#{$fa-css-prefix}-file-sound-o:before,
477
+.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }
478
+.#{$fa-css-prefix}-file-movie-o:before,
479
+.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }
480
+.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }
481
+.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }
482
+.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }
483
+.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }
484
+.#{$fa-css-prefix}-life-bouy:before,
485
+.#{$fa-css-prefix}-life-buoy:before,
486
+.#{$fa-css-prefix}-life-saver:before,
487
+.#{$fa-css-prefix}-support:before,
488
+.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }
489
+.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }
490
+.#{$fa-css-prefix}-ra:before,
491
+.#{$fa-css-prefix}-resistance:before,
492
+.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }
493
+.#{$fa-css-prefix}-ge:before,
494
+.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }
495
+.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }
496
+.#{$fa-css-prefix}-git:before { content: $fa-var-git; }
497
+.#{$fa-css-prefix}-y-combinator-square:before,
498
+.#{$fa-css-prefix}-yc-square:before,
499
+.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }
500
+.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }
501
+.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }
502
+.#{$fa-css-prefix}-wechat:before,
503
+.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }
504
+.#{$fa-css-prefix}-send:before,
505
+.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }
506
+.#{$fa-css-prefix}-send-o:before,
507
+.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }
508
+.#{$fa-css-prefix}-history:before { content: $fa-var-history; }
509
+.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }
510
+.#{$fa-css-prefix}-header:before { content: $fa-var-header; }
511
+.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }
512
+.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }
513
+.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }
514
+.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }
515
+.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }
516
+.#{$fa-css-prefix}-soccer-ball-o:before,
517
+.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }
518
+.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }
519
+.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }
520
+.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }
521
+.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }
522
+.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }
523
+.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }
524
+.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }
525
+.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }
526
+.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }
527
+.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }
528
+.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }
529
+.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }
530
+.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }
531
+.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }
532
+.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }
533
+.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }
534
+.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }
535
+.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }
536
+.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }
537
+.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }
538
+.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }
539
+.#{$fa-css-prefix}-at:before { content: $fa-var-at; }
540
+.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }
541
+.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }
542
+.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }
543
+.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }
544
+.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }
545
+.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }
546
+.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }
547
+.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }
548
+.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }
549
+.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }
550
+.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }
551
+.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }
552
+.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }
553
+.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }
554
+.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }
555
+.#{$fa-css-prefix}-shekel:before,
556
+.#{$fa-css-prefix}-sheqel:before,
557
+.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }
558
+.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }
559
+.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }
560
+.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }
561
+.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }
562
+.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }
563
+.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }
564
+.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }
565
+.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }
566
+.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }
567
+.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }
568
+.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }
569
+.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }
570
+.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }
571
+.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }
572
+.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }
573
+.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }
574
+.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }
575
+.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }
576
+.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }
577
+.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }
578
+.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }
579
+.#{$fa-css-prefix}-intersex:before,
580
+.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }
581
+.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }
582
+.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }
583
+.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }
584
+.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }
585
+.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }
586
+.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }
587
+.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }
588
+.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }
589
+.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }
590
+.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }
591
+.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }
592
+.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }
593
+.#{$fa-css-prefix}-server:before { content: $fa-var-server; }
594
+.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }
595
+.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }
596
+.#{$fa-css-prefix}-hotel:before,
597
+.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }
598
+.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }
599
+.#{$fa-css-prefix}-train:before { content: $fa-var-train; }
600
+.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }
601
+.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }
602
+.#{$fa-css-prefix}-yc:before,
603
+.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }
604
+.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }
605
+.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }
606
+.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }
607
+.#{$fa-css-prefix}-battery-4:before,
608
+.#{$fa-css-prefix}-battery:before,
609
+.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }
610
+.#{$fa-css-prefix}-battery-3:before,
611
+.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }
612
+.#{$fa-css-prefix}-battery-2:before,
613
+.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }
614
+.#{$fa-css-prefix}-battery-1:before,
615
+.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }
616
+.#{$fa-css-prefix}-battery-0:before,
617
+.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }
618
+.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }
619
+.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }
620
+.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }
621
+.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }
622
+.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }
623
+.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }
624
+.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }
625
+.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }
626
+.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }
627
+.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }
628
+.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }
629
+.#{$fa-css-prefix}-hourglass-1:before,
630
+.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }
631
+.#{$fa-css-prefix}-hourglass-2:before,
632
+.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }
633
+.#{$fa-css-prefix}-hourglass-3:before,
634
+.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }
635
+.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }
636
+.#{$fa-css-prefix}-hand-grab-o:before,
637
+.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }
638
+.#{$fa-css-prefix}-hand-stop-o:before,
639
+.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }
640
+.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }
641
+.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }
642
+.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }
643
+.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }
644
+.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }
645
+.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }
646
+.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }
647
+.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }
648
+.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }
649
+.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }
650
+.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }
651
+.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }
652
+.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }
653
+.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }
654
+.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }
655
+.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }
656
+.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }
657
+.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }
658
+.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }
659
+.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }
660
+.#{$fa-css-prefix}-tv:before,
661
+.#{$fa-css-prefix}-television:before { content: $fa-var-television; }
662
+.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }
663
+.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }
664
+.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }
665
+.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }
666
+.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }
667
+.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }
668
+.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }
669
+.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }
670
+.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }
671
+.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }
672
+.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }
673
+.#{$fa-css-prefix}-map:before { content: $fa-var-map; }
674
+.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }
675
+.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }
676
+.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }
677
+.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }
678
+.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }
679
+.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }
680
+.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }
681
+.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }
682
+.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }
683
+.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }
684
+.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }
685
+.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }
686
+.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }
687
+.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }
688
+.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }
689
+.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }
690
+.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }
691
+.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }
692
+.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }
693
+.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }
694
+.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }
695
+.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }
696
+.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }
697
+.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }
698
+.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }
699
+.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }
700
+.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }
701
+.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }
702
+.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }
703
+.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }
704
+.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }
705
+.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }
706
+.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }
707
+.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }
708
+.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }
709
+.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }
710
+.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }
711
+.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }
712
+.#{$fa-css-prefix}-asl-interpreting:before,
713
+.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }
714
+.#{$fa-css-prefix}-deafness:before,
715
+.#{$fa-css-prefix}-hard-of-hearing:before,
716
+.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }
717
+.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }
718
+.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }
719
+.#{$fa-css-prefix}-signing:before,
720
+.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }
721
+.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }
722
+.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }
723
+.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }
724
+.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }
725
+.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }
726
+.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }
727
+.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
728
+.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }
729
+.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }
730
+.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }
731
+.#{$fa-css-prefix}-google-plus-circle:before,
732
+.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }
733
+.#{$fa-css-prefix}-fa:before,
734
+.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }
735
+.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }
736
+.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }
737
+.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }
738
+.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }
739
+.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }
740
+.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }
741
+.#{$fa-css-prefix}-vcard:before,
742
+.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }
743
+.#{$fa-css-prefix}-vcard-o:before,
744
+.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }
745
+.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }
746
+.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }
747
+.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }
748
+.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }
749
+.#{$fa-css-prefix}-drivers-license:before,
750
+.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }
751
+.#{$fa-css-prefix}-drivers-license-o:before,
752
+.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }
753
+.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }
754
+.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }
755
+.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }
756
+.#{$fa-css-prefix}-thermometer-4:before,
757
+.#{$fa-css-prefix}-thermometer:before,
758
+.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }
759
+.#{$fa-css-prefix}-thermometer-3:before,
760
+.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }
761
+.#{$fa-css-prefix}-thermometer-2:before,
762
+.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }
763
+.#{$fa-css-prefix}-thermometer-1:before,
764
+.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }
765
+.#{$fa-css-prefix}-thermometer-0:before,
766
+.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }
767
+.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }
768
+.#{$fa-css-prefix}-bathtub:before,
769
+.#{$fa-css-prefix}-s15:before,
770
+.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }
771
+.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }
772
+.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }
773
+.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }
774
+.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }
775
+.#{$fa-css-prefix}-times-rectangle:before,
776
+.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }
777
+.#{$fa-css-prefix}-times-rectangle-o:before,
778
+.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }
779
+.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }
780
+.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }
781
+.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }
782
+.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }
783
+.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }
784
+.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }
785
+.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }
786
+.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }
787
+.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }
788
+.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }
789
+.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }

+ 13 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_larger.scss View File

@@ -0,0 +1,13 @@
1
+// Icon Sizes
2
+// -------------------------
3
+
4
+/* makes the font 33% larger relative to the icon container */
5
+.#{$fa-css-prefix}-lg {
6
+  font-size: (4em / 3);
7
+  line-height: (3em / 4);
8
+  vertical-align: -15%;
9
+}
10
+.#{$fa-css-prefix}-2x { font-size: 2em; }
11
+.#{$fa-css-prefix}-3x { font-size: 3em; }
12
+.#{$fa-css-prefix}-4x { font-size: 4em; }
13
+.#{$fa-css-prefix}-5x { font-size: 5em; }

+ 19 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_list.scss View File

@@ -0,0 +1,19 @@
1
+// List Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-ul {
5
+  padding-left: 0;
6
+  margin-left: $fa-li-width;
7
+  list-style-type: none;
8
+  > li { position: relative; }
9
+}
10
+.#{$fa-css-prefix}-li {
11
+  position: absolute;
12
+  left: -$fa-li-width;
13
+  width: $fa-li-width;
14
+  top: (2em / 14);
15
+  text-align: center;
16
+  &.#{$fa-css-prefix}-lg {
17
+    left: -$fa-li-width + (4em / 14);
18
+  }
19
+}

+ 60 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_mixins.scss View File

@@ -0,0 +1,60 @@
1
+// Mixins
2
+// --------------------------
3
+
4
+@mixin fa-icon() {
5
+  display: inline-block;
6
+  font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7
+  font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+  text-rendering: auto; // optimizelegibility throws things off #1094
9
+  -webkit-font-smoothing: antialiased;
10
+  -moz-osx-font-smoothing: grayscale;
11
+
12
+}
13
+
14
+@mixin fa-icon-rotate($degrees, $rotation) {
15
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16
+  -webkit-transform: rotate($degrees);
17
+      -ms-transform: rotate($degrees);
18
+          transform: rotate($degrees);
19
+}
20
+
21
+@mixin fa-icon-flip($horiz, $vert, $rotation) {
22
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23
+  -webkit-transform: scale($horiz, $vert);
24
+      -ms-transform: scale($horiz, $vert);
25
+          transform: scale($horiz, $vert);
26
+}
27
+
28
+
29
+// Only display content to screen readers. A la Bootstrap 4.
30
+//
31
+// See: http://a11yproject.com/posts/how-to-hide-content/
32
+
33
+@mixin sr-only {
34
+  position: absolute;
35
+  width: 1px;
36
+  height: 1px;
37
+  padding: 0;
38
+  margin: -1px;
39
+  overflow: hidden;
40
+  clip: rect(0,0,0,0);
41
+  border: 0;
42
+}
43
+
44
+// Use in conjunction with .sr-only to only display content when it's focused.
45
+//
46
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47
+//
48
+// Credit: HTML5 Boilerplate
49
+
50
+@mixin sr-only-focusable {
51
+  &:active,
52
+  &:focus {
53
+    position: static;
54
+    width: auto;
55
+    height: auto;
56
+    margin: 0;
57
+    overflow: visible;
58
+    clip: auto;
59
+  }
60
+}

+ 15 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_path.scss View File

@@ -0,0 +1,15 @@
1
+/* FONT PATH
2
+ * -------------------------- */
3
+
4
+@font-face {
5
+  font-family: 'FontAwesome';
6
+  src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7
+  src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8
+    url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9
+    url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10
+    url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11
+    url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12
+//  src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13
+  font-weight: normal;
14
+  font-style: normal;
15
+}

+ 20 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_rotated-flipped.scss View File

@@ -0,0 +1,20 @@
1
+// Rotated & Flipped Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }
5
+.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6
+.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7
+
8
+.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9
+.#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }
10
+
11
+// Hook for IE8-9
12
+// -------------------------
13
+
14
+:root .#{$fa-css-prefix}-rotate-90,
15
+:root .#{$fa-css-prefix}-rotate-180,
16
+:root .#{$fa-css-prefix}-rotate-270,
17
+:root .#{$fa-css-prefix}-flip-horizontal,
18
+:root .#{$fa-css-prefix}-flip-vertical {
19
+  filter: none;
20
+}

+ 5 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_screen-reader.scss View File

@@ -0,0 +1,5 @@
1
+// Screen Readers
2
+// -------------------------
3
+
4
+.sr-only { @include sr-only(); }
5
+.sr-only-focusable { @include sr-only-focusable(); }

+ 20 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_stacked.scss View File

@@ -0,0 +1,20 @@
1
+// Stacked Icons
2
+// -------------------------
3
+
4
+.#{$fa-css-prefix}-stack {
5
+  position: relative;
6
+  display: inline-block;
7
+  width: 2em;
8
+  height: 2em;
9
+  line-height: 2em;
10
+  vertical-align: middle;
11
+}
12
+.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13
+  position: absolute;
14
+  left: 0;
15
+  width: 100%;
16
+  text-align: center;
17
+}
18
+.#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19
+.#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20
+.#{$fa-css-prefix}-inverse { color: $fa-inverse; }

+ 800 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/_variables.scss View File

@@ -0,0 +1,800 @@
1
+// Variables
2
+// --------------------------
3
+
4
+$fa-font-path:        "../fonts" !default;
5
+$fa-font-size-base:   14px !default;
6
+$fa-line-height-base: 1 !default;
7
+//$fa-font-path:        "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
8
+$fa-css-prefix:       fa !default;
9
+$fa-version:          "4.7.0" !default;
10
+$fa-border-color:     #eee !default;
11
+$fa-inverse:          #fff !default;
12
+$fa-li-width:         (30em / 14) !default;
13
+
14
+$fa-var-500px: "\f26e";
15
+$fa-var-address-book: "\f2b9";
16
+$fa-var-address-book-o: "\f2ba";
17
+$fa-var-address-card: "\f2bb";
18
+$fa-var-address-card-o: "\f2bc";
19
+$fa-var-adjust: "\f042";
20
+$fa-var-adn: "\f170";
21
+$fa-var-align-center: "\f037";
22
+$fa-var-align-justify: "\f039";
23
+$fa-var-align-left: "\f036";
24
+$fa-var-align-right: "\f038";
25
+$fa-var-amazon: "\f270";
26
+$fa-var-ambulance: "\f0f9";
27
+$fa-var-american-sign-language-interpreting: "\f2a3";
28
+$fa-var-anchor: "\f13d";
29
+$fa-var-android: "\f17b";
30
+$fa-var-angellist: "\f209";
31
+$fa-var-angle-double-down: "\f103";
32
+$fa-var-angle-double-left: "\f100";
33
+$fa-var-angle-double-right: "\f101";
34
+$fa-var-angle-double-up: "\f102";
35
+$fa-var-angle-down: "\f107";
36
+$fa-var-angle-left: "\f104";
37
+$fa-var-angle-right: "\f105";
38
+$fa-var-angle-up: "\f106";
39
+$fa-var-apple: "\f179";
40
+$fa-var-archive: "\f187";
41
+$fa-var-area-chart: "\f1fe";
42
+$fa-var-arrow-circle-down: "\f0ab";
43
+$fa-var-arrow-circle-left: "\f0a8";
44
+$fa-var-arrow-circle-o-down: "\f01a";
45
+$fa-var-arrow-circle-o-left: "\f190";
46
+$fa-var-arrow-circle-o-right: "\f18e";
47
+$fa-var-arrow-circle-o-up: "\f01b";
48
+$fa-var-arrow-circle-right: "\f0a9";
49
+$fa-var-arrow-circle-up: "\f0aa";
50
+$fa-var-arrow-down: "\f063";
51
+$fa-var-arrow-left: "\f060";
52
+$fa-var-arrow-right: "\f061";
53
+$fa-var-arrow-up: "\f062";
54
+$fa-var-arrows: "\f047";
55
+$fa-var-arrows-alt: "\f0b2";
56
+$fa-var-arrows-h: "\f07e";
57
+$fa-var-arrows-v: "\f07d";
58
+$fa-var-asl-interpreting: "\f2a3";
59
+$fa-var-assistive-listening-systems: "\f2a2";
60
+$fa-var-asterisk: "\f069";
61
+$fa-var-at: "\f1fa";
62
+$fa-var-audio-description: "\f29e";
63
+$fa-var-automobile: "\f1b9";
64
+$fa-var-backward: "\f04a";
65
+$fa-var-balance-scale: "\f24e";
66
+$fa-var-ban: "\f05e";
67
+$fa-var-bandcamp: "\f2d5";
68
+$fa-var-bank: "\f19c";
69
+$fa-var-bar-chart: "\f080";
70
+$fa-var-bar-chart-o: "\f080";
71
+$fa-var-barcode: "\f02a";
72
+$fa-var-bars: "\f0c9";
73
+$fa-var-bath: "\f2cd";
74
+$fa-var-bathtub: "\f2cd";
75
+$fa-var-battery: "\f240";
76
+$fa-var-battery-0: "\f244";
77
+$fa-var-battery-1: "\f243";
78
+$fa-var-battery-2: "\f242";
79
+$fa-var-battery-3: "\f241";
80
+$fa-var-battery-4: "\f240";
81
+$fa-var-battery-empty: "\f244";
82
+$fa-var-battery-full: "\f240";
83
+$fa-var-battery-half: "\f242";
84
+$fa-var-battery-quarter: "\f243";
85
+$fa-var-battery-three-quarters: "\f241";
86
+$fa-var-bed: "\f236";
87
+$fa-var-beer: "\f0fc";
88
+$fa-var-behance: "\f1b4";
89
+$fa-var-behance-square: "\f1b5";
90
+$fa-var-bell: "\f0f3";
91
+$fa-var-bell-o: "\f0a2";
92
+$fa-var-bell-slash: "\f1f6";
93
+$fa-var-bell-slash-o: "\f1f7";
94
+$fa-var-bicycle: "\f206";
95
+$fa-var-binoculars: "\f1e5";
96
+$fa-var-birthday-cake: "\f1fd";
97
+$fa-var-bitbucket: "\f171";
98
+$fa-var-bitbucket-square: "\f172";
99
+$fa-var-bitcoin: "\f15a";
100
+$fa-var-black-tie: "\f27e";
101
+$fa-var-blind: "\f29d";
102
+$fa-var-bluetooth: "\f293";
103
+$fa-var-bluetooth-b: "\f294";
104
+$fa-var-bold: "\f032";
105
+$fa-var-bolt: "\f0e7";
106
+$fa-var-bomb: "\f1e2";
107
+$fa-var-book: "\f02d";
108
+$fa-var-bookmark: "\f02e";
109
+$fa-var-bookmark-o: "\f097";
110
+$fa-var-braille: "\f2a1";
111
+$fa-var-briefcase: "\f0b1";
112
+$fa-var-btc: "\f15a";
113
+$fa-var-bug: "\f188";
114
+$fa-var-building: "\f1ad";
115
+$fa-var-building-o: "\f0f7";
116
+$fa-var-bullhorn: "\f0a1";
117
+$fa-var-bullseye: "\f140";
118
+$fa-var-bus: "\f207";
119
+$fa-var-buysellads: "\f20d";
120
+$fa-var-cab: "\f1ba";
121
+$fa-var-calculator: "\f1ec";
122
+$fa-var-calendar: "\f073";
123
+$fa-var-calendar-check-o: "\f274";
124
+$fa-var-calendar-minus-o: "\f272";
125
+$fa-var-calendar-o: "\f133";
126
+$fa-var-calendar-plus-o: "\f271";
127
+$fa-var-calendar-times-o: "\f273";
128
+$fa-var-camera: "\f030";
129
+$fa-var-camera-retro: "\f083";
130
+$fa-var-car: "\f1b9";
131
+$fa-var-caret-down: "\f0d7";
132
+$fa-var-caret-left: "\f0d9";
133
+$fa-var-caret-right: "\f0da";
134
+$fa-var-caret-square-o-down: "\f150";
135
+$fa-var-caret-square-o-left: "\f191";
136
+$fa-var-caret-square-o-right: "\f152";
137
+$fa-var-caret-square-o-up: "\f151";
138
+$fa-var-caret-up: "\f0d8";
139
+$fa-var-cart-arrow-down: "\f218";
140
+$fa-var-cart-plus: "\f217";
141
+$fa-var-cc: "\f20a";
142
+$fa-var-cc-amex: "\f1f3";
143
+$fa-var-cc-diners-club: "\f24c";
144
+$fa-var-cc-discover: "\f1f2";
145
+$fa-var-cc-jcb: "\f24b";
146
+$fa-var-cc-mastercard: "\f1f1";
147
+$fa-var-cc-paypal: "\f1f4";
148
+$fa-var-cc-stripe: "\f1f5";
149
+$fa-var-cc-visa: "\f1f0";
150
+$fa-var-certificate: "\f0a3";
151
+$fa-var-chain: "\f0c1";
152
+$fa-var-chain-broken: "\f127";
153
+$fa-var-check: "\f00c";
154
+$fa-var-check-circle: "\f058";
155
+$fa-var-check-circle-o: "\f05d";
156
+$fa-var-check-square: "\f14a";
157
+$fa-var-check-square-o: "\f046";
158
+$fa-var-chevron-circle-down: "\f13a";
159
+$fa-var-chevron-circle-left: "\f137";
160
+$fa-var-chevron-circle-right: "\f138";
161
+$fa-var-chevron-circle-up: "\f139";
162
+$fa-var-chevron-down: "\f078";
163
+$fa-var-chevron-left: "\f053";
164
+$fa-var-chevron-right: "\f054";
165
+$fa-var-chevron-up: "\f077";
166
+$fa-var-child: "\f1ae";
167
+$fa-var-chrome: "\f268";
168
+$fa-var-circle: "\f111";
169
+$fa-var-circle-o: "\f10c";
170
+$fa-var-circle-o-notch: "\f1ce";
171
+$fa-var-circle-thin: "\f1db";
172
+$fa-var-clipboard: "\f0ea";
173
+$fa-var-clock-o: "\f017";
174
+$fa-var-clone: "\f24d";
175
+$fa-var-close: "\f00d";
176
+$fa-var-cloud: "\f0c2";
177
+$fa-var-cloud-download: "\f0ed";
178
+$fa-var-cloud-upload: "\f0ee";
179
+$fa-var-cny: "\f157";
180
+$fa-var-code: "\f121";
181
+$fa-var-code-fork: "\f126";
182
+$fa-var-codepen: "\f1cb";
183
+$fa-var-codiepie: "\f284";
184
+$fa-var-coffee: "\f0f4";
185
+$fa-var-cog: "\f013";
186
+$fa-var-cogs: "\f085";
187
+$fa-var-columns: "\f0db";
188
+$fa-var-comment: "\f075";
189
+$fa-var-comment-o: "\f0e5";
190
+$fa-var-commenting: "\f27a";
191
+$fa-var-commenting-o: "\f27b";
192
+$fa-var-comments: "\f086";
193
+$fa-var-comments-o: "\f0e6";
194
+$fa-var-compass: "\f14e";
195
+$fa-var-compress: "\f066";
196
+$fa-var-connectdevelop: "\f20e";
197
+$fa-var-contao: "\f26d";
198
+$fa-var-copy: "\f0c5";
199
+$fa-var-copyright: "\f1f9";
200
+$fa-var-creative-commons: "\f25e";
201
+$fa-var-credit-card: "\f09d";
202
+$fa-var-credit-card-alt: "\f283";
203
+$fa-var-crop: "\f125";
204
+$fa-var-crosshairs: "\f05b";
205
+$fa-var-css3: "\f13c";
206
+$fa-var-cube: "\f1b2";
207
+$fa-var-cubes: "\f1b3";
208
+$fa-var-cut: "\f0c4";
209
+$fa-var-cutlery: "\f0f5";
210
+$fa-var-dashboard: "\f0e4";
211
+$fa-var-dashcube: "\f210";
212
+$fa-var-database: "\f1c0";
213
+$fa-var-deaf: "\f2a4";
214
+$fa-var-deafness: "\f2a4";
215
+$fa-var-dedent: "\f03b";
216
+$fa-var-delicious: "\f1a5";
217
+$fa-var-desktop: "\f108";
218
+$fa-var-deviantart: "\f1bd";
219
+$fa-var-diamond: "\f219";
220
+$fa-var-digg: "\f1a6";
221
+$fa-var-dollar: "\f155";
222
+$fa-var-dot-circle-o: "\f192";
223
+$fa-var-download: "\f019";
224
+$fa-var-dribbble: "\f17d";
225
+$fa-var-drivers-license: "\f2c2";
226
+$fa-var-drivers-license-o: "\f2c3";
227
+$fa-var-dropbox: "\f16b";
228
+$fa-var-drupal: "\f1a9";
229
+$fa-var-edge: "\f282";
230
+$fa-var-edit: "\f044";
231
+$fa-var-eercast: "\f2da";
232
+$fa-var-eject: "\f052";
233
+$fa-var-ellipsis-h: "\f141";
234
+$fa-var-ellipsis-v: "\f142";
235
+$fa-var-empire: "\f1d1";
236
+$fa-var-envelope: "\f0e0";
237
+$fa-var-envelope-o: "\f003";
238
+$fa-var-envelope-open: "\f2b6";
239
+$fa-var-envelope-open-o: "\f2b7";
240
+$fa-var-envelope-square: "\f199";
241
+$fa-var-envira: "\f299";
242
+$fa-var-eraser: "\f12d";
243
+$fa-var-etsy: "\f2d7";
244
+$fa-var-eur: "\f153";
245
+$fa-var-euro: "\f153";
246
+$fa-var-exchange: "\f0ec";
247
+$fa-var-exclamation: "\f12a";
248
+$fa-var-exclamation-circle: "\f06a";
249
+$fa-var-exclamation-triangle: "\f071";
250
+$fa-var-expand: "\f065";
251
+$fa-var-expeditedssl: "\f23e";
252
+$fa-var-external-link: "\f08e";
253
+$fa-var-external-link-square: "\f14c";
254
+$fa-var-eye: "\f06e";
255
+$fa-var-eye-slash: "\f070";
256
+$fa-var-eyedropper: "\f1fb";
257
+$fa-var-fa: "\f2b4";
258
+$fa-var-facebook: "\f09a";
259
+$fa-var-facebook-f: "\f09a";
260
+$fa-var-facebook-official: "\f230";
261
+$fa-var-facebook-square: "\f082";
262
+$fa-var-fast-backward: "\f049";
263
+$fa-var-fast-forward: "\f050";
264
+$fa-var-fax: "\f1ac";
265
+$fa-var-feed: "\f09e";
266
+$fa-var-female: "\f182";
267
+$fa-var-fighter-jet: "\f0fb";
268
+$fa-var-file: "\f15b";
269
+$fa-var-file-archive-o: "\f1c6";
270
+$fa-var-file-audio-o: "\f1c7";
271
+$fa-var-file-code-o: "\f1c9";
272
+$fa-var-file-excel-o: "\f1c3";
273
+$fa-var-file-image-o: "\f1c5";
274
+$fa-var-file-movie-o: "\f1c8";
275
+$fa-var-file-o: "\f016";
276
+$fa-var-file-pdf-o: "\f1c1";
277
+$fa-var-file-photo-o: "\f1c5";
278
+$fa-var-file-picture-o: "\f1c5";
279
+$fa-var-file-powerpoint-o: "\f1c4";
280
+$fa-var-file-sound-o: "\f1c7";
281
+$fa-var-file-text: "\f15c";
282
+$fa-var-file-text-o: "\f0f6";
283
+$fa-var-file-video-o: "\f1c8";
284
+$fa-var-file-word-o: "\f1c2";
285
+$fa-var-file-zip-o: "\f1c6";
286
+$fa-var-files-o: "\f0c5";
287
+$fa-var-film: "\f008";
288
+$fa-var-filter: "\f0b0";
289
+$fa-var-fire: "\f06d";
290
+$fa-var-fire-extinguisher: "\f134";
291
+$fa-var-firefox: "\f269";
292
+$fa-var-first-order: "\f2b0";
293
+$fa-var-flag: "\f024";
294
+$fa-var-flag-checkered: "\f11e";
295
+$fa-var-flag-o: "\f11d";
296
+$fa-var-flash: "\f0e7";
297
+$fa-var-flask: "\f0c3";
298
+$fa-var-flickr: "\f16e";
299
+$fa-var-floppy-o: "\f0c7";
300
+$fa-var-folder: "\f07b";
301
+$fa-var-folder-o: "\f114";
302
+$fa-var-folder-open: "\f07c";
303
+$fa-var-folder-open-o: "\f115";
304
+$fa-var-font: "\f031";
305
+$fa-var-font-awesome: "\f2b4";
306
+$fa-var-fonticons: "\f280";
307
+$fa-var-fort-awesome: "\f286";
308
+$fa-var-forumbee: "\f211";
309
+$fa-var-forward: "\f04e";
310
+$fa-var-foursquare: "\f180";
311
+$fa-var-free-code-camp: "\f2c5";
312
+$fa-var-frown-o: "\f119";
313
+$fa-var-futbol-o: "\f1e3";
314
+$fa-var-gamepad: "\f11b";
315
+$fa-var-gavel: "\f0e3";
316
+$fa-var-gbp: "\f154";
317
+$fa-var-ge: "\f1d1";
318
+$fa-var-gear: "\f013";
319
+$fa-var-gears: "\f085";
320
+$fa-var-genderless: "\f22d";
321
+$fa-var-get-pocket: "\f265";
322
+$fa-var-gg: "\f260";
323
+$fa-var-gg-circle: "\f261";
324
+$fa-var-gift: "\f06b";
325
+$fa-var-git: "\f1d3";
326
+$fa-var-git-square: "\f1d2";
327
+$fa-var-github: "\f09b";
328
+$fa-var-github-alt: "\f113";
329
+$fa-var-github-square: "\f092";
330
+$fa-var-gitlab: "\f296";
331
+$fa-var-gittip: "\f184";
332
+$fa-var-glass: "\f000";
333
+$fa-var-glide: "\f2a5";
334
+$fa-var-glide-g: "\f2a6";
335
+$fa-var-globe: "\f0ac";
336
+$fa-var-google: "\f1a0";
337
+$fa-var-google-plus: "\f0d5";
338
+$fa-var-google-plus-circle: "\f2b3";
339
+$fa-var-google-plus-official: "\f2b3";
340
+$fa-var-google-plus-square: "\f0d4";
341
+$fa-var-google-wallet: "\f1ee";
342
+$fa-var-graduation-cap: "\f19d";
343
+$fa-var-gratipay: "\f184";
344
+$fa-var-grav: "\f2d6";
345
+$fa-var-group: "\f0c0";
346
+$fa-var-h-square: "\f0fd";
347
+$fa-var-hacker-news: "\f1d4";
348
+$fa-var-hand-grab-o: "\f255";
349
+$fa-var-hand-lizard-o: "\f258";
350
+$fa-var-hand-o-down: "\f0a7";
351
+$fa-var-hand-o-left: "\f0a5";
352
+$fa-var-hand-o-right: "\f0a4";
353
+$fa-var-hand-o-up: "\f0a6";
354
+$fa-var-hand-paper-o: "\f256";
355
+$fa-var-hand-peace-o: "\f25b";
356
+$fa-var-hand-pointer-o: "\f25a";
357
+$fa-var-hand-rock-o: "\f255";
358
+$fa-var-hand-scissors-o: "\f257";
359
+$fa-var-hand-spock-o: "\f259";
360
+$fa-var-hand-stop-o: "\f256";
361
+$fa-var-handshake-o: "\f2b5";
362
+$fa-var-hard-of-hearing: "\f2a4";
363
+$fa-var-hashtag: "\f292";
364
+$fa-var-hdd-o: "\f0a0";
365
+$fa-var-header: "\f1dc";
366
+$fa-var-headphones: "\f025";
367
+$fa-var-heart: "\f004";
368
+$fa-var-heart-o: "\f08a";
369
+$fa-var-heartbeat: "\f21e";
370
+$fa-var-history: "\f1da";
371
+$fa-var-home: "\f015";
372
+$fa-var-hospital-o: "\f0f8";
373
+$fa-var-hotel: "\f236";
374
+$fa-var-hourglass: "\f254";
375
+$fa-var-hourglass-1: "\f251";
376
+$fa-var-hourglass-2: "\f252";
377
+$fa-var-hourglass-3: "\f253";
378
+$fa-var-hourglass-end: "\f253";
379
+$fa-var-hourglass-half: "\f252";
380
+$fa-var-hourglass-o: "\f250";
381
+$fa-var-hourglass-start: "\f251";
382
+$fa-var-houzz: "\f27c";
383
+$fa-var-html5: "\f13b";
384
+$fa-var-i-cursor: "\f246";
385
+$fa-var-id-badge: "\f2c1";
386
+$fa-var-id-card: "\f2c2";
387
+$fa-var-id-card-o: "\f2c3";
388
+$fa-var-ils: "\f20b";
389
+$fa-var-image: "\f03e";
390
+$fa-var-imdb: "\f2d8";
391
+$fa-var-inbox: "\f01c";
392
+$fa-var-indent: "\f03c";
393
+$fa-var-industry: "\f275";
394
+$fa-var-info: "\f129";
395
+$fa-var-info-circle: "\f05a";
396
+$fa-var-inr: "\f156";
397
+$fa-var-instagram: "\f16d";
398
+$fa-var-institution: "\f19c";
399
+$fa-var-internet-explorer: "\f26b";
400
+$fa-var-intersex: "\f224";
401
+$fa-var-ioxhost: "\f208";
402
+$fa-var-italic: "\f033";
403
+$fa-var-joomla: "\f1aa";
404
+$fa-var-jpy: "\f157";
405
+$fa-var-jsfiddle: "\f1cc";
406
+$fa-var-key: "\f084";
407
+$fa-var-keyboard-o: "\f11c";
408
+$fa-var-krw: "\f159";
409
+$fa-var-language: "\f1ab";
410
+$fa-var-laptop: "\f109";
411
+$fa-var-lastfm: "\f202";
412
+$fa-var-lastfm-square: "\f203";
413
+$fa-var-leaf: "\f06c";
414
+$fa-var-leanpub: "\f212";
415
+$fa-var-legal: "\f0e3";
416
+$fa-var-lemon-o: "\f094";
417
+$fa-var-level-down: "\f149";
418
+$fa-var-level-up: "\f148";
419
+$fa-var-life-bouy: "\f1cd";
420
+$fa-var-life-buoy: "\f1cd";
421
+$fa-var-life-ring: "\f1cd";
422
+$fa-var-life-saver: "\f1cd";
423
+$fa-var-lightbulb-o: "\f0eb";
424
+$fa-var-line-chart: "\f201";
425
+$fa-var-link: "\f0c1";
426
+$fa-var-linkedin: "\f0e1";
427
+$fa-var-linkedin-square: "\f08c";
428
+$fa-var-linode: "\f2b8";
429
+$fa-var-linux: "\f17c";
430
+$fa-var-list: "\f03a";
431
+$fa-var-list-alt: "\f022";
432
+$fa-var-list-ol: "\f0cb";
433
+$fa-var-list-ul: "\f0ca";
434
+$fa-var-location-arrow: "\f124";
435
+$fa-var-lock: "\f023";
436
+$fa-var-long-arrow-down: "\f175";
437
+$fa-var-long-arrow-left: "\f177";
438
+$fa-var-long-arrow-right: "\f178";
439
+$fa-var-long-arrow-up: "\f176";
440
+$fa-var-low-vision: "\f2a8";
441
+$fa-var-magic: "\f0d0";
442
+$fa-var-magnet: "\f076";
443
+$fa-var-mail-forward: "\f064";
444
+$fa-var-mail-reply: "\f112";
445
+$fa-var-mail-reply-all: "\f122";
446
+$fa-var-male: "\f183";
447
+$fa-var-map: "\f279";
448
+$fa-var-map-marker: "\f041";
449
+$fa-var-map-o: "\f278";
450
+$fa-var-map-pin: "\f276";
451
+$fa-var-map-signs: "\f277";
452
+$fa-var-mars: "\f222";
453
+$fa-var-mars-double: "\f227";
454
+$fa-var-mars-stroke: "\f229";
455
+$fa-var-mars-stroke-h: "\f22b";
456
+$fa-var-mars-stroke-v: "\f22a";
457
+$fa-var-maxcdn: "\f136";
458
+$fa-var-meanpath: "\f20c";
459
+$fa-var-medium: "\f23a";
460
+$fa-var-medkit: "\f0fa";
461
+$fa-var-meetup: "\f2e0";
462
+$fa-var-meh-o: "\f11a";
463
+$fa-var-mercury: "\f223";
464
+$fa-var-microchip: "\f2db";
465
+$fa-var-microphone: "\f130";
466
+$fa-var-microphone-slash: "\f131";
467
+$fa-var-minus: "\f068";
468
+$fa-var-minus-circle: "\f056";
469
+$fa-var-minus-square: "\f146";
470
+$fa-var-minus-square-o: "\f147";
471
+$fa-var-mixcloud: "\f289";
472
+$fa-var-mobile: "\f10b";
473
+$fa-var-mobile-phone: "\f10b";
474
+$fa-var-modx: "\f285";
475
+$fa-var-money: "\f0d6";
476
+$fa-var-moon-o: "\f186";
477
+$fa-var-mortar-board: "\f19d";
478
+$fa-var-motorcycle: "\f21c";
479
+$fa-var-mouse-pointer: "\f245";
480
+$fa-var-music: "\f001";
481
+$fa-var-navicon: "\f0c9";
482
+$fa-var-neuter: "\f22c";
483
+$fa-var-newspaper-o: "\f1ea";
484
+$fa-var-object-group: "\f247";
485
+$fa-var-object-ungroup: "\f248";
486
+$fa-var-odnoklassniki: "\f263";
487
+$fa-var-odnoklassniki-square: "\f264";
488
+$fa-var-opencart: "\f23d";
489
+$fa-var-openid: "\f19b";
490
+$fa-var-opera: "\f26a";
491
+$fa-var-optin-monster: "\f23c";
492
+$fa-var-outdent: "\f03b";
493
+$fa-var-pagelines: "\f18c";
494
+$fa-var-paint-brush: "\f1fc";
495
+$fa-var-paper-plane: "\f1d8";
496
+$fa-var-paper-plane-o: "\f1d9";
497
+$fa-var-paperclip: "\f0c6";
498
+$fa-var-paragraph: "\f1dd";
499
+$fa-var-paste: "\f0ea";
500
+$fa-var-pause: "\f04c";
501
+$fa-var-pause-circle: "\f28b";
502
+$fa-var-pause-circle-o: "\f28c";
503
+$fa-var-paw: "\f1b0";
504
+$fa-var-paypal: "\f1ed";
505
+$fa-var-pencil: "\f040";
506
+$fa-var-pencil-square: "\f14b";
507
+$fa-var-pencil-square-o: "\f044";
508
+$fa-var-percent: "\f295";
509
+$fa-var-phone: "\f095";
510
+$fa-var-phone-square: "\f098";
511
+$fa-var-photo: "\f03e";
512
+$fa-var-picture-o: "\f03e";
513
+$fa-var-pie-chart: "\f200";
514
+$fa-var-pied-piper: "\f2ae";
515
+$fa-var-pied-piper-alt: "\f1a8";
516
+$fa-var-pied-piper-pp: "\f1a7";
517
+$fa-var-pinterest: "\f0d2";
518
+$fa-var-pinterest-p: "\f231";
519
+$fa-var-pinterest-square: "\f0d3";
520
+$fa-var-plane: "\f072";
521
+$fa-var-play: "\f04b";
522
+$fa-var-play-circle: "\f144";
523
+$fa-var-play-circle-o: "\f01d";
524
+$fa-var-plug: "\f1e6";
525
+$fa-var-plus: "\f067";
526
+$fa-var-plus-circle: "\f055";
527
+$fa-var-plus-square: "\f0fe";
528
+$fa-var-plus-square-o: "\f196";
529
+$fa-var-podcast: "\f2ce";
530
+$fa-var-power-off: "\f011";
531
+$fa-var-print: "\f02f";
532
+$fa-var-product-hunt: "\f288";
533
+$fa-var-puzzle-piece: "\f12e";
534
+$fa-var-qq: "\f1d6";
535
+$fa-var-qrcode: "\f029";
536
+$fa-var-question: "\f128";
537
+$fa-var-question-circle: "\f059";
538
+$fa-var-question-circle-o: "\f29c";
539
+$fa-var-quora: "\f2c4";
540
+$fa-var-quote-left: "\f10d";
541
+$fa-var-quote-right: "\f10e";
542
+$fa-var-ra: "\f1d0";
543
+$fa-var-random: "\f074";
544
+$fa-var-ravelry: "\f2d9";
545
+$fa-var-rebel: "\f1d0";
546
+$fa-var-recycle: "\f1b8";
547
+$fa-var-reddit: "\f1a1";
548
+$fa-var-reddit-alien: "\f281";
549
+$fa-var-reddit-square: "\f1a2";
550
+$fa-var-refresh: "\f021";
551
+$fa-var-registered: "\f25d";
552
+$fa-var-remove: "\f00d";
553
+$fa-var-renren: "\f18b";
554
+$fa-var-reorder: "\f0c9";
555
+$fa-var-repeat: "\f01e";
556
+$fa-var-reply: "\f112";
557
+$fa-var-reply-all: "\f122";
558
+$fa-var-resistance: "\f1d0";
559
+$fa-var-retweet: "\f079";
560
+$fa-var-rmb: "\f157";
561
+$fa-var-road: "\f018";
562
+$fa-var-rocket: "\f135";
563
+$fa-var-rotate-left: "\f0e2";
564
+$fa-var-rotate-right: "\f01e";
565
+$fa-var-rouble: "\f158";
566
+$fa-var-rss: "\f09e";
567
+$fa-var-rss-square: "\f143";
568
+$fa-var-rub: "\f158";
569
+$fa-var-ruble: "\f158";
570
+$fa-var-rupee: "\f156";
571
+$fa-var-s15: "\f2cd";
572
+$fa-var-safari: "\f267";
573
+$fa-var-save: "\f0c7";
574
+$fa-var-scissors: "\f0c4";
575
+$fa-var-scribd: "\f28a";
576
+$fa-var-search: "\f002";
577
+$fa-var-search-minus: "\f010";
578
+$fa-var-search-plus: "\f00e";
579
+$fa-var-sellsy: "\f213";
580
+$fa-var-send: "\f1d8";
581
+$fa-var-send-o: "\f1d9";
582
+$fa-var-server: "\f233";
583
+$fa-var-share: "\f064";
584
+$fa-var-share-alt: "\f1e0";
585
+$fa-var-share-alt-square: "\f1e1";
586
+$fa-var-share-square: "\f14d";
587
+$fa-var-share-square-o: "\f045";
588
+$fa-var-shekel: "\f20b";
589
+$fa-var-sheqel: "\f20b";
590
+$fa-var-shield: "\f132";
591
+$fa-var-ship: "\f21a";
592
+$fa-var-shirtsinbulk: "\f214";
593
+$fa-var-shopping-bag: "\f290";
594
+$fa-var-shopping-basket: "\f291";
595
+$fa-var-shopping-cart: "\f07a";
596
+$fa-var-shower: "\f2cc";
597
+$fa-var-sign-in: "\f090";
598
+$fa-var-sign-language: "\f2a7";
599
+$fa-var-sign-out: "\f08b";
600
+$fa-var-signal: "\f012";
601
+$fa-var-signing: "\f2a7";
602
+$fa-var-simplybuilt: "\f215";
603
+$fa-var-sitemap: "\f0e8";
604
+$fa-var-skyatlas: "\f216";
605
+$fa-var-skype: "\f17e";
606
+$fa-var-slack: "\f198";
607
+$fa-var-sliders: "\f1de";
608
+$fa-var-slideshare: "\f1e7";
609
+$fa-var-smile-o: "\f118";
610
+$fa-var-snapchat: "\f2ab";
611
+$fa-var-snapchat-ghost: "\f2ac";
612
+$fa-var-snapchat-square: "\f2ad";
613
+$fa-var-snowflake-o: "\f2dc";
614
+$fa-var-soccer-ball-o: "\f1e3";
615
+$fa-var-sort: "\f0dc";
616
+$fa-var-sort-alpha-asc: "\f15d";
617
+$fa-var-sort-alpha-desc: "\f15e";
618
+$fa-var-sort-amount-asc: "\f160";
619
+$fa-var-sort-amount-desc: "\f161";
620
+$fa-var-sort-asc: "\f0de";
621
+$fa-var-sort-desc: "\f0dd";
622
+$fa-var-sort-down: "\f0dd";
623
+$fa-var-sort-numeric-asc: "\f162";
624
+$fa-var-sort-numeric-desc: "\f163";
625
+$fa-var-sort-up: "\f0de";
626
+$fa-var-soundcloud: "\f1be";
627
+$fa-var-space-shuttle: "\f197";
628
+$fa-var-spinner: "\f110";
629
+$fa-var-spoon: "\f1b1";
630
+$fa-var-spotify: "\f1bc";
631
+$fa-var-square: "\f0c8";
632
+$fa-var-square-o: "\f096";
633
+$fa-var-stack-exchange: "\f18d";
634
+$fa-var-stack-overflow: "\f16c";
635
+$fa-var-star: "\f005";
636
+$fa-var-star-half: "\f089";
637
+$fa-var-star-half-empty: "\f123";
638
+$fa-var-star-half-full: "\f123";
639
+$fa-var-star-half-o: "\f123";
640
+$fa-var-star-o: "\f006";
641
+$fa-var-steam: "\f1b6";
642
+$fa-var-steam-square: "\f1b7";
643
+$fa-var-step-backward: "\f048";
644
+$fa-var-step-forward: "\f051";
645
+$fa-var-stethoscope: "\f0f1";
646
+$fa-var-sticky-note: "\f249";
647
+$fa-var-sticky-note-o: "\f24a";
648
+$fa-var-stop: "\f04d";
649
+$fa-var-stop-circle: "\f28d";
650
+$fa-var-stop-circle-o: "\f28e";
651
+$fa-var-street-view: "\f21d";
652
+$fa-var-strikethrough: "\f0cc";
653
+$fa-var-stumbleupon: "\f1a4";
654
+$fa-var-stumbleupon-circle: "\f1a3";
655
+$fa-var-subscript: "\f12c";
656
+$fa-var-subway: "\f239";
657
+$fa-var-suitcase: "\f0f2";
658
+$fa-var-sun-o: "\f185";
659
+$fa-var-superpowers: "\f2dd";
660
+$fa-var-superscript: "\f12b";
661
+$fa-var-support: "\f1cd";
662
+$fa-var-table: "\f0ce";
663
+$fa-var-tablet: "\f10a";
664
+$fa-var-tachometer: "\f0e4";
665
+$fa-var-tag: "\f02b";
666
+$fa-var-tags: "\f02c";
667
+$fa-var-tasks: "\f0ae";
668
+$fa-var-taxi: "\f1ba";
669
+$fa-var-telegram: "\f2c6";
670
+$fa-var-television: "\f26c";
671
+$fa-var-tencent-weibo: "\f1d5";
672
+$fa-var-terminal: "\f120";
673
+$fa-var-text-height: "\f034";
674
+$fa-var-text-width: "\f035";
675
+$fa-var-th: "\f00a";
676
+$fa-var-th-large: "\f009";
677
+$fa-var-th-list: "\f00b";
678
+$fa-var-themeisle: "\f2b2";
679
+$fa-var-thermometer: "\f2c7";
680
+$fa-var-thermometer-0: "\f2cb";
681
+$fa-var-thermometer-1: "\f2ca";
682
+$fa-var-thermometer-2: "\f2c9";
683
+$fa-var-thermometer-3: "\f2c8";
684
+$fa-var-thermometer-4: "\f2c7";
685
+$fa-var-thermometer-empty: "\f2cb";
686
+$fa-var-thermometer-full: "\f2c7";
687
+$fa-var-thermometer-half: "\f2c9";
688
+$fa-var-thermometer-quarter: "\f2ca";
689
+$fa-var-thermometer-three-quarters: "\f2c8";
690
+$fa-var-thumb-tack: "\f08d";
691
+$fa-var-thumbs-down: "\f165";
692
+$fa-var-thumbs-o-down: "\f088";
693
+$fa-var-thumbs-o-up: "\f087";
694
+$fa-var-thumbs-up: "\f164";
695
+$fa-var-ticket: "\f145";
696
+$fa-var-times: "\f00d";
697
+$fa-var-times-circle: "\f057";
698
+$fa-var-times-circle-o: "\f05c";
699
+$fa-var-times-rectangle: "\f2d3";
700
+$fa-var-times-rectangle-o: "\f2d4";
701
+$fa-var-tint: "\f043";
702
+$fa-var-toggle-down: "\f150";
703
+$fa-var-toggle-left: "\f191";
704
+$fa-var-toggle-off: "\f204";
705
+$fa-var-toggle-on: "\f205";
706
+$fa-var-toggle-right: "\f152";
707
+$fa-var-toggle-up: "\f151";
708
+$fa-var-trademark: "\f25c";
709
+$fa-var-train: "\f238";
710
+$fa-var-transgender: "\f224";
711
+$fa-var-transgender-alt: "\f225";
712
+$fa-var-trash: "\f1f8";
713
+$fa-var-trash-o: "\f014";
714
+$fa-var-tree: "\f1bb";
715
+$fa-var-trello: "\f181";
716
+$fa-var-tripadvisor: "\f262";
717
+$fa-var-trophy: "\f091";
718
+$fa-var-truck: "\f0d1";
719
+$fa-var-try: "\f195";
720
+$fa-var-tty: "\f1e4";
721
+$fa-var-tumblr: "\f173";
722
+$fa-var-tumblr-square: "\f174";
723
+$fa-var-turkish-lira: "\f195";
724
+$fa-var-tv: "\f26c";
725
+$fa-var-twitch: "\f1e8";
726
+$fa-var-twitter: "\f099";
727
+$fa-var-twitter-square: "\f081";
728
+$fa-var-umbrella: "\f0e9";
729
+$fa-var-underline: "\f0cd";
730
+$fa-var-undo: "\f0e2";
731
+$fa-var-universal-access: "\f29a";
732
+$fa-var-university: "\f19c";
733
+$fa-var-unlink: "\f127";
734
+$fa-var-unlock: "\f09c";
735
+$fa-var-unlock-alt: "\f13e";
736
+$fa-var-unsorted: "\f0dc";
737
+$fa-var-upload: "\f093";
738
+$fa-var-usb: "\f287";
739
+$fa-var-usd: "\f155";
740
+$fa-var-user: "\f007";
741
+$fa-var-user-circle: "\f2bd";
742
+$fa-var-user-circle-o: "\f2be";
743
+$fa-var-user-md: "\f0f0";
744
+$fa-var-user-o: "\f2c0";
745
+$fa-var-user-plus: "\f234";
746
+$fa-var-user-secret: "\f21b";
747
+$fa-var-user-times: "\f235";
748
+$fa-var-users: "\f0c0";
749
+$fa-var-vcard: "\f2bb";
750
+$fa-var-vcard-o: "\f2bc";
751
+$fa-var-venus: "\f221";
752
+$fa-var-venus-double: "\f226";
753
+$fa-var-venus-mars: "\f228";
754
+$fa-var-viacoin: "\f237";
755
+$fa-var-viadeo: "\f2a9";
756
+$fa-var-viadeo-square: "\f2aa";
757
+$fa-var-video-camera: "\f03d";
758
+$fa-var-vimeo: "\f27d";
759
+$fa-var-vimeo-square: "\f194";
760
+$fa-var-vine: "\f1ca";
761
+$fa-var-vk: "\f189";
762
+$fa-var-volume-control-phone: "\f2a0";
763
+$fa-var-volume-down: "\f027";
764
+$fa-var-volume-off: "\f026";
765
+$fa-var-volume-up: "\f028";
766
+$fa-var-warning: "\f071";
767
+$fa-var-wechat: "\f1d7";
768
+$fa-var-weibo: "\f18a";
769
+$fa-var-weixin: "\f1d7";
770
+$fa-var-whatsapp: "\f232";
771
+$fa-var-wheelchair: "\f193";
772
+$fa-var-wheelchair-alt: "\f29b";
773
+$fa-var-wifi: "\f1eb";
774
+$fa-var-wikipedia-w: "\f266";
775
+$fa-var-window-close: "\f2d3";
776
+$fa-var-window-close-o: "\f2d4";
777
+$fa-var-window-maximize: "\f2d0";
778
+$fa-var-window-minimize: "\f2d1";
779
+$fa-var-window-restore: "\f2d2";
780
+$fa-var-windows: "\f17a";
781
+$fa-var-won: "\f159";
782
+$fa-var-wordpress: "\f19a";
783
+$fa-var-wpbeginner: "\f297";
784
+$fa-var-wpexplorer: "\f2de";
785
+$fa-var-wpforms: "\f298";
786
+$fa-var-wrench: "\f0ad";
787
+$fa-var-xing: "\f168";
788
+$fa-var-xing-square: "\f169";
789
+$fa-var-y-combinator: "\f23b";
790
+$fa-var-y-combinator-square: "\f1d4";
791
+$fa-var-yahoo: "\f19e";
792
+$fa-var-yc: "\f23b";
793
+$fa-var-yc-square: "\f1d4";
794
+$fa-var-yelp: "\f1e9";
795
+$fa-var-yen: "\f157";
796
+$fa-var-yoast: "\f2b1";
797
+$fa-var-youtube: "\f167";
798
+$fa-var-youtube-play: "\f16a";
799
+$fa-var-youtube-square: "\f166";
800
+

+ 18 - 0
frontend_app_thread/dist/font/font-awesome-4.7.0/scss/font-awesome.scss View File

@@ -0,0 +1,18 @@
1
+/*!
2
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+@import "variables";
7
+@import "mixins";
8
+@import "path";
9
+@import "core";
10
+@import "larger";
11
+@import "fixed-width";
12
+@import "list";
13
+@import "bordered-pulled";
14
+@import "animated";
15
+@import "rotated-flipped";
16
+@import "stacked";
17
+@import "icons";
18
+@import "screen-reader";

+ 109 - 0
frontend_app_thread/dist/index.html View File

@@ -0,0 +1,109 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+  <meta charset='utf-8' />
5
+  <meta name="viewport" content="width=device-width, user-scalable=no" />
6
+  <title>Thread App Tracim</title>
7
+  <link rel='shortcut icon' href='favicon.ico'>
8
+
9
+  <link rel="stylesheet" type="text/css" href="./font/font-awesome-4.7.0/css/font-awesome.css">
10
+  <link href="https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700" rel="stylesheet">
11
+  <link rel="stylesheet" type="text/css" href="./dev/bootstrap-4.0.0-beta.css">
12
+</head>
13
+<body>
14
+<script src="./dev/jquery-3.2.1.js"></script>
15
+<script src="./dev/popper-1.12.3.js"></script>
16
+<script src="./dev/bootstrap-4.0.0-beta.2.js"></script>
17
+
18
+<script type="text/javascript" src="/asset/tinymce/js/tinymce/jquery.tinymce.min.js"></script>
19
+<script type="text/javascript" src="/asset/tinymce/js/tinymce/tinymce.min.js"></script>
20
+
21
+<div id='content'></div>
22
+
23
+<script type='text/javascript'>
24
+  (function () {
25
+    wysiwyg = function (selector, handleOnChange) {
26
+      function base64EncodeAndTinyMceInsert (files) {
27
+        for (var i = 0; i < files.length; i++) {
28
+          if (files[i].size > 1000000)
29
+            files[i].allowed = confirm(files[i].name + " fait plus de 1mo et peut prendre du temps à insérer, voulez-vous continuer ?")
30
+        }
31
+
32
+        for (var i = 0; i < files.length; i++) {
33
+          if (files[i].allowed !== false && files[i].type.match('image.*')) {
34
+            var img = document.createElement('img')
35
+
36
+            var fr = new FileReader()
37
+
38
+            fr.readAsDataURL(files[i])
39
+
40
+            fr.onloadend = function (e) {
41
+              img.src = e.target.result
42
+              tinymce.activeEditor.execCommand('mceInsertContent', false, img.outerHTML)
43
+            }
44
+          }
45
+        }
46
+      }
47
+
48
+      // HACK: The tiny mce source code modal contain a textarea, but we
49
+      // can't edit it (like it's readonly). The following solution
50
+      // solve the bug: https://stackoverflow.com/questions/36952148/tinymce-code-editor-is-readonly-in-jtable-grid
51
+      $(document).on('focusin', function(e) {
52
+        if ($(e.target).closest(".mce-window").length) {
53
+          e.stopImmediatePropagation();
54
+        }
55
+      });
56
+
57
+      tinymce.init({
58
+        selector: selector,
59
+        menubar: false,
60
+        resize: false,
61
+        skin: "lightgray",
62
+        plugins:'advlist autolink lists link image charmap print preview anchor textcolor searchreplace visualblocks code fullscreen insertdatetime media table contextmenu paste code help',
63
+        toolbar: 'insert | formatselect | bold italic underline strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify  | numlist bullist outdent indent  | table | code ',
64
+        content_style: "div {height: 100%;}",
65
+        setup: function ($editor) {
66
+          $editor.on('change', function(e) {
67
+            handleOnChange({target: {value: $editor.getContent()}}) // target.value to emulate a js event so the react handler can expect one
68
+          })
69
+
70
+          //////////////////////////////////////////////
71
+          // add custom btn to handle image by selecting them with system explorer
72
+          $editor.addButton('customInsertImage', {
73
+            icon: 'mce-ico mce-i-image',
74
+            title: 'Image',
75
+            onclick: function () {
76
+              if ($('#hidden_tinymce_fileinput').length > 0) $('#hidden_tinymce_fileinput').remove()
77
+
78
+              fileTag = document.createElement('input')
79
+              fileTag.id = 'hidden_tinymce_fileinput'
80
+              fileTag.type = 'file'
81
+              $('body').append(fileTag)
82
+
83
+              $('#hidden_tinymce_fileinput').on('change', function () {
84
+                base64EncodeAndTinyMceInsert($(this)[0].files)
85
+              })
86
+
87
+              $('#hidden_tinymce_fileinput').click()
88
+            }
89
+          })
90
+
91
+          //////////////////////////////////////////////
92
+          // Handle drag & drop image into TinyMce by encoding them in base64 (to avoid uploading them somewhere and keep saving comment in string format)
93
+          $editor
94
+            .on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {
95
+              e.preventDefault()
96
+              e.stopPropagation()
97
+            })
98
+            .on('drop', function(e) {
99
+              base64EncodeAndTinyMceInsert(e.dataTransfer.files)
100
+            })
101
+        }
102
+      })
103
+    }
104
+  })()
105
+</script>
106
+
107
+<script src='./thread.app.dev.js'></script>
108
+</body>
109
+</html>

+ 62 - 0
frontend_app_thread/package.json View File

@@ -0,0 +1,62 @@
1
+{
2
+  "name": "tracim_app_thread",
3
+  "version": "1.1.2",
4
+  "description": "",
5
+  "main": "index.js",
6
+  "scripts": {
7
+    "servdev": "NODE_ENV=development webpack-dev-server --watch --colors --inline --hot --progress",
8
+    "servdevwindoz": "set NODE_ENV=development&& webpack-dev-server --watch --colors --inline --hot --progress",
9
+    "servdev-dashboard": "NODE_ENV=development webpack-dashboard -m -p 9872 -- webpack-dev-server --watch --colors --inline --hot --progress",
10
+    "build": "NODE_ENV=production webpack -p",
11
+    "buildwindoz": "set NODE_ENV=production&& webpack -p",
12
+    "test": "echo \"Error: no test specified\" && exit 1"
13
+  },
14
+  "author": "",
15
+  "license": "ISC",
16
+  "dependencies": {
17
+    "babel-core": "^6.26.0",
18
+    "babel-eslint": "^8.2.1",
19
+    "babel-loader": "^7.1.2",
20
+    "babel-plugin-transform-class-properties": "^6.24.1",
21
+    "babel-plugin-transform-object-assign": "^6.22.0",
22
+    "babel-plugin-transform-object-rest-spread": "^6.26.0",
23
+    "babel-polyfill": "^6.26.0",
24
+    "babel-preset-env": "^1.6.1",
25
+    "babel-preset-react": "^6.24.1",
26
+    "classnames": "^2.2.5",
27
+    "css-loader": "^0.28.7",
28
+    "file-loader": "^1.1.5",
29
+    "i18next": "^10.5.0",
30
+    "prop-types": "^15.6.0",
31
+    "react": "^16.0.0",
32
+    "react-dom": "^16.0.0",
33
+    "react-i18next": "^7.5.0",
34
+    "standard": "^11.0.0",
35
+    "standard-loader": "^6.0.1",
36
+    "style-loader": "^0.19.0",
37
+    "stylus": "^0.54.5",
38
+    "stylus-loader": "^3.0.1",
39
+    "tracim_lib": "git://github.com/tracim/tracim_lib.git",
40
+    "url-loader": "^0.6.2",
41
+    "webpack": "^3.8.1",
42
+    "whatwg-fetch": "^2.0.3"
43
+  },
44
+  "devDependencies": {
45
+    "webpack-dashboard": "^1.1.1",
46
+    "webpack-dev-server": "^2.9.2"
47
+  },
48
+  "standard": {
49
+    "globals": [
50
+      "fetch",
51
+      "history",
52
+      "btoa",
53
+      "wysiwyg",
54
+      "tinymce",
55
+      "GLOBAL_renderAppFull",
56
+      "GLOBAL_unmountApp",
57
+      "GLOBAL_dispatchEvent"
58
+    ],
59
+    "parser": "babel-eslint",
60
+    "ignore": []
61
+  }
62
+}

+ 70 - 0
frontend_app_thread/src/action.async.js View File

@@ -0,0 +1,70 @@
1
+import { FETCH_CONFIG } from './helper.js'
2
+
3
+export const getThreadContent = (user, apiUrl, idWorkspace, idContent) =>
4
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/threads/${idContent}`, {
5
+    headers: {
6
+      ...FETCH_CONFIG.headers,
7
+      'Authorization': 'Basic ' + user.auth
8
+    },
9
+    method: 'GET'
10
+  })
11
+
12
+export const getThreadComment = (user, apiUrl, idWorkspace, idContent) =>
13
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/contents/${idContent}/comments`, {
14
+    headers: {
15
+      ...FETCH_CONFIG.headers,
16
+      'Authorization': 'Basic ' + user.auth
17
+    },
18
+    method: 'GET'
19
+  })
20
+
21
+export const postThreadNewComment = (user, apiUrl, idWorkspace, idContent, newComment) =>
22
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/contents/${idContent}/comments`, {
23
+    headers: {
24
+      ...FETCH_CONFIG.headers,
25
+      'Authorization': 'Basic ' + user.auth
26
+    },
27
+    method: 'POST',
28
+    body: JSON.stringify({
29
+      raw_content: newComment
30
+    })
31
+  })
32
+
33
+export const putThreadStatus = (user, apiUrl, idWorkspace, idContent, newStatus) =>
34
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/threads/${idContent}/status`, {
35
+    headers: {
36
+      ...FETCH_CONFIG.headers,
37
+      'Authorization': 'Basic ' + user.auth
38
+    },
39
+    method: 'PUT',
40
+    body: JSON.stringify({
41
+      status: newStatus
42
+    })
43
+  })
44
+
45
+export const postThreadContent = (user, apiUrl, idWorkspace, idFolder, contentType, newContentName) =>
46
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/contents`, {
47
+    headers: {
48
+      ...FETCH_CONFIG.headers,
49
+      'Authorization': 'Basic ' + user.auth
50
+    },
51
+    method: 'POST',
52
+    body: JSON.stringify({
53
+      parent_id: idFolder,
54
+      content_type: contentType,
55
+      label: newContentName
56
+    })
57
+  })
58
+
59
+export const putThreadContent = (user, apiUrl, idWorkspace, idContent, label) =>
60
+  fetch(`${apiUrl}/workspaces/${idWorkspace}/threads/${idContent}`, {
61
+    headers: {
62
+      ...FETCH_CONFIG.headers,
63
+      'Authorization': 'Basic ' + user.auth
64
+    },
65
+    method: 'PUT',
66
+    body: JSON.stringify({
67
+      label: label,
68
+      raw_content: '' // threads have no content
69
+    })
70
+  })

+ 98 - 0
frontend_app_thread/src/container/PopupCreateThread.jsx View File

@@ -0,0 +1,98 @@
1
+import React from 'react'
2
+import {
3
+  CardPopupCreateContent,
4
+  handleFetchResult
5
+} from 'tracim_lib'
6
+import { postThreadContent } from '../action.async.js'
7
+
8
+const debug = { // outdated
9
+  config: {
10
+    label: 'Thread',
11
+    slug: 'thread',
12
+    faIcon: 'file-text-o',
13
+    hexcolor: '#ad4cf9',
14
+    creationLabel: 'Write a thread',
15
+    domContainer: 'appContainer',
16
+    apiUrl: 'http://localhost:3001',
17
+    mockApiUrl: 'http://localhost:8071',
18
+    apiHeader: {
19
+      'Accept': 'application/json',
20
+      'Content-Type': 'application/json',
21
+      'Authorization': 'Basic ' + btoa(`${'admin@admin.admin'}:${'admin@admin.admin'}`)
22
+    }
23
+  },
24
+  loggedUser: {
25
+    id: 1,
26
+    username: 'Smoi',
27
+    firstname: 'Côme',
28
+    lastname: 'Stoilenom',
29
+    email: 'osef@algoo.fr',
30
+    avatar: 'https://avatars3.githubusercontent.com/u/11177014?s=460&v=4'
31
+  },
32
+  idWorkspace: 1,
33
+  idFolder: null
34
+}
35
+
36
+class PopupCreateHtmlDocument extends React.Component {
37
+  constructor (props) {
38
+    super(props)
39
+    this.state = {
40
+      appName: 'thread',
41
+      config: props.data ? props.data.config : debug.config,
42
+      loggedUser: props.data ? props.data.loggedUser : debug.loggedUser,
43
+      idWorkspace: props.data ? props.data.idWorkspace : debug.idWorkspace,
44
+      idFolder: props.data ? props.data.idFolder : debug.idFolder,
45
+      newContentName: ''
46
+    }
47
+  }
48
+
49
+  handleChangeNewContentName = e => this.setState({newContentName: e.target.value})
50
+
51
+  handleClose = () => GLOBAL_dispatchEvent({
52
+    type: 'hide_popupCreateContent', // handled by tracim_front:dist/index.html
53
+    data: {
54
+      name: this.state.appName
55
+    }
56
+  })
57
+
58
+  handleValidate = async () => {
59
+    const { config, appName, idWorkspace, idFolder, newContentName } = this.state
60
+
61
+    const fetchSaveThreadDoc = postThreadContent(config.apiUrl, idWorkspace, idFolder, config.slug, newContentName)
62
+
63
+    handleFetchResult(await fetchSaveThreadDoc)
64
+      .then(resSave => {
65
+        if (resSave.apiResponse.status === 200) {
66
+          this.handleClose()
67
+
68
+          GLOBAL_dispatchEvent({ type: 'refreshContentList', data: {} })
69
+
70
+          GLOBAL_dispatchEvent({
71
+            type: 'openContentUrl', // handled by tracim_front:src/container/WorkspaceContent.jsx
72
+            data: {
73
+              idWorkspace: resSave.body.workspace_id,
74
+              contentType: appName,
75
+              idContent: resSave.body.content_id
76
+            }
77
+          })
78
+        }
79
+      })
80
+  }
81
+
82
+  render () {
83
+    return (
84
+      <CardPopupCreateContent
85
+        onClose={this.handleClose}
86
+        onValidate={this.handleValidate}
87
+        label={this.state.config.label} // @TODO get the lang of user
88
+        customColor={this.state.config.hexcolor}
89
+        faIcon={this.state.config.faIcon}
90
+        contentName={this.state.newContentName}
91
+        onChangeContentName={this.handleChangeNewContentName}
92
+        btnValidateLabel='Valider et créer'
93
+      />
94
+    )
95
+  }
96
+}
97
+
98
+export default PopupCreateHtmlDocument

+ 230 - 0
frontend_app_thread/src/container/Thread.jsx View File

@@ -0,0 +1,230 @@
1
+import React from 'react'
2
+import i18n from '../i18n.js'
3
+import { debug } from '../helper.js'
4
+import {
5
+  handleFetchResult,
6
+  PopinFixed,
7
+  PopinFixedHeader,
8
+  PopinFixedOption,
9
+  PopinFixedContent,
10
+  Timeline,
11
+  SelectStatus,
12
+  ArchiveDeleteContent
13
+} from 'tracim_lib'
14
+import {
15
+  getThreadContent,
16
+  getThreadComment,
17
+  postThreadNewComment,
18
+  putThreadStatus,
19
+  putThreadContent
20
+} from '../action.async.js'
21
+
22
+class Thread extends React.Component {
23
+  constructor (props) {
24
+    super(props)
25
+    this.state = {
26
+      appName: 'thread',
27
+      isVisible: true,
28
+      config: props.data ? props.data.config : debug.config,
29
+      loggedUser: props.data ? props.data.loggedUser : debug.loggedUser,
30
+      content: props.data ? props.data.content : debug.content,
31
+      listMessage: props.data ? [] : [], // debug.listMessage,
32
+      newComment: '',
33
+      timelineWysiwyg: false
34
+    }
35
+
36
+    document.addEventListener('appCustomEvent', this.customEventReducer)
37
+  }
38
+
39
+  customEventReducer = ({ detail: { type, data } }) => { // action: { type: '', data: {} }
40
+    switch (type) {
41
+      case 'thread_showApp':
42
+        console.log('%c<Thread> Custom event', 'color: #28a745', type, data)
43
+        this.setState({isVisible: true})
44
+        break
45
+      case 'thread_hideApp':
46
+        console.log('%c<Thread> Custom event', 'color: #28a745', type, data)
47
+        this.setState({isVisible: false})
48
+        break
49
+      case 'thread_reloadContent':
50
+        console.log('%c<Thread> Custom event', 'color: #28a745', type, data)
51
+        this.setState(prev => ({content: {...prev.content, ...data}, isVisible: true}))
52
+    }
53
+  }
54
+
55
+  componentDidMount () {
56
+    console.log('%c<Thread> did Mount', `color: ${this.state.config.hexcolor}`)
57
+    this.loadContent()
58
+  }
59
+
60
+  componentDidUpdate (prevProps, prevState) {
61
+    const { state } = this
62
+
63
+    console.log('%c<Thread> did Mount', `color: ${this.state.config.hexcolor}`, prevState, state)
64
+
65
+    if (!prevState.content || !state.content) return
66
+
67
+    if (prevState.content.content_id !== state.content.content_id) this.loadContent()
68
+
69
+    if (!prevState.timelineWysiwyg && state.timelineWysiwyg) wysiwyg('#wysiwygTimelineComment', this.handleChangeNewComment)
70
+    else if (prevState.timelineWysiwyg && !state.timelineWysiwyg) tinymce.remove('#wysiwygTimelineComment')
71
+  }
72
+
73
+  componentWillUnmount () {
74
+    console.log('%c<Thread> will Unmount', `color: ${this.state.config.hexcolor}`)
75
+    document.removeEventListener('appCustomEvent', this.customEventReducer)
76
+  }
77
+
78
+  loadContent = async () => {
79
+    const { loggedUser, content, config } = this.state
80
+
81
+    if (content.content_id === '-1') return // debug case
82
+
83
+    const fetchResultThread = getThreadContent(loggedUser, config.apiUrl, content.workspace_id, content.content_id)
84
+    const fetchResultThreadComment = getThreadComment(loggedUser, config.apiUrl, content.workspace_id, content.content_id)
85
+
86
+    Promise.all([
87
+      handleFetchResult(await fetchResultThread),
88
+      handleFetchResult(await fetchResultThreadComment)
89
+    ])
90
+      .then(([resThread, resComment]) => this.setState({
91
+        content: resThread.body,
92
+        listMessage: resComment.body.map(c => ({
93
+          ...c,
94
+          timelineType: 'comment',
95
+          created: (new Date(c.created)).toLocaleString()
96
+        }))
97
+      }))
98
+      .catch(e => console.log('Error loading Thread data.', e))
99
+  }
100
+
101
+  handleClickBtnCloseApp = () => {
102
+    this.setState({ isVisible: false })
103
+    GLOBAL_dispatchEvent({type: 'appClosed', data: {}}) // handled by tracim_front::src/container/WorkspaceContent.jsx
104
+  }
105
+
106
+  handleSaveEditTitle = async newTitle => {
107
+    const { loggedUser, config, content } = this.state
108
+
109
+    const fetchResultSaveThread = putThreadContent(loggedUser, config.apiUrl, content.workspace_id, content.content_id, newTitle)
110
+
111
+    handleFetchResult(await fetchResultSaveThread)
112
+      .then(resSave => {
113
+        if (resSave.apiResponse.status === 200) {
114
+          this.loadContent()
115
+          GLOBAL_dispatchEvent({ type: 'refreshContentList', data: {} })
116
+        } else {
117
+          console.warn('Error saving threads. Result:', resSave, 'content:', content, 'config:', config)
118
+        }
119
+      })
120
+  }
121
+
122
+  handleChangeNewComment = e => {
123
+    const newComment = e.target.value
124
+    this.setState({newComment})
125
+  }
126
+
127
+  handleClickValidateNewCommentBtn = async () => {
128
+    const { loggedUser, config, content, newComment } = this.state
129
+
130
+    const fetchResultSaveNewComment = await postThreadNewComment(loggedUser, config.apiUrl, content.workspace_id, content.content_id, newComment)
131
+
132
+    handleFetchResult(await fetchResultSaveNewComment)
133
+      .then(resSave => {
134
+        if (resSave.apiResponse.status === 200) {
135
+          this.setState({newComment: ''})
136
+          if (this.state.timelineWysiwyg) tinymce.get('wysiwygTimelineComment').setContent('')
137
+          this.loadContent()
138
+        } else {
139
+          console.warn('Error saving thread comment. Result:', resSave, 'content:', content, 'config:', config)
140
+        }
141
+      })
142
+  }
143
+
144
+  handleToggleWysiwyg = () => this.setState(prev => ({timelineWysiwyg: !prev.timelineWysiwyg}))
145
+
146
+  handleChangeStatus = async newStatus => {
147
+    const { loggedUser, config, content } = this.state
148
+
149
+    const fetchResultSaveEditStatus = putThreadStatus(loggedUser, config.apiUrl, content.workspace_id, content.content_id, newStatus)
150
+
151
+    handleFetchResult(await fetchResultSaveEditStatus)
152
+      .then(resSave => {
153
+        if (resSave.status !== 204) { // 204 no content so dont take status from resSave.apiResponse.status
154
+          console.warn('Error saving thread comment. Result:', resSave, 'content:', content, 'config:', config)
155
+        } else {
156
+          this.loadContent()
157
+        }
158
+      })
159
+  }
160
+
161
+  handleClickArchive = () => console.log('archive nyi')
162
+
163
+  handleClickDelete = () => console.log('delete nyi')
164
+
165
+  render () {
166
+    const { config, isVisible, loggedUser, content, listMessage, newComment, timelineWysiwyg } = this.state
167
+
168
+    if (!isVisible) return null
169
+
170
+    return (
171
+      <PopinFixed
172
+        customClass={config.slug}
173
+        customColor={config.hexcolor}
174
+      >
175
+        <PopinFixedHeader
176
+          customClass={`${config.slug}__contentpage`}
177
+          customColor={config.hexcolor}
178
+          faIcon={config.faIcon}
179
+          title={content.label}
180
+          onClickCloseBtn={this.handleClickBtnCloseApp}
181
+          onValidateChangeTitle={this.handleSaveEditTitle}
182
+        />
183
+
184
+        <PopinFixedOption
185
+          customClass={`${config.slug}__contentpage`}
186
+          customColor={config.hexcolor}
187
+          i18n={i18n}
188
+        >
189
+          <div className='justify-content-end'>
190
+            <SelectStatus
191
+              selectedStatus={config.availableStatuses.find(s => s.slug === content.status)}
192
+              availableStatus={config.availableStatuses}
193
+              onChangeStatus={this.handleChangeStatus}
194
+              disabled={false}
195
+            />
196
+
197
+            <ArchiveDeleteContent
198
+              customColor={config.hexcolor}
199
+              onClickArchiveBtn={this.handleClickArchive}
200
+              onClickDeleteBtn={this.handleClickDelete}
201
+              disabled={false}
202
+            />
203
+          </div>
204
+        </PopinFixedOption>
205
+
206
+        <PopinFixedContent
207
+          customClass={`${config.slug}__contentpage`}
208
+        >
209
+          <Timeline
210
+            customClass={`${config.slug}__contentpage`}
211
+            customColor={config.hexcolor}
212
+            loggedUser={loggedUser}
213
+            timelineData={listMessage}
214
+            newComment={newComment}
215
+            disableComment={false}
216
+            wysiwyg={timelineWysiwyg}
217
+            onChangeNewComment={this.handleChangeNewComment}
218
+            onClickValidateNewCommentBtn={this.handleClickValidateNewCommentBtn}
219
+            onClickWysiwygBtn={this.handleToggleWysiwyg}
220
+            onClickRevisionBtn={() => {}}
221
+            shouldScrollToBottom
222
+            showHeader={false}
223
+          />
224
+        </PopinFixedContent>
225
+      </PopinFixed>
226
+    )
227
+  }
228
+}
229
+
230
+export default Thread

+ 34 - 0
frontend_app_thread/src/css/index.styl View File

@@ -0,0 +1,34 @@
1
+@import "../../node_modules/tracim_lib/src/css/Variable.styl"
2
+
3
+.thread
4
+  width 70%
5
+  &__header
6
+    &__editionmode
7
+      display none
8
+    &__icon
9
+      .fa-comments-o
10
+        color white
11
+  .selectStatus
12
+    margin-right 15px
13
+  .timeline
14
+    margin 0
15
+  .thread
16
+    &__contentpage
17
+      &__content
18
+        width 100%
19
+      &__messagelist
20
+        &__item__avatar
21
+          border 1px solid darkenThread
22
+          background-color off-white
23
+      &__texteditor
24
+        flex 0 0 auto
25
+
26
+@media (min-width: min-sm) and (max-width: max-sm)
27
+  .thread
28
+    top 68px
29
+    width 100%
30
+
31
+@media (max-width: max-xs)
32
+  .thread
33
+    top 68px
34
+    width 100%

+ 85 - 0
frontend_app_thread/src/helper.js View File

@@ -0,0 +1,85 @@
1
+export const FETCH_CONFIG = {
2
+  headers: {
3
+    'Accept': 'application/json',
4
+    'Content-Type': 'application/json'
5
+  }
6
+}
7
+
8
+export const debug = { // copied from html-documents => outdated
9
+  config: {
10
+    label: 'Thread',
11
+    slug: 'thread',
12
+    faIcon: 'comments-o',
13
+    hexcolor: '#ad4cf9',
14
+    creationLabel: 'Write a thread',
15
+    domContainer: 'appContainer',
16
+    apiUrl: 'http://localhost:6543/api/v2',
17
+    mockApiUrl: 'http://localhost:3001',
18
+    apiHeader: {
19
+      'Accept': 'application/json',
20
+      'Content-Type': 'application/json'
21
+      // 'Authorization': 'Basic ' + btoa(`${'admin@admin.admin'}:${'admin@admin.admin'}`)
22
+    },
23
+    availableStatuses: [{
24
+      label: 'Open',
25
+      slug: 'open',
26
+      faIcon: 'square-o',
27
+      hexcolor: '#3f52e3',
28
+      globalStatus: 'open'
29
+    }, {
30
+      label: 'Validated',
31
+      slug: 'closed-validated',
32
+      faIcon: 'check-square-o',
33
+      hexcolor: '#008000',
34
+      globalStatus: 'closed'
35
+    }, {
36
+      label: 'Cancelled',
37
+      slug: 'closed-unvalidated',
38
+      faIcon: 'close',
39
+      hexcolor: '#f63434',
40
+      globalStatus: 'closed'
41
+    }, {
42
+      label: 'Deprecated',
43
+      slug: 'closed-deprecated',
44
+      faIcon: 'warning',
45
+      hexcolor: '#ababab',
46
+      globalStatus: 'closed'
47
+    }]
48
+  },
49
+  loggedUser: { // @FIXME this object is outdated
50
+    user_id: 1,
51
+    username: 'Smoi',
52
+    firstname: 'Côme',
53
+    lastname: 'Stoilenom',
54
+    email: 'osef@algoo.fr',
55
+    avatar_url: 'https://avatars3.githubusercontent.com/u/11177014?s=460&v=4'
56
+  },
57
+  content: {
58
+    author: {
59
+      avatar_url: null,
60
+      public_name: 'Global manager',
61
+      user_id: 1 // -1 or 1 for debug
62
+    },
63
+    content_id: 48, // 1 or 22 for debug
64
+    content_type: 'thread',
65
+    created: '2018-06-18T14:59:26Z',
66
+    current_revision_id: 11,
67
+    is_archived: false,
68
+    is_deleted: false,
69
+    label: 'Current Menu',
70
+    last_modifier: {
71
+      avatar_url: null,
72
+      public_name: 'Global manager',
73
+      user_id: 1
74
+    },
75
+    modified: '2018-06-18T14:59:26Z',
76
+    parent_id: 2,
77
+    raw_content: '',
78
+    show_in_ui: true,
79
+    slug: 'current-menu',
80
+    status: 'open',
81
+    sub_content_types: ['thread', 'html-documents', 'file', 'folder'],
82
+    workspace_id: 1
83
+  },
84
+  timeline: [] // timelineDebugData
85
+}

+ 31 - 0
frontend_app_thread/src/i18n.js View File

@@ -0,0 +1,31 @@
1
+import i18n from 'i18next'
2
+import { reactI18nextModule } from 'react-i18next'
3
+import { langFr, langEn } from 'tracim_lib'
4
+import fr from './translate/fr.js'
5
+import en from './translate/en.js'
6
+
7
+i18n
8
+  .use(reactI18nextModule)
9
+  .init({
10
+    fallbackLng: 'fr',
11
+    // have a common namespace used around the full app
12
+    ns: ['translation'], // namespace
13
+    defaultNS: 'translation',
14
+    debug: true,
15
+    // interpolation: {
16
+    //   escapeValue: false, // not needed for react!!
17
+    // },
18
+    react: {
19
+      wait: true
20
+    },
21
+    resources: {
22
+      en: {
23
+        translation: {...langEn.translation, ...en.translation}
24
+      },
25
+      fr: {
26
+        translation: {...langFr.translation, ...fr.translation}
27
+      }
28
+    }
29
+  })
30
+
31
+export default i18n

+ 16 - 0
frontend_app_thread/src/index.dev.js View File

@@ -0,0 +1,16 @@
1
+import React from 'react'
2
+import ReactDOM from 'react-dom'
3
+import Thread from './container/Thread.jsx'
4
+// import PopupCreateThread from './container/PopupCreateThread.jsx'
5
+
6
+require('./css/index.styl')
7
+
8
+ReactDOM.render(
9
+  <Thread />
10
+  , document.getElementById('content')
11
+)
12
+
13
+// ReactDOM.render(
14
+//   <PopupCreateThread />
15
+//   , document.getElementById('content')
16
+// )

+ 28 - 0
frontend_app_thread/src/index.js View File

@@ -0,0 +1,28 @@
1
+import React from 'react'
2
+import ReactDOM from 'react-dom'
3
+import Thread from './container/Thread.jsx'
4
+import PopupCreateThread from './container/PopupCreateThread.jsx'
5
+
6
+require('./css/index.styl')
7
+
8
+const appInterface = {
9
+  name: 'Thread',
10
+  isRendered: false,
11
+  renderAppFull: data => {
12
+    return ReactDOM.render(
13
+      <Thread data={data} />
14
+      , document.getElementById(data.config.domContainer)
15
+    )
16
+  },
17
+  unmountApp: domId => {
18
+    return ReactDOM.unmountComponentAtNode(document.getElementById(domId)) // returns bool
19
+  },
20
+  renderAppPopupCreation: data => {
21
+    return ReactDOM.render(
22
+      <PopupCreateThread data={data} />
23
+      , document.getElementById(data.config.domContainer)
24
+    )
25
+  }
26
+}
27
+
28
+module.exports = appInterface

+ 87 - 0
frontend_app_thread/src/listMessageDebugData.js View File

@@ -0,0 +1,87 @@
1
+export const listMessageDebugData = [{
2
+  id: 0,
3
+  author: {
4
+    id: 5,
5
+    username: 'Peter',
6
+    avatar: 'https://avatars3.githubusercontent.com/u/1104637?s=460&v=4'
7
+  },
8
+  text: 'Tu aurais envie de manger quoi exactement ?',
9
+  createdAt: {
10
+    day: '05/03/18',
11
+    hour: '10h00'
12
+  }
13
+}, {
14
+  id: 1,
15
+  author: {
16
+    id: 3,
17
+    username: 'Steven',
18
+    avatar: 'https://avatars3.githubusercontent.com/u/705214?s=460&v=4'
19
+  },
20
+  createdAt: {
21
+    day: '05/03/18',
22
+    hour: '09h59'
23
+  },
24
+  text: 'Ben je sais pas, par exemple une quiche lorraine.'
25
+}, {
26
+  id: 2,
27
+  author: {
28
+    id: 5,
29
+    username: 'Peter',
30
+    avatar: 'https://avatars3.githubusercontent.com/u/1104637?s=460&v=4'
31
+  },
32
+  text: 'Une ouiche.',
33
+  createdAt: {
34
+    day: '05/03/18',
35
+    hour: '09h59'
36
+  }
37
+}, {
38
+  id: 3,
39
+  author: {
40
+    id: 3,
41
+    username: 'Steven',
42
+    avatar: 'https://avatars3.githubusercontent.com/u/705214?s=460&v=4'
43
+  },
44
+  createdAt: {
45
+    day: '05/03/18',
46
+    hour: '09h59'
47
+  },
48
+  text: 'Quoi ?'
49
+}, {
50
+  id: 4,
51
+  author: {
52
+    id: 5,
53
+    username: 'Peter',
54
+    avatar: 'https://avatars3.githubusercontent.com/u/1104637?s=460&v=4'
55
+  },
56
+  text: 'On dit « une ouiche lorraine ».',
57
+  createdAt: {
58
+    day: '05/03/18',
59
+    hour: '09h59'
60
+  }
61
+}, {
62
+  id: 5,
63
+  author: {
64
+    id: 3,
65
+    username: 'Steven',
66
+    avatar: 'https://avatars3.githubusercontent.com/u/705214?s=460&v=4'
67
+  },
68
+  createdAt: {
69
+    day: '05/03/18',
70
+    hour: '09h58'
71
+  },
72
+  text: 'Tu es sûr ?'
73
+}, {
74
+  id: 6,
75
+  author: {
76
+    id: 3,
77
+    username: 'Steven',
78
+    avatar: 'https://avatars3.githubusercontent.com/u/705214?s=460&v=4'
79
+  },
80
+  text: 'Ça fait bizarre, « ouiche lorraine ».',
81
+  createdAt: {
82
+    day: '05/03/18',
83
+    hour: '09h59'
84
+  }
85
+}]
86
+
87
+export default listMessageDebugData

+ 9 - 0
frontend_app_thread/src/translate/en.js View File

@@ -0,0 +1,9 @@
1
+const en = {
2
+  translation: { // 'en' in the namespace 'translation'
3
+    PopinFixedOption: {
4
+      new_version: 'New version'
5
+    }
6
+  }
7
+}
8
+
9
+export default en

+ 9 - 0
frontend_app_thread/src/translate/fr.js View File

@@ -0,0 +1,9 @@
1
+const fr = {
2
+  translation: { // 'fr' in the namespace 'translation'
3
+    PopinFixedOption: {
4
+      new_version: 'nouvelle version'
5
+    }
6
+  }
7
+}
8
+
9
+export default fr

+ 87 - 0
frontend_app_thread/webpack.config.js View File

@@ -0,0 +1,87 @@
1
+const webpack = require('webpack')
2
+const path = require('path')
3
+const isProduction = process.env.NODE_ENV === 'production'
4
+
5
+console.log('isProduction : ', isProduction)
6
+
7
+module.exports = {
8
+  entry: isProduction
9
+    ? './src/index.js' // only one instance of babel-polyfill is allowed
10
+    : ['babel-polyfill', './src/index.dev.js'],
11
+  output: {
12
+    path: path.resolve(__dirname, 'dist'),
13
+    filename: isProduction ? 'thread.app.js' : 'thread.app.dev.js',
14
+    pathinfo: !isProduction,
15
+    library: isProduction ? 'appThread' : undefined,
16
+    libraryTarget: isProduction ? 'var' : undefined
17
+  },
18
+  externals: {},
19
+  // isProduction ? { // Côme - since plugins are imported through <script>, cannot externalize libraries
20
+  //   react: {commonjs: 'react', commonjs2: 'react', amd: 'react', root: '_'},
21
+  //   'react-dom': {commonjs: 'react-dom', commonjs2: 'react-dom', amd: 'react-dom', root: '_'},
22
+  //   classnames: {commonjs: 'classnames', commonjs2: 'classnames', amd: 'classnames', root: '_'},
23
+  //   'prop-types': {commonjs: 'prop-types', commonjs2: 'prop-types', amd: 'prop-types', root: '_'},
24
+  //   tracim_lib: {commonjs: 'tracim_lib', commonjs2: 'tracim_lib', amd: 'tracim_lib', root: '_'}
25
+  // }
26
+  // : {},
27
+  devServer: {
28
+    contentBase: path.join(__dirname, 'dist/'),
29
+    port: 8072,
30
+    hot: true,
31
+    noInfo: true,
32
+    overlay: {
33
+      warnings: false,
34
+      errors: true
35
+    },
36
+    historyApiFallback: true
37
+    // headers: {
38
+    //   'Access-Control-Allow-Origin': '*'
39
+    // }
40
+  },
41
+  devtool: isProduction ? false : 'cheap-module-source-map',
42
+  module: {
43
+    rules: [{
44
+      test: /\.jsx?$/,
45
+      enforce: 'pre',
46
+      use: 'standard-loader',
47
+      exclude: [/node_modules/]
48
+    }, {
49
+      test: [/\.js$/, /\.jsx$/],
50
+      loader: 'babel-loader',
51
+      options: {
52
+        presets: ['env', 'react'],
53
+        plugins: ['transform-object-rest-spread', 'transform-class-properties', 'transform-object-assign']
54
+      },
55
+      exclude: [/node_modules/]
56
+    }, {
57
+      test: /\.css$/,
58
+      use: ['style-loader', 'css-loader']
59
+    }, {
60
+      test: /\.styl$/,
61
+      use: ['style-loader', 'css-loader', 'stylus-loader']
62
+    }, {
63
+      test: /\.(jpg|png|svg)$/,
64
+      loader: 'url-loader',
65
+      options: {
66
+        limit: 25000
67
+      }
68
+    }]
69
+  },
70
+  resolve: {
71
+    extensions: ['.js', '.jsx']
72
+  },
73
+  plugins: [
74
+    ...[], // generic plugins always present
75
+    ...(isProduction
76
+      ? [ // production specific plugins
77
+        new webpack.DefinePlugin({
78
+          'process.env': { 'NODE_ENV': JSON.stringify('production') }
79
+        }),
80
+        new webpack.optimize.UglifyJsPlugin({
81
+          compress: { warnings: false }
82
+        })
83
+      ]
84
+      : [] // development specific plugins
85
+    )
86
+  ]
87
+}