├── .babelrc
├── .editorconfig
├── .gitignore
├── .postcssrc.js
├── README.md
├── build
├── build.js
├── check-versions.js
├── logo.png
├── utils.js
├── vue-loader.conf.js
├── webpack.base.conf.js
├── webpack.dev.conf.js
├── webpack.prod.conf.js
└── webpack.test.conf.js
├── config
├── dev.env.js
├── index.js
├── prod.env.js
└── test.env.js
├── index.html
├── package-lock.json
├── package.json
├── src
├── App.vue
├── assets
│ └── logo.png
├── components
│ ├── Counter.vue
│ ├── Helloworld.vue
│ └── SinaWeibo.vue
├── main.js
├── mock-data.js
└── router
│ └── index.js
├── static
├── .gitkeep
├── image
│ ├── WB_logo.png
│ ├── labor.01.jpg
│ ├── labor.02.jpg
│ ├── labor.03.jpg
│ ├── news-image.01.png
│ ├── news-profile.01.jpg
│ ├── news-profile.02.jpg
│ ├── plus.png
│ ├── profile-bg.jpg
│ ├── profile.jpg
│ ├── search-active.png
│ ├── search.png
│ └── tell-people.png
└── libs
│ └── font-awesome-4.7.0
│ ├── HELP-US-OUT.txt
│ ├── css
│ ├── font-awesome.css
│ └── font-awesome.min.css
│ ├── fonts
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.svg
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── fontawesome-webfont.woff2
│ ├── less
│ ├── animated.less
│ ├── bordered-pulled.less
│ ├── core.less
│ ├── fixed-width.less
│ ├── font-awesome.less
│ ├── icons.less
│ ├── larger.less
│ ├── list.less
│ ├── mixins.less
│ ├── path.less
│ ├── rotated-flipped.less
│ ├── screen-reader.less
│ ├── stacked.less
│ └── variables.less
│ └── scss
│ ├── _animated.scss
│ ├── _bordered-pulled.scss
│ ├── _core.scss
│ ├── _fixed-width.scss
│ ├── _icons.scss
│ ├── _larger.scss
│ ├── _list.scss
│ ├── _mixins.scss
│ ├── _path.scss
│ ├── _rotated-flipped.scss
│ ├── _screen-reader.scss
│ ├── _stacked.scss
│ ├── _variables.scss
│ └── font-awesome.scss
└── test
├── e2e
├── custom-assertions
│ └── elementCount.js
├── nightwatch.conf.js
├── runner.js
└── specs
│ └── test.js
└── unit
├── .eslintrc
├── index.js
├── karma.conf.js
└── specs
├── Counter.spec.js
├── HelloWorld.spec.js
└── SinaWeibo.spec.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["env", {
4 | "modules": false,
5 | "targets": {
6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7 | }
8 | }],
9 | "stage-2"
10 | ],
11 | "plugins": ["transform-vue-jsx", "transform-runtime"],
12 | "env": {
13 | "test": {
14 | "presets": ["env", "stage-2"],
15 | "plugins": ["transform-vue-jsx", "istanbul"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | /dist/
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | /test/unit/coverage/
8 | /test/e2e/reports/
9 | selenium-debug.log
10 |
11 | # Editor directories and files
12 | .idea
13 | .vscode
14 | *.suo
15 | *.ntvs*
16 | *.njsproj
17 | *.sln
18 |
--------------------------------------------------------------------------------
/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | "plugins": {
5 | // to edit target browsers: use "browserslist" field in package.json
6 | "postcss-import": {},
7 | "autoprefixer": {}
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vueunittest
2 |
3 | > A Vue.js project
4 |
5 | ## Build Setup
6 |
7 | ``` bash
8 | # install dependencies
9 | npm install
10 |
11 | # serve with hot reload at localhost:8080
12 | npm run dev
13 |
14 | # build for production with minification
15 | npm run build
16 |
17 | # build for production and view the bundle analyzer report
18 | npm run build --report
19 |
20 | # run unit tests
21 | npm run unit
22 |
23 | # run e2e tests
24 | npm run e2e
25 |
26 | # run all tests
27 | npm test
28 | ```
29 |
30 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
31 |
--------------------------------------------------------------------------------
/build/build.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | require('./check-versions')()
3 |
4 | process.env.NODE_ENV = 'production'
5 |
6 | const ora = require('ora')
7 | const rm = require('rimraf')
8 | const path = require('path')
9 | const chalk = require('chalk')
10 | const webpack = require('webpack')
11 | const config = require('../config')
12 | const webpackConfig = require('./webpack.prod.conf')
13 |
14 | const spinner = ora('building for production...')
15 | spinner.start()
16 |
17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
18 | if (err) throw err
19 | webpack(webpackConfig, (err, stats) => {
20 | spinner.stop()
21 | if (err) throw err
22 | process.stdout.write(stats.toString({
23 | colors: true,
24 | modules: false,
25 | children: false, // if you are using ts-loader, setting this to true will make tyescript errors show up during build
26 | chunks: false,
27 | chunkModules: false
28 | }) + '\n\n')
29 |
30 | if (stats.hasErrors()) {
31 | console.log(chalk.red(' Build failed with errors.\n'))
32 | process.exit(1)
33 | }
34 |
35 | console.log(chalk.cyan(' Build complete.\n'))
36 | console.log(chalk.yellow(
37 | ' Tip: built files are meant to be served over an HTTP server.\n' +
38 | ' Opening index.html over file:// won\'t work.\n'
39 | ))
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/build/check-versions.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const chalk = require('chalk')
3 | const semver = require('semver')
4 | const packageConfig = require('../package.json')
5 | const shell = require('shelljs')
6 |
7 | function exec (cmd) {
8 | return require('child_process').execSync(cmd).toString().trim()
9 | }
10 |
11 | const versionRequirements = [
12 | {
13 | name: 'node',
14 | currentVersion: semver.clean(process.version),
15 | versionRequirement: packageConfig.engines.node
16 | }
17 | ]
18 |
19 | if (shell.which('npm')) {
20 | versionRequirements.push({
21 | name: 'npm',
22 | currentVersion: exec('npm --version'),
23 | versionRequirement: packageConfig.engines.npm
24 | })
25 | }
26 |
27 | module.exports = function () {
28 | const warnings = []
29 |
30 | for (let i = 0; i < versionRequirements.length; i++) {
31 | const mod = versionRequirements[i]
32 |
33 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
34 | warnings.push(mod.name + ': ' +
35 | chalk.red(mod.currentVersion) + ' should be ' +
36 | chalk.green(mod.versionRequirement)
37 | )
38 | }
39 | }
40 |
41 | if (warnings.length) {
42 | console.log('')
43 | console.log(chalk.yellow('To use this template, you must update following to modules:'))
44 | console.log()
45 |
46 | for (let i = 0; i < warnings.length; i++) {
47 | const warning = warnings[i]
48 | console.log(' ' + warning)
49 | }
50 |
51 | console.log()
52 | process.exit(1)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/build/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/build/logo.png
--------------------------------------------------------------------------------
/build/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const config = require('../config')
4 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
5 | const packageConfig = require('../package.json')
6 |
7 | exports.assetsPath = function (_path) {
8 | const assetsSubDirectory = process.env.NODE_ENV === 'production'
9 | ? config.build.assetsSubDirectory
10 | : config.dev.assetsSubDirectory
11 |
12 | return path.posix.join(assetsSubDirectory, _path)
13 | }
14 |
15 | exports.cssLoaders = function (options) {
16 | options = options || {}
17 |
18 | const cssLoader = {
19 | loader: 'css-loader',
20 | options: {
21 | sourceMap: options.sourceMap
22 | }
23 | }
24 |
25 | const postcssLoader = {
26 | loader: 'postcss-loader',
27 | options: {
28 | sourceMap: options.sourceMap
29 | }
30 | }
31 |
32 | // generate loader string to be used with extract text plugin
33 | function generateLoaders (loader, loaderOptions) {
34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35 |
36 | if (loader) {
37 | loaders.push({
38 | loader: loader + '-loader',
39 | options: Object.assign({}, loaderOptions, {
40 | sourceMap: options.sourceMap
41 | })
42 | })
43 | }
44 |
45 | // Extract CSS when that option is specified
46 | // (which is the case during production build)
47 | if (options.extract) {
48 | return ExtractTextPlugin.extract({
49 | use: loaders,
50 | fallback: 'vue-style-loader'
51 | })
52 | } else {
53 | return ['vue-style-loader'].concat(loaders)
54 | }
55 | }
56 |
57 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58 | return {
59 | css: generateLoaders(),
60 | postcss: generateLoaders(),
61 | less: generateLoaders('less'),
62 | sass: generateLoaders('sass', { indentedSyntax: true }),
63 | scss: generateLoaders('sass'),
64 | stylus: generateLoaders('stylus'),
65 | styl: generateLoaders('stylus')
66 | }
67 | }
68 |
69 | // Generate loaders for standalone style files (outside of .vue)
70 | exports.styleLoaders = function (options) {
71 | const output = []
72 | const loaders = exports.cssLoaders(options)
73 |
74 | for (const extension in loaders) {
75 | const loader = loaders[extension]
76 | output.push({
77 | test: new RegExp('\\.' + extension + '$'),
78 | use: loader
79 | })
80 | }
81 |
82 | return output
83 | }
84 |
85 | exports.createNotifierCallback = () => {
86 | const notifier = require('node-notifier')
87 |
88 | return (severity, errors) => {
89 | if (severity !== 'error') return
90 |
91 | const error = errors[0]
92 | const filename = error.file && error.file.split('!').pop()
93 |
94 | notifier.notify({
95 | title: packageConfig.name,
96 | message: severity + ': ' + error.name,
97 | subtitle: filename || '',
98 | icon: path.join(__dirname, 'logo.png')
99 | })
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/build/vue-loader.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const config = require('../config')
4 | const isProduction = process.env.NODE_ENV === 'production'
5 | const sourceMapEnabled = isProduction
6 | ? config.build.productionSourceMap
7 | : config.dev.cssSourceMap
8 |
9 | module.exports = {
10 | loaders: utils.cssLoaders({
11 | sourceMap: sourceMapEnabled,
12 | extract: isProduction
13 | }),
14 | cssSourceMap: sourceMapEnabled,
15 | cacheBusting: config.dev.cacheBusting,
16 | transformToRequire: {
17 | video: ['src', 'poster'],
18 | source: 'src',
19 | img: 'src',
20 | image: 'xlink:href'
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/build/webpack.base.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const config = require('../config')
5 | const vueLoaderConfig = require('./vue-loader.conf')
6 |
7 | function resolve(dir) {
8 | return path.join(__dirname, '..', dir)
9 | }
10 |
11 |
12 |
13 | module.exports = {
14 | context: path.resolve(__dirname, '../'),
15 | entry: {
16 | app: './src/main.js'
17 | },
18 | output: {
19 | path: config.build.assetsRoot,
20 | filename: '[name].js',
21 | publicPath: process.env.NODE_ENV === 'production'
22 | ? config.build.assetsPublicPath
23 | : config.dev.assetsPublicPath
24 | },
25 | resolve: {
26 | extensions: ['.js', '.vue', '.json'],
27 | alias: {
28 | 'vue$': 'vue/dist/vue.esm.js',
29 | '@': resolve('src'),
30 | }
31 | },
32 | module: {
33 | rules: [
34 | {
35 | test: /\.less$/,
36 | use: [{
37 | loader: "style-loader" // creates style nodes from JS strings
38 | }, {
39 | loader: "css-loader" // translates CSS into CommonJS
40 | }, {
41 | loader: "less-loader" // compiles Less to CSS
42 | }]
43 | },
44 | {
45 | test: /\.vue$/,
46 | loader: 'vue-loader',
47 | options: vueLoaderConfig
48 | },
49 | {
50 | test: /\.js$/,
51 | loader: 'babel-loader',
52 | include: [resolve('src'), resolve('test')]
53 | },
54 | {
55 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
56 | loader: 'url-loader',
57 | options: {
58 | limit: 10000,
59 | name: utils.assetsPath('img/[name].[hash:7].[ext]')
60 | }
61 | },
62 | {
63 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
64 | loader: 'url-loader',
65 | options: {
66 | limit: 10000,
67 | name: utils.assetsPath('media/[name].[hash:7].[ext]')
68 | }
69 | },
70 | {
71 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
72 | loader: 'url-loader',
73 | options: {
74 | limit: 10000,
75 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
76 | }
77 | }
78 | ]
79 | },
80 | node: {
81 | // prevent webpack from injecting useless setImmediate polyfill because Vue
82 | // source contains it (although only uses it if it's native).
83 | setImmediate: false,
84 | // prevent webpack from injecting mocks to Node native modules
85 | // that does not make sense for the client
86 | dgram: 'empty',
87 | fs: 'empty',
88 | net: 'empty',
89 | tls: 'empty',
90 | child_process: 'empty'
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/build/webpack.dev.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const webpack = require('webpack')
4 | const config = require('../config')
5 | const merge = require('webpack-merge')
6 | const baseWebpackConfig = require('./webpack.base.conf')
7 | const HtmlWebpackPlugin = require('html-webpack-plugin')
8 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
9 | const portfinder = require('portfinder')
10 |
11 | const HOST = process.env.HOST
12 | const PORT = process.env.PORT && Number(process.env.PORT)
13 |
14 | const devWebpackConfig = merge(baseWebpackConfig, {
15 | module: {
16 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
17 | },
18 | // cheap-module-eval-source-map is faster for development
19 | devtool: config.dev.devtool,
20 |
21 | // these devServer options should be customized in /config/index.js
22 | devServer: {
23 | clientLogLevel: 'warning',
24 | historyApiFallback: true,
25 | hot: true,
26 | compress: true,
27 | host: HOST || config.dev.host,
28 | port: PORT || config.dev.port,
29 | open: config.dev.autoOpenBrowser,
30 | overlay: config.dev.errorOverlay
31 | ? { warnings: false, errors: true }
32 | : false,
33 | publicPath: config.dev.assetsPublicPath,
34 | proxy: config.dev.proxyTable,
35 | quiet: true, // necessary for FriendlyErrorsPlugin
36 | watchOptions: {
37 | poll: config.dev.poll,
38 | }
39 | },
40 | plugins: [
41 | new webpack.DefinePlugin({
42 | 'process.env': require('../config/dev.env')
43 | }),
44 | new webpack.HotModuleReplacementPlugin(),
45 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
46 | new webpack.NoEmitOnErrorsPlugin(),
47 | // https://github.com/ampedandwired/html-webpack-plugin
48 | new HtmlWebpackPlugin({
49 | filename: 'index.html',
50 | template: 'index.html',
51 | inject: true
52 | }),
53 | ]
54 | })
55 |
56 | module.exports = new Promise((resolve, reject) => {
57 | portfinder.basePort = process.env.PORT || config.dev.port
58 | portfinder.getPort((err, port) => {
59 | if (err) {
60 | reject(err)
61 | } else {
62 | // publish the new Port, necessary for e2e tests
63 | process.env.PORT = port
64 | // add port to devServer config
65 | devWebpackConfig.devServer.port = port
66 |
67 | // Add FriendlyErrorsPlugin
68 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
69 | compilationSuccessInfo: {
70 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
71 | },
72 | onErrors: config.dev.notifyOnErrors
73 | ? utils.createNotifierCallback()
74 | : undefined
75 | }))
76 |
77 | resolve(devWebpackConfig)
78 | }
79 | })
80 | })
81 |
--------------------------------------------------------------------------------
/build/webpack.prod.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const webpack = require('webpack')
5 | const config = require('../config')
6 | const merge = require('webpack-merge')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
12 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
13 |
14 | const env = process.env.NODE_ENV === 'testing'
15 | ? require('../config/test.env')
16 | : require('../config/prod.env')
17 |
18 | const webpackConfig = merge(baseWebpackConfig, {
19 | module: {
20 | rules: utils.styleLoaders({
21 | sourceMap: config.build.productionSourceMap,
22 | extract: true,
23 | usePostCSS: true
24 | })
25 | },
26 | devtool: config.build.productionSourceMap ? config.build.devtool : false,
27 | output: {
28 | path: config.build.assetsRoot,
29 | filename: utils.assetsPath('js/[name].[chunkhash].js'),
30 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
31 | },
32 | plugins: [
33 | // http://vuejs.github.io/vue-loader/en/workflow/production.html
34 | new webpack.DefinePlugin({
35 | 'process.env': env
36 | }),
37 | new UglifyJsPlugin({
38 | uglifyOptions: {
39 | compress: {
40 | warnings: false
41 | }
42 | },
43 | sourceMap: config.build.productionSourceMap,
44 | parallel: true
45 | }),
46 | // extract css into its own file
47 | new ExtractTextPlugin({
48 | filename: utils.assetsPath('css/[name].[contenthash].css'),
49 | // Setting the following option to `false` will not extract CSS from codesplit chunks.
50 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
51 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
52 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
53 | allChunks: true,
54 | }),
55 | // Compress extracted CSS. We are using this plugin so that possible
56 | // duplicated CSS from different components can be deduped.
57 | new OptimizeCSSPlugin({
58 | cssProcessorOptions: config.build.productionSourceMap
59 | ? { safe: true, map: { inline: false } }
60 | : { safe: true }
61 | }),
62 | // generate dist index.html with correct asset hash for caching.
63 | // you can customize output by editing /index.html
64 | // see https://github.com/ampedandwired/html-webpack-plugin
65 | new HtmlWebpackPlugin({
66 | filename: process.env.NODE_ENV === 'testing'
67 | ? 'index.html'
68 | : config.build.index,
69 | template: 'index.html',
70 | inject: true,
71 | minify: {
72 | removeComments: true,
73 | collapseWhitespace: true,
74 | removeAttributeQuotes: true
75 | // more options:
76 | // https://github.com/kangax/html-minifier#options-quick-reference
77 | },
78 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin
79 | chunksSortMode: 'dependency'
80 | }),
81 | // keep module.id stable when vender modules does not change
82 | new webpack.HashedModuleIdsPlugin(),
83 | // enable scope hoisting
84 | new webpack.optimize.ModuleConcatenationPlugin(),
85 | // split vendor js into its own file
86 | new webpack.optimize.CommonsChunkPlugin({
87 | name: 'vendor',
88 | minChunks (module) {
89 | // any required modules inside node_modules are extracted to vendor
90 | return (
91 | module.resource &&
92 | /\.js$/.test(module.resource) &&
93 | module.resource.indexOf(
94 | path.join(__dirname, '../node_modules')
95 | ) === 0
96 | )
97 | }
98 | }),
99 | // extract webpack runtime and module manifest to its own file in order to
100 | // prevent vendor hash from being updated whenever app bundle is updated
101 | new webpack.optimize.CommonsChunkPlugin({
102 | name: 'manifest',
103 | minChunks: Infinity
104 | }),
105 | // This instance extracts shared chunks from code splitted chunks and bundles them
106 | // in a separate chunk, similar to the vendor chunk
107 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
108 | new webpack.optimize.CommonsChunkPlugin({
109 | name: 'app',
110 | async: 'vendor-async',
111 | children: true,
112 | minChunks: 3
113 | }),
114 |
115 | // copy custom static assets
116 | new CopyWebpackPlugin([
117 | {
118 | from: path.resolve(__dirname, '../static'),
119 | to: config.build.assetsSubDirectory,
120 | ignore: ['.*']
121 | }
122 | ])
123 | ]
124 | })
125 |
126 | if (config.build.productionGzip) {
127 | const CompressionWebpackPlugin = require('compression-webpack-plugin')
128 |
129 | webpackConfig.plugins.push(
130 | new CompressionWebpackPlugin({
131 | asset: '[path].gz[query]',
132 | algorithm: 'gzip',
133 | test: new RegExp(
134 | '\\.(' +
135 | config.build.productionGzipExtensions.join('|') +
136 | ')$'
137 | ),
138 | threshold: 10240,
139 | minRatio: 0.8
140 | })
141 | )
142 | }
143 |
144 | if (config.build.bundleAnalyzerReport) {
145 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
146 | webpackConfig.plugins.push(new BundleAnalyzerPlugin())
147 | }
148 |
149 | module.exports = webpackConfig
150 |
--------------------------------------------------------------------------------
/build/webpack.test.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | // This is the webpack config used for unit tests.
3 |
4 | const utils = require('./utils')
5 | const webpack = require('webpack')
6 | const merge = require('webpack-merge')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 |
9 | const webpackConfig = merge(baseWebpackConfig, {
10 | // use inline sourcemap for karma-sourcemap-loader
11 | module: {
12 | rules: utils.styleLoaders()
13 | },
14 | devtool: '#inline-source-map',
15 | resolveLoader: {
16 | alias: {
17 | // necessary to to make lang="scss" work in test when using vue-loader's ?inject option
18 | // see discussion at https://github.com/vuejs/vue-loader/issues/724
19 | 'scss-loader': 'sass-loader'
20 | }
21 | },
22 | plugins: [
23 | new webpack.DefinePlugin({
24 | 'process.env': require('../config/test.env')
25 | })
26 | ]
27 | })
28 |
29 | // no need for app entry during tests
30 | delete webpackConfig.entry
31 |
32 | module.exports = webpackConfig
33 |
--------------------------------------------------------------------------------
/config/dev.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const prodEnv = require('./prod.env')
4 |
5 | module.exports = merge(prodEnv, {
6 | NODE_ENV: '"development"'
7 | })
8 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | // Template version: 1.2.7
3 | // see http://vuejs-templates.github.io/webpack for documentation.
4 |
5 | const path = require('path')
6 |
7 | module.exports = {
8 | dev: {
9 |
10 | // Paths
11 | assetsSubDirectory: 'static',
12 | assetsPublicPath: '/',
13 | proxyTable: {},
14 |
15 | // Various Dev Server settings
16 | host: 'localhost', // can be overwritten by process.env.HOST
17 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
18 | autoOpenBrowser: false,
19 | errorOverlay: true,
20 | notifyOnErrors: true,
21 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
22 |
23 |
24 | /**
25 | * Source Maps
26 | */
27 |
28 | // https://webpack.js.org/configuration/devtool/#development
29 | devtool: 'eval-source-map',
30 |
31 | // If you have problems debugging vue-files in devtools,
32 | // set this to false - it *may* help
33 | // https://vue-loader.vuejs.org/en/options.html#cachebusting
34 | cacheBusting: true,
35 |
36 | // CSS Sourcemaps off by default because relative paths are "buggy"
37 | // with this option, according to the CSS-Loader README
38 | // (https://github.com/webpack/css-loader#sourcemaps)
39 | // In our experience, they generally work as expected,
40 | // just be aware of this issue when enabling this option.
41 | cssSourceMap: false,
42 | },
43 |
44 | build: {
45 | // Template for index.html
46 | index: path.resolve(__dirname, '../dist/index.html'),
47 |
48 | // Paths
49 | assetsRoot: path.resolve(__dirname, '../dist'),
50 | assetsSubDirectory: 'static',
51 | assetsPublicPath: '/',
52 |
53 | /**
54 | * Source Maps
55 | */
56 |
57 | productionSourceMap: true,
58 | // https://webpack.js.org/configuration/devtool/#production
59 | devtool: '#source-map',
60 |
61 | // Gzip off by default as many popular static hosts such as
62 | // Surge or Netlify already gzip all static assets for you.
63 | // Before setting to `true`, make sure to:
64 | // npm install --save-dev compression-webpack-plugin
65 | productionGzip: false,
66 | productionGzipExtensions: ['js', 'css'],
67 |
68 | // Run the build command with an extra argument to
69 | // View the bundle analyzer report after build finishes:
70 | // `npm run build --report`
71 | // Set to `true` or `false` to always turn it on or off
72 | bundleAnalyzerReport: process.env.npm_config_report
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/config/prod.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | module.exports = {
3 | NODE_ENV: '"production"'
4 | }
5 |
--------------------------------------------------------------------------------
/config/test.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const devEnv = require('./dev.env')
4 |
5 | module.exports = merge(devEnv, {
6 | NODE_ENV: '"testing"'
7 | })
8 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | vueunittest
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vueunittest",
3 | "version": "1.0.0",
4 | "description": "A Vue.js project",
5 | "author": "LITANGHUI ",
6 | "private": true,
7 | "scripts": {
8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9 | "start": "npm run dev",
10 | "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js",
11 | "e2e": "node test/e2e/runner.js",
12 | "test": "npm run unit && npm run e2e",
13 | "build": "node build/build.js"
14 | },
15 | "dependencies": {
16 | "less": "^2.7.3",
17 | "less-loader": "^4.0.5",
18 | "vue": "^2.5.2",
19 | "vue-router": "^3.0.1"
20 | },
21 | "devDependencies": {
22 | "autoprefixer": "^7.1.2",
23 | "babel-core": "^6.22.1",
24 | "babel-helper-vue-jsx-merge-props": "^2.0.3",
25 | "babel-loader": "^7.1.1",
26 | "babel-plugin-istanbul": "^4.1.1",
27 | "babel-plugin-syntax-jsx": "^6.18.0",
28 | "babel-plugin-transform-runtime": "^6.22.0",
29 | "babel-plugin-transform-vue-jsx": "^3.5.0",
30 | "babel-preset-env": "^1.3.2",
31 | "babel-preset-stage-2": "^6.22.0",
32 | "babel-register": "^6.22.0",
33 | "chai": "^4.1.2",
34 | "chalk": "^2.0.1",
35 | "chromedriver": "^2.27.2",
36 | "copy-webpack-plugin": "^4.0.1",
37 | "cross-env": "^5.0.1",
38 | "cross-spawn": "^5.0.1",
39 | "css-loader": "^0.28.0",
40 | "extract-text-webpack-plugin": "^3.0.0",
41 | "file-loader": "^1.1.4",
42 | "friendly-errors-webpack-plugin": "^1.6.1",
43 | "html-webpack-plugin": "^2.30.1",
44 | "inject-loader": "^3.0.0",
45 | "karma": "^1.4.1",
46 | "karma-chrome-launcher": "^2.2.0",
47 | "karma-coverage": "^1.1.1",
48 | "karma-mocha": "^1.3.0",
49 | "karma-phantomjs-launcher": "^1.0.2",
50 | "karma-phantomjs-shim": "^1.4.0",
51 | "karma-sinon-chai": "^1.3.1",
52 | "karma-sourcemap-loader": "^0.3.7",
53 | "karma-spec-reporter": "0.0.31",
54 | "karma-webpack": "^2.0.2",
55 | "mocha": "^3.2.0",
56 | "nightwatch": "^0.9.12",
57 | "node-notifier": "^5.1.2",
58 | "optimize-css-assets-webpack-plugin": "^3.2.0",
59 | "ora": "^1.2.0",
60 | "phantomjs-prebuilt": "^2.1.14",
61 | "portfinder": "^1.0.13",
62 | "postcss-import": "^11.0.0",
63 | "postcss-loader": "^2.0.8",
64 | "rimraf": "^2.6.0",
65 | "selenium-server": "^3.0.1",
66 | "semver": "^5.3.0",
67 | "shelljs": "^0.7.6",
68 | "sinon": "^4.0.0",
69 | "sinon-chai": "^2.8.0",
70 | "uglifyjs-webpack-plugin": "^1.1.1",
71 | "url-loader": "^0.5.8",
72 | "vue-loader": "^13.3.0",
73 | "vue-style-loader": "^3.0.1",
74 | "vue-template-compiler": "^2.5.2",
75 | "vue-test-utils": "^1.0.0-beta.8",
76 | "webpack": "^3.6.0",
77 | "webpack-bundle-analyzer": "^2.9.0",
78 | "webpack-dev-server": "^2.9.1",
79 | "webpack-merge": "^4.1.0"
80 | },
81 | "engines": {
82 | "node": ">= 4.0.0",
83 | "npm": ">= 3.0.0"
84 | },
85 | "browserslist": [
86 | "> 1%",
87 | "last 2 versions",
88 | "not ie <= 8"
89 | ]
90 | }
91 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
16 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/Counter.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Counter.vue
4 |
5 | {{ count }}
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/components/Helloworld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Welcome to Your Vue.js App
4 |
5 |
--------------------------------------------------------------------------------
/src/components/SinaWeibo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 |
31 |
32 |
33 |

34 |
35 |
36 |
37 |
41 |
42 |
43 |
44 |
![]()
45 |
46 |
{{news.name}}
47 |
{{news.resource}}
48 |
49 |
50 |
57 |
64 |
65 |
{{news.content}}
66 |
67 |
![]()
71 |
72 |
73 |
74 | -
77 |
78 | {{news.collect ? "已收藏" : '收藏'}}
79 |
80 | -
81 |
82 | 转发
83 |
84 | -
85 |
86 | 评论
87 |
88 | -
91 |
92 | {{news.like ? '取消赞' : '赞'}}
93 |
94 |
95 |
96 |
97 |
98 |
116 |
117 |
120 |
121 |
122 |
123 |
201 |
202 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | // The Vue build version to load with the `import` command
2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
3 | import Vue from 'vue'
4 | import App from './App'
5 | import router from './router'
6 |
7 | Vue.config.productionTip = false
8 |
9 | /* eslint-disable no-new */
10 | new Vue({
11 | el: '#app',
12 | router,
13 | template: '',
14 | components: { App }
15 | })
16 |
--------------------------------------------------------------------------------
/src/mock-data.js:
--------------------------------------------------------------------------------
1 | const profileData = [
2 | {
3 | num: 181,
4 | text: '关注'
5 | },
6 | {
7 | num: 2483,
8 | text: '粉丝'
9 | },
10 | {
11 | num: 0,
12 | text: '微博'
13 | }
14 | ];
15 | const weiboNews = [
16 | {
17 | imgUrl: '../../static/image/news-profile.02.jpg',
18 | name: '人民网',
19 | resource: '6分钟前 来自 人民网微博',
20 | content: '【18岁,你好!最后一批90后即将全部成年】近日,网友纷纷晒出自己的18岁照片。2017年12月31日,最后一批90后将度过他们的18岁生日,这意味着90后一代已全部成年。还记得你的18岁吗?愿你出走半生,归来仍是少年!',
21 | images: [
22 | "../../static/image/news-image.01.png"
23 | ],
24 | attention: true,
25 | collect: false,
26 | like: false
27 | },
28 | {
29 | imgUrl: '../../static/image/news-profile.01.jpg',
30 | name: '全球顶尖摄影',
31 | resource: '6分钟前 来自 网页版微博',
32 | content: '镜头下最美的劳动者! 他们的工作环境虽然很糟糕,但也是最应该被尊重的人群。 ',
33 | images: [
34 | "../../static/image/labor.01.jpg",
35 | "../../static/image/labor.02.jpg",
36 | "../../static/image/labor.03.jpg"
37 | ],
38 | attention: false,
39 | collect: false,
40 | like: false
41 | },
42 | ];
43 | const collectNum = 5;
44 | const likeNum = 22;
45 | export {profileData, weiboNews, collectNum, likeNum}
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import Weibo from '../components/SinaWeibo.vue'
4 | import Counter from '../components/Counter.vue'
5 |
6 | Vue.use(VueRouter)
7 |
8 | export default new VueRouter({
9 | mode: 'history',
10 | routes: [
11 | {
12 | //重定向
13 | path: '/',
14 | redirect: '/weibo'
15 | },
16 | {
17 | path: '/weibo',
18 | component: Weibo
19 | },
20 | {
21 | name: 'counter',
22 | path: '/counter/:appId',
23 | component: Counter
24 | }
25 | ]
26 | })
27 |
--------------------------------------------------------------------------------
/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/.gitkeep
--------------------------------------------------------------------------------
/static/image/WB_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/WB_logo.png
--------------------------------------------------------------------------------
/static/image/labor.01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/labor.01.jpg
--------------------------------------------------------------------------------
/static/image/labor.02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/labor.02.jpg
--------------------------------------------------------------------------------
/static/image/labor.03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/labor.03.jpg
--------------------------------------------------------------------------------
/static/image/news-image.01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/news-image.01.png
--------------------------------------------------------------------------------
/static/image/news-profile.01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/news-profile.01.jpg
--------------------------------------------------------------------------------
/static/image/news-profile.02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/news-profile.02.jpg
--------------------------------------------------------------------------------
/static/image/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/plus.png
--------------------------------------------------------------------------------
/static/image/profile-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/profile-bg.jpg
--------------------------------------------------------------------------------
/static/image/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/profile.jpg
--------------------------------------------------------------------------------
/static/image/search-active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/search-active.png
--------------------------------------------------------------------------------
/static/image/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/search.png
--------------------------------------------------------------------------------
/static/image/tell-people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/image/tell-people.png
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
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
8 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/css/font-awesome.css:
--------------------------------------------------------------------------------
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 | /* FONT PATH
6 | * -------------------------- */
7 | @font-face {
8 | font-family: 'FontAwesome';
9 | src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
10 | src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
11 | font-weight: normal;
12 | font-style: normal;
13 | }
14 | .fa {
15 | display: inline-block;
16 | font: normal normal normal 14px/1 FontAwesome;
17 | font-size: inherit;
18 | text-rendering: auto;
19 | -webkit-font-smoothing: antialiased;
20 | -moz-osx-font-smoothing: grayscale;
21 | }
22 | /* makes the font 33% larger relative to the icon container */
23 | .fa-lg {
24 | font-size: 1.33333333em;
25 | line-height: 0.75em;
26 | vertical-align: -15%;
27 | }
28 | .fa-2x {
29 | font-size: 2em;
30 | }
31 | .fa-3x {
32 | font-size: 3em;
33 | }
34 | .fa-4x {
35 | font-size: 4em;
36 | }
37 | .fa-5x {
38 | font-size: 5em;
39 | }
40 | .fa-fw {
41 | width: 1.28571429em;
42 | text-align: center;
43 | }
44 | .fa-ul {
45 | padding-left: 0;
46 | margin-left: 2.14285714em;
47 | list-style-type: none;
48 | }
49 | .fa-ul > li {
50 | position: relative;
51 | }
52 | .fa-li {
53 | position: absolute;
54 | left: -2.14285714em;
55 | width: 2.14285714em;
56 | top: 0.14285714em;
57 | text-align: center;
58 | }
59 | .fa-li.fa-lg {
60 | left: -1.85714286em;
61 | }
62 | .fa-border {
63 | padding: .2em .25em .15em;
64 | border: solid 0.08em #eeeeee;
65 | border-radius: .1em;
66 | }
67 | .fa-pull-left {
68 | float: left;
69 | }
70 | .fa-pull-right {
71 | float: right;
72 | }
73 | .fa.fa-pull-left {
74 | margin-right: .3em;
75 | }
76 | .fa.fa-pull-right {
77 | margin-left: .3em;
78 | }
79 | /* Deprecated as of 4.4.0 */
80 | .pull-right {
81 | float: right;
82 | }
83 | .pull-left {
84 | float: left;
85 | }
86 | .fa.pull-left {
87 | margin-right: .3em;
88 | }
89 | .fa.pull-right {
90 | margin-left: .3em;
91 | }
92 | .fa-spin {
93 | -webkit-animation: fa-spin 2s infinite linear;
94 | animation: fa-spin 2s infinite linear;
95 | }
96 | .fa-pulse {
97 | -webkit-animation: fa-spin 1s infinite steps(8);
98 | animation: fa-spin 1s infinite steps(8);
99 | }
100 | @-webkit-keyframes fa-spin {
101 | 0% {
102 | -webkit-transform: rotate(0deg);
103 | transform: rotate(0deg);
104 | }
105 | 100% {
106 | -webkit-transform: rotate(359deg);
107 | transform: rotate(359deg);
108 | }
109 | }
110 | @keyframes fa-spin {
111 | 0% {
112 | -webkit-transform: rotate(0deg);
113 | transform: rotate(0deg);
114 | }
115 | 100% {
116 | -webkit-transform: rotate(359deg);
117 | transform: rotate(359deg);
118 | }
119 | }
120 | .fa-rotate-90 {
121 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
122 | -webkit-transform: rotate(90deg);
123 | -ms-transform: rotate(90deg);
124 | transform: rotate(90deg);
125 | }
126 | .fa-rotate-180 {
127 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
128 | -webkit-transform: rotate(180deg);
129 | -ms-transform: rotate(180deg);
130 | transform: rotate(180deg);
131 | }
132 | .fa-rotate-270 {
133 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
134 | -webkit-transform: rotate(270deg);
135 | -ms-transform: rotate(270deg);
136 | transform: rotate(270deg);
137 | }
138 | .fa-flip-horizontal {
139 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
140 | -webkit-transform: scale(-1, 1);
141 | -ms-transform: scale(-1, 1);
142 | transform: scale(-1, 1);
143 | }
144 | .fa-flip-vertical {
145 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
146 | -webkit-transform: scale(1, -1);
147 | -ms-transform: scale(1, -1);
148 | transform: scale(1, -1);
149 | }
150 | :root .fa-rotate-90,
151 | :root .fa-rotate-180,
152 | :root .fa-rotate-270,
153 | :root .fa-flip-horizontal,
154 | :root .fa-flip-vertical {
155 | filter: none;
156 | }
157 | .fa-stack {
158 | position: relative;
159 | display: inline-block;
160 | width: 2em;
161 | height: 2em;
162 | line-height: 2em;
163 | vertical-align: middle;
164 | }
165 | .fa-stack-1x,
166 | .fa-stack-2x {
167 | position: absolute;
168 | left: 0;
169 | width: 100%;
170 | text-align: center;
171 | }
172 | .fa-stack-1x {
173 | line-height: inherit;
174 | }
175 | .fa-stack-2x {
176 | font-size: 2em;
177 | }
178 | .fa-inverse {
179 | color: #ffffff;
180 | }
181 | /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
182 | readers do not read off random characters that represent icons */
183 | .fa-glass:before {
184 | content: "\f000";
185 | }
186 | .fa-music:before {
187 | content: "\f001";
188 | }
189 | .fa-search:before {
190 | content: "\f002";
191 | }
192 | .fa-envelope-o:before {
193 | content: "\f003";
194 | }
195 | .fa-heart:before {
196 | content: "\f004";
197 | }
198 | .fa-star:before {
199 | content: "\f005";
200 | }
201 | .fa-star-o:before {
202 | content: "\f006";
203 | }
204 | .fa-user:before {
205 | content: "\f007";
206 | }
207 | .fa-film:before {
208 | content: "\f008";
209 | }
210 | .fa-th-large:before {
211 | content: "\f009";
212 | }
213 | .fa-th:before {
214 | content: "\f00a";
215 | }
216 | .fa-th-list:before {
217 | content: "\f00b";
218 | }
219 | .fa-check:before {
220 | content: "\f00c";
221 | }
222 | .fa-remove:before,
223 | .fa-close:before,
224 | .fa-times:before {
225 | content: "\f00d";
226 | }
227 | .fa-search-plus:before {
228 | content: "\f00e";
229 | }
230 | .fa-search-minus:before {
231 | content: "\f010";
232 | }
233 | .fa-power-off:before {
234 | content: "\f011";
235 | }
236 | .fa-signal:before {
237 | content: "\f012";
238 | }
239 | .fa-gear:before,
240 | .fa-cog:before {
241 | content: "\f013";
242 | }
243 | .fa-trash-o:before {
244 | content: "\f014";
245 | }
246 | .fa-home:before {
247 | content: "\f015";
248 | }
249 | .fa-file-o:before {
250 | content: "\f016";
251 | }
252 | .fa-clock-o:before {
253 | content: "\f017";
254 | }
255 | .fa-road:before {
256 | content: "\f018";
257 | }
258 | .fa-download:before {
259 | content: "\f019";
260 | }
261 | .fa-arrow-circle-o-down:before {
262 | content: "\f01a";
263 | }
264 | .fa-arrow-circle-o-up:before {
265 | content: "\f01b";
266 | }
267 | .fa-inbox:before {
268 | content: "\f01c";
269 | }
270 | .fa-play-circle-o:before {
271 | content: "\f01d";
272 | }
273 | .fa-rotate-right:before,
274 | .fa-repeat:before {
275 | content: "\f01e";
276 | }
277 | .fa-refresh:before {
278 | content: "\f021";
279 | }
280 | .fa-list-alt:before {
281 | content: "\f022";
282 | }
283 | .fa-lock:before {
284 | content: "\f023";
285 | }
286 | .fa-flag:before {
287 | content: "\f024";
288 | }
289 | .fa-headphones:before {
290 | content: "\f025";
291 | }
292 | .fa-volume-off:before {
293 | content: "\f026";
294 | }
295 | .fa-volume-down:before {
296 | content: "\f027";
297 | }
298 | .fa-volume-up:before {
299 | content: "\f028";
300 | }
301 | .fa-qrcode:before {
302 | content: "\f029";
303 | }
304 | .fa-barcode:before {
305 | content: "\f02a";
306 | }
307 | .fa-tag:before {
308 | content: "\f02b";
309 | }
310 | .fa-tags:before {
311 | content: "\f02c";
312 | }
313 | .fa-book:before {
314 | content: "\f02d";
315 | }
316 | .fa-bookmark:before {
317 | content: "\f02e";
318 | }
319 | .fa-print:before {
320 | content: "\f02f";
321 | }
322 | .fa-camera:before {
323 | content: "\f030";
324 | }
325 | .fa-font:before {
326 | content: "\f031";
327 | }
328 | .fa-bold:before {
329 | content: "\f032";
330 | }
331 | .fa-italic:before {
332 | content: "\f033";
333 | }
334 | .fa-text-height:before {
335 | content: "\f034";
336 | }
337 | .fa-text-width:before {
338 | content: "\f035";
339 | }
340 | .fa-align-left:before {
341 | content: "\f036";
342 | }
343 | .fa-align-center:before {
344 | content: "\f037";
345 | }
346 | .fa-align-right:before {
347 | content: "\f038";
348 | }
349 | .fa-align-justify:before {
350 | content: "\f039";
351 | }
352 | .fa-list:before {
353 | content: "\f03a";
354 | }
355 | .fa-dedent:before,
356 | .fa-outdent:before {
357 | content: "\f03b";
358 | }
359 | .fa-indent:before {
360 | content: "\f03c";
361 | }
362 | .fa-video-camera:before {
363 | content: "\f03d";
364 | }
365 | .fa-photo:before,
366 | .fa-image:before,
367 | .fa-picture-o:before {
368 | content: "\f03e";
369 | }
370 | .fa-pencil:before {
371 | content: "\f040";
372 | }
373 | .fa-map-marker:before {
374 | content: "\f041";
375 | }
376 | .fa-adjust:before {
377 | content: "\f042";
378 | }
379 | .fa-tint:before {
380 | content: "\f043";
381 | }
382 | .fa-edit:before,
383 | .fa-pencil-square-o:before {
384 | content: "\f044";
385 | }
386 | .fa-share-square-o:before {
387 | content: "\f045";
388 | }
389 | .fa-check-square-o:before {
390 | content: "\f046";
391 | }
392 | .fa-arrows:before {
393 | content: "\f047";
394 | }
395 | .fa-step-backward:before {
396 | content: "\f048";
397 | }
398 | .fa-fast-backward:before {
399 | content: "\f049";
400 | }
401 | .fa-backward:before {
402 | content: "\f04a";
403 | }
404 | .fa-play:before {
405 | content: "\f04b";
406 | }
407 | .fa-pause:before {
408 | content: "\f04c";
409 | }
410 | .fa-stop:before {
411 | content: "\f04d";
412 | }
413 | .fa-forward:before {
414 | content: "\f04e";
415 | }
416 | .fa-fast-forward:before {
417 | content: "\f050";
418 | }
419 | .fa-step-forward:before {
420 | content: "\f051";
421 | }
422 | .fa-eject:before {
423 | content: "\f052";
424 | }
425 | .fa-chevron-left:before {
426 | content: "\f053";
427 | }
428 | .fa-chevron-right:before {
429 | content: "\f054";
430 | }
431 | .fa-plus-circle:before {
432 | content: "\f055";
433 | }
434 | .fa-minus-circle:before {
435 | content: "\f056";
436 | }
437 | .fa-times-circle:before {
438 | content: "\f057";
439 | }
440 | .fa-check-circle:before {
441 | content: "\f058";
442 | }
443 | .fa-question-circle:before {
444 | content: "\f059";
445 | }
446 | .fa-info-circle:before {
447 | content: "\f05a";
448 | }
449 | .fa-crosshairs:before {
450 | content: "\f05b";
451 | }
452 | .fa-times-circle-o:before {
453 | content: "\f05c";
454 | }
455 | .fa-check-circle-o:before {
456 | content: "\f05d";
457 | }
458 | .fa-ban:before {
459 | content: "\f05e";
460 | }
461 | .fa-arrow-left:before {
462 | content: "\f060";
463 | }
464 | .fa-arrow-right:before {
465 | content: "\f061";
466 | }
467 | .fa-arrow-up:before {
468 | content: "\f062";
469 | }
470 | .fa-arrow-down:before {
471 | content: "\f063";
472 | }
473 | .fa-mail-forward:before,
474 | .fa-share:before {
475 | content: "\f064";
476 | }
477 | .fa-expand:before {
478 | content: "\f065";
479 | }
480 | .fa-compress:before {
481 | content: "\f066";
482 | }
483 | .fa-plus:before {
484 | content: "\f067";
485 | }
486 | .fa-minus:before {
487 | content: "\f068";
488 | }
489 | .fa-asterisk:before {
490 | content: "\f069";
491 | }
492 | .fa-exclamation-circle:before {
493 | content: "\f06a";
494 | }
495 | .fa-gift:before {
496 | content: "\f06b";
497 | }
498 | .fa-leaf:before {
499 | content: "\f06c";
500 | }
501 | .fa-fire:before {
502 | content: "\f06d";
503 | }
504 | .fa-eye:before {
505 | content: "\f06e";
506 | }
507 | .fa-eye-slash:before {
508 | content: "\f070";
509 | }
510 | .fa-warning:before,
511 | .fa-exclamation-triangle:before {
512 | content: "\f071";
513 | }
514 | .fa-plane:before {
515 | content: "\f072";
516 | }
517 | .fa-calendar:before {
518 | content: "\f073";
519 | }
520 | .fa-random:before {
521 | content: "\f074";
522 | }
523 | .fa-comment:before {
524 | content: "\f075";
525 | }
526 | .fa-magnet:before {
527 | content: "\f076";
528 | }
529 | .fa-chevron-up:before {
530 | content: "\f077";
531 | }
532 | .fa-chevron-down:before {
533 | content: "\f078";
534 | }
535 | .fa-retweet:before {
536 | content: "\f079";
537 | }
538 | .fa-shopping-cart:before {
539 | content: "\f07a";
540 | }
541 | .fa-folder:before {
542 | content: "\f07b";
543 | }
544 | .fa-folder-open:before {
545 | content: "\f07c";
546 | }
547 | .fa-arrows-v:before {
548 | content: "\f07d";
549 | }
550 | .fa-arrows-h:before {
551 | content: "\f07e";
552 | }
553 | .fa-bar-chart-o:before,
554 | .fa-bar-chart:before {
555 | content: "\f080";
556 | }
557 | .fa-twitter-square:before {
558 | content: "\f081";
559 | }
560 | .fa-facebook-square:before {
561 | content: "\f082";
562 | }
563 | .fa-camera-retro:before {
564 | content: "\f083";
565 | }
566 | .fa-key:before {
567 | content: "\f084";
568 | }
569 | .fa-gears:before,
570 | .fa-cogs:before {
571 | content: "\f085";
572 | }
573 | .fa-comments:before {
574 | content: "\f086";
575 | }
576 | .fa-thumbs-o-up:before {
577 | content: "\f087";
578 | }
579 | .fa-thumbs-o-down:before {
580 | content: "\f088";
581 | }
582 | .fa-star-half:before {
583 | content: "\f089";
584 | }
585 | .fa-heart-o:before {
586 | content: "\f08a";
587 | }
588 | .fa-sign-out:before {
589 | content: "\f08b";
590 | }
591 | .fa-linkedin-square:before {
592 | content: "\f08c";
593 | }
594 | .fa-thumb-tack:before {
595 | content: "\f08d";
596 | }
597 | .fa-external-link:before {
598 | content: "\f08e";
599 | }
600 | .fa-sign-in:before {
601 | content: "\f090";
602 | }
603 | .fa-trophy:before {
604 | content: "\f091";
605 | }
606 | .fa-github-square:before {
607 | content: "\f092";
608 | }
609 | .fa-upload:before {
610 | content: "\f093";
611 | }
612 | .fa-lemon-o:before {
613 | content: "\f094";
614 | }
615 | .fa-phone:before {
616 | content: "\f095";
617 | }
618 | .fa-square-o:before {
619 | content: "\f096";
620 | }
621 | .fa-bookmark-o:before {
622 | content: "\f097";
623 | }
624 | .fa-phone-square:before {
625 | content: "\f098";
626 | }
627 | .fa-twitter:before {
628 | content: "\f099";
629 | }
630 | .fa-facebook-f:before,
631 | .fa-facebook:before {
632 | content: "\f09a";
633 | }
634 | .fa-github:before {
635 | content: "\f09b";
636 | }
637 | .fa-unlock:before {
638 | content: "\f09c";
639 | }
640 | .fa-credit-card:before {
641 | content: "\f09d";
642 | }
643 | .fa-feed:before,
644 | .fa-rss:before {
645 | content: "\f09e";
646 | }
647 | .fa-hdd-o:before {
648 | content: "\f0a0";
649 | }
650 | .fa-bullhorn:before {
651 | content: "\f0a1";
652 | }
653 | .fa-bell:before {
654 | content: "\f0f3";
655 | }
656 | .fa-certificate:before {
657 | content: "\f0a3";
658 | }
659 | .fa-hand-o-right:before {
660 | content: "\f0a4";
661 | }
662 | .fa-hand-o-left:before {
663 | content: "\f0a5";
664 | }
665 | .fa-hand-o-up:before {
666 | content: "\f0a6";
667 | }
668 | .fa-hand-o-down:before {
669 | content: "\f0a7";
670 | }
671 | .fa-arrow-circle-left:before {
672 | content: "\f0a8";
673 | }
674 | .fa-arrow-circle-right:before {
675 | content: "\f0a9";
676 | }
677 | .fa-arrow-circle-up:before {
678 | content: "\f0aa";
679 | }
680 | .fa-arrow-circle-down:before {
681 | content: "\f0ab";
682 | }
683 | .fa-globe:before {
684 | content: "\f0ac";
685 | }
686 | .fa-wrench:before {
687 | content: "\f0ad";
688 | }
689 | .fa-tasks:before {
690 | content: "\f0ae";
691 | }
692 | .fa-filter:before {
693 | content: "\f0b0";
694 | }
695 | .fa-briefcase:before {
696 | content: "\f0b1";
697 | }
698 | .fa-arrows-alt:before {
699 | content: "\f0b2";
700 | }
701 | .fa-group:before,
702 | .fa-users:before {
703 | content: "\f0c0";
704 | }
705 | .fa-chain:before,
706 | .fa-link:before {
707 | content: "\f0c1";
708 | }
709 | .fa-cloud:before {
710 | content: "\f0c2";
711 | }
712 | .fa-flask:before {
713 | content: "\f0c3";
714 | }
715 | .fa-cut:before,
716 | .fa-scissors:before {
717 | content: "\f0c4";
718 | }
719 | .fa-copy:before,
720 | .fa-files-o:before {
721 | content: "\f0c5";
722 | }
723 | .fa-paperclip:before {
724 | content: "\f0c6";
725 | }
726 | .fa-save:before,
727 | .fa-floppy-o:before {
728 | content: "\f0c7";
729 | }
730 | .fa-square:before {
731 | content: "\f0c8";
732 | }
733 | .fa-navicon:before,
734 | .fa-reorder:before,
735 | .fa-bars:before {
736 | content: "\f0c9";
737 | }
738 | .fa-list-ul:before {
739 | content: "\f0ca";
740 | }
741 | .fa-list-ol:before {
742 | content: "\f0cb";
743 | }
744 | .fa-strikethrough:before {
745 | content: "\f0cc";
746 | }
747 | .fa-underline:before {
748 | content: "\f0cd";
749 | }
750 | .fa-table:before {
751 | content: "\f0ce";
752 | }
753 | .fa-magic:before {
754 | content: "\f0d0";
755 | }
756 | .fa-truck:before {
757 | content: "\f0d1";
758 | }
759 | .fa-pinterest:before {
760 | content: "\f0d2";
761 | }
762 | .fa-pinterest-square:before {
763 | content: "\f0d3";
764 | }
765 | .fa-google-plus-square:before {
766 | content: "\f0d4";
767 | }
768 | .fa-google-plus:before {
769 | content: "\f0d5";
770 | }
771 | .fa-money:before {
772 | content: "\f0d6";
773 | }
774 | .fa-caret-down:before {
775 | content: "\f0d7";
776 | }
777 | .fa-caret-up:before {
778 | content: "\f0d8";
779 | }
780 | .fa-caret-left:before {
781 | content: "\f0d9";
782 | }
783 | .fa-caret-right:before {
784 | content: "\f0da";
785 | }
786 | .fa-columns:before {
787 | content: "\f0db";
788 | }
789 | .fa-unsorted:before,
790 | .fa-sort:before {
791 | content: "\f0dc";
792 | }
793 | .fa-sort-down:before,
794 | .fa-sort-desc:before {
795 | content: "\f0dd";
796 | }
797 | .fa-sort-up:before,
798 | .fa-sort-asc:before {
799 | content: "\f0de";
800 | }
801 | .fa-envelope:before {
802 | content: "\f0e0";
803 | }
804 | .fa-linkedin:before {
805 | content: "\f0e1";
806 | }
807 | .fa-rotate-left:before,
808 | .fa-undo:before {
809 | content: "\f0e2";
810 | }
811 | .fa-legal:before,
812 | .fa-gavel:before {
813 | content: "\f0e3";
814 | }
815 | .fa-dashboard:before,
816 | .fa-tachometer:before {
817 | content: "\f0e4";
818 | }
819 | .fa-comment-o:before {
820 | content: "\f0e5";
821 | }
822 | .fa-comments-o:before {
823 | content: "\f0e6";
824 | }
825 | .fa-flash:before,
826 | .fa-bolt:before {
827 | content: "\f0e7";
828 | }
829 | .fa-sitemap:before {
830 | content: "\f0e8";
831 | }
832 | .fa-umbrella:before {
833 | content: "\f0e9";
834 | }
835 | .fa-paste:before,
836 | .fa-clipboard:before {
837 | content: "\f0ea";
838 | }
839 | .fa-lightbulb-o:before {
840 | content: "\f0eb";
841 | }
842 | .fa-exchange:before {
843 | content: "\f0ec";
844 | }
845 | .fa-cloud-download:before {
846 | content: "\f0ed";
847 | }
848 | .fa-cloud-upload:before {
849 | content: "\f0ee";
850 | }
851 | .fa-user-md:before {
852 | content: "\f0f0";
853 | }
854 | .fa-stethoscope:before {
855 | content: "\f0f1";
856 | }
857 | .fa-suitcase:before {
858 | content: "\f0f2";
859 | }
860 | .fa-bell-o:before {
861 | content: "\f0a2";
862 | }
863 | .fa-coffee:before {
864 | content: "\f0f4";
865 | }
866 | .fa-cutlery:before {
867 | content: "\f0f5";
868 | }
869 | .fa-file-text-o:before {
870 | content: "\f0f6";
871 | }
872 | .fa-building-o:before {
873 | content: "\f0f7";
874 | }
875 | .fa-hospital-o:before {
876 | content: "\f0f8";
877 | }
878 | .fa-ambulance:before {
879 | content: "\f0f9";
880 | }
881 | .fa-medkit:before {
882 | content: "\f0fa";
883 | }
884 | .fa-fighter-jet:before {
885 | content: "\f0fb";
886 | }
887 | .fa-beer:before {
888 | content: "\f0fc";
889 | }
890 | .fa-h-square:before {
891 | content: "\f0fd";
892 | }
893 | .fa-plus-square:before {
894 | content: "\f0fe";
895 | }
896 | .fa-angle-double-left:before {
897 | content: "\f100";
898 | }
899 | .fa-angle-double-right:before {
900 | content: "\f101";
901 | }
902 | .fa-angle-double-up:before {
903 | content: "\f102";
904 | }
905 | .fa-angle-double-down:before {
906 | content: "\f103";
907 | }
908 | .fa-angle-left:before {
909 | content: "\f104";
910 | }
911 | .fa-angle-right:before {
912 | content: "\f105";
913 | }
914 | .fa-angle-up:before {
915 | content: "\f106";
916 | }
917 | .fa-angle-down:before {
918 | content: "\f107";
919 | }
920 | .fa-desktop:before {
921 | content: "\f108";
922 | }
923 | .fa-laptop:before {
924 | content: "\f109";
925 | }
926 | .fa-tablet:before {
927 | content: "\f10a";
928 | }
929 | .fa-mobile-phone:before,
930 | .fa-mobile:before {
931 | content: "\f10b";
932 | }
933 | .fa-circle-o:before {
934 | content: "\f10c";
935 | }
936 | .fa-quote-left:before {
937 | content: "\f10d";
938 | }
939 | .fa-quote-right:before {
940 | content: "\f10e";
941 | }
942 | .fa-spinner:before {
943 | content: "\f110";
944 | }
945 | .fa-circle:before {
946 | content: "\f111";
947 | }
948 | .fa-mail-reply:before,
949 | .fa-reply:before {
950 | content: "\f112";
951 | }
952 | .fa-github-alt:before {
953 | content: "\f113";
954 | }
955 | .fa-folder-o:before {
956 | content: "\f114";
957 | }
958 | .fa-folder-open-o:before {
959 | content: "\f115";
960 | }
961 | .fa-smile-o:before {
962 | content: "\f118";
963 | }
964 | .fa-frown-o:before {
965 | content: "\f119";
966 | }
967 | .fa-meh-o:before {
968 | content: "\f11a";
969 | }
970 | .fa-gamepad:before {
971 | content: "\f11b";
972 | }
973 | .fa-keyboard-o:before {
974 | content: "\f11c";
975 | }
976 | .fa-flag-o:before {
977 | content: "\f11d";
978 | }
979 | .fa-flag-checkered:before {
980 | content: "\f11e";
981 | }
982 | .fa-terminal:before {
983 | content: "\f120";
984 | }
985 | .fa-code:before {
986 | content: "\f121";
987 | }
988 | .fa-mail-reply-all:before,
989 | .fa-reply-all:before {
990 | content: "\f122";
991 | }
992 | .fa-star-half-empty:before,
993 | .fa-star-half-full:before,
994 | .fa-star-half-o:before {
995 | content: "\f123";
996 | }
997 | .fa-location-arrow:before {
998 | content: "\f124";
999 | }
1000 | .fa-crop:before {
1001 | content: "\f125";
1002 | }
1003 | .fa-code-fork:before {
1004 | content: "\f126";
1005 | }
1006 | .fa-unlink:before,
1007 | .fa-chain-broken:before {
1008 | content: "\f127";
1009 | }
1010 | .fa-question:before {
1011 | content: "\f128";
1012 | }
1013 | .fa-info:before {
1014 | content: "\f129";
1015 | }
1016 | .fa-exclamation:before {
1017 | content: "\f12a";
1018 | }
1019 | .fa-superscript:before {
1020 | content: "\f12b";
1021 | }
1022 | .fa-subscript:before {
1023 | content: "\f12c";
1024 | }
1025 | .fa-eraser:before {
1026 | content: "\f12d";
1027 | }
1028 | .fa-puzzle-piece:before {
1029 | content: "\f12e";
1030 | }
1031 | .fa-microphone:before {
1032 | content: "\f130";
1033 | }
1034 | .fa-microphone-slash:before {
1035 | content: "\f131";
1036 | }
1037 | .fa-shield:before {
1038 | content: "\f132";
1039 | }
1040 | .fa-calendar-o:before {
1041 | content: "\f133";
1042 | }
1043 | .fa-fire-extinguisher:before {
1044 | content: "\f134";
1045 | }
1046 | .fa-rocket:before {
1047 | content: "\f135";
1048 | }
1049 | .fa-maxcdn:before {
1050 | content: "\f136";
1051 | }
1052 | .fa-chevron-circle-left:before {
1053 | content: "\f137";
1054 | }
1055 | .fa-chevron-circle-right:before {
1056 | content: "\f138";
1057 | }
1058 | .fa-chevron-circle-up:before {
1059 | content: "\f139";
1060 | }
1061 | .fa-chevron-circle-down:before {
1062 | content: "\f13a";
1063 | }
1064 | .fa-html5:before {
1065 | content: "\f13b";
1066 | }
1067 | .fa-css3:before {
1068 | content: "\f13c";
1069 | }
1070 | .fa-anchor:before {
1071 | content: "\f13d";
1072 | }
1073 | .fa-unlock-alt:before {
1074 | content: "\f13e";
1075 | }
1076 | .fa-bullseye:before {
1077 | content: "\f140";
1078 | }
1079 | .fa-ellipsis-h:before {
1080 | content: "\f141";
1081 | }
1082 | .fa-ellipsis-v:before {
1083 | content: "\f142";
1084 | }
1085 | .fa-rss-square:before {
1086 | content: "\f143";
1087 | }
1088 | .fa-play-circle:before {
1089 | content: "\f144";
1090 | }
1091 | .fa-ticket:before {
1092 | content: "\f145";
1093 | }
1094 | .fa-minus-square:before {
1095 | content: "\f146";
1096 | }
1097 | .fa-minus-square-o:before {
1098 | content: "\f147";
1099 | }
1100 | .fa-level-up:before {
1101 | content: "\f148";
1102 | }
1103 | .fa-level-down:before {
1104 | content: "\f149";
1105 | }
1106 | .fa-check-square:before {
1107 | content: "\f14a";
1108 | }
1109 | .fa-pencil-square:before {
1110 | content: "\f14b";
1111 | }
1112 | .fa-external-link-square:before {
1113 | content: "\f14c";
1114 | }
1115 | .fa-share-square:before {
1116 | content: "\f14d";
1117 | }
1118 | .fa-compass:before {
1119 | content: "\f14e";
1120 | }
1121 | .fa-toggle-down:before,
1122 | .fa-caret-square-o-down:before {
1123 | content: "\f150";
1124 | }
1125 | .fa-toggle-up:before,
1126 | .fa-caret-square-o-up:before {
1127 | content: "\f151";
1128 | }
1129 | .fa-toggle-right:before,
1130 | .fa-caret-square-o-right:before {
1131 | content: "\f152";
1132 | }
1133 | .fa-euro:before,
1134 | .fa-eur:before {
1135 | content: "\f153";
1136 | }
1137 | .fa-gbp:before {
1138 | content: "\f154";
1139 | }
1140 | .fa-dollar:before,
1141 | .fa-usd:before {
1142 | content: "\f155";
1143 | }
1144 | .fa-rupee:before,
1145 | .fa-inr:before {
1146 | content: "\f156";
1147 | }
1148 | .fa-cny:before,
1149 | .fa-rmb:before,
1150 | .fa-yen:before,
1151 | .fa-jpy:before {
1152 | content: "\f157";
1153 | }
1154 | .fa-ruble:before,
1155 | .fa-rouble:before,
1156 | .fa-rub:before {
1157 | content: "\f158";
1158 | }
1159 | .fa-won:before,
1160 | .fa-krw:before {
1161 | content: "\f159";
1162 | }
1163 | .fa-bitcoin:before,
1164 | .fa-btc:before {
1165 | content: "\f15a";
1166 | }
1167 | .fa-file:before {
1168 | content: "\f15b";
1169 | }
1170 | .fa-file-text:before {
1171 | content: "\f15c";
1172 | }
1173 | .fa-sort-alpha-asc:before {
1174 | content: "\f15d";
1175 | }
1176 | .fa-sort-alpha-desc:before {
1177 | content: "\f15e";
1178 | }
1179 | .fa-sort-amount-asc:before {
1180 | content: "\f160";
1181 | }
1182 | .fa-sort-amount-desc:before {
1183 | content: "\f161";
1184 | }
1185 | .fa-sort-numeric-asc:before {
1186 | content: "\f162";
1187 | }
1188 | .fa-sort-numeric-desc:before {
1189 | content: "\f163";
1190 | }
1191 | .fa-thumbs-up:before {
1192 | content: "\f164";
1193 | }
1194 | .fa-thumbs-down:before {
1195 | content: "\f165";
1196 | }
1197 | .fa-youtube-square:before {
1198 | content: "\f166";
1199 | }
1200 | .fa-youtube:before {
1201 | content: "\f167";
1202 | }
1203 | .fa-xing:before {
1204 | content: "\f168";
1205 | }
1206 | .fa-xing-square:before {
1207 | content: "\f169";
1208 | }
1209 | .fa-youtube-play:before {
1210 | content: "\f16a";
1211 | }
1212 | .fa-dropbox:before {
1213 | content: "\f16b";
1214 | }
1215 | .fa-stack-overflow:before {
1216 | content: "\f16c";
1217 | }
1218 | .fa-instagram:before {
1219 | content: "\f16d";
1220 | }
1221 | .fa-flickr:before {
1222 | content: "\f16e";
1223 | }
1224 | .fa-adn:before {
1225 | content: "\f170";
1226 | }
1227 | .fa-bitbucket:before {
1228 | content: "\f171";
1229 | }
1230 | .fa-bitbucket-square:before {
1231 | content: "\f172";
1232 | }
1233 | .fa-tumblr:before {
1234 | content: "\f173";
1235 | }
1236 | .fa-tumblr-square:before {
1237 | content: "\f174";
1238 | }
1239 | .fa-long-arrow-down:before {
1240 | content: "\f175";
1241 | }
1242 | .fa-long-arrow-up:before {
1243 | content: "\f176";
1244 | }
1245 | .fa-long-arrow-left:before {
1246 | content: "\f177";
1247 | }
1248 | .fa-long-arrow-right:before {
1249 | content: "\f178";
1250 | }
1251 | .fa-apple:before {
1252 | content: "\f179";
1253 | }
1254 | .fa-windows:before {
1255 | content: "\f17a";
1256 | }
1257 | .fa-android:before {
1258 | content: "\f17b";
1259 | }
1260 | .fa-linux:before {
1261 | content: "\f17c";
1262 | }
1263 | .fa-dribbble:before {
1264 | content: "\f17d";
1265 | }
1266 | .fa-skype:before {
1267 | content: "\f17e";
1268 | }
1269 | .fa-foursquare:before {
1270 | content: "\f180";
1271 | }
1272 | .fa-trello:before {
1273 | content: "\f181";
1274 | }
1275 | .fa-female:before {
1276 | content: "\f182";
1277 | }
1278 | .fa-male:before {
1279 | content: "\f183";
1280 | }
1281 | .fa-gittip:before,
1282 | .fa-gratipay:before {
1283 | content: "\f184";
1284 | }
1285 | .fa-sun-o:before {
1286 | content: "\f185";
1287 | }
1288 | .fa-moon-o:before {
1289 | content: "\f186";
1290 | }
1291 | .fa-archive:before {
1292 | content: "\f187";
1293 | }
1294 | .fa-bug:before {
1295 | content: "\f188";
1296 | }
1297 | .fa-vk:before {
1298 | content: "\f189";
1299 | }
1300 | .fa-weibo:before {
1301 | content: "\f18a";
1302 | }
1303 | .fa-renren:before {
1304 | content: "\f18b";
1305 | }
1306 | .fa-pagelines:before {
1307 | content: "\f18c";
1308 | }
1309 | .fa-stack-exchange:before {
1310 | content: "\f18d";
1311 | }
1312 | .fa-arrow-circle-o-right:before {
1313 | content: "\f18e";
1314 | }
1315 | .fa-arrow-circle-o-left:before {
1316 | content: "\f190";
1317 | }
1318 | .fa-toggle-left:before,
1319 | .fa-caret-square-o-left:before {
1320 | content: "\f191";
1321 | }
1322 | .fa-dot-circle-o:before {
1323 | content: "\f192";
1324 | }
1325 | .fa-wheelchair:before {
1326 | content: "\f193";
1327 | }
1328 | .fa-vimeo-square:before {
1329 | content: "\f194";
1330 | }
1331 | .fa-turkish-lira:before,
1332 | .fa-try:before {
1333 | content: "\f195";
1334 | }
1335 | .fa-plus-square-o:before {
1336 | content: "\f196";
1337 | }
1338 | .fa-space-shuttle:before {
1339 | content: "\f197";
1340 | }
1341 | .fa-slack:before {
1342 | content: "\f198";
1343 | }
1344 | .fa-envelope-square:before {
1345 | content: "\f199";
1346 | }
1347 | .fa-wordpress:before {
1348 | content: "\f19a";
1349 | }
1350 | .fa-openid:before {
1351 | content: "\f19b";
1352 | }
1353 | .fa-institution:before,
1354 | .fa-bank:before,
1355 | .fa-university:before {
1356 | content: "\f19c";
1357 | }
1358 | .fa-mortar-board:before,
1359 | .fa-graduation-cap:before {
1360 | content: "\f19d";
1361 | }
1362 | .fa-yahoo:before {
1363 | content: "\f19e";
1364 | }
1365 | .fa-google:before {
1366 | content: "\f1a0";
1367 | }
1368 | .fa-reddit:before {
1369 | content: "\f1a1";
1370 | }
1371 | .fa-reddit-square:before {
1372 | content: "\f1a2";
1373 | }
1374 | .fa-stumbleupon-circle:before {
1375 | content: "\f1a3";
1376 | }
1377 | .fa-stumbleupon:before {
1378 | content: "\f1a4";
1379 | }
1380 | .fa-delicious:before {
1381 | content: "\f1a5";
1382 | }
1383 | .fa-digg:before {
1384 | content: "\f1a6";
1385 | }
1386 | .fa-pied-piper-pp:before {
1387 | content: "\f1a7";
1388 | }
1389 | .fa-pied-piper-alt:before {
1390 | content: "\f1a8";
1391 | }
1392 | .fa-drupal:before {
1393 | content: "\f1a9";
1394 | }
1395 | .fa-joomla:before {
1396 | content: "\f1aa";
1397 | }
1398 | .fa-language:before {
1399 | content: "\f1ab";
1400 | }
1401 | .fa-fax:before {
1402 | content: "\f1ac";
1403 | }
1404 | .fa-building:before {
1405 | content: "\f1ad";
1406 | }
1407 | .fa-child:before {
1408 | content: "\f1ae";
1409 | }
1410 | .fa-paw:before {
1411 | content: "\f1b0";
1412 | }
1413 | .fa-spoon:before {
1414 | content: "\f1b1";
1415 | }
1416 | .fa-cube:before {
1417 | content: "\f1b2";
1418 | }
1419 | .fa-cubes:before {
1420 | content: "\f1b3";
1421 | }
1422 | .fa-behance:before {
1423 | content: "\f1b4";
1424 | }
1425 | .fa-behance-square:before {
1426 | content: "\f1b5";
1427 | }
1428 | .fa-steam:before {
1429 | content: "\f1b6";
1430 | }
1431 | .fa-steam-square:before {
1432 | content: "\f1b7";
1433 | }
1434 | .fa-recycle:before {
1435 | content: "\f1b8";
1436 | }
1437 | .fa-automobile:before,
1438 | .fa-car:before {
1439 | content: "\f1b9";
1440 | }
1441 | .fa-cab:before,
1442 | .fa-taxi:before {
1443 | content: "\f1ba";
1444 | }
1445 | .fa-tree:before {
1446 | content: "\f1bb";
1447 | }
1448 | .fa-spotify:before {
1449 | content: "\f1bc";
1450 | }
1451 | .fa-deviantart:before {
1452 | content: "\f1bd";
1453 | }
1454 | .fa-soundcloud:before {
1455 | content: "\f1be";
1456 | }
1457 | .fa-database:before {
1458 | content: "\f1c0";
1459 | }
1460 | .fa-file-pdf-o:before {
1461 | content: "\f1c1";
1462 | }
1463 | .fa-file-word-o:before {
1464 | content: "\f1c2";
1465 | }
1466 | .fa-file-excel-o:before {
1467 | content: "\f1c3";
1468 | }
1469 | .fa-file-powerpoint-o:before {
1470 | content: "\f1c4";
1471 | }
1472 | .fa-file-photo-o:before,
1473 | .fa-file-picture-o:before,
1474 | .fa-file-image-o:before {
1475 | content: "\f1c5";
1476 | }
1477 | .fa-file-zip-o:before,
1478 | .fa-file-archive-o:before {
1479 | content: "\f1c6";
1480 | }
1481 | .fa-file-sound-o:before,
1482 | .fa-file-audio-o:before {
1483 | content: "\f1c7";
1484 | }
1485 | .fa-file-movie-o:before,
1486 | .fa-file-video-o:before {
1487 | content: "\f1c8";
1488 | }
1489 | .fa-file-code-o:before {
1490 | content: "\f1c9";
1491 | }
1492 | .fa-vine:before {
1493 | content: "\f1ca";
1494 | }
1495 | .fa-codepen:before {
1496 | content: "\f1cb";
1497 | }
1498 | .fa-jsfiddle:before {
1499 | content: "\f1cc";
1500 | }
1501 | .fa-life-bouy:before,
1502 | .fa-life-buoy:before,
1503 | .fa-life-saver:before,
1504 | .fa-support:before,
1505 | .fa-life-ring:before {
1506 | content: "\f1cd";
1507 | }
1508 | .fa-circle-o-notch:before {
1509 | content: "\f1ce";
1510 | }
1511 | .fa-ra:before,
1512 | .fa-resistance:before,
1513 | .fa-rebel:before {
1514 | content: "\f1d0";
1515 | }
1516 | .fa-ge:before,
1517 | .fa-empire:before {
1518 | content: "\f1d1";
1519 | }
1520 | .fa-git-square:before {
1521 | content: "\f1d2";
1522 | }
1523 | .fa-git:before {
1524 | content: "\f1d3";
1525 | }
1526 | .fa-y-combinator-square:before,
1527 | .fa-yc-square:before,
1528 | .fa-hacker-news:before {
1529 | content: "\f1d4";
1530 | }
1531 | .fa-tencent-weibo:before {
1532 | content: "\f1d5";
1533 | }
1534 | .fa-qq:before {
1535 | content: "\f1d6";
1536 | }
1537 | .fa-wechat:before,
1538 | .fa-weixin:before {
1539 | content: "\f1d7";
1540 | }
1541 | .fa-send:before,
1542 | .fa-paper-plane:before {
1543 | content: "\f1d8";
1544 | }
1545 | .fa-send-o:before,
1546 | .fa-paper-plane-o:before {
1547 | content: "\f1d9";
1548 | }
1549 | .fa-history:before {
1550 | content: "\f1da";
1551 | }
1552 | .fa-circle-thin:before {
1553 | content: "\f1db";
1554 | }
1555 | .fa-header:before {
1556 | content: "\f1dc";
1557 | }
1558 | .fa-paragraph:before {
1559 | content: "\f1dd";
1560 | }
1561 | .fa-sliders:before {
1562 | content: "\f1de";
1563 | }
1564 | .fa-share-alt:before {
1565 | content: "\f1e0";
1566 | }
1567 | .fa-share-alt-square:before {
1568 | content: "\f1e1";
1569 | }
1570 | .fa-bomb:before {
1571 | content: "\f1e2";
1572 | }
1573 | .fa-soccer-ball-o:before,
1574 | .fa-futbol-o:before {
1575 | content: "\f1e3";
1576 | }
1577 | .fa-tty:before {
1578 | content: "\f1e4";
1579 | }
1580 | .fa-binoculars:before {
1581 | content: "\f1e5";
1582 | }
1583 | .fa-plug:before {
1584 | content: "\f1e6";
1585 | }
1586 | .fa-slideshare:before {
1587 | content: "\f1e7";
1588 | }
1589 | .fa-twitch:before {
1590 | content: "\f1e8";
1591 | }
1592 | .fa-yelp:before {
1593 | content: "\f1e9";
1594 | }
1595 | .fa-newspaper-o:before {
1596 | content: "\f1ea";
1597 | }
1598 | .fa-wifi:before {
1599 | content: "\f1eb";
1600 | }
1601 | .fa-calculator:before {
1602 | content: "\f1ec";
1603 | }
1604 | .fa-paypal:before {
1605 | content: "\f1ed";
1606 | }
1607 | .fa-google-wallet:before {
1608 | content: "\f1ee";
1609 | }
1610 | .fa-cc-visa:before {
1611 | content: "\f1f0";
1612 | }
1613 | .fa-cc-mastercard:before {
1614 | content: "\f1f1";
1615 | }
1616 | .fa-cc-discover:before {
1617 | content: "\f1f2";
1618 | }
1619 | .fa-cc-amex:before {
1620 | content: "\f1f3";
1621 | }
1622 | .fa-cc-paypal:before {
1623 | content: "\f1f4";
1624 | }
1625 | .fa-cc-stripe:before {
1626 | content: "\f1f5";
1627 | }
1628 | .fa-bell-slash:before {
1629 | content: "\f1f6";
1630 | }
1631 | .fa-bell-slash-o:before {
1632 | content: "\f1f7";
1633 | }
1634 | .fa-trash:before {
1635 | content: "\f1f8";
1636 | }
1637 | .fa-copyright:before {
1638 | content: "\f1f9";
1639 | }
1640 | .fa-at:before {
1641 | content: "\f1fa";
1642 | }
1643 | .fa-eyedropper:before {
1644 | content: "\f1fb";
1645 | }
1646 | .fa-paint-brush:before {
1647 | content: "\f1fc";
1648 | }
1649 | .fa-birthday-cake:before {
1650 | content: "\f1fd";
1651 | }
1652 | .fa-area-chart:before {
1653 | content: "\f1fe";
1654 | }
1655 | .fa-pie-chart:before {
1656 | content: "\f200";
1657 | }
1658 | .fa-line-chart:before {
1659 | content: "\f201";
1660 | }
1661 | .fa-lastfm:before {
1662 | content: "\f202";
1663 | }
1664 | .fa-lastfm-square:before {
1665 | content: "\f203";
1666 | }
1667 | .fa-toggle-off:before {
1668 | content: "\f204";
1669 | }
1670 | .fa-toggle-on:before {
1671 | content: "\f205";
1672 | }
1673 | .fa-bicycle:before {
1674 | content: "\f206";
1675 | }
1676 | .fa-bus:before {
1677 | content: "\f207";
1678 | }
1679 | .fa-ioxhost:before {
1680 | content: "\f208";
1681 | }
1682 | .fa-angellist:before {
1683 | content: "\f209";
1684 | }
1685 | .fa-cc:before {
1686 | content: "\f20a";
1687 | }
1688 | .fa-shekel:before,
1689 | .fa-sheqel:before,
1690 | .fa-ils:before {
1691 | content: "\f20b";
1692 | }
1693 | .fa-meanpath:before {
1694 | content: "\f20c";
1695 | }
1696 | .fa-buysellads:before {
1697 | content: "\f20d";
1698 | }
1699 | .fa-connectdevelop:before {
1700 | content: "\f20e";
1701 | }
1702 | .fa-dashcube:before {
1703 | content: "\f210";
1704 | }
1705 | .fa-forumbee:before {
1706 | content: "\f211";
1707 | }
1708 | .fa-leanpub:before {
1709 | content: "\f212";
1710 | }
1711 | .fa-sellsy:before {
1712 | content: "\f213";
1713 | }
1714 | .fa-shirtsinbulk:before {
1715 | content: "\f214";
1716 | }
1717 | .fa-simplybuilt:before {
1718 | content: "\f215";
1719 | }
1720 | .fa-skyatlas:before {
1721 | content: "\f216";
1722 | }
1723 | .fa-cart-plus:before {
1724 | content: "\f217";
1725 | }
1726 | .fa-cart-arrow-down:before {
1727 | content: "\f218";
1728 | }
1729 | .fa-diamond:before {
1730 | content: "\f219";
1731 | }
1732 | .fa-ship:before {
1733 | content: "\f21a";
1734 | }
1735 | .fa-user-secret:before {
1736 | content: "\f21b";
1737 | }
1738 | .fa-motorcycle:before {
1739 | content: "\f21c";
1740 | }
1741 | .fa-street-view:before {
1742 | content: "\f21d";
1743 | }
1744 | .fa-heartbeat:before {
1745 | content: "\f21e";
1746 | }
1747 | .fa-venus:before {
1748 | content: "\f221";
1749 | }
1750 | .fa-mars:before {
1751 | content: "\f222";
1752 | }
1753 | .fa-mercury:before {
1754 | content: "\f223";
1755 | }
1756 | .fa-intersex:before,
1757 | .fa-transgender:before {
1758 | content: "\f224";
1759 | }
1760 | .fa-transgender-alt:before {
1761 | content: "\f225";
1762 | }
1763 | .fa-venus-double:before {
1764 | content: "\f226";
1765 | }
1766 | .fa-mars-double:before {
1767 | content: "\f227";
1768 | }
1769 | .fa-venus-mars:before {
1770 | content: "\f228";
1771 | }
1772 | .fa-mars-stroke:before {
1773 | content: "\f229";
1774 | }
1775 | .fa-mars-stroke-v:before {
1776 | content: "\f22a";
1777 | }
1778 | .fa-mars-stroke-h:before {
1779 | content: "\f22b";
1780 | }
1781 | .fa-neuter:before {
1782 | content: "\f22c";
1783 | }
1784 | .fa-genderless:before {
1785 | content: "\f22d";
1786 | }
1787 | .fa-facebook-official:before {
1788 | content: "\f230";
1789 | }
1790 | .fa-pinterest-p:before {
1791 | content: "\f231";
1792 | }
1793 | .fa-whatsapp:before {
1794 | content: "\f232";
1795 | }
1796 | .fa-server:before {
1797 | content: "\f233";
1798 | }
1799 | .fa-user-plus:before {
1800 | content: "\f234";
1801 | }
1802 | .fa-user-times:before {
1803 | content: "\f235";
1804 | }
1805 | .fa-hotel:before,
1806 | .fa-bed:before {
1807 | content: "\f236";
1808 | }
1809 | .fa-viacoin:before {
1810 | content: "\f237";
1811 | }
1812 | .fa-train:before {
1813 | content: "\f238";
1814 | }
1815 | .fa-subway:before {
1816 | content: "\f239";
1817 | }
1818 | .fa-medium:before {
1819 | content: "\f23a";
1820 | }
1821 | .fa-yc:before,
1822 | .fa-y-combinator:before {
1823 | content: "\f23b";
1824 | }
1825 | .fa-optin-monster:before {
1826 | content: "\f23c";
1827 | }
1828 | .fa-opencart:before {
1829 | content: "\f23d";
1830 | }
1831 | .fa-expeditedssl:before {
1832 | content: "\f23e";
1833 | }
1834 | .fa-battery-4:before,
1835 | .fa-battery:before,
1836 | .fa-battery-full:before {
1837 | content: "\f240";
1838 | }
1839 | .fa-battery-3:before,
1840 | .fa-battery-three-quarters:before {
1841 | content: "\f241";
1842 | }
1843 | .fa-battery-2:before,
1844 | .fa-battery-half:before {
1845 | content: "\f242";
1846 | }
1847 | .fa-battery-1:before,
1848 | .fa-battery-quarter:before {
1849 | content: "\f243";
1850 | }
1851 | .fa-battery-0:before,
1852 | .fa-battery-empty:before {
1853 | content: "\f244";
1854 | }
1855 | .fa-mouse-pointer:before {
1856 | content: "\f245";
1857 | }
1858 | .fa-i-cursor:before {
1859 | content: "\f246";
1860 | }
1861 | .fa-object-group:before {
1862 | content: "\f247";
1863 | }
1864 | .fa-object-ungroup:before {
1865 | content: "\f248";
1866 | }
1867 | .fa-sticky-note:before {
1868 | content: "\f249";
1869 | }
1870 | .fa-sticky-note-o:before {
1871 | content: "\f24a";
1872 | }
1873 | .fa-cc-jcb:before {
1874 | content: "\f24b";
1875 | }
1876 | .fa-cc-diners-club:before {
1877 | content: "\f24c";
1878 | }
1879 | .fa-clone:before {
1880 | content: "\f24d";
1881 | }
1882 | .fa-balance-scale:before {
1883 | content: "\f24e";
1884 | }
1885 | .fa-hourglass-o:before {
1886 | content: "\f250";
1887 | }
1888 | .fa-hourglass-1:before,
1889 | .fa-hourglass-start:before {
1890 | content: "\f251";
1891 | }
1892 | .fa-hourglass-2:before,
1893 | .fa-hourglass-half:before {
1894 | content: "\f252";
1895 | }
1896 | .fa-hourglass-3:before,
1897 | .fa-hourglass-end:before {
1898 | content: "\f253";
1899 | }
1900 | .fa-hourglass:before {
1901 | content: "\f254";
1902 | }
1903 | .fa-hand-grab-o:before,
1904 | .fa-hand-rock-o:before {
1905 | content: "\f255";
1906 | }
1907 | .fa-hand-stop-o:before,
1908 | .fa-hand-paper-o:before {
1909 | content: "\f256";
1910 | }
1911 | .fa-hand-scissors-o:before {
1912 | content: "\f257";
1913 | }
1914 | .fa-hand-lizard-o:before {
1915 | content: "\f258";
1916 | }
1917 | .fa-hand-spock-o:before {
1918 | content: "\f259";
1919 | }
1920 | .fa-hand-pointer-o:before {
1921 | content: "\f25a";
1922 | }
1923 | .fa-hand-peace-o:before {
1924 | content: "\f25b";
1925 | }
1926 | .fa-trademark:before {
1927 | content: "\f25c";
1928 | }
1929 | .fa-registered:before {
1930 | content: "\f25d";
1931 | }
1932 | .fa-creative-commons:before {
1933 | content: "\f25e";
1934 | }
1935 | .fa-gg:before {
1936 | content: "\f260";
1937 | }
1938 | .fa-gg-circle:before {
1939 | content: "\f261";
1940 | }
1941 | .fa-tripadvisor:before {
1942 | content: "\f262";
1943 | }
1944 | .fa-odnoklassniki:before {
1945 | content: "\f263";
1946 | }
1947 | .fa-odnoklassniki-square:before {
1948 | content: "\f264";
1949 | }
1950 | .fa-get-pocket:before {
1951 | content: "\f265";
1952 | }
1953 | .fa-wikipedia-w:before {
1954 | content: "\f266";
1955 | }
1956 | .fa-safari:before {
1957 | content: "\f267";
1958 | }
1959 | .fa-chrome:before {
1960 | content: "\f268";
1961 | }
1962 | .fa-firefox:before {
1963 | content: "\f269";
1964 | }
1965 | .fa-opera:before {
1966 | content: "\f26a";
1967 | }
1968 | .fa-internet-explorer:before {
1969 | content: "\f26b";
1970 | }
1971 | .fa-tv:before,
1972 | .fa-television:before {
1973 | content: "\f26c";
1974 | }
1975 | .fa-contao:before {
1976 | content: "\f26d";
1977 | }
1978 | .fa-500px:before {
1979 | content: "\f26e";
1980 | }
1981 | .fa-amazon:before {
1982 | content: "\f270";
1983 | }
1984 | .fa-calendar-plus-o:before {
1985 | content: "\f271";
1986 | }
1987 | .fa-calendar-minus-o:before {
1988 | content: "\f272";
1989 | }
1990 | .fa-calendar-times-o:before {
1991 | content: "\f273";
1992 | }
1993 | .fa-calendar-check-o:before {
1994 | content: "\f274";
1995 | }
1996 | .fa-industry:before {
1997 | content: "\f275";
1998 | }
1999 | .fa-map-pin:before {
2000 | content: "\f276";
2001 | }
2002 | .fa-map-signs:before {
2003 | content: "\f277";
2004 | }
2005 | .fa-map-o:before {
2006 | content: "\f278";
2007 | }
2008 | .fa-map:before {
2009 | content: "\f279";
2010 | }
2011 | .fa-commenting:before {
2012 | content: "\f27a";
2013 | }
2014 | .fa-commenting-o:before {
2015 | content: "\f27b";
2016 | }
2017 | .fa-houzz:before {
2018 | content: "\f27c";
2019 | }
2020 | .fa-vimeo:before {
2021 | content: "\f27d";
2022 | }
2023 | .fa-black-tie:before {
2024 | content: "\f27e";
2025 | }
2026 | .fa-fonticons:before {
2027 | content: "\f280";
2028 | }
2029 | .fa-reddit-alien:before {
2030 | content: "\f281";
2031 | }
2032 | .fa-edge:before {
2033 | content: "\f282";
2034 | }
2035 | .fa-credit-card-alt:before {
2036 | content: "\f283";
2037 | }
2038 | .fa-codiepie:before {
2039 | content: "\f284";
2040 | }
2041 | .fa-modx:before {
2042 | content: "\f285";
2043 | }
2044 | .fa-fort-awesome:before {
2045 | content: "\f286";
2046 | }
2047 | .fa-usb:before {
2048 | content: "\f287";
2049 | }
2050 | .fa-product-hunt:before {
2051 | content: "\f288";
2052 | }
2053 | .fa-mixcloud:before {
2054 | content: "\f289";
2055 | }
2056 | .fa-scribd:before {
2057 | content: "\f28a";
2058 | }
2059 | .fa-pause-circle:before {
2060 | content: "\f28b";
2061 | }
2062 | .fa-pause-circle-o:before {
2063 | content: "\f28c";
2064 | }
2065 | .fa-stop-circle:before {
2066 | content: "\f28d";
2067 | }
2068 | .fa-stop-circle-o:before {
2069 | content: "\f28e";
2070 | }
2071 | .fa-shopping-bag:before {
2072 | content: "\f290";
2073 | }
2074 | .fa-shopping-basket:before {
2075 | content: "\f291";
2076 | }
2077 | .fa-hashtag:before {
2078 | content: "\f292";
2079 | }
2080 | .fa-bluetooth:before {
2081 | content: "\f293";
2082 | }
2083 | .fa-bluetooth-b:before {
2084 | content: "\f294";
2085 | }
2086 | .fa-percent:before {
2087 | content: "\f295";
2088 | }
2089 | .fa-gitlab:before {
2090 | content: "\f296";
2091 | }
2092 | .fa-wpbeginner:before {
2093 | content: "\f297";
2094 | }
2095 | .fa-wpforms:before {
2096 | content: "\f298";
2097 | }
2098 | .fa-envira:before {
2099 | content: "\f299";
2100 | }
2101 | .fa-universal-access:before {
2102 | content: "\f29a";
2103 | }
2104 | .fa-wheelchair-alt:before {
2105 | content: "\f29b";
2106 | }
2107 | .fa-question-circle-o:before {
2108 | content: "\f29c";
2109 | }
2110 | .fa-blind:before {
2111 | content: "\f29d";
2112 | }
2113 | .fa-audio-description:before {
2114 | content: "\f29e";
2115 | }
2116 | .fa-volume-control-phone:before {
2117 | content: "\f2a0";
2118 | }
2119 | .fa-braille:before {
2120 | content: "\f2a1";
2121 | }
2122 | .fa-assistive-listening-systems:before {
2123 | content: "\f2a2";
2124 | }
2125 | .fa-asl-interpreting:before,
2126 | .fa-american-sign-language-interpreting:before {
2127 | content: "\f2a3";
2128 | }
2129 | .fa-deafness:before,
2130 | .fa-hard-of-hearing:before,
2131 | .fa-deaf:before {
2132 | content: "\f2a4";
2133 | }
2134 | .fa-glide:before {
2135 | content: "\f2a5";
2136 | }
2137 | .fa-glide-g:before {
2138 | content: "\f2a6";
2139 | }
2140 | .fa-signing:before,
2141 | .fa-sign-language:before {
2142 | content: "\f2a7";
2143 | }
2144 | .fa-low-vision:before {
2145 | content: "\f2a8";
2146 | }
2147 | .fa-viadeo:before {
2148 | content: "\f2a9";
2149 | }
2150 | .fa-viadeo-square:before {
2151 | content: "\f2aa";
2152 | }
2153 | .fa-snapchat:before {
2154 | content: "\f2ab";
2155 | }
2156 | .fa-snapchat-ghost:before {
2157 | content: "\f2ac";
2158 | }
2159 | .fa-snapchat-square:before {
2160 | content: "\f2ad";
2161 | }
2162 | .fa-pied-piper:before {
2163 | content: "\f2ae";
2164 | }
2165 | .fa-first-order:before {
2166 | content: "\f2b0";
2167 | }
2168 | .fa-yoast:before {
2169 | content: "\f2b1";
2170 | }
2171 | .fa-themeisle:before {
2172 | content: "\f2b2";
2173 | }
2174 | .fa-google-plus-circle:before,
2175 | .fa-google-plus-official:before {
2176 | content: "\f2b3";
2177 | }
2178 | .fa-fa:before,
2179 | .fa-font-awesome:before {
2180 | content: "\f2b4";
2181 | }
2182 | .fa-handshake-o:before {
2183 | content: "\f2b5";
2184 | }
2185 | .fa-envelope-open:before {
2186 | content: "\f2b6";
2187 | }
2188 | .fa-envelope-open-o:before {
2189 | content: "\f2b7";
2190 | }
2191 | .fa-linode:before {
2192 | content: "\f2b8";
2193 | }
2194 | .fa-address-book:before {
2195 | content: "\f2b9";
2196 | }
2197 | .fa-address-book-o:before {
2198 | content: "\f2ba";
2199 | }
2200 | .fa-vcard:before,
2201 | .fa-address-card:before {
2202 | content: "\f2bb";
2203 | }
2204 | .fa-vcard-o:before,
2205 | .fa-address-card-o:before {
2206 | content: "\f2bc";
2207 | }
2208 | .fa-user-circle:before {
2209 | content: "\f2bd";
2210 | }
2211 | .fa-user-circle-o:before {
2212 | content: "\f2be";
2213 | }
2214 | .fa-user-o:before {
2215 | content: "\f2c0";
2216 | }
2217 | .fa-id-badge:before {
2218 | content: "\f2c1";
2219 | }
2220 | .fa-drivers-license:before,
2221 | .fa-id-card:before {
2222 | content: "\f2c2";
2223 | }
2224 | .fa-drivers-license-o:before,
2225 | .fa-id-card-o:before {
2226 | content: "\f2c3";
2227 | }
2228 | .fa-quora:before {
2229 | content: "\f2c4";
2230 | }
2231 | .fa-free-code-camp:before {
2232 | content: "\f2c5";
2233 | }
2234 | .fa-telegram:before {
2235 | content: "\f2c6";
2236 | }
2237 | .fa-thermometer-4:before,
2238 | .fa-thermometer:before,
2239 | .fa-thermometer-full:before {
2240 | content: "\f2c7";
2241 | }
2242 | .fa-thermometer-3:before,
2243 | .fa-thermometer-three-quarters:before {
2244 | content: "\f2c8";
2245 | }
2246 | .fa-thermometer-2:before,
2247 | .fa-thermometer-half:before {
2248 | content: "\f2c9";
2249 | }
2250 | .fa-thermometer-1:before,
2251 | .fa-thermometer-quarter:before {
2252 | content: "\f2ca";
2253 | }
2254 | .fa-thermometer-0:before,
2255 | .fa-thermometer-empty:before {
2256 | content: "\f2cb";
2257 | }
2258 | .fa-shower:before {
2259 | content: "\f2cc";
2260 | }
2261 | .fa-bathtub:before,
2262 | .fa-s15:before,
2263 | .fa-bath:before {
2264 | content: "\f2cd";
2265 | }
2266 | .fa-podcast:before {
2267 | content: "\f2ce";
2268 | }
2269 | .fa-window-maximize:before {
2270 | content: "\f2d0";
2271 | }
2272 | .fa-window-minimize:before {
2273 | content: "\f2d1";
2274 | }
2275 | .fa-window-restore:before {
2276 | content: "\f2d2";
2277 | }
2278 | .fa-times-rectangle:before,
2279 | .fa-window-close:before {
2280 | content: "\f2d3";
2281 | }
2282 | .fa-times-rectangle-o:before,
2283 | .fa-window-close-o:before {
2284 | content: "\f2d4";
2285 | }
2286 | .fa-bandcamp:before {
2287 | content: "\f2d5";
2288 | }
2289 | .fa-grav:before {
2290 | content: "\f2d6";
2291 | }
2292 | .fa-etsy:before {
2293 | content: "\f2d7";
2294 | }
2295 | .fa-imdb:before {
2296 | content: "\f2d8";
2297 | }
2298 | .fa-ravelry:before {
2299 | content: "\f2d9";
2300 | }
2301 | .fa-eercast:before {
2302 | content: "\f2da";
2303 | }
2304 | .fa-microchip:before {
2305 | content: "\f2db";
2306 | }
2307 | .fa-snowflake-o:before {
2308 | content: "\f2dc";
2309 | }
2310 | .fa-superpowers:before {
2311 | content: "\f2dd";
2312 | }
2313 | .fa-wpexplorer:before {
2314 | content: "\f2de";
2315 | }
2316 | .fa-meetup:before {
2317 | content: "\f2e0";
2318 | }
2319 | .sr-only {
2320 | position: absolute;
2321 | width: 1px;
2322 | height: 1px;
2323 | padding: 0;
2324 | margin: -1px;
2325 | overflow: hidden;
2326 | clip: rect(0, 0, 0, 0);
2327 | border: 0;
2328 | }
2329 | .sr-only-focusable:active,
2330 | .sr-only-focusable:focus {
2331 | position: static;
2332 | width: auto;
2333 | height: auto;
2334 | margin: 0;
2335 | overflow: visible;
2336 | clip: auto;
2337 | }
2338 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/css/font-awesome.min.css:
--------------------------------------------------------------------------------
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 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
5 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/libs/font-awesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KapiAI/Vue-Testing-Demo/db6b60d3650040d00bf5c434475f79537cd0a2d2/static/libs/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/animated.less:
--------------------------------------------------------------------------------
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 | }
35 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/bordered-pulled.less:
--------------------------------------------------------------------------------
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 | }
26 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/core.less:
--------------------------------------------------------------------------------
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 | }
13 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/font-awesome.less:
--------------------------------------------------------------------------------
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";
19 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/larger.less:
--------------------------------------------------------------------------------
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; }
14 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/list.less:
--------------------------------------------------------------------------------
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 | }
20 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/mixins.less:
--------------------------------------------------------------------------------
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 | }
61 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/path.less:
--------------------------------------------------------------------------------
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 | }
16 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/rotated-flipped.less:
--------------------------------------------------------------------------------
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 | }
21 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/screen-reader.less:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { .sr-only(); }
5 | .sr-only-focusable { .sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/stacked.less:
--------------------------------------------------------------------------------
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; }
21 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/less/variables.less:
--------------------------------------------------------------------------------
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 |
801 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_animated.scss:
--------------------------------------------------------------------------------
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 | }
35 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
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 | }
26 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_core.scss:
--------------------------------------------------------------------------------
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 | }
13 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_larger.scss:
--------------------------------------------------------------------------------
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; }
14 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_list.scss:
--------------------------------------------------------------------------------
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 | }
20 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_mixins.scss:
--------------------------------------------------------------------------------
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 | }
61 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_path.scss:
--------------------------------------------------------------------------------
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 | }
16 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
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 | }
21 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { @include sr-only(); }
5 | .sr-only-focusable { @include sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_stacked.scss:
--------------------------------------------------------------------------------
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; }
21 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/_variables.scss:
--------------------------------------------------------------------------------
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 |
801 |
--------------------------------------------------------------------------------
/static/libs/font-awesome-4.7.0/scss/font-awesome.scss:
--------------------------------------------------------------------------------
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";
19 |
--------------------------------------------------------------------------------
/test/e2e/custom-assertions/elementCount.js:
--------------------------------------------------------------------------------
1 | // A custom Nightwatch assertion.
2 | // The assertion name is the filename.
3 | // Example usage:
4 | //
5 | // browser.assert.elementCount(selector, count)
6 | //
7 | // For more information on custom assertions see:
8 | // http://nightwatchjs.org/guide#writing-custom-assertions
9 |
10 | exports.assertion = function (selector, count) {
11 | this.message = 'Testing if element <' + selector + '> has count: ' + count
12 | this.expected = count
13 | this.pass = function (val) {
14 | return val === this.expected
15 | }
16 | this.value = function (res) {
17 | return res.value
18 | }
19 | this.command = function (cb) {
20 | var self = this
21 | return this.api.execute(function (selector) {
22 | return document.querySelectorAll(selector).length
23 | }, [selector], function (res) {
24 | cb.call(self, res)
25 | })
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/test/e2e/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | require('babel-register')
2 | var config = require('../../config')
3 |
4 | // http://nightwatchjs.org/gettingstarted#settings-file
5 | module.exports = {
6 | src_folders: ['test/e2e/specs'],
7 | output_folder: 'test/e2e/reports',
8 | custom_assertions_path: ['test/e2e/custom-assertions'],
9 |
10 | selenium: {
11 | start_process: true,
12 | server_path: require('selenium-server').path,
13 | host: '127.0.0.1',
14 | port: 4444,
15 | cli_args: {
16 | 'webdriver.chrome.driver': require('chromedriver').path
17 | }
18 | },
19 |
20 | test_settings: {
21 | default: {
22 | selenium_port: 4444,
23 | selenium_host: 'localhost',
24 | silent: true,
25 | globals: {
26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
27 | }
28 | },
29 |
30 | chrome: {
31 | desiredCapabilities: {
32 | browserName: 'chrome',
33 | javascriptEnabled: true,
34 | acceptSslCerts: true
35 | }
36 | },
37 |
38 | firefox: {
39 | desiredCapabilities: {
40 | browserName: 'firefox',
41 | javascriptEnabled: true,
42 | acceptSslCerts: true
43 | }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/test/e2e/runner.js:
--------------------------------------------------------------------------------
1 | // 1. start the dev server using production config
2 | process.env.NODE_ENV = 'testing'
3 |
4 | const webpack = require('webpack')
5 | const DevServer = require('webpack-dev-server')
6 |
7 | const webpackConfig = require('../../build/webpack.prod.conf')
8 | const devConfigPromise = require('../../build/webpack.dev.conf')
9 |
10 | let server
11 |
12 | devConfigPromise.then(devConfig => {
13 | const devServerOptions = devConfig.devServer
14 | const compiler = webpack(webpackConfig)
15 | server = new DevServer(compiler, devServerOptions)
16 | const port = devServerOptions.port
17 | const host = devServerOptions.host
18 | return server.listen(port, host)
19 | })
20 | .then(() => {
21 | // 2. run the nightwatch test suite against it
22 | // to run in additional browsers:
23 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
24 | // 2. add it to the --env flag below
25 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
26 | // For more information on Nightwatch's config file, see
27 | // http://nightwatchjs.org/guide#settings-file
28 | let opts = process.argv.slice(2)
29 | if (opts.indexOf('--config') === -1) {
30 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
31 | }
32 | if (opts.indexOf('--env') === -1) {
33 | opts = opts.concat(['--env', 'chrome'])
34 | }
35 |
36 | const spawn = require('cross-spawn')
37 | const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
38 |
39 | runner.on('exit', function (code) {
40 | server.close()
41 | process.exit(code)
42 | })
43 |
44 | runner.on('error', function (err) {
45 | server.close()
46 | throw err
47 | })
48 | })
49 |
--------------------------------------------------------------------------------
/test/e2e/specs/test.js:
--------------------------------------------------------------------------------
1 | // For authoring Nightwatch tests, see
2 | // http://nightwatchjs.org/guide#usage
3 |
4 | module.exports = {
5 | 'default e2e tests': function (browser) {
6 | // automatically uses dev Server port from /config.index.js
7 | // default: http://localhost:8080
8 | // see nightwatch.conf.js
9 | const devServer = browser.globals.devServerURL
10 |
11 | browser
12 | .url(devServer)
13 | .waitForElementVisible('#app', 5000)
14 | .assert.elementPresent('.hello')
15 | .assert.containsText('h1', 'Welcome to Your Vue.js App')
16 | .assert.elementCount('img', 1)
17 | .end()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/test/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "mocha": true
4 | },
5 | "globals": {
6 | "expect": true,
7 | "sinon": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/unit/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | Vue.config.productionTip = false
4 |
5 | // require all test files (files that ends with .spec.js)
6 | const testsContext = require.context('./specs', true, /\.spec$/)
7 | testsContext.keys().forEach(testsContext)
8 |
9 | // require all src files except main.js for coverage.
10 | // you can also change this to match only the subset of files that
11 | // you want coverage for.
12 | const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
13 | srcContext.keys().forEach(srcContext)
14 |
--------------------------------------------------------------------------------
/test/unit/karma.conf.js:
--------------------------------------------------------------------------------
1 | // This is a karma config file. For more details see
2 | // http://karma-runner.github.io/0.13/config/configuration-file.html
3 | // we are also using it with karma-webpack
4 | // https://github.com/webpack/karma-webpack
5 |
6 | var webpackConfig = require('../../build/webpack.test.conf')
7 |
8 | module.exports = function (config) {
9 | config.set({
10 | // to run in additional browsers:
11 | // 1. install corresponding karma launcher
12 | // http://karma-runner.github.io/0.13/config/browsers.html
13 | // 2. add it to the `browsers` array below.
14 | //browsers: ['PhantomJS'],
15 | browsers: ['Chrome'],
16 | frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'],
17 | reporters: ['spec', 'coverage'],
18 | files: ['./index.js'],
19 | preprocessors: {
20 | './index.js': ['webpack', 'sourcemap']
21 | },
22 | webpack: webpackConfig,
23 | webpackMiddleware: {
24 | noInfo: true
25 | },
26 | coverageReporter: {
27 | dir: './coverage',
28 | reporters: [
29 | { type: 'lcov', subdir: '.' },
30 | { type: 'text-summary' }
31 | ]
32 | }
33 | })
34 | }
35 |
--------------------------------------------------------------------------------
/test/unit/specs/Counter.spec.js:
--------------------------------------------------------------------------------
1 | //Counter.spec.js
2 |
3 | import Vue from 'vue'
4 | import Counter from '@/components/Counter'
5 |
6 | //引入vue-test-utils
7 | import { mount } from 'vue-test-utils'
8 |
9 |
10 | describe('Counter.vue', () =>
11 | {
12 | it('点击按钮后, count的值应该为1', () => {
13 | //获取组件实例
14 | const Constructor = Vue.extend(Counter);
15 | //挂载组件
16 | const vm = new Constructor().$mount();
17 | //获取button
18 | const button = vm.$el.querySelector('button');
19 | //新建点击事件
20 | const clickEvent = new window.Event('click');
21 | //触发点击事件
22 | button.dispatchEvent(clickEvent);
23 | //监听点击事件
24 | vm._watcher.run();
25 | // 断言:count的值应该是数字1
26 | expect(Number(vm.$el.querySelector('.num').textContent)).to.equal(1);
27 | })
28 |
29 | it('count异步更新, count的值应该为1', (done) => {
30 | ///获取组件实例
31 | const Constructor = Vue.extend(Counter);
32 | //挂载组件
33 | const vm = new Constructor().$mount();
34 | //获取button
35 | const button = vm.$el.querySelectorAll('button')[1];
36 | //新建点击事件
37 | const clickEvent = new window.Event('click');
38 |
39 | //触发点击事件
40 | button.dispatchEvent(clickEvent);
41 | //监听点击事件
42 | vm._watcher.run();
43 | //1s后进行断言
44 | window.setTimeout(() => {
45 | // 断言:count的值应该是数字1
46 | expect(Number(vm.$el.querySelector('.num').textContent)).to.equal(1);
47 | done();
48 | }, 1000);
49 | })
50 |
51 |
52 | // it('未使用Vue-test-utils: 正确渲染h3的文字为Counter.vue', () => {
53 | // const Constructor = Vue.extend(Counter);
54 | // const vm = new Constructor().$mount();
55 | // const H3 = vm.$el.querySelector('h3').textContent;
56 | // expect(H3).to.equal('Counter.vue');
57 | // })
58 |
59 | it('使用Vue-test-Utils: 正确渲染h3的文字为Counter.vue', () => {
60 | const wrapper = mount(Counter);
61 | expect(wrapper.find('h3').text()).to.equal('Counter.vue');
62 | })
63 |
64 | it('trigger()方法', () => {
65 | const wrapper = mount(Counter);
66 | const buttonOfSync = wrapper.find('.sync-button');
67 | buttonOfSync.trigger('click');
68 | buttonOfSync.trigger('click');
69 | const count = Number(wrapper.find('.num').text());
70 | expect(count).to.equal(2);
71 | })
72 |
73 | it('setData()方法', () => {
74 | const wrapper = mount(Counter);
75 | wrapper.setData({ foo: 'bar' });
76 | expect(wrapper.vm.foo).to.equal('bar');
77 | })
78 |
79 | it('find()/text()/html()方法', () => {
80 | const wrapper = mount(Counter);
81 | const h3 = wrapper.find('h3');
82 | expect(h3.text()).to.equal('Counter.vue');
83 | expect(h3.html()).to.equal('Counter.vue
');
84 | })
85 |
86 | })
--------------------------------------------------------------------------------
/test/unit/specs/HelloWorld.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import HelloWorld from '@/components/HelloWorld'
3 |
4 | describe('HelloWorld.vue', () => {
5 | it('should render correct contents', () => {
6 | const Constructor = Vue.extend(HelloWorld)
7 | const vm = new Constructor().$mount()
8 | expect(vm.$el.querySelector('.hello h1').textContent)
9 | .to.equal('Welcome to Your Vue.js App')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/test/unit/specs/SinaWeibo.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import SinaWeibo from '@/components/SinaWeibo'
3 | import { mount } from 'vue-test-utils'
4 | import sino from 'sinon'
5 |
6 | describe('SinaWeibo.vue', () => {
7 | it('点击发布按钮,发布新内容&个人微博数量增加1个', () => {
8 | const wrapper = mount(SinaWeibo);
9 | const textArea = wrapper.find('.weibo-publish-wrapper textarea');
10 | const buttonOfPublish = wrapper.find('.weibo-publish-wrapper button');
11 | const lengthOfWeiboNews = wrapper.vm.weiboNews.length;
12 | const countOfMyWeibo = wrapper.vm.profileData[2].num;
13 |
14 | //设置textArea的绑定数据
15 | wrapper.setData({newWeiboContent: {
16 | imgUrl: '../../static/image/profile.jpg',
17 | name: 'Lee_tanghui',
18 | resource: '刚刚 来自 网页版微博',
19 | content: '欢迎来到我的微博',
20 | images: []
21 | }});
22 | //触发点击事件
23 | buttonOfPublish.trigger('click');
24 | const lengthOfWeiboNewsAfterPublish = wrapper.vm.weiboNews.length;
25 | const countOfMyWeiboAfterPublish = wrapper.vm.profileData[2].num;
26 |
27 | //断言: 发布新内容
28 | expect(lengthOfWeiboNewsAfterPublish).to.equal(lengthOfWeiboNews + 1);
29 | //断言: 个人微博数量增加1个
30 | expect(countOfMyWeiboAfterPublish).to.equal(countOfMyWeibo + 1);
31 | });
32 |
33 | it('当文本框中无内容时, 不能发布空微博到微博列表, 且弹出提示框', () => {
34 | const wrapper = mount(SinaWeibo);
35 | const textArea = wrapper.find('.weibo-publish-wrapper textarea');
36 | const buttonOfPublish = wrapper.find('.weibo-publish-wrapper button');
37 | const lengthOfWeiboNews = wrapper.vm.weiboNews.length;
38 | const countOfMyWeibo = wrapper.vm.profileData[2].num;
39 |
40 | //设置textArea的绑定数据为空
41 | wrapper.setData({newWeiboContent: {
42 | imgUrl: '../../static/image/profile.jpg',
43 | name: 'Lee_tanghui',
44 | resource: '刚刚 来自 网页版微博',
45 | content: '',
46 | images: []
47 | }});
48 | //触发点击事件
49 | buttonOfPublish.trigger('click');
50 | const lengthOfWeiboNewsAfterPublish = wrapper.vm.weiboNews.length;
51 | const countOfMyWeiboAfterPublish = wrapper.vm.profileData[2].num;
52 |
53 | //断言: 没有发布新内容
54 | expect(lengthOfWeiboNewsAfterPublish).to.equal(lengthOfWeiboNews);
55 | //断言: 个人微博数量不变
56 | expect(countOfMyWeiboAfterPublish).to.equal(countOfMyWeibo);
57 | });
58 |
59 | it('当点击"关注", 个人头像下关注的数量会增加1个, 且按钮内字体变成"取消关注"', () => {
60 | const wrapper = mount(SinaWeibo);
61 | const buttonOfAddAttendion = wrapper.find('.add');
62 | const countOfMyAttention = wrapper.vm.profileData[0].num;
63 |
64 | //触发事件
65 | buttonOfAddAttendion.trigger('click');
66 |
67 | const countOfMyAttentionAfterClick = wrapper.vm.profileData[0].num;
68 |
69 | //断言: 个人头像下关注的数量会增加1个
70 | expect(countOfMyAttentionAfterClick).to.equal(countOfMyAttention + 1);
71 | //断言: 按钮内字体变成"取消关注
72 | expect(buttonOfAddAttendion.text()).to.equal('取消关注');
73 | })
74 |
75 | it('当点击"取消关注", 个人头像下关注的数量会减少1个, 且按钮内字体变成"关注"', () => {
76 | const wrapper = mount(SinaWeibo);
77 | const buttonOfUnAttendion = wrapper.find('.cancel');
78 | const countOfMyAttention = wrapper.vm.profileData[0].num;
79 |
80 | //触发事件
81 | buttonOfUnAttendion.trigger('click');
82 |
83 | const countOfMyAttentionAfterClick = wrapper.vm.profileData[0].num;
84 |
85 | //断言: 个人头像下关注的数量会增加1个
86 | expect(countOfMyAttentionAfterClick).to.equal(countOfMyAttention - 1);
87 | //断言: 按钮内字体变成"取消关注
88 | expect(buttonOfUnAttendion.text()).to.equal('关注');
89 | })
90 |
91 | it('当点击"收藏"时, 我的收藏会增加1个数量, 且按钮内文字变成"已收藏"', () => {
92 | const wrapper = mount(SinaWeibo);
93 | const buttonOfCollect = wrapper.find('.uncollectedWeibo');
94 | const countOfMyCollect = Number(wrapper.find('.collect-num span').text());
95 |
96 | //触发点击事件
97 | buttonOfCollect.trigger('click');
98 | const countOfMyCollectAfterClick = Number(wrapper.find('.collect-num span').text());
99 |
100 | //断言: 我的收藏数量会加1
101 | expect(countOfMyCollectAfterClick).to.equal(countOfMyCollect + 1);
102 | //断言: 按钮内文字变成已收藏
103 | expect(buttonOfCollect.text()).to.equal('已收藏');
104 | })
105 |
106 | it('当点击"已收藏"时, 我的收藏会减少1个数量, 且按钮内文字变成"收藏"', () => {
107 | const wrapper = mount(SinaWeibo);
108 | const buttonOfUnCollect = wrapper.find('.collectedWeibo');
109 | const countOfMyCollect = Number(wrapper.find('.collect-num span').text());
110 |
111 | //触发点击事件
112 | buttonOfUnCollect.trigger('click');
113 | const countOfMyCollectAfterClick = Number(wrapper.find('.collect-num span').text());
114 |
115 | //断言: 我的收藏数量会减1
116 | expect(countOfMyCollectAfterClick).to.equal(countOfMyCollect - 1 );
117 | //断言: 按钮内文字变成已收藏
118 | expect(buttonOfUnCollect.text()).to.equal('收藏');
119 | });
120 |
121 | it('当点击"赞", 我的赞会增加1个数量, 且按钮内文字变成"取消赞"', () => {
122 | const wrapper = mount(SinaWeibo);
123 | const buttonOfLike = wrapper.find('.dislikedWeibo');
124 | const countOfMyLike = Number(wrapper.find('.like-num span').text());
125 |
126 | //触发点击事件
127 | buttonOfLike.trigger('click');
128 | const countOfMyLikeAfterClick = Number(wrapper.find('.like-num span').text());
129 |
130 | //断言: 我的赞会增加1个数量
131 | expect(countOfMyLikeAfterClick).to.equal(countOfMyLike + 1);
132 | //断言: 按钮内文字变成取消赞
133 | expect(buttonOfLike.text()).to.equal('取消赞');
134 | });
135 |
136 | it('当点击"取消赞", 我的赞会减少1个数量, 且按钮内文字变成"赞"', () => {
137 | const wrapper = mount(SinaWeibo);
138 | const buttonOfDislike = wrapper.find('.likedWeibo');
139 | const countOfMyLike = Number(wrapper.find('.like-num span').text());
140 |
141 | //触发点击事件
142 | buttonOfDislike.trigger('click');
143 | const countOfMyLikeAfterClick = Number(wrapper.find('.like-num span').text());
144 |
145 | //断言: 我的赞会增加1个数量
146 | expect(countOfMyLikeAfterClick).to.equal(countOfMyLike - 1);
147 | //断言: 按钮内文字变成取消赞
148 | expect(buttonOfDislike.text()).to.equal('赞');
149 | });
150 | });
--------------------------------------------------------------------------------