main 209dc5660776 cached
44 files
866.8 KB
255.9k tokens
303 symbols
1 requests
Download .txt
Showing preview only (895K chars total). Download the full file or copy to clipboard to get everything.
Repository: alexfernandez/package-quality
Branch: main
Commit: 209dc5660776
Files: 44
Total size: 866.8 KB

Directory structure:
gitextract_g2_sghff/

├── .gitignore
├── .jshintrc
├── .travis.yml
├── Gruntfile.js
├── LICENSE
├── README.md
├── app/
│   ├── badge.html
│   ├── css/
│   │   └── style.css
│   ├── img/
│   │   ├── badge.psd
│   │   ├── badge2.psd
│   │   └── stars.psd
│   ├── index.html
│   ├── js/
│   │   └── main.js
│   └── lib/
│       └── flat-ui/
│           ├── css/
│           │   └── flat-ui.css
│           ├── fonts/
│           │   └── glyphicons/
│           │       └── selection.json
│           ├── index.html
│           └── js/
│               ├── flat-ui.js
│               └── vendor/
│                   ├── html5shiv.js
│                   ├── video-js.swf
│                   └── video.js
├── bin/
│   ├── app.js
│   └── update.js
├── config.js
├── download.sh
├── index.js
├── lib/
│   ├── badges.js
│   ├── cache.js
│   ├── cached-request.js
│   ├── db.js
│   ├── estimation.js
│   ├── factors/
│   │   ├── downloads.js
│   │   ├── issues.js
│   │   └── versions.js
│   ├── packages.js
│   ├── server.js
│   ├── update.js
│   └── utils.js
├── package.json
├── server/
│   ├── nginx-packagequality.conf
│   └── upstart-package-quality.conf
├── test/
│   ├── gulp-filter.json
│   └── test_entry.json
├── test.js
└── update.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# MacOSX
.DS_Store

# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# Deployed apps should consider commenting this line out:
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
node_modules

all.json
package-lock.json
*.swp
connect.sh
local-config.js
.tern-port
*~


================================================
FILE: .jshintrc
================================================
{
  // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options
  // Example: https://github.com/jshint/jshint/blob/master/examples/.jshintrc
  // Documentation: http://www.jshint.com/docs/
  "node": true,
  "esnext": true,
  "globals": {"escape": true},
  "globalstrict": true,
  "quotmark": true,
  "smarttabs": true,
  "trailing": true,
  "undef": true,
  "unused": true
}


================================================
FILE: .travis.yml
================================================
language: node_js

# test on current node.js versions
node_js:
  - 8
  - 10

# configure notifications (email, IRC, campfire etc)
# please update this section to your needs!
#notifications:
#  irc: "irc.freenode.org#travis"



================================================
FILE: Gruntfile.js
================================================
'use strict';

module.exports = function(grunt) {
    grunt.initConfig({
        jshint: {
            files: [
                '*.js',
                'lib/*.js',
                'lib/factors/*.js',
                'bin/*.js'
            ],
            options: {
                // use closest-through-parent jshint configuration file
                jshintrc: true
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.registerTask('default', ['jshint']);
};

================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2014 Alex Fernández

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: README.md
================================================
[![Package quality](https://packagequality.com/shield/package-quality.svg)](https://packagequality.com/#?package=package-quality)
[![Build Status](https://secure.travis-ci.org/alexfernandez/package-quality.svg)](http://travis-ci.org/alexfernandez/package-quality)

[![Package quality](https://packagequality.com/badge/package-quality.png)](https://packagequality.com/#?package=package-quality)

# package-quality

Measurements of quality for packages, initially for npm.

## Add Your Badge

To show the quality of your npm package, just add one of these images to your GitHub README:

```
[![Package quality](https://packagequality.com/shield/yourpackage.svg)](https://packagequality.com/#?package=yourpackage)
[![Package quality](https://packagequality.com/badge/yourpackage.png)](https://packagequality.com/#?package=yourpackage)
```

Or, in HTML markup:

```
<a href="https://packagequality.com/#?package=yourpackage"><img src="https://packagequality.com/badge/yourpackage.png"/></a>
<a href="https://packagequality.com/#?package=yourpackage"><img src="https://packagequality.com/shield/yourpackage.svg"/></a>
```

replacing `yourpackage` with (surprise!) the name of your package.
You can choose between badge or mini-badge; the latter is courtesy of [shields.io](https://shields.io).

## Measuring Quality

Any objective measurements of quality are going to be flawed one way or another.
`package-quality` only attempts to give some indications about quality,
not be an absolute rating on which to bet your farm.
If you don't agree with our ratings, please [help us improve them](https://github.com/alexfernandez/package-quality/pulls)!

### Algorithm

The following factors are considered when calculating the quality of a package:
  - Versions quality (v): the more versions a package has, the more quality it is. We calculate v as ```v=1-1/total_number_of_versions```
  - Downloads quality (d): the more downloads a package has, the more quality is it. We calculate d as ```d=1-1/number_of_downloads_last_year```
  - Repo quality (r): if the package has no repo, the value of r is zero. Right now (there is an issue open to fix this), if the package does not have repo on Github, it's given ```r=0```. For those packages with a repo on Github, r is calculated considering these three factors:
    - Total factor (rt), calculated as ```rt=1-1/total_number_of_issues```
    - Open factor (ro): we consider "healthy" to have a 20% of open issues in your repo (20% of the total number of issues). Those packages with 20% or less open issues will have ```ro=1```. For those with more than 20%, ```ro=1.2-open_issues/total_number_of_issues```
    - Long open factor (rlo): we consider long open issues those who have been open more that 1 year and are still open today. This factor is calculated as ```rlo=1-long_open_issues/total_number_of_issues```. If a package has no open issues, then ```rlo=1```.

The repo quality r is calculated as the average of rt, ro and rlo: ```r=(rt+ro+rlo)/3```.

The overall quality of a package is ```q=v*d*r```.

### How to Understand Star Ratings

[![By xkcd](http://imgs.xkcd.com/comics/star_ratings.png)](http://xkcd.com/1098/)

Just joking.
New packages will always appear with low stars, until they get enough momentum.
Also, packages that "just work" and get no issues will be underrated by our system.

### Other Package Managers

Right now the quality is computed only for npm packages.
But it is trivial to extend the ratings to other package managers,
since there are only external measurements from GitHub and npm:
we don't even look at the code.

If you want to extend package-quality to a new package manager,
you just need:

* a complete list of packages,
* and some way to get the downloads per year.

[Let us know](mailto:alexfernandeznpm@gmail.com) and we will set up a new subdomain.

## Help Wanted

The following areas are a work in progress:

* Improve the existing ratings.
* Take other parameters into account, such as a working or broken Travis-CI build.
* Extend to other package managers (see above).
* Just let us know what you don't like about our project.

[Just send mail](mailto:alexfernandeznpm@gmail.com) or, even better, a pull request.

## License (The MIT License)

Copyright (c) 2014-2015 Alex Fernández <alexfernandeznpm@gmail.com>,
[Diego Lafuente](https://github.com/tufosa),
Sergio García Mondaray <sgmonda@gmail.com>
and [contributors](https://github.com/alexfernandez/package-quality/graphs/contributors).

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.




================================================
FILE: app/badge.html
================================================
<img src="/badge/stdio.png"/>


================================================
FILE: app/css/style.css
================================================
.package-share img {
  display:block;
  margin:auto;
}

.package-share input {
  display: block;
  width: 100%;
  margin: 0 0 15px;
  padding: 8px;
  font-family: Menlo, Monaco, Courier, monospace;
  font-size: 13px;
  line-height: 1.72222;
  color: inherit;
  vertical-align: top;
  cursor: text;
  background-color: rgb(255, 255, 255);
  border: 2px solid rgb(231, 233, 236);
  border-radius: 6px;
}


================================================
FILE: app/index.html
================================================
<!DOCTYPE html>
<html lang="en" ng-app="PackageQuality">

	<head>
		<meta charset="UTF-8"/>
		<title>Package Quality</title>

		<meta name="viewport" content="width=device-width, initial-scale=1"/>
		<meta name="description" content=""/>
		<meta name="author" content=""/>
		<link rel="icon" href="/favicon.ico"/>

		<link rel="stylesheet" href="css/style.css" media="screen" type="text/css"/>
		<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
		<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"/>
		<link rel="stylesheet" href="lib/flat-ui/css/flat-ui.min.css"/>
	</head>

	<body ng-controller="MainController" style="padding-top: 3em; padding-bottom: 3em" class="container">

		<!-- logo -->

		<div class="row">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<img src="img/logo.png" alt="Package" style="display: block; margin: 1em auto; height: 7em"/>
			</div>
		</div>

		<!-- Fork me button -->

		<a href="https://github.com/alexfernandez/package-quality" target="_blank" style="position: fixed; top: 0; right: 0" class="hidden-xs">
			<img src="/img/forkme.png"/>
		</a>

		<!-- Search box -->

		<div class="row">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1 form-group has-feedback">
				<input ng-disabled="isLoadingPackage"
					   type="text"
					   ng-model="query"
					   ng-keyup="keyup($event.keyCode)"
					   typeahead="package for package in autocompletablePackages | filter:$viewValue"
					   typeahead-min-length="4"
					   typeahead-wait-ms="1000"
					   class="form-control"
					   placeholder="Type a package name and press ENTER"/>
				<span class="form-control-feedback" style="padding-right: 2.5em; color: #777" ng-show="isLoadingPackage">
					<i class="fa fa-spinner fa-spin"></i>
				</span>
			</div>
		</div>

		<!-- Package stats -->

		<div class="row" ng-if="package.notfound">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				Package "{{ package.query }}" not found.
			</div>
		</div>

		<div class="row" ng-if="package && !package.notfound" style="padding-bottom: 1em">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<!--
				<input type="range" ng-model="package.quality" min="0" max="1" step="0.01"/>
				-->
				<div style="margin-bottom: 0.5em">
					<h4 style="margin-bottom: 0">
						{{ package.name }}
						<span class="pull-right" style="font-size: smaller">
							<span ng-repeat="range in [[0, 1], [12, 25], [37, 50], [62, 75], [87, 99]]">
								<span class="fa fa-star-o" ng-if="package.quality * 100 < range[0]"></span>
								<span class="fa fa-star-half-empty" ng-if="package.quality * 100 >= range[0] && package.quality * 100 <= range[1]"></span>
								<span class="fa fa-star" ng-if="package.quality * 100 > range[1]"></span>
							</span>
						</span>
					</h4>
					<h7 ng-if="!packageUrl(package)">Package from <b>{{ package.source }}</b></h7>
					<h7 ng-if="packageUrl(package)">Package from <a ng-href="{{ packageUrl(package) }}"><b>{{ package.source }}</b></a></h7>
				</div>
				<p>{{ package.description }}</p>

				<div style="margin: 1.5em 0">

					<div>
						Package quality
						<span class="pull-right">
							{{ ((package.quality || 0) * 100).toFixed(2) }}
						</span>
						<div class="progress">
							<div class="progress-bar" style="width: {{ package.quality * 100}}%;"></div>
						</div>
					</div>

					<div ng-repeat="metric in metrics">
						{{ metric.label }}
						<span class="pull-right">
							{{ ((package[metric.key][0] || 0) * 100).toFixed(2) }}
						</span>
						<div class="progress">
							<div class="progress-bar" style="width: {{ package[metric.key][0] * 100}}%;"></div>
						</div>
					</div>
				</div>

			</div>
		</div>

		<div class="row package-share" ng-if="package && !package.notfound">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<hr>

				<h5>
					Share this package
				</h5>
				<p>
					Use the following snippets to share this package quality:
				</p>
				<img ng-src="{{ genShieldUrl(package) }}"/>

				<img ng-src="{{ genBadgeUrl(package) }}"/>

				<div ng-repeat="format in shareFormats">
					<small ng-bind="format.title"></small>
					<input readonly ng-value="format.markup(package)" select-on-click/>
				</div>
			</div>
		</div>

		<div class="row" ng-if="DEBUG && package">
			<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3 col-xs-10 col-xs-offset-1">
				<h6>Debug info</h6>
				<pre>{{ package | json }}</pre>
			</div>
		</div>

		<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
		<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-animate.min.js"></script>
		<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-aria.min.js"></script>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
		<script src="lib/flat-ui/js/flat-ui.min.js"></script>
		<script src="js/main.js"></script>
		<script src="lib/angular-ui/ui-bootstrap-tpls-0.9.0.min.js"></script>

		<!-- LibreCounter -->
		<div class="row" style="display: flex; justify-content: center;">
			<a href="https://librecounter.org/packagequality.com/show">
				<img src="https://librecounter.org/counter.svg" referrerPolicy="unsafe-url" width="64px">
			</a>
		</div>
	</body>
</html>


================================================
FILE: app/js/main.js
================================================
/*global angular, $*/

var app = angular.module('PackageQuality', ['ui.bootstrap']);

/**
 * Packages HTTP access service
 **/
app.factory('packages', ['$http', function ($http) {
	'use strict';

	return {
		get: function (packageName, callback) {
			if (typeof packageName === 'function') {
				callback = packageName;
				packageName = null;
			}
			var url = packageName ? '/package/' + packageName.replace(/\//g, '%2F') : '/packages';
			$http.get(url).success(function (result) {
				callback(null, result);
			}).error(function (description, status) {
				callback({error: description, status: status});
			});
		}
	};
}]);

/**
 * Filter to transform dates into "X days ago" strings
 **/
app.filter('timeAgo', function () {
	'use strict';

	return function (date, attributesArray) {

		var attributes = {};
		attributesArray.forEach(function (attr) {
			attributes[attr] = true;
		});

		if (typeof date === 'string') {
			date = new Date(Date.parse(date));
		}
		var date2 = new Date();
		var diff = date2 - date;

		var msec = diff;
		var YY = Math.floor(msec / 1000 / 60 / 60 / 24 / 365);
		msec -= YY * 1000 * 60 * 60 * 24 * 365;
		var MM = Math.floor(msec / 1000 / 60 / 60 / 24 / 30);
		msec -= MM * 1000 * 60 * 60 * 24 * 30;
		var DD = Math.floor(msec / 1000 / 60 / 60 / 24);
		msec -= DD * 1000 * 60 * 60 * 24;
		var hh = Math.floor(msec / 1000 / 60 / 60);
		msec -= hh * 1000 * 60 * 60;
		var mm = Math.floor(msec / 1000 / 60);
		msec -= mm * 1000 * 60;
		var ss = Math.floor(msec / 1000);
		msec -= ss * 1000;

		var timeStr = [
			((YY && (!attributes || attributes.years)) ? YY + ' years ': ''),
			((MM && (!attributes || attributes.months)) ? MM + ' months ': ''),
			((DD && (!attributes || attributes.days)) ? DD + ' days ': ''),
			((hh && (!attributes || attributes.hours)) ? hh + ' hours ': ''),
			((mm && (!attributes || attributes.minutes)) ? mm + ' minutes ' : ''),
			((ss && (!attributes || attributes.seconds)) ? ss + ' seconds ' : '')
		].join('');
		if (!timeStr) {
			return 'today';
		}
		return timeStr + ' ago';
	};
});

/**
 * Directive for auto selecting text in input fields
 **/
app.directive('selectOnClick', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            element.on('click', function () {
                this.select();
            });
        }
    };
});

/**
 * Main controller
 * This handles GUI components for packages search
 **/
app.controller('MainController', ['$scope', '$location', 'packages', function($scope, $location, packages){
	'use strict';

	/**
	 * Flags and main properties declaration
	 **/
	$scope.query = null;
	$scope['package'] = null;
	$scope.DEBUG = $location.search().debug === 'true';

	/**
	 * Autocompletable packages
	 **/
	$scope.autocompletablePackages = ['hola', 'adios'];
	packages.get(function (err, packages) {
		if (err || !Array.isArray(packages)) {
			return;
		}
		$scope.autocompletablePackages = packages;
		console.log('Available packages ready!: %d packages', packages.length);
	});

	/**
	 * When location changes
	 **/
	$scope.$on('$locationChangeSuccess', function () {
		console.log('Location change! Arguments:', $location.search());
		$scope.query = $location.search()['package'];
		if ($scope.query) {
			loadPackage($location.search()['package']);
		}
	});

	/**
	 * Available metrics
	 **/
	$scope.metrics = [{
		key: 'repoTotalIssues',
		label: 'Total issues'
	}, {
		key: 'repoOpenIssues',
		label: 'Open issues'
	}, {
		key: 'repoLongOpenIssues',
		label: 'Long open issues'
	}, {
		key: 'versions',
		label: 'Versions quality'
	}, {
		key: 'downloads',
		label: 'Downloads quality'
	}];

	/**
	 * Retrieve the package info through HTTP
	 **/
	function loadPackage(packageName) {
		$scope.isLoadingPackage = true;
		packages.get(packageName, function (err, result) {
			$scope.isLoadingPackage = false;
			if (err) {
				$scope['package'] = {query: packageName, notfound: true};
				return;
			}
			$scope['package'] = result;
		});
	}

	/**
	 * Enter press event handler. Changes the location to start a search
	 **/
	$scope.keyup = function (keyCode) {
		var isEnter = (keyCode === 13);
		if (!isEnter) {
			return;
		}
		var args = {};
		if ($scope.query) {
			args['package'] = $scope.query;
		}
		if ($scope.DEBUG) {
			args.debug = 'true';
		}
		$location.search(args);
	};

	/**
	 * URLs
	 **/
	// TODO: this should be a property on the package
	$scope.siteUrl = function (pkg) {
		return 'https://packagequality.com/#?package=' + encodeURIComponent(pkg.name);
	};
	$scope.packageUrl = function (pkg) {
		if (pkg.source !== 'npm') {
			return false;
		}

		return 'https://www.npmjs.com/package/' + encodeURIComponent(pkg.name);
	};

	/**
	 * Badges
	 **/
	// TODO: this should probably be generated on the backend and passed down as a property
	$scope.genBadgeUrl = function (pkg) {
		return ['https://packagequality.com/badge/', encodeURIComponent(pkg.name), '.png'].join('');
	};
	$scope.genShieldUrl = function (pkg) {
		return ['https://packagequality.com/shield/', encodeURIComponent(pkg.name), '.svg'].join('');
	};
	$scope.shareFormats = [
		{
			title: 'Image',
			markup: $scope.genBadgeUrl
		}, {
			title: 'HTML',
			markup: function (pkg) {
				return ['<img src="', $scope.genBadgeUrl(pkg), '"/>'].join('');
			}
		}, {
			title: 'Markdown',
			markup: function (pkg) {
				return ['[![Package Quality](', $scope.genBadgeUrl(pkg), ')](', $scope.siteUrl(pkg), ')'].join('');
			}
		}, {
			title: 'Textile',
			markup: function (pkg) {
				return ['!', $scope.genBadgeUrl(pkg), '!:', $scope.siteUrl(pkg)].join('');
			}
		}, {
			title: 'Shield',
			markup: $scope.genShieldUrl
		}, {
			title: 'Shield markdown',
			markup: function (pkg) {
				return ['[![Package Quality](', $scope.genShieldUrl(pkg), ')](', $scope.siteUrl(pkg), ')'].join('');
			}
		}
	];
}]);


================================================
FILE: app/lib/flat-ui/css/flat-ui.css
================================================
/*!
 * Flat UI Free v2.2.2 (http://designmodo.github.io/Flat-UI/)
 * Copyright 2013-2014 Designmodo, Inc.
 */

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 900;

  src: url('../fonts/lato/lato-black.eot');
  src: url('../fonts/lato/lato-black.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-black.woff') format('woff'), url('../fonts/lato/lato-black.ttf') format('truetype'), url('../fonts/lato/lato-black.svg#latoblack') format('svg');
  }
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: bold;

  src: url('../fonts/lato/lato-bold.eot');
  src: url('../fonts/lato/lato-bold.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-bold.woff') format('woff'), url('../fonts/lato/lato-bold.ttf') format('truetype'), url('../fonts/lato/lato-bold.svg#latobold') format('svg');
  }
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: bold;

  src: url('../fonts/lato/lato-bolditalic.eot');
  src: url('../fonts/lato/lato-bolditalic.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-bolditalic.woff') format('woff'), url('../fonts/lato/lato-bolditalic.ttf') format('truetype'), url('../fonts/lato/lato-bolditalic.svg#latobold-italic') format('svg');
  }
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: normal;

  src: url('../fonts/lato/lato-italic.eot');
  src: url('../fonts/lato/lato-italic.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-italic.woff') format('woff'), url('../fonts/lato/lato-italic.ttf') format('truetype'), url('../fonts/lato/lato-italic.svg#latoitalic') format('svg');
  }
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;

  src: url('../fonts/lato/lato-light.eot');
  src: url('../fonts/lato/lato-light.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-light.woff') format('woff'), url('../fonts/lato/lato-light.ttf') format('truetype'), url('../fonts/lato/lato-light.svg#latolight') format('svg');
  }
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: normal;

  src: url('../fonts/lato/lato-regular.eot');
  src: url('../fonts/lato/lato-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/lato/lato-regular.woff') format('woff'), url('../fonts/lato/lato-regular.ttf') format('truetype'), url('../fonts/lato/lato-regular.svg#latoregular') format('svg');
  }
@font-face {
  font-family: 'Flat-UI-Icons';

  src: url('../fonts/glyphicons/flat-ui-icons-regular.eot');
  src: url('../fonts/glyphicons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons/flat-ui-icons-regular.woff') format('woff'), url('../fonts/glyphicons/flat-ui-icons-regular.ttf') format('truetype'), url('../fonts/glyphicons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
  }
[class^="fui-"],
[class*="fui-"] {
  font-family: 'Flat-UI-Icons';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;

  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.fui-triangle-up:before {
  content: "\e600";
  }
.fui-triangle-down:before {
  content: "\e601";
  }
.fui-triangle-up-small:before {
  content: "\e602";
  }
.fui-triangle-down-small:before {
  content: "\e603";
  }
.fui-triangle-left-large:before {
  content: "\e604";
  }
.fui-triangle-right-large:before {
  content: "\e605";
  }
.fui-arrow-left:before {
  content: "\e606";
  }
.fui-arrow-right:before {
  content: "\e607";
  }
.fui-plus:before {
  content: "\e608";
  }
.fui-cross:before {
  content: "\e609";
  }
.fui-check:before {
  content: "\e60a";
  }
.fui-radio-unchecked:before {
  content: "\e60b";
  }
.fui-radio-checked:before {
  content: "\e60c";
  }
.fui-checkbox-unchecked:before {
  content: "\e60d";
  }
.fui-checkbox-checked:before {
  content: "\e60e";
  }
.fui-info-circle:before {
  content: "\e60f";
  }
.fui-alert-circle:before {
  content: "\e610";
  }
.fui-question-circle:before {
  content: "\e611";
  }
.fui-check-circle:before {
  content: "\e612";
  }
.fui-cross-circle:before {
  content: "\e613";
  }
.fui-plus-circle:before {
  content: "\e614";
  }
.fui-pause:before {
  content: "\e615";
  }
.fui-play:before {
  content: "\e616";
  }
.fui-volume:before {
  content: "\e617";
  }
.fui-mute:before {
  content: "\e618";
  }
.fui-resize:before {
  content: "\e619";
  }
.fui-list:before {
  content: "\e61a";
  }
.fui-list-thumbnailed:before {
  content: "\e61b";
  }
.fui-list-small-thumbnails:before {
  content: "\e61c";
  }
.fui-list-large-thumbnails:before {
  content: "\e61d";
  }
.fui-list-numbered:before {
  content: "\e61e";
  }
.fui-list-columned:before {
  content: "\e61f";
  }
.fui-list-bulleted:before {
  content: "\e620";
  }
.fui-window:before {
  content: "\e621";
  }
.fui-windows:before {
  content: "\e622";
  }
.fui-loop:before {
  content: "\e623";
  }
.fui-cmd:before {
  content: "\e624";
  }
.fui-mic:before {
  content: "\e625";
  }
.fui-heart:before {
  content: "\e626";
  }
.fui-location:before {
  content: "\e627";
  }
.fui-new:before {
  content: "\e628";
  }
.fui-video:before {
  content: "\e629";
  }
.fui-photo:before {
  content: "\e62a";
  }
.fui-time:before {
  content: "\e62b";
  }
.fui-eye:before {
  content: "\e62c";
  }
.fui-chat:before {
  content: "\e62d";
  }
.fui-home:before {
  content: "\e62e";
  }
.fui-upload:before {
  content: "\e62f";
  }
.fui-search:before {
  content: "\e630";
  }
.fui-user:before {
  content: "\e631";
  }
.fui-mail:before {
  content: "\e632";
  }
.fui-lock:before {
  content: "\e633";
  }
.fui-power:before {
  content: "\e634";
  }
.fui-calendar:before {
  content: "\e635";
  }
.fui-gear:before {
  content: "\e636";
  }
.fui-bookmark:before {
  content: "\e637";
  }
.fui-exit:before {
  content: "\e638";
  }
.fui-trash:before {
  content: "\e639";
  }
.fui-folder:before {
  content: "\e63a";
  }
.fui-bubble:before {
  content: "\e63b";
  }
.fui-export:before {
  content: "\e63c";
  }
.fui-calendar-solid:before {
  content: "\e63d";
  }
.fui-star:before {
  content: "\e63e";
  }
.fui-star-2:before {
  content: "\e63f";
  }
.fui-credit-card:before {
  content: "\e640";
  }
.fui-clip:before {
  content: "\e641";
  }
.fui-link:before {
  content: "\e642";
  }
.fui-tag:before {
  content: "\e643";
  }
.fui-document:before {
  content: "\e644";
  }
.fui-image:before {
  content: "\e645";
  }
.fui-facebook:before {
  content: "\e646";
  }
.fui-youtube:before {
  content: "\e647";
  }
.fui-vimeo:before {
  content: "\e648";
  }
.fui-twitter:before {
  content: "\e649";
  }
.fui-spotify:before {
  content: "\e64a";
  }
.fui-skype:before {
  content: "\e64b";
  }
.fui-pinterest:before {
  content: "\e64c";
  }
.fui-path:before {
  content: "\e64d";
  }
.fui-linkedin:before {
  content: "\e64e";
  }
.fui-google-plus:before {
  content: "\e64f";
  }
.fui-dribbble:before {
  content: "\e650";
  }
.fui-behance:before {
  content: "\e651";
  }
.fui-stumbleupon:before {
  content: "\e652";
  }
.fui-yelp:before {
  content: "\e653";
  }
.fui-wordpress:before {
  content: "\e654";
  }
.fui-windows-8:before {
  content: "\e655";
  }
.fui-vine:before {
  content: "\e656";
  }
.fui-tumblr:before {
  content: "\e657";
  }
.fui-paypal:before {
  content: "\e658";
  }
.fui-lastfm:before {
  content: "\e659";
  }
.fui-instagram:before {
  content: "\e65a";
  }
.fui-html5:before {
  content: "\e65b";
  }
.fui-github:before {
  content: "\e65c";
  }
.fui-foursquare:before {
  content: "\e65d";
  }
.fui-dropbox:before {
  content: "\e65e";
  }
.fui-android:before {
  content: "\e65f";
  }
.fui-apple:before {
  content: "\e660";
  }
body {
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.72222;
  color: #34495e;
  background-color: #fff;
  }
a {
  color: #16a085;
  text-decoration: none;
  -webkit-transition: .25s;
          transition: .25s;
  }
a:hover,
a:focus {
  color: #1abc9c;
  text-decoration: none;
  }
a:focus {
  outline: none;
  }
.img-rounded {
  border-radius: 6px;
  }
.img-thumbnail {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 4px;
  line-height: 1.72222;
  background-color: #fff;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  -webkit-transition: all .25s ease-in-out;
          transition: all .25s ease-in-out;
  }
.img-comment {
  margin: 24px 0;
  font-size: 15px;
  font-style: italic;
  line-height: 1.2;
  }
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 700;
  line-height: 1.1;
  color: inherit;
  }
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small {
  color: #e7e9ec;
  }
h1,
h2,
h3 {
  margin-top: 30px;
  margin-bottom: 15px;
  }
h4,
h5,
h6 {
  margin-top: 15px;
  margin-bottom: 15px;
  }
h6 {
  font-weight: normal;
  }
h1,
.h1 {
  font-size: 61px;
  }
h2,
.h2 {
  font-size: 53px;
  }
h3,
.h3 {
  font-size: 40px;
  }
h4,
.h4 {
  font-size: 29px;
  }
h5,
.h5 {
  font-size: 28px;
  }
h6,
.h6 {
  font-size: 24px;
  }
p {
  margin: 0 0 15px;
  font-size: 18px;
  line-height: 1.72222;
  }
.lead {
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: 300;
  line-height: 1.46428571;
  }
@media (min-width: 768px) {
  .lead {
    font-size: 30.006px;
    }
  }
small,
.small {
  font-size: 83%;
  line-height: 2.067;
  }
.text-muted {
  color: #bdc3c7;
  }
.text-inverse {
  color: #fff;
  }
.text-primary {
  color: #1abc9c;
  }
a.text-primary:hover {
  color: #148f77;
  }
.text-warning {
  color: #f1c40f;
  }
a.text-warning:hover {
  color: #c29d0b;
  }
.text-danger {
  color: #e74c3c;
  }
a.text-danger:hover {
  color: #d62c1a;
  }
.text-success {
  color: #2ecc71;
  }
a.text-success:hover {
  color: #25a25a;
  }
.text-info {
  color: #3498db;
  }
a.text-info:hover {
  color: #217dbb;
  }
.bg-primary {
  color: #fff;
  background-color: #34495e;
  }
a.bg-primary:hover {
  background-color: #222f3d;
  }
.bg-success {
  background-color: #dff0d8;
  }
a.bg-success:hover {
  background-color: #c1e2b3;
  }
.bg-info {
  background-color: #d9edf7;
  }
a.bg-info:hover {
  background-color: #afd9ee;
  }
.bg-warning {
  background-color: #fcf8e3;
  }
a.bg-warning:hover {
  background-color: #f7ecb5;
  }
.bg-danger {
  background-color: #f2dede;
  }
a.bg-danger:hover {
  background-color: #e4b9b9;
  }
.page-header {
  padding-bottom: 14px;
  margin: 60px 0 30px;
  border-bottom: 2px solid #e7e9ec;
  }
ul,
ol {
  margin-bottom: 15px;
  }
dl {
  margin-bottom: 30px;
  }
dt,
dd {
  line-height: 1.72222;
  }
@media (min-width: 768px) {
  .dl-horizontal dt {
    width: 160px;
    }
  .dl-horizontal dd {
    margin-left: 180px;
    }
  }
abbr[title],
abbr[data-original-title] {
  border-bottom: 1px dotted #bdc3c7;
  }
blockquote {
  padding: 0 0 0 16px;
  margin: 0 0 30px;
  border-left: 3px solid #e7e9ec;
  }
blockquote p {
  margin-bottom: .4em;
  font-size: 20px;
  font-weight: normal;
  line-height: 1.55;
  }
blockquote small,
blockquote .small {
  font-size: 18px;
  font-style: italic;
  line-height: 1.72222;
  color: inherit;
  }
blockquote small:before,
blockquote .small:before {
  content: "";
  }
blockquote.pull-right {
  padding-right: 16px;
  padding-left: 0;
  border-right: 3px solid #e7e9ec;
  border-left: 0;
  }
blockquote.pull-right small:after {
  content: "";
  }
address {
  margin-bottom: 30px;
  line-height: 1.72222;
  }
sub,
sup {
  font-size: 70%;
  }
code,
kbd,
pre,
samp {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
  }
code {
  padding: 2px 6px;
  font-size: 85%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
  }
kbd {
  padding: 2px 6px;
  font-size: 85%;
  color: #fff;
  background-color: #34495e;
  border-radius: 4px;
  box-shadow: none;
  }
pre {
  padding: 8px;
  margin: 0 0 15px;
  font-size: 13px;
  line-height: 1.72222;
  color: inherit;
  white-space: pre;
  background-color: #fff;
  border: 2px solid #e7e9ec;
  border-radius: 6px;
  }
.pre-scrollable {
  max-height: 340px;
  }
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 5px;
  line-height: 1.72222;
  background-color: #fff;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  -webkit-transition: border .25s ease-in-out;
          transition: border .25s ease-in-out;
  }
.thumbnail > img,
.thumbnail a > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  }
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #16a085;
  }
.thumbnail .caption {
  padding: 9px;
  color: #34495e;
  }
.btn {
  padding: 10px 15px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
  border: none;
  border-radius: 4px;
  -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
          transition: border .25s linear, color .25s linear, background-color .25s linear;

  -webkit-font-smoothing: subpixel-antialiased;
  }
.btn:hover,
.btn:focus {
  color: #fff;
  outline: none;
  }
.btn:active,
.btn.active {
  outline: none;
  box-shadow: none;
  }
.btn:focus:active {
  outline: none;
  }
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  color: rgba(255, 255, 255, .75);
  cursor: not-allowed;
  background-color: #bdc3c7;
  filter: alpha(opacity=70);
  opacity: .7;
  }
.btn [class^="fui-"] {
  position: relative;
  top: 1px;
  margin: 0 1px;
  line-height: 1;
  }
.btn-xs.btn [class^="fui-"] {
  top: 0;
  font-size: 11px;
  }
.btn-hg.btn [class^="fui-"] {
  top: 2px;
  }
.btn-default {
  color: #fff;
  background-color: #bdc3c7;
  }
.btn-default:hover,
.btn-default.hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #fff;
  background-color: #cacfd2;
  border-color: #cacfd2;
  }
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background: #a1a6a9;
  border-color: #a1a6a9;
  }
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled.hover,
.btn-default[disabled].hover,
fieldset[disabled] .btn-default.hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #bdc3c7;
  border-color: #bdc3c7;
  }
.btn-default .badge {
  color: #bdc3c7;
  background-color: #fff;
  }
.btn-primary {
  color: #fff;
  background-color: #1abc9c;
  }
.btn-primary:hover,
.btn-primary.hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #48c9b0;
  border-color: #48c9b0;
  }
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background: #16a085;
  border-color: #16a085;
  }
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled.hover,
.btn-primary[disabled].hover,
fieldset[disabled] .btn-primary.hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #bdc3c7;
  border-color: #1abc9c;
  }
.btn-primary .badge {
  color: #1abc9c;
  background-color: #fff;
  }
.btn-info {
  color: #fff;
  background-color: #3498db;
  }
.btn-info:hover,
.btn-info.hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #5dade2;
  border-color: #5dade2;
  }
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background: #2c81ba;
  border-color: #2c81ba;
  }
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled.hover,
.btn-info[disabled].hover,
fieldset[disabled] .btn-info.hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #bdc3c7;
  border-color: #3498db;
  }
.btn-info .badge {
  color: #3498db;
  background-color: #fff;
  }
.btn-danger {
  color: #fff;
  background-color: #e74c3c;
  }
.btn-danger:hover,
.btn-danger.hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #ec7063;
  border-color: #ec7063;
  }
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background: #c44133;
  border-color: #c44133;
  }
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled.hover,
.btn-danger[disabled].hover,
fieldset[disabled] .btn-danger.hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #bdc3c7;
  border-color: #e74c3c;
  }
.btn-danger .badge {
  color: #e74c3c;
  background-color: #fff;
  }
.btn-success {
  color: #fff;
  background-color: #2ecc71;
  }
.btn-success:hover,
.btn-success.hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #58d68d;
  border-color: #58d68d;
  }
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background: #27ad60;
  border-color: #27ad60;
  }
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled.hover,
.btn-success[disabled].hover,
fieldset[disabled] .btn-success.hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #bdc3c7;
  border-color: #2ecc71;
  }
.btn-success .badge {
  color: #2ecc71;
  background-color: #fff;
  }
.btn-warning {
  color: #fff;
  background-color: #f1c40f;
  }
.btn-warning:hover,
.btn-warning.hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #f4d313;
  border-color: #f4d313;
  }
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background: #cda70d;
  border-color: #cda70d;
  }
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled.hover,
.btn-warning[disabled].hover,
fieldset[disabled] .btn-warning.hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #bdc3c7;
  border-color: #f1c40f;
  }
.btn-warning .badge {
  color: #f1c40f;
  background-color: #fff;
  }
.btn-inverse {
  color: #fff;
  background-color: #34495e;
  }
.btn-inverse:hover,
.btn-inverse.hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  color: #fff;
  background-color: #415b76;
  border-color: #415b76;
  }
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  background: #2c3e50;
  border-color: #2c3e50;
  }
.btn-inverse.disabled,
.btn-inverse[disabled],
fieldset[disabled] .btn-inverse,
.btn-inverse.disabled:hover,
.btn-inverse[disabled]:hover,
fieldset[disabled] .btn-inverse:hover,
.btn-inverse.disabled.hover,
.btn-inverse[disabled].hover,
fieldset[disabled] .btn-inverse.hover,
.btn-inverse.disabled:focus,
.btn-inverse[disabled]:focus,
fieldset[disabled] .btn-inverse:focus,
.btn-inverse.disabled:active,
.btn-inverse[disabled]:active,
fieldset[disabled] .btn-inverse:active,
.btn-inverse.disabled.active,
.btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse.active {
  background-color: #bdc3c7;
  border-color: #34495e;
  }
.btn-inverse .badge {
  color: #34495e;
  background-color: #fff;
  }
.btn-embossed {
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
  }
.btn-embossed.active,
.btn-embossed:active {
  box-shadow: inset 0 2px 0 rgba(0, 0, 0, .15);
  }
.btn-wide {
  min-width: 140px;
  padding-right: 30px;
  padding-left: 30px;
  }
.btn-link {
  color: #16a085;
  }
.btn-link:hover,
.btn-link:focus {
  color: #1abc9c;
  text-decoration: underline;
  background-color: transparent;
  }
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #bdc3c7;
  text-decoration: none;
  }
.btn-hg,
.btn-group-hg > .btn {
  padding: 13px 20px;
  font-size: 22px;
  line-height: 1.227;
  border-radius: 6px;
  }
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 19px;
  font-size: 17px;
  line-height: 1.471;
  border-radius: 6px;
  }
.btn-sm,
.btn-group-sm > .btn {
  padding: 9px 13px;
  font-size: 13px;
  line-height: 1.385;
  border-radius: 4px;
  }
.btn-xs,
.btn-group-xs > .btn {
  padding: 6px 9px;
  font-size: 12px;
  line-height: 1.083;
  border-radius: 3px;
  }
.btn-tip {
  padding-left: 10px;
  font-size: 92%;
  font-weight: 300;
  }
.btn-block {
  white-space: normal;
  }
[class*="btn-social-"] {
  padding: 10px 15px;
  font-size: 13px;
  line-height: 1.077;
  border-radius: 4px;
  }
.btn-social-pinterest {
  color: #fff;
  background-color: #cb2028;
  }
.btn-social-pinterest:hover,
.btn-social-pinterest:focus {
  background-color: #d54d53;
  }
.btn-social-pinterest:active,
.btn-social-pinterest.active {
  background-color: #ad1b22;
  }
.btn-social-linkedin {
  color: #fff;
  background-color: #0072b5;
  }
.btn-social-linkedin:hover,
.btn-social-linkedin:focus {
  background-color: #338ec4;
  }
.btn-social-linkedin:active,
.btn-social-linkedin.active {
  background-color: #00619a;
  }
.btn-social-stumbleupon {
  color: #fff;
  background-color: #ed4a13;
  }
.btn-social-stumbleupon:hover,
.btn-social-stumbleupon:focus {
  background-color: #f16e42;
  }
.btn-social-stumbleupon:active,
.btn-social-stumbleupon.active {
  background-color: #c93f10;
  }
.btn-social-googleplus {
  color: #fff;
  background-color: #2d2d2d;
  }
.btn-social-googleplus:hover,
.btn-social-googleplus:focus {
  background-color: #575757;
  }
.btn-social-googleplus:active,
.btn-social-googleplus.active {
  background-color: #262626;
  }
.btn-social-facebook {
  color: #fff;
  background-color: #2f4b93;
  }
.btn-social-facebook:hover,
.btn-social-facebook:focus {
  background-color: #596fa9;
  }
.btn-social-facebook:active,
.btn-social-facebook.active {
  background-color: #28407d;
  }
.btn-social-twitter {
  color: #fff;
  background-color: #00bdef;
  }
.btn-social-twitter:hover,
.btn-social-twitter:focus {
  background-color: #33caf2;
  }
.btn-social-twitter:active,
.btn-social-twitter.active {
  background-color: #00a1cb;
  }
.btn-group > .btn + .btn {
  margin-left: 0;
  }
.btn-group > .btn + .dropdown-toggle {
  padding: 10px 12px;
  border-left: 2px solid rgba(52, 73, 94, .15);
  }
.btn-group > .btn + .dropdown-toggle .caret {
  margin-right: 3px;
  margin-left: 3px;
  }
.btn-group > .btn.btn-gh + .dropdown-toggle .caret {
  margin-right: 7px;
  margin-left: 7px;
  }
.btn-group > .btn.btn-sm + .dropdown-toggle .caret {
  margin-right: 0;
  margin-left: 0;
  }
.dropdown-toggle .caret {
  margin-left: 8px;
  }
.btn-group-xs > .btn + .dropdown-toggle {
  padding: 6px 9px;
  }
.btn-group-sm > .btn + .dropdown-toggle {
  padding: 9px 13px;
  }
.btn-group-lg > .btn + .dropdown-toggle {
  padding: 10px 19px;
  }
.btn-group-hg > .btn + .dropdown-toggle {
  padding: 13px 20px;
  }
.btn-xs .caret {
  border-width: 6px 4px 0;
  border-bottom-width: 0;
  }
.btn-lg .caret {
  border-width: 8px 6px 0;
  border-bottom-width: 0;
  }
.dropup .btn-lg .caret {
  border-width: 0 6px 8px;
  }
.dropup .btn-xs .caret {
  border-width: 0 4px 6px;
  }
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-weight: 400;
  }
.btn-group:focus .dropdown-toggle {
  outline: none;
  -webkit-transition: .25s;
          transition: .25s;
  }
.btn-group.open .dropdown-toggle {
  color: rgba(255, 255, 255, .75);
  box-shadow: none;
  }
.btn-toolbar .btn.active {
  color: #fff;
  }
.btn-toolbar .btn > [class^="fui-"] {
  margin: 0 1px;
  font-size: 16px;
  }
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 30px / 2;
  font-size: 24px;
  line-height: inherit;
  color: inherit;
  border-bottom: none;
  }
textarea {
  padding: 5px 11px;
  font-size: 20px;
  line-height: 24px;
  }
input[type="search"] {
  -webkit-appearance: none !important;
  }
label {
  font-size: 15px;
  font-weight: normal;
  line-height: 2.3;
  }
.form-control::-moz-placeholder,
.select2-search input[type="text"]::-moz-placeholder {
  color: #b2bcc5;
  opacity: 1;
  }
.form-control:-ms-input-placeholder,
.select2-search input[type="text"]:-ms-input-placeholder {
  color: #b2bcc5;
  }
.form-control::-webkit-input-placeholder,
.select2-search input[type="text"]::-webkit-input-placeholder {
  color: #b2bcc5;
  }
.form-control,
.select2-search input[type="text"] {
  height: 42px;
  padding: 8px 12px;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.467;
  color: #34495e;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  box-shadow: none;
  -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
          transition: border .25s linear, color .25s linear, background-color .25s linear;
  }
.form-group.focus .form-control,
.form-control:focus,
.form-group.focus .select2-search input[type="text"],
.select2-search input[type="text"]:focus {
  border-color: #1abc9c;
  outline: 0;
  box-shadow: none;
  }
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control,
.select2-search input[type="text"][disabled],
.select2-search input[type="text"][readonly],
fieldset[disabled] .select2-search input[type="text"] {
  color: #d5dbdb;
  cursor: default;
  background-color: #f4f6f6;
  filter: alpha(opacity=70);
  border-color: #d5dbdb;
  opacity: .7;
  }
.form-control.flat,
.select2-search input[type="text"].flat {
  border-color: transparent;
  }
.form-control.flat:hover,
.select2-search input[type="text"].flat:hover {
  border-color: #bdc3c7;
  }
.form-control.flat:focus,
.select2-search input[type="text"].flat:focus {
  border-color: #1abc9c;
  }
.input-sm,
.form-group-sm .form-control,
.form-group-sm .select2-search input[type="text"],
.select2-search input[type="text"] {
  height: 35px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.462;
  border-radius: 6px;
  }
select.input-sm,
select.form-group-sm .form-control,
select.form-group-sm .select2-search input[type="text"],
select.select2-search input[type="text"] {
  height: 35px;
  line-height: 35px;
  }
textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control,
textarea.form-group-sm .select2-search input[type="text"],
select[multiple].form-group-sm .select2-search input[type="text"],
textarea.select2-search input[type="text"],
select[multiple].select2-search input[type="text"] {
  height: auto;
  }
.input-lg,
.form-group-lg .form-control,
.form-group-lg .select2-search input[type="text"] {
  height: 45px;
  padding: 10px 15px;
  font-size: 17px;
  line-height: 1.235;
  border-radius: 6px;
  }
select.input-lg,
select.form-group-lg .form-control,
select.form-group-lg .select2-search input[type="text"] {
  height: 45px;
  line-height: 45px;
  }
textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control,
textarea.form-group-lg .select2-search input[type="text"],
select[multiple].form-group-lg .select2-search input[type="text"] {
  height: auto;
  }
.input-hg,
.form-group-hg .form-control,
.form-horizontal .form-group-hg .form-control,
.form-group-hg .select2-search input[type="text"],
.form-horizontal .form-group-hg .select2-search input[type="text"] {
  height: 53px;
  padding: 10px 16px;
  font-size: 22px;
  line-height: 1.318;
  border-radius: 6px;
  }
select.input-hg,
select.form-group-hg .form-control,
select.form-group-hg .select2-search input[type="text"] {
  height: 53px;
  line-height: 53px;
  }
textarea.input-hg,
textarea.form-group-hg .form-control,
select[multiple].input-hg,
select[multiple].form-group-hg .form-control,
textarea.form-group-hg .select2-search input[type="text"],
select[multiple].form-group-hg .select2-search input[type="text"] {
  height: auto;
  }
.form-control-feedback {
  position: absolute;
  top: 2px;
  right: 2px;
  padding: 0 12px 0 0;
  margin-top: 1px;
  font-size: 17px;
  line-height: 36px;
  color: #b2bcc5;
  pointer-events: none;
  background-color: transparent;
  border-radius: 6px;
  }
.input-hg + .form-control-feedback,
.control-feedback-hg {
  width: auto;
  height: 48px;
  padding-right: 16px;
  font-size: 20px;
  line-height: 48px;
  }
.input-lg + .form-control-feedback,
.control-feedback-lg {
  width: auto;
  height: 40px;
  padding-right: 15px;
  font-size: 18px;
  line-height: 40px;
  }
.input-sm + .form-control-feedback,
.control-feedback-sm,
.select2-search input[type="text"] + .form-control-feedback {
  width: auto;
  height: 29px;
  padding-right: 10px;
  line-height: 29px;
  }
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #2ecc71;
  }
.has-success .form-control,
.has-success .select2-search input[type="text"] {
  color: #2ecc71;
  border-color: #2ecc71;
  box-shadow: none;
  }
.has-success .form-control::-moz-placeholder,
.has-success .select2-search input[type="text"]::-moz-placeholder {
  color: #2ecc71;
  opacity: 1;
  }
.has-success .form-control:-ms-input-placeholder,
.has-success .select2-search input[type="text"]:-ms-input-placeholder {
  color: #2ecc71;
  }
.has-success .form-control::-webkit-input-placeholder,
.has-success .select2-search input[type="text"]::-webkit-input-placeholder {
  color: #2ecc71;
  }
.has-success .form-control:focus,
.has-success .select2-search input[type="text"]:focus {
  border-color: #2ecc71;
  box-shadow: none;
  }
.has-success .input-group-addon {
  color: #2ecc71;
  background-color: #fff;
  border-color: #2ecc71;
  }
.has-success .form-control-feedback {
  color: #2ecc71;
  }
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #f1c40f;
  }
.has-warning .form-control,
.has-warning .select2-search input[type="text"] {
  color: #f1c40f;
  border-color: #f1c40f;
  box-shadow: none;
  }
.has-warning .form-control::-moz-placeholder,
.has-warning .select2-search input[type="text"]::-moz-placeholder {
  color: #f1c40f;
  opacity: 1;
  }
.has-warning .form-control:-ms-input-placeholder,
.has-warning .select2-search input[type="text"]:-ms-input-placeholder {
  color: #f1c40f;
  }
.has-warning .form-control::-webkit-input-placeholder,
.has-warning .select2-search input[type="text"]::-webkit-input-placeholder {
  color: #f1c40f;
  }
.has-warning .form-control:focus,
.has-warning .select2-search input[type="text"]:focus {
  border-color: #f1c40f;
  box-shadow: none;
  }
.has-warning .input-group-addon {
  color: #f1c40f;
  background-color: #fff;
  border-color: #f1c40f;
  }
.has-warning .form-control-feedback {
  color: #f1c40f;
  }
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #e74c3c;
  }
.has-error .form-control,
.has-error .select2-search input[type="text"] {
  color: #e74c3c;
  border-color: #e74c3c;
  box-shadow: none;
  }
.has-error .form-control::-moz-placeholder,
.has-error .select2-search input[type="text"]::-moz-placeholder {
  color: #e74c3c;
  opacity: 1;
  }
.has-error .form-control:-ms-input-placeholder,
.has-error .select2-search input[type="text"]:-ms-input-placeholder {
  color: #e74c3c;
  }
.has-error .form-control::-webkit-input-placeholder,
.has-error .select2-search input[type="text"]::-webkit-input-placeholder {
  color: #e74c3c;
  }
.has-error .form-control:focus,
.has-error .select2-search input[type="text"]:focus {
  border-color: #e74c3c;
  box-shadow: none;
  }
.has-error .input-group-addon {
  color: #e74c3c;
  background-color: #fff;
  border-color: #e74c3c;
  }
.has-error .form-control-feedback {
  color: #e74c3c;
  }
.form-control[disabled] + .form-control-feedback,
.form-control[readonly] + .form-control-feedback,
fieldset[disabled] .form-control + .form-control-feedback,
.form-control.disabled + .form-control-feedback,
.select2-search input[type="text"][disabled] + .form-control-feedback,
.select2-search input[type="text"][readonly] + .form-control-feedback,
fieldset[disabled] .select2-search input[type="text"] + .form-control-feedback,
.select2-search input[type="text"].disabled + .form-control-feedback {
  color: #d5dbdb;
  cursor: not-allowed;
  background-color: transparent;
  filter: alpha(opacity=70);
  opacity: .7;
  }
.help-block {
  margin-bottom: 5px;
  font-size: 14px;
  color: #6b7a88;
  }
.form-group {
  position: relative;
  margin-bottom: 20px;
  }
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0;
  }
@media (min-width: 768px) {
  .form-horizontal .control-label {
    padding-top: 3px;
    padding-bottom: 3px;
    }
  }
.form-horizontal .form-group {
  margin-right: -15px;
  margin-left: -15px;
  }
.form-horizontal .form-control-static {
  padding-top: 6px;
  padding-bottom: 6px;
  }
@media (min-width: 768px) {
  .form-horizontal .form-group-hg .control-label {
    padding-top: 2px;
    padding-bottom: 0;
    font-size: 22px;
    }
  }
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 3px;
    padding-bottom: 2px;
    font-size: 17px;
    }
  }
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 13px;
    }
  }
.input-group .form-control,
.input-group .select2-search input[type="text"] {
  position: static;
  }
.input-group-hg > .form-control,
.input-group-hg > .input-group-addon,
.input-group-hg > .input-group-btn > .btn,
.input-group-hg > .select2-search input[type="text"] {
  height: 53px;
  padding: 10px 16px;
  font-size: 22px;
  line-height: 1.318;
  border-radius: 6px;
  }
select.input-group-hg > .form-control,
select.input-group-hg > .input-group-addon,
select.input-group-hg > .input-group-btn > .btn,
select.input-group-hg > .select2-search input[type="text"] {
  height: 53px;
  line-height: 53px;
  }
textarea.input-group-hg > .form-control,
textarea.input-group-hg > .input-group-addon,
textarea.input-group-hg > .input-group-btn > .btn,
select[multiple].input-group-hg > .form-control,
select[multiple].input-group-hg > .input-group-addon,
select[multiple].input-group-hg > .input-group-btn > .btn,
textarea.input-group-hg > .select2-search input[type="text"],
select[multiple].input-group-hg > .select2-search input[type="text"] {
  height: auto;
  }
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn,
.input-group-lg > .select2-search input[type="text"] {
  height: 45px;
  padding: 10px 15px;
  font-size: 17px;
  line-height: 1.235;
  border-radius: 6px;
  }
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn,
select.input-group-lg > .select2-search input[type="text"] {
  height: 45px;
  line-height: 45px;
  }
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn,
textarea.input-group-lg > .select2-search input[type="text"],
select[multiple].input-group-lg > .select2-search input[type="text"] {
  height: auto;
  }
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn,
.input-group-sm > .select2-search input[type="text"] {
  height: 35px;
  padding: 6px 10px;
  font-size: 13px;
  line-height: 1.462;
  border-radius: 6px;
  }
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn,
select.input-group-sm > .select2-search input[type="text"] {
  height: 35px;
  line-height: 35px;
  }
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn,
textarea.input-group-sm > .select2-search input[type="text"],
select[multiple].input-group-sm > .select2-search input[type="text"] {
  height: auto;
  }
.input-group-addon {
  padding: 10px 12px;
  font-size: 15px;
  color: #fff;
  text-align: center;
  background-color: #bdc3c7;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
          transition: border .25s linear, color .25s linear, background-color .25s linear;
  }
.input-group-hg .input-group-addon,
.input-group-lg .input-group-addon,
.input-group-sm .input-group-addon {
  line-height: 1;
  }
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group .select2-search input[type="text"]:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  }
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group .select2-search input[type="text"]:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  }
.form-group.focus .input-group-addon,
.input-group.focus .input-group-addon {
  background-color: #1abc9c;
  border-color: #1abc9c;
  }
.form-group.focus .input-group-btn > .btn-default + .btn-default,
.input-group.focus .input-group-btn > .btn-default + .btn-default {
  border-left-color: #16a085;
  }
.form-group.focus .input-group-btn .btn,
.input-group.focus .input-group-btn .btn {
  color: #1abc9c;
  background-color: #fff;
  border-color: #1abc9c;
  }
.form-group.focus .input-group-btn .btn-default,
.input-group.focus .input-group-btn .btn-default {
  color: #fff;
  background-color: #1abc9c;
  }
.form-group.focus .input-group-btn .btn-default:hover,
.input-group.focus .input-group-btn .btn-default:hover,
.form-group.focus .input-group-btn .btn-default.hover,
.input-group.focus .input-group-btn .btn-default.hover,
.form-group.focus .input-group-btn .btn-default:focus,
.input-group.focus .input-group-btn .btn-default:focus,
.form-group.focus .input-group-btn .btn-default:active,
.input-group.focus .input-group-btn .btn-default:active,
.form-group.focus .input-group-btn .btn-default.active,
.input-group.focus .input-group-btn .btn-default.active,
.open > .dropdown-toggle.form-group.focus .input-group-btn .btn-default,
.open > .dropdown-toggle.input-group.focus .input-group-btn .btn-default {
  color: #fff;
  background-color: #48c9b0;
  border-color: #48c9b0;
  }
.form-group.focus .input-group-btn .btn-default:active,
.input-group.focus .input-group-btn .btn-default:active,
.form-group.focus .input-group-btn .btn-default.active,
.input-group.focus .input-group-btn .btn-default.active,
.open > .dropdown-toggle.form-group.focus .input-group-btn .btn-default,
.open > .dropdown-toggle.input-group.focus .input-group-btn .btn-default {
  background: #16a085;
  border-color: #16a085;
  }
.form-group.focus .input-group-btn .btn-default.disabled,
.input-group.focus .input-group-btn .btn-default.disabled,
.form-group.focus .input-group-btn .btn-default[disabled],
.input-group.focus .input-group-btn .btn-default[disabled],
fieldset[disabled] .form-group.focus .input-group-btn .btn-default,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default,
.form-group.focus .input-group-btn .btn-default.disabled:hover,
.input-group.focus .input-group-btn .btn-default.disabled:hover,
.form-group.focus .input-group-btn .btn-default[disabled]:hover,
.input-group.focus .input-group-btn .btn-default[disabled]:hover,
fieldset[disabled] .form-group.focus .input-group-btn .btn-default:hover,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default:hover,
.form-group.focus .input-group-btn .btn-default.disabled.hover,
.input-group.focus .input-group-btn .btn-default.disabled.hover,
.form-group.focus .input-group-btn .btn-default[disabled].hover,
.input-group.focus .input-group-btn .btn-default[disabled].hover,
fieldset[disabled] .form-group.focus .input-group-btn .btn-default.hover,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default.hover,
.form-group.focus .input-group-btn .btn-default.disabled:focus,
.input-group.focus .input-group-btn .btn-default.disabled:focus,
.form-group.focus .input-group-btn .btn-default[disabled]:focus,
.input-group.focus .input-group-btn .btn-default[disabled]:focus,
fieldset[disabled] .form-group.focus .input-group-btn .btn-default:focus,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default:focus,
.form-group.focus .input-group-btn .btn-default.disabled:active,
.input-group.focus .input-group-btn .btn-default.disabled:active,
.form-group.focus .input-group-btn .btn-default[disabled]:active,
.input-group.focus .input-group-btn .btn-default[disabled]:active,
fieldset[disabled] .form-group.focus .input-group-btn .btn-default:active,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default:active,
.form-group.focus .input-group-btn .btn-default.disabled.active,
.input-group.focus .input-group-btn .btn-default.disabled.active,
.form-group.focus .input-group-btn .btn-default[disabled].active,
.input-group.focus .input-group-btn .btn-default[disabled].active,
fieldset[disabled] .form-group.focus .input-group-btn .btn-default.active,
fieldset[disabled] .input-group.focus .input-group-btn .btn-default.active {
  background-color: #bdc3c7;
  border-color: #1abc9c;
  }
.form-group.focus .input-group-btn .btn-default .badge,
.input-group.focus .input-group-btn .btn-default .badge {
  color: #1abc9c;
  background-color: #fff;
  }
.input-group-btn .btn {
  height: 42px;
  line-height: 18px;
  color: #bdc3c7;
  background-color: #fff;
  border: 2px solid #bdc3c7;
  }
.input-group-btn .btn-default {
  color: #fff;
  background-color: #bdc3c7;
  }
.input-group-btn .btn-default:hover,
.input-group-btn .btn-default.hover,
.input-group-btn .btn-default:focus,
.input-group-btn .btn-default:active,
.input-group-btn .btn-default.active,
.open > .dropdown-toggle.input-group-btn .btn-default {
  color: #fff;
  background-color: #cacfd2;
  border-color: #cacfd2;
  }
.input-group-btn .btn-default:active,
.input-group-btn .btn-default.active,
.open > .dropdown-toggle.input-group-btn .btn-default {
  background: #a1a6a9;
  border-color: #a1a6a9;
  }
.input-group-btn .btn-default.disabled,
.input-group-btn .btn-default[disabled],
fieldset[disabled] .input-group-btn .btn-default,
.input-group-btn .btn-default.disabled:hover,
.input-group-btn .btn-default[disabled]:hover,
fieldset[disabled] .input-group-btn .btn-default:hover,
.input-group-btn .btn-default.disabled.hover,
.input-group-btn .btn-default[disabled].hover,
fieldset[disabled] .input-group-btn .btn-default.hover,
.input-group-btn .btn-default.disabled:focus,
.input-group-btn .btn-default[disabled]:focus,
fieldset[disabled] .input-group-btn .btn-default:focus,
.input-group-btn .btn-default.disabled:active,
.input-group-btn .btn-default[disabled]:active,
fieldset[disabled] .input-group-btn .btn-default:active,
.input-group-btn .btn-default.disabled.active,
.input-group-btn .btn-default[disabled].active,
fieldset[disabled] .input-group-btn .btn-default.active {
  background-color: #bdc3c7;
  border-color: #bdc3c7;
  }
.input-group-btn .btn-default .badge {
  color: #bdc3c7;
  background-color: #fff;
  }
.input-group-hg .input-group-btn .btn {
  line-height: 31px;
  }
.input-group-lg .input-group-btn .btn {
  line-height: 21px;
  }
.input-group-sm .input-group-btn .btn {
  line-height: 19px;
  }
.input-group-btn:first-child > .btn {
  margin-right: -3px;
  border-right-width: 0;
  }
.input-group-btn:last-child > .btn {
  margin-left: -3px;
  border-left-width: 0;
  }
.input-group-btn > .btn-default + .btn-default {
  border-left: 2px solid #bdc3c7;
  }
.input-group-btn > .btn:first-child + .btn .caret {
  margin-left: 0;
  }
.input-group-rounded .input-group-btn + .form-control,
.input-group-rounded .input-group-btn:last-child .btn,
.input-group-rounded .input-group-btn + .select2-search input[type="text"] {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  }
.input-group-hg.input-group-rounded .input-group-btn + .form-control,
.input-group-hg.input-group-rounded .input-group-btn:last-child .btn,
.input-group-hg.input-group-rounded .input-group-btn + .select2-search input[type="text"] {
  border-top-right-radius: 27px;
  border-bottom-right-radius: 27px;
  }
.input-group-lg.input-group-rounded .input-group-btn + .form-control,
.input-group-lg.input-group-rounded .input-group-btn:last-child .btn,
.input-group-lg.input-group-rounded .input-group-btn + .select2-search input[type="text"] {
  border-top-right-radius: 25px;
  border-bottom-right-radius: 25px;
  }
.input-group-rounded .form-control:first-child,
.input-group-rounded .input-group-btn:first-child .btn,
.input-group-rounded .select2-search input[type="text"]:first-child {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  }
.input-group-hg.input-group-rounded .form-control:first-child,
.input-group-hg.input-group-rounded .input-group-btn:first-child .btn,
.input-group-hg.input-group-rounded .select2-search input[type="text"]:first-child {
  border-top-left-radius: 27px;
  border-bottom-left-radius: 27px;
  }
.input-group-lg.input-group-rounded .form-control:first-child,
.input-group-lg.input-group-rounded .input-group-btn:first-child .btn,
.input-group-lg.input-group-rounded .select2-search input[type="text"]:first-child {
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  }
.input-group-rounded .input-group-btn + .form-control,
.input-group-rounded .input-group-btn + .select2-search input[type="text"] {
  padding-left: 0;
  }
.checkbox,
.radio {
  position: relative;
  padding-left: 32px;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
  -webkit-transition: color .25s linear;
          transition: color .25s linear;
  }
.checkbox .icons,
.radio .icons {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 20px;
  color: #bdc3c7;
  text-align: center;
  cursor: pointer;
  }
.checkbox .icons .icon-checked,
.radio .icons .icon-checked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox .icon-checked,
.radio .icon-checked,
.checkbox .icon-unchecked,
.radio .icon-unchecked {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-table;
  margin: 0;
  background-color: transparent;
          filter: none;
  opacity: 1;
  -webkit-transition: color .25s linear;
          transition: color .25s linear;

  -webkit-filter: none;
  }
.checkbox .icon-checked:before,
.radio .icon-checked:before,
.checkbox .icon-unchecked:before,
.radio .icon-unchecked:before {
  font-family: 'Flat-UI-Icons';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;

  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.checkbox .icon-checked:before {
  content: "\e60e";
  }
.checkbox .icon-unchecked:before {
  content: "\e60d";
  }
.radio .icon-checked:before {
  content: "\e60c";
  }
.radio .icon-unchecked:before {
  content: "\e60b";
  }
.checkbox input[type="checkbox"].custom-checkbox,
.radio input[type="checkbox"].custom-checkbox,
.checkbox input[type="radio"].custom-radio,
.radio input[type="radio"].custom-radio {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0;
  outline: none !important;
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:hover:not(.nohover):not(:disabled) + .icons .icon-unchecked,
.radio input[type="checkbox"].custom-checkbox:hover:not(.nohover):not(:disabled) + .icons .icon-unchecked,
.checkbox input[type="radio"].custom-radio:hover:not(.nohover):not(:disabled) + .icons .icon-unchecked,
.radio input[type="radio"].custom-radio:hover:not(.nohover):not(:disabled) + .icons .icon-unchecked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:hover:not(.nohover):not(:disabled) + .icons .icon-checked,
.radio input[type="checkbox"].custom-checkbox:hover:not(.nohover):not(:disabled) + .icons .icon-checked,
.checkbox input[type="radio"].custom-radio:hover:not(.nohover):not(:disabled) + .icons .icon-checked,
.radio input[type="radio"].custom-radio:hover:not(.nohover):not(:disabled) + .icons .icon-checked {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.checkbox input[type="checkbox"].custom-checkbox:checked + .icons,
.radio input[type="checkbox"].custom-checkbox:checked + .icons,
.checkbox input[type="radio"].custom-radio:checked + .icons,
.radio input[type="radio"].custom-radio:checked + .icons {
  color: #1abc9c;
  }
.checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-unchecked,
.radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-unchecked,
.checkbox input[type="radio"].custom-radio:checked + .icons .icon-unchecked,
.radio input[type="radio"].custom-radio:checked + .icons .icon-unchecked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked,
.radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked,
.checkbox input[type="radio"].custom-radio:checked + .icons .icon-checked,
.radio input[type="radio"].custom-radio:checked + .icons .icon-checked {
  color: #1abc9c;
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled + .icons,
.radio input[type="checkbox"].custom-checkbox:disabled + .icons,
.checkbox input[type="radio"].custom-radio:disabled + .icons,
.radio input[type="radio"].custom-radio:disabled + .icons {
  color: #e6e8ea;
  cursor: default;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled + .icons .icon-unchecked,
.radio input[type="checkbox"].custom-checkbox:disabled + .icons .icon-unchecked,
.checkbox input[type="radio"].custom-radio:disabled + .icons .icon-unchecked,
.radio input[type="radio"].custom-radio:disabled + .icons .icon-unchecked {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled + .icons .icon-checked,
.radio input[type="checkbox"].custom-checkbox:disabled + .icons .icon-checked,
.checkbox input[type="radio"].custom-radio:disabled + .icons .icon-checked,
.radio input[type="radio"].custom-radio:disabled + .icons .icon-checked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled:checked + .icons,
.radio input[type="checkbox"].custom-checkbox:disabled:checked + .icons,
.checkbox input[type="radio"].custom-radio:disabled:checked + .icons,
.radio input[type="radio"].custom-radio:disabled:checked + .icons {
  color: #e6e8ea;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-unchecked,
.radio input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-unchecked,
.checkbox input[type="radio"].custom-radio:disabled:checked + .icons .icon-unchecked,
.radio input[type="radio"].custom-radio:disabled:checked + .icons .icon-unchecked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-checked,
.radio input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-checked,
.checkbox input[type="radio"].custom-radio:disabled:checked + .icons .icon-checked,
.radio input[type="radio"].custom-radio:disabled:checked + .icons .icon-checked {
  color: #e6e8ea;
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.checkbox input[type="checkbox"].custom-checkbox:indeterminate + .icons,
.radio input[type="checkbox"].custom-checkbox:indeterminate + .icons,
.checkbox input[type="radio"].custom-radio:indeterminate + .icons,
.radio input[type="radio"].custom-radio:indeterminate + .icons {
  color: #bdc3c7;
  }
.checkbox input[type="checkbox"].custom-checkbox:indeterminate + .icons .icon-unchecked,
.radio input[type="checkbox"].custom-checkbox:indeterminate + .icons .icon-unchecked,
.checkbox input[type="radio"].custom-radio:indeterminate + .icons .icon-unchecked,
.radio input[type="radio"].custom-radio:indeterminate + .icons .icon-unchecked {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.checkbox input[type="checkbox"].custom-checkbox:indeterminate + .icons .icon-checked,
.radio input[type="checkbox"].custom-checkbox:indeterminate + .icons .icon-checked,
.checkbox input[type="radio"].custom-radio:indeterminate + .icons .icon-checked,
.radio input[type="radio"].custom-radio:indeterminate + .icons .icon-checked {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.checkbox input[type="checkbox"].custom-checkbox:indeterminate + .icons:before,
.radio input[type="checkbox"].custom-checkbox:indeterminate + .icons:before,
.checkbox input[type="radio"].custom-radio:indeterminate + .icons:before,
.radio input[type="radio"].custom-radio:indeterminate + .icons:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 20px;
  font-size: 22px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  content: "\2013";
  }
.checkbox.primary input[type="checkbox"].custom-checkbox + .icons,
.radio.primary input[type="checkbox"].custom-checkbox + .icons,
.checkbox.primary input[type="radio"].custom-radio + .icons,
.radio.primary input[type="radio"].custom-radio + .icons {
  color: #34495e;
  }
.checkbox.primary input[type="checkbox"].custom-checkbox:checked + .icons,
.radio.primary input[type="checkbox"].custom-checkbox:checked + .icons,
.checkbox.primary input[type="radio"].custom-radio:checked + .icons,
.radio.primary input[type="radio"].custom-radio:checked + .icons {
  color: #1abc9c;
  }
.checkbox.primary input[type="checkbox"].custom-checkbox:disabled + .icons,
.radio.primary input[type="checkbox"].custom-checkbox:disabled + .icons,
.checkbox.primary input[type="radio"].custom-radio:disabled + .icons,
.radio.primary input[type="radio"].custom-radio:disabled + .icons {
  color: #bdc3c7;
  cursor: default;
  }
.checkbox.primary input[type="checkbox"].custom-checkbox:disabled + .icons.checked,
.radio.primary input[type="checkbox"].custom-checkbox:disabled + .icons.checked,
.checkbox.primary input[type="radio"].custom-radio:disabled + .icons.checked,
.radio.primary input[type="radio"].custom-radio:disabled + .icons.checked {
  color: #bdc3c7;
  }
.checkbox.primary input[type="checkbox"].custom-checkbox:indeterminate + .icons,
.radio.primary input[type="checkbox"].custom-checkbox:indeterminate + .icons,
.checkbox.primary input[type="radio"].custom-radio:indeterminate + .icons,
.radio.primary input[type="radio"].custom-radio:indeterminate + .icons {
  color: #34495e;
  }
.input-group-addon .radio,
.input-group-addon .checkbox {
  padding-left: 20px;
  margin: -2px 0;
  }
.input-group-addon .radio .icons,
.input-group-addon .checkbox .icons {
  color: #e6e8ea;
  }
.input-group-addon .radio input[type="checkbox"].custom-checkbox:checked + .icons,
.input-group-addon .checkbox input[type="checkbox"].custom-checkbox:checked + .icons,
.input-group-addon .radio input[type="radio"].custom-radio:checked + .icons,
.input-group-addon .checkbox input[type="radio"].custom-radio:checked + .icons {
  color: #fff;
  }
.input-group-addon .radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked,
.input-group-addon .checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked,
.input-group-addon .radio input[type="radio"].custom-radio:checked + .icons .icon-checked,
.input-group-addon .checkbox input[type="radio"].custom-radio:checked + .icons .icon-checked {
  color: #fff;
  }
.input-group-addon .radio input[type="checkbox"].custom-checkbox:disabled + .icons,
.input-group-addon .checkbox input[type="checkbox"].custom-checkbox:disabled + .icons,
.input-group-addon .radio input[type="radio"].custom-radio:disabled + .icons,
.input-group-addon .checkbox input[type="radio"].custom-radio:disabled + .icons {
  color: rgba(230, 232, 234, .6);
  }
.input-group-addon .radio input[type="checkbox"].custom-checkbox:disabled:checked + .icons,
.input-group-addon .checkbox input[type="checkbox"].custom-checkbox:disabled:checked + .icons,
.input-group-addon .radio input[type="radio"].custom-radio:disabled:checked + .icons,
.input-group-addon .checkbox input[type="radio"].custom-radio:disabled:checked + .icons {
  color: rgba(230, 232, 234, .6);
  }
.input-group-addon .radio input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-checked,
.input-group-addon .checkbox input[type="checkbox"].custom-checkbox:disabled:checked + .icons .icon-checked,
.input-group-addon .radio input[type="radio"].custom-radio:disabled:checked + .icons .icon-checked,
.input-group-addon .checkbox input[type="radio"].custom-radio:disabled:checked + .icons .icon-checked {
  color: rgba(230, 232, 234, .6);
  }
.radio + .radio,
.checkbox + .checkbox {
  margin-top: 10px;
  }
.form-inline .checkbox,
.form-inline .radio {
  padding-left: 32px;
  }
.bootstrap-tagsinput {
  padding: 6px 1px 1px 6px;
  margin-bottom: 18px;
  font-size: 0;
  text-align: left;
  background-color: #fff;
  border: 2px solid #ebedef;
  border-radius: 6px;
  }
.bootstrap-tagsinput .tag {
  position: relative;
  display: inline-block;
  height: 27px;
  padding: 6px 21px;
  margin: 0 5px 5px 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 15px;
  color: #7b8996;
  vertical-align: middle;
  cursor: pointer;
  background-color: #ebedef;
  border-radius: 4px;
  -webkit-transition: .25s linear;
          transition: .25s linear;
  }
.bootstrap-tagsinput .tag > span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 0 10px 0 0;
  font-size: 12px;
  color: #fff;
  text-align: right;
  text-decoration: none;
  cursor: pointer;
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transition: opacity .25s linear;
          transition: opacity .25s linear;
  }
.bootstrap-tagsinput .tag > span:after {
  font-family: "Flat-UI-Icons";
  line-height: 27px;
  content: "\e609";

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.bootstrap-tagsinput .tag:hover {
  padding-right: 28px;
  padding-left: 14px;
  color: #fff;
  background-color: #16a085;
  }
.bootstrap-tagsinput .tag:hover > span {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.bootstrap-tagsinput input[type="text"] {
  width: auto !important;
  min-width: 80px;
  max-width: inherit;
  height: 29px;
  padding: 0;
  margin: 0;
  font-size: 14px;
  color: #34495e;
  vertical-align: top;
  background-color: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  }
.bootstrap-tagsinput input[type="text"]:first-child {
  height: 23px;
  margin: 3px 0 8px;
  }
.tags_clear {
  width: 100%;
  height: 0;
  clear: both;
  }
.not_valid {
  margin-left: 5px !important;
  color: #90111a !important;
  background: #fbd8db !important;
  }
.tagsinput-primary {
  margin-bottom: 18px;
  }
.tagsinput-primary .bootstrap-tagsinput {
  margin-bottom: 0;
  border-color: #1abc9c;
  }
.tagsinput-primary .tag {
  color: #fff;
  background-color: #1abc9c;
  }
.tagsinput-primary .tag:hover {
  color: #fff;
  background-color: #16a085;
  }
.bootstrap-tagsinput .twitter-typeahead {
  width: auto;
  vertical-align: top;
  }
.bootstrap-tagsinput .twitter-typeahead .tt-input {
  min-width: 200px;
  }
.bootstrap-tagsinput .twitter-typeahead .tt-dropdown-menu {
  width: auto;
  min-width: 120px;
  margin-top: 11px;
  }
.twitter-typeahead {
  width: 100%;
  }
.twitter-typeahead .tt-dropdown-menu {
  width: 100%;
  padding: 5px 0;
  margin-top: 5px;
  background-color: #fff;
  border: 2px solid #1abc9c;
  border-radius: 6px;
  }
.twitter-typeahead .tt-suggestion p {
  padding: 6px 14px;
  margin: 0;
  font-size: 14px;
  line-height: 1.429;
  }
.twitter-typeahead .tt-suggestion:first-child p,
.twitter-typeahead .tt-suggestion:last-child p {
  padding: 6px 14px;
  }
.twitter-typeahead .tt-suggestion.tt-is-under-cursor,
.twitter-typeahead .tt-suggestion.tt-cursor {
  color: #fff;
  cursor: pointer;
  background-color: #16a085;
  }
.progress {
  height: 12px;
  background: #ebedef;
  border-radius: 32px;
  box-shadow: none;
  }
.progress-bar {
  line-height: 12px;
  background: #1abc9c;
  box-shadow: none;
  }
.progress-bar-success {
  background-color: #2ecc71;
  }
.progress-bar-warning {
  background-color: #f1c40f;
  }
.progress-bar-danger {
  background-color: #e74c3c;
  }
.progress-bar-info {
  background-color: #3498db;
  }
.ui-slider {
  position: relative;
  height: 12px;
  margin-bottom: 20px;
  cursor: pointer;
  background: #ebedef;
  border-radius: 32px;
  box-shadow: none;
  }
.ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 18px;
  height: 18px;
  cursor: pointer;
  background-color: #16a085;
  border-radius: 50%;
  -webkit-transition: background .25s;
          transition: background .25s;
  }
.ui-slider-handle:hover,
.ui-slider-handle:focus {
  background-color: #48c9b0;
  outline: none;
  }
.ui-slider-handle:active {
  background-color: #16a085;
  }
.ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  height: 100%;
  background-color: #1abc9c;
  }
.ui-slider-segment {
  width: 6px;
  height: 6px;
  background-color: #d9dbdd;
  border-radius: 50%;
  }
.ui-slider-value {
  float: right;
  margin-top: 12px;
  font-size: 13px;
  }
.ui-slider-value.first {
  float: left;
  clear: left;
  }
.ui-slider-horizontal .ui-slider-handle {
  top: -3px;
  margin-left: -9px;
  }
.ui-slider-horizontal .ui-slider-handle[style*="100"] {
  margin-left: -15px;
  }
.ui-slider-horizontal .ui-slider-range {
  border-radius: 30px 0 0 30px;
  }
.ui-slider-horizontal .ui-slider-segment {
  float: left;
  margin: 3px -6px 0 0;
  }
.ui-slider-vertical {
  width: 12px;
  }
.ui-slider-vertical .ui-slider-handle {
  top: auto;
  margin-bottom: -11px;
  margin-left: -3px;
  }
.ui-slider-vertical .ui-slider-range {
  bottom: 0;
  width: 100%;
  border-radius: 0 0 30px 30px;
  }
.ui-slider-vertical .ui-slider-segment {
  position: absolute;
  right: 3px;
  }
.pager {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: #34495e;
  border-radius: 6px;
  }
.pager li:first-child > a,
.pager li:first-child > span {
  border-left: none;
  border-radius: 6px 0 0 6px;
  }
.pager li > a,
.pager li > span {
  padding: 9px 15px 10px;
  line-height: 1.313;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  background: none;
  border: none;
  border-left: 2px solid #2c3e50;
  border-radius: 0 6px 6px 0;
  }
.pager li > a:hover,
.pager li > span:hover,
.pager li > a:focus,
.pager li > span:focus {
  background-color: #2c3e50;
  }
.pager li > a:active,
.pager li > span:active {
  background-color: #2c3e50;
  }
.pager li > a [class*="fui-"] + span,
.pager li > span [class*="fui-"] + span {
  margin-left: 8px;
  }
.pager li > a span + [class*="fui-"],
.pager li > span span + [class*="fui-"] {
  margin-left: 8px;
  }
.pagination {
  position: relative;
  display: block;
  }
@media (min-width: 768px) {
  .pagination {
    display: inline-block;
    }
  }
.pagination > ul {
  display: inline-block;
  padding: 0;
  margin: 0;
  color: #fff;
  word-spacing: -.5px;
  background: #d6dbdf;
  border-radius: 6px;
  }
@media (max-width: 767px) {
  .pagination > ul {
    height: 41px;
    padding: 0 55px 0 52px;
    overflow: auto;
    white-space: nowrap;
    border-radius: 6px;
    }
  }
.pagination li {
  display: inline-block;
  margin-right: -3px;
  word-spacing: normal;
  vertical-align: middle;
  }
.pagination li.active > a,
.pagination li.active > span {
  color: #fff;
  background-color: #1abc9c;
  border-color: #dfe2e5;
  }
.pagination li.active.previous > a,
.pagination li.active.next > a,
.pagination li.active.previous > span,
.pagination li.active.next > span {
  margin: 0;
  }
.pagination li.active.previous > a,
.pagination li.active.next > a,
.pagination li.active.previous > span,
.pagination li.active.next > span,
.pagination li.active.previous > a:hover,
.pagination li.active.next > a:hover,
.pagination li.active.previous > span:hover,
.pagination li.active.next > span:hover,
.pagination li.active.previous > a:focus,
.pagination li.active.next > a:focus,
.pagination li.active.previous > span:focus,
.pagination li.active.next > span:focus {
  color: #fff;
  background-color: #1abc9c;
  }
.pagination li:first-child > a,
.pagination li:first-child > span {
  border-left: none;
  border-radius: 6px 0 0 6px;
  }
.pagination li:first-child.previous + li > a,
.pagination li:first-child.previous + li > span {
  border-left-width: 0;
  }
.pagination li:last-child {
  margin-right: 0;
  }
.pagination li:last-child > a,
.pagination li:last-child > span,
.pagination li:last-child > a:hover,
.pagination li:last-child > span:hover,
.pagination li:last-child > a:focus,
.pagination li:last-child > span:focus {
  border-radius: 0 6px 6px 0;
  }
.pagination li.previous > a,
.pagination li.next > a,
.pagination li.previous > span,
.pagination li.next > span {
  min-width: auto;
  padding: 12px 17px;
  font-size: 16px;
  background-color: transparent;
  border-right: 2px solid #e4e7ea;
  }
.pagination li.next > a,
.pagination li.next > span {
  border-right: none;
  }
.pagination li.disabled > a,
.pagination li.disabled > span {
  color: #fff;
  cursor: not-allowed;
  background-color: rgba(255, 255, 255, .3);
  border-right-color: #dfe2e5;
  }
.pagination li.disabled > a:hover,
.pagination li.disabled > span:hover,
.pagination li.disabled > a:focus,
.pagination li.disabled > span:focus,
.pagination li.disabled > a:active,
.pagination li.disabled > span:active {
  color: #fff;
  background-color: rgba(255, 255, 255, .4);
  }
@media (max-width: 767px) {
  .pagination li.next,
  .pagination li.previous {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    background-color: #d6dbdf;
    border-radius: 0 6px 6px 0;
    }
  .pagination li.previous {
    right: auto;
    left: 0;
    border-radius: 6px 0 0 6px;
    }
  }
.pagination li > a,
.pagination li > span {
  display: inline-block;
  min-width: 41px;
  min-height: 41px;
  padding: 12px 10px;
  font-size: 14px;
  line-height: 16px;
  color: #fff;
  text-align: center;
  background: transparent;
  border: none;
  border-left: 2px solid #e4e7ea;
  outline: none;
  -webkit-transition: .25s ease-out;
          transition: .25s ease-out;
  }
.pagination li > a:hover,
.pagination li > span:hover,
.pagination li > a:focus,
.pagination li > span:focus {
  color: #fff;
  background-color: #1abc9c;
  }
.pagination li > a:active,
.pagination li > span:active {
  color: #fff;
  background-color: #1abc9c;
  }
.pagination > .btn.previous,
.pagination > .btn.next {
  padding-right: 23px;
  padding-left: 23px;
  margin-right: 8px;
  font-size: 14px;
  line-height: 1.429;
  }
.pagination > .btn.previous [class*="fui-"],
.pagination > .btn.next [class*="fui-"] {
  margin-top: -2px;
  margin-left: -2px;
  font-size: 16px;
  }
.pagination > .btn.next {
  margin-right: 0;
  margin-left: 8px;
  }
.pagination > .btn.next [class*="fui-"] {
  margin-right: -2px;
  margin-left: 4px;
  }
@media (max-width: 767px) {
  .pagination > .btn {
    display: block;
    width: 50%;
    margin: 0;
    }
  .pagination > .btn:first-child {
    border-bottom: 2px solid #dfe2e5;
    border-radius: 6px 0 0;
    }
  .pagination > .btn:first-child.btn-primary {
    border-bottom-color: #48c9b0;
    }
  .pagination > .btn:first-child.btn-danger {
    border-bottom-color: #ec7063;
    }
  .pagination > .btn:first-child.btn-warning {
    border-bottom-color: #f4d03f;
    }
  .pagination > .btn:first-child.btn-success {
    border-bottom-color: #58d68d;
    }
  .pagination > .btn:first-child.btn-info {
    border-bottom-color: #5dade2;
    }
  .pagination > .btn:first-child.btn-inverse {
    border-bottom-color: #5d6d7e;
    }
  .pagination > .btn:first-child > [class*="fui"] {
    margin-left: -20px;
    }
  .pagination > .btn + ul {
    padding: 0;
    text-align: center;
    border-radius: 0 0 6px 6px;
    }
  .pagination > .btn + ul + .btn {
    position: absolute;
    top: 0;
    right: 0;
    border-bottom: 2px solid #dfe2e5;
    border-radius: 0 6px 0 0;
    }
  .pagination > .btn + ul + .btn.btn-primary {
    border-bottom-color: #48c9b0;
    }
  .pagination > .btn + ul + .btn.btn-danger {
    border-bottom-color: #ec7063;
    }
  .pagination > .btn + ul + .btn.btn-warning {
    border-bottom-color: #f4d03f;
    }
  .pagination > .btn + ul + .btn.btn-success {
    border-bottom-color: #58d68d;
    }
  .pagination > .btn + ul + .btn.btn-info {
    border-bottom-color: #5dade2;
    }
  .pagination > .btn + ul + .btn.btn-inverse {
    border-bottom-color: #5d6d7e;
    }
  .pagination > .btn + ul + .btn > [class*="fui"] {
    margin-right: -20px;
    }
  .pagination ul {
    display: block;
    }
  .pagination ul > li > a {
    border-radius: 0;
    }
  }
.pagination-danger ul {
  background-color: #e74c3c;
  }
.pagination-danger ul li.previous > a {
  border-right-color: #ef897e;
  }
.pagination-danger ul li > a,
.pagination-danger ul li > span {
  border-left-color: #ef897e;
  }
.pagination-danger ul li > a:hover,
.pagination-danger ul li > span:hover,
.pagination-danger ul li > a:focus,
.pagination-danger ul li > span:focus {
  background-color: #ec7063;
  }
.pagination-danger ul li > a:active,
.pagination-danger ul li > span:active {
  background-color: #c44133;
  }
.pagination-danger ul li.active > a,
.pagination-danger ul li.active > span {
  background-color: #c44133;
  }
.pagination-success ul {
  background-color: #2ecc71;
  }
.pagination-success ul li.previous > a {
  border-right-color: #75dda1;
  }
.pagination-success ul li > a,
.pagination-success ul li > span {
  border-left-color: #75dda1;
  }
.pagination-success ul li > a:hover,
.pagination-success ul li > span:hover,
.pagination-success ul li > a:focus,
.pagination-success ul li > span:focus {
  background-color: #58d68d;
  }
.pagination-success ul li > a:active,
.pagination-success ul li > span:active {
  background-color: #27ad60;
  }
.pagination-success ul li.active > a,
.pagination-success ul li.active > span {
  background-color: #27ad60;
  }
.pagination-warning ul {
  background-color: #f1c40f;
  }
.pagination-warning ul li.previous > a {
  border-right-color: #f6d861;
  }
.pagination-warning ul li > a,
.pagination-warning ul li > span {
  border-left-color: #f6d861;
  }
.pagination-warning ul li > a:hover,
.pagination-warning ul li > span:hover,
.pagination-warning ul li > a:focus,
.pagination-warning ul li > span:focus {
  background-color: #f4d313;
  }
.pagination-warning ul li > a:active,
.pagination-warning ul li > span:active {
  background-color: #cda70d;
  }
.pagination-warning ul li.active > a,
.pagination-warning ul li.active > span {
  background-color: #cda70d;
  }
.pagination-info ul {
  background-color: #3498db;
  }
.pagination-info ul li.previous > a {
  border-right-color: #79bbe7;
  }
.pagination-info ul li > a,
.pagination-info ul li > span {
  border-left-color: #79bbe7;
  }
.pagination-info ul li > a:hover,
.pagination-info ul li > span:hover,
.pagination-info ul li > a:focus,
.pagination-info ul li > span:focus {
  background-color: #5dade2;
  }
.pagination-info ul li > a:active,
.pagination-info ul li > span:active {
  background-color: #2c81ba;
  }
.pagination-info ul li.active > a,
.pagination-info ul li.active > span {
  background-color: #2c81ba;
  }
.pagination-inverse ul {
  background-color: #34495e;
  }
.pagination-inverse ul li.previous > a {
  border-right-color: #798795;
  }
.pagination-inverse ul li > a,
.pagination-inverse ul li > span {
  border-left-color: #798795;
  }
.pagination-inverse ul li > a:hover,
.pagination-inverse ul li > span:hover,
.pagination-inverse ul li > a:focus,
.pagination-inverse ul li > span:focus {
  background-color: #415b76;
  }
.pagination-inverse ul li > a:active,
.pagination-inverse ul li > span:active {
  background-color: #2c3e50;
  }
.pagination-inverse ul li.active > a,
.pagination-inverse ul li.active > span {
  background-color: #2c3e50;
  }
.pagination-minimal > ul > li:first-child {
  border-radius: 6px 0 0 6px;
  }
.pagination-minimal > ul > li:first-child.previous + li > a,
.pagination-minimal > ul > li:first-child.previous + li > span {
  border-left-width: 5px;
  }
.pagination-minimal > ul > li:last-child {
  border-radius: 0 6px 6px 0;
  }
.pagination-minimal > ul > li.previous > a,
.pagination-minimal > ul > li.next > a,
.pagination-minimal > ul > li.previous > span,
.pagination-minimal > ul > li.next > span {
  padding: 12px 17px;
  margin: 0 9px 0 0;
  background: transparent;
  border: none;
  border-right: 2px solid #e4e7ea;
  border-radius: 6px 0 0 6px;
  }
.pagination-minimal > ul > li.previous > a,
.pagination-minimal > ul > li.next > a,
.pagination-minimal > ul > li.previous > span,
.pagination-minimal > ul > li.next > span,
.pagination-minimal > ul > li.previous > a:hover,
.pagination-minimal > ul > li.next > a:hover,
.pagination-minimal > ul > li.previous > span:hover,
.pagination-minimal > ul > li.next > span:hover,
.pagination-minimal > ul > li.previous > a:focus,
.pagination-minimal > ul > li.next > a:focus,
.pagination-minimal > ul > li.previous > span:focus,
.pagination-minimal > ul > li.next > span:focus {
  border-color: #e4e7ea !important;
  }
@media (max-width: 767px) {
  .pagination-minimal > ul > li.previous > a,
  .pagination-minimal > ul > li.next > a,
  .pagination-minimal > ul > li.previous > span,
  .pagination-minimal > ul > li.next > span {
    margin-right: 0;
    }
  }
.pagination-minimal > ul > li.next {
  margin-left: 9px;
  }
.pagination-minimal > ul > li.next > a,
.pagination-minimal > ul > li.next > span {
  margin: 0;
  border-right: none;
  border-left: 2px solid #e4e7ea;
  border-radius: 0 6px 6px 0;
  }
.pagination-minimal > ul > li.active > a,
.pagination-minimal > ul > li.active > span {
  margin: 10px 5px 9px;
  color: #d6dbdf;
  background-color: #fff;
  border-color: #fff;
  border-width: 2px !important;
  }
.pagination-minimal > ul > li.active > a:hover,
.pagination-minimal > ul > li.active > span:hover,
.pagination-minimal > ul > li.active > a:focus,
.pagination-minimal > ul > li.active > span:focus {
  color: #d6dbdf;
  background-color: #fff;
  border-color: #fff;
  }
.pagination-minimal > ul > li.active.previous,
.pagination-minimal > ul > li.active.next {
  border-color: #e4e7ea;
  }
.pagination-minimal > ul > li.active.previous {
  margin-right: 6px;
  }
.pagination-minimal > ul > li > a,
.pagination-minimal > ul > li > span {
  min-width: 0;
  min-height: 16px;
  padding: 0 4px;
  margin: 7px 2px 6px;
  line-height: 16px;
  color: #fff;
  background: #fff;
  background-clip: padding-box;
  border: 5px solid #d6dbdf;
  border-radius: 50px;
  -webkit-transition: background .2s ease-out, border-color 0s ease-out, color .2s ease-out;
          transition: background .2s ease-out, border-color 0s ease-out, color .2s ease-out;
  }
.pagination-minimal > ul > li > a:hover,
.pagination-minimal > ul > li > span:hover,
.pagination-minimal > ul > li > a:focus,
.pagination-minimal > ul > li > span:focus {
  color: #fff;
  background-color: #1abc9c;
  border-color: #1abc9c;
  -webkit-transition: background .2s ease-out, border-color .2s ease-out, color .2s ease-out;
          transition: background .2s ease-out, border-color .2s ease-out, color .2s ease-out;
  }
.pagination-minimal > ul > li > a:active,
.pagination-minimal > ul > li > span:active {
  background-color: #16a085;
  border-color: #16a085;
  }
.pagination-plain {
  height: 57px;
  padding: 0;
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 700;
  list-style-type: none;
  }
.pagination-plain > li {
  display: inline;
  }
.pagination-plain > li.previous {
  padding-right: 23px;
  }
.pagination-plain > li.next {
  padding-left: 20px;
  }
.pagination-plain > li.active > a {
  color: #d3d7da;
  }
.pagination-plain > li > a {
  padding: 0 5px;
  }
@media (max-width: 480px) {
  .pagination-plain {
    overflow: hidden;
    text-align: center;
    }
  .pagination-plain > li.previous {
    display: block;
    width: 50%;
    margin-bottom: 10px;
    text-align: left;
    }
  .pagination-plain > li.next {
    float: right;
    width: 50%;
    margin-top: -64px;
    text-align: right;
    }
  }
@media (min-width: 768px) {
  .pagination-plain {
    height: auto;
    }
  }
.pagination-dropdown ul {
  left: 50%;
  width: auto;
  min-width: 67px;
  margin-left: -34px;
  }
.pagination-dropdown ul li {
  display: block;
  margin-right: 0;
  }
.pagination-dropdown ul li:first-child > a,
.pagination-dropdown ul li:first-child > span {
  border-radius: 6px 6px 0 0;
  }
.pagination-dropdown ul li:last-child > a,
.pagination-dropdown ul li:last-child > span {
  border-radius: 0 0 6px 6px !important;
  }
.pagination-dropdown ul li > a,
.pagination-dropdown ul li > span {
  display: block;
  float: none;
  min-height: 0;
  padding: 8px 10px 7px;
  text-align: center;
  border-left: none;
  }
.pagination-dropdown.dropup {
  position: relative;
  }
.tooltip {
  z-index: 1070;
  font-size: 14px;
  line-height: 1.286;
  }
.tooltip.in {
  filter: alpha(opacity=100);
  opacity: 1;
  }
.tooltip.top {
  padding: 9px 0;
  margin-top: -5px;
  }
.tooltip.right {
  padding: 0 9px;
  margin-left: 5px;
  }
.tooltip.bottom {
  padding: 9px 0;
  margin-top: 5px;
  }
.tooltip.left {
  padding: 0 9px;
  margin-left: -5px;
  }
.tooltip-inner {
  max-width: 183px;
  padding: 12px 12px;
  line-height: 1.286;
  color: #fff;
  background-color: #34495e;
  border-radius: 6px;
  }
.tooltip.top .tooltip-arrow {
  margin-left: -9px;
  border-width: 9px 9px 0;
  border-top-color: #34495e;
  }
.tooltip.right .tooltip-arrow {
  margin-top: -9px;
  border-width: 9px 9px 9px 0;
  border-right-color: #34495e;
  }
.tooltip.left .tooltip-arrow {
  margin-top: -9px;
  border-width: 9px 0 9px 9px;
  border-left-color: #34495e;
  }
.tooltip.bottom .tooltip-arrow {
  margin-left: -9px;
  border-width: 0 9px 9px;
  border-bottom-color: #34495e;
  }
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 5px;
  vertical-align: middle;
  border-top: 8px solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  -webkit-transition: border-color .25s, color .25s;
          transition: border-color .25s, color .25s;
  }
.dropdown-menu,
.select2-drop {
  z-index: 1000;
  min-width: 220px;
  padding: 0;
  margin-top: 9px;
  font-size: 14px;
  background-color: #f3f4f5;
  border: none;
  border-radius: 4px;
  box-shadow: none;
  }
.dropdown-menu .divider {
  height: 2px;
  margin: 3px 0;
  overflow: hidden;
  background-color: rgba(202, 206, 209, .5);
  }
.dropdown-menu > li > a {
  padding: 8px 16px;
  line-height: 1.429;
  color: #606d7a;
  }
.dropdown-menu > li:first-child > a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  }
.dropdown-menu > li:last-child > a:first-child {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  }
.dropdown-menu.typeahead {
  display: none;
  width: auto;
  padding: 5px 0;
  margin-top: 5px;
  background-color: #fff;
  border: 2px solid #1abc9c;
  border-radius: 6px;
  }
.dropdown-menu.typeahead li a {
  padding: 6px 14px;
  }
.dropdown-menu.typeahead li:first-child a,
.dropdown-menu.typeahead li:last-child a {
  padding: 6px 14px;
  border-radius: 0;
  }
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: #55606c;
  background-color: rgba(202, 206, 209, .5);
  }
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  background-color: #1abc9c;
  }
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #bdc3c7;
  cursor: not-allowed;
  background-color: transparent;
  }
.dropdown-menu-right {
  right: 0;
  left: auto;
  }
.dropdown-menu-left {
  right: auto;
  left: 0;
  }
.dropdown-header {
  padding: 8px 16px;
  font-size: 13px;
  line-height: 1.538;
  color: rgba(52, 73, 94, .6);
  text-transform: uppercase;
  }
.dropdown-header:first-child {
  margin-top: 3px;
  }
.dropdown-backdrop {
  z-index: 990;
  }
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  margin-bottom: .25em;
  border-bottom: 8px solid;
  }
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  margin-top: 0;
  margin-bottom: 9px;
  }
.dropdown-menu-inverse {
  background-color: #34495e;
  }
.dropdown-menu-inverse .divider {
  height: 2px;
  margin: 3px 0;
  overflow: hidden;
  background-color: rgba(43, 60, 78, .5);
  }
.dropdown-menu-inverse > li > a {
  color: rgba(255, 255, 255, .85);
  }
.dropdown-menu-inverse > li > a:hover,
.dropdown-menu-inverse > li > a:focus {
  color: rgba(255, 255, 255, .85);
  background-color: rgba(43, 60, 78, .5);
  }
.dropdown-menu-inverse > .active > a,
.dropdown-menu-inverse > .active > a:hover,
.dropdown-menu-inverse > .active > a:focus {
  color: rgba(255, 255, 255, .85);
  background-color: #1abc9c;
  }
.dropdown-menu-inverse > .disabled > a,
.dropdown-menu-inverse > .disabled > a:hover,
.dropdown-menu-inverse > .disabled > a:focus {
  color: rgba(255, 255, 255, .5);
  }
.dropdown-menu-inverse > .disabled > a:hover,
.dropdown-menu-inverse > .disabled > a:focus {
  background-color: transparent;
  }
.dropdown-menu-inverse .dropdown-header {
  color: rgba(255, 255, 255, .4);
  }
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
    }
  .navbar-right .dropdown-menu-left {
    right: auto;
    left: 0;
    }
  }
.select {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 220px;
  vertical-align: top;
  }
.form-group .select {
  width: 100%;
  }
.form-group .select > .select2-choice {
  width: 100%;
  }
.select.form-control,
.select.select2-search input[type="text"] {
  height: auto;
  padding: 0;
  border: none;
  }
.select2-choice {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 10px 39px 10px 15px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.4;
  border: none;
  border-radius: 4px;
  -webkit-transition: border .25s linear, color .25s linear, background-color .25s linear;
          transition: border .25s linear, color .25s linear, background-color .25s linear;
  }
.select2-choice:hover,
.select2-choice:focus {
  outline: none;
  }
.select2-choice:active {
  outline: none;
  box-shadow: none;
  }
.select2-container-disabled .select2-choice {
  filter: alpha(opacity=70);
  opacity: .7;
  }
.select2-chosen {
  overflow: hidden;
  text-align: left;
  }
.select2-arrow {
  position: absolute;
  top: 42%;
  right: 16px;
  display: inline-block;
  border-color: #34495e transparent;
  border-style: solid;
  border-width: 8px 6px;
  border-bottom-style: none;
  -webkit-transform: scale(1.001);
      -ms-transform: scale(1.001);
          transform: scale(1.001);
  }
.select2-arrow b {
  display: none;
  }
.btn-lg .select2-arrow {
  border-top-width: 8px;
  border-right-width: 6px;
  border-left-width: 6px;
  }
.select-default .select2-choice {
  color: #fff;
  background-color: #bdc3c7;
  }
.select-default .select2-choice:hover,
.select-default .select2-choice.hover,
.select-default .select2-choice:focus,
.select-default .select2-choice:active {
  color: #fff;
  background-color: #cacfd2;
  border-color: #cacfd2;
  }
.select-default .select2-choice:active {
  background: #a1a6a9;
  border-color: #a1a6a9;
  }
.select2-container-disabled.select-default .select2-choice,
.select2-container-disabled.select-default .select2-choice:hover,
.select2-container-disabled.select-default .select2-choice:focus,
.select2-container-disabled.select-default .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #bdc3c7;
  }
.select-default .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-primary .select2-choice {
  color: #fff;
  background-color: #1abc9c;
  }
.select-primary .select2-choice:hover,
.select-primary .select2-choice.hover,
.select-primary .select2-choice:focus,
.select-primary .select2-choice:active {
  color: #fff;
  background-color: #48c9b0;
  border-color: #48c9b0;
  }
.select-primary .select2-choice:active {
  background: #16a085;
  border-color: #16a085;
  }
.select2-container-disabled.select-primary .select2-choice,
.select2-container-disabled.select-primary .select2-choice:hover,
.select2-container-disabled.select-primary .select2-choice:focus,
.select2-container-disabled.select-primary .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #1abc9c;
  }
.select-primary .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-info .select2-choice {
  color: #fff;
  background-color: #3498db;
  }
.select-info .select2-choice:hover,
.select-info .select2-choice.hover,
.select-info .select2-choice:focus,
.select-info .select2-choice:active {
  color: #fff;
  background-color: #5dade2;
  border-color: #5dade2;
  }
.select-info .select2-choice:active {
  background: #2c81ba;
  border-color: #2c81ba;
  }
.select2-container-disabled.select-info .select2-choice,
.select2-container-disabled.select-info .select2-choice:hover,
.select2-container-disabled.select-info .select2-choice:focus,
.select2-container-disabled.select-info .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #3498db;
  }
.select-info .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-danger .select2-choice {
  color: #fff;
  background-color: #e74c3c;
  }
.select-danger .select2-choice:hover,
.select-danger .select2-choice.hover,
.select-danger .select2-choice:focus,
.select-danger .select2-choice:active {
  color: #fff;
  background-color: #ec7063;
  border-color: #ec7063;
  }
.select-danger .select2-choice:active {
  background: #c44133;
  border-color: #c44133;
  }
.select2-container-disabled.select-danger .select2-choice,
.select2-container-disabled.select-danger .select2-choice:hover,
.select2-container-disabled.select-danger .select2-choice:focus,
.select2-container-disabled.select-danger .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #e74c3c;
  }
.select-danger .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-success .select2-choice {
  color: #fff;
  background-color: #2ecc71;
  }
.select-success .select2-choice:hover,
.select-success .select2-choice.hover,
.select-success .select2-choice:focus,
.select-success .select2-choice:active {
  color: #fff;
  background-color: #58d68d;
  border-color: #58d68d;
  }
.select-success .select2-choice:active {
  background: #27ad60;
  border-color: #27ad60;
  }
.select2-container-disabled.select-success .select2-choice,
.select2-container-disabled.select-success .select2-choice:hover,
.select2-container-disabled.select-success .select2-choice:focus,
.select2-container-disabled.select-success .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #2ecc71;
  }
.select-success .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-warning .select2-choice {
  color: #fff;
  background-color: #f1c40f;
  }
.select-warning .select2-choice:hover,
.select-warning .select2-choice.hover,
.select-warning .select2-choice:focus,
.select-warning .select2-choice:active {
  color: #fff;
  background-color: #f4d313;
  border-color: #f4d313;
  }
.select-warning .select2-choice:active {
  background: #cda70d;
  border-color: #cda70d;
  }
.select2-container-disabled.select-warning .select2-choice,
.select2-container-disabled.select-warning .select2-choice:hover,
.select2-container-disabled.select-warning .select2-choice:focus,
.select2-container-disabled.select-warning .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #f1c40f;
  }
.select-warning .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select-inverse .select2-choice {
  color: #fff;
  background-color: #34495e;
  }
.select-inverse .select2-choice:hover,
.select-inverse .select2-choice.hover,
.select-inverse .select2-choice:focus,
.select-inverse .select2-choice:active {
  color: #fff;
  background-color: #415b76;
  border-color: #415b76;
  }
.select-inverse .select2-choice:active {
  background: #2c3e50;
  border-color: #2c3e50;
  }
.select2-container-disabled.select-inverse .select2-choice,
.select2-container-disabled.select-inverse .select2-choice:hover,
.select2-container-disabled.select-inverse .select2-choice:focus,
.select2-container-disabled.select-inverse .select2-choice:active {
  background-color: #bdc3c7;
  border-color: #34495e;
  }
.select-inverse .select2-choice .select2-arrow {
  border-top-color: #fff;
  }
.select2-container.select-hg > .select2-choice {
  min-height: 53px;
  padding: 13px 20px;
  padding-right: 49px;
  font-size: 22px;
  line-height: 1.227;
  border-radius: 6px;
  }
.select2-container.select-hg > .select2-choice .filter-option {
  top: 13px;
  right: 40px;
  left: 20px;
  }
.select2-container.select-hg > .select2-choice .select2-arrow {
  right: 20px;
  }
.select2-container.select-hg > .select2-choice > [class^="fui-"] {
  top: 2px;
  }
.select2-container.select-lg > .select2-choice {
  min-height: 45px;
  padding: 10px 19px;
  padding-right: 47px;
  font-size: 17px;
  line-height: 1.471;
  border-radius: 6px;
  }
.select2-container.select-lg > .select2-choice .filter-option {
  right: 38px;
  left: 18px;
  }
.select2-container.select-sm > .select2-choice {
  min-height: 36px;
  padding: 9px 13px;
  padding-right: 35px;
  font-size: 13px;
  line-height: 1.385;
  border-radius: 4px;
  }
.select2-container.select-sm > .select2-choice .filter-option {
  right: 33px;
  left: 13px;
  }
.select2-container.select-sm > .select2-choice .select2-arrow {
  right: 13px;
  }
.multiselect {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 220px;
  max-width: none;
  font-size: 0;
  text-align: left;
  vertical-align: top;
  background-color: #fff;
  border-radius: 6px;
  }
.form-group .multiselect {
  width: 100%;
  }
.form-group .multiselect > .select2-choice {
  width: 100%;
  }
.multiselect.form-control,
.multiselect.select2-search input[type="text"] {
  height: auto;
  padding: 6px 1px 1px 6px;
  border: 2px solid #ebedef;
  }
.select2-choices {
  position: relative;
  min-height: 26px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: text;
  }
.select2-choices li {
  float: left;
  list-style: none;
  }
.select2-search-choice {
  position: relative;
  display: inline-block;
  height: 27px;
  padding: 6px 21px;
  margin: 0 5px 4px 0;
  overflow: hidden;
  font-size: 13px;
  line-height: 15px;
  color: #fff;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 4px;
  -webkit-transition: .25s linear;
          transition: .25s linear;
  }
.select2-search-choice:hover {
  padding-right: 28px;
  padding-left: 14px;
  color: #fff;
  }
.select2-search-choice:hover .select2-search-choice-close {
  color: inherit;
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.select2-search-choice .select2-search-choice-close {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding-right: 10px;
  font-size: 12px;
  color: #fff;
  text-align: right;
  text-decoration: none;
  cursor: pointer;
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transition: opacity .25s linear;
          transition: opacity .25s linear;
  }
.select2-search-choice .select2-search-choice-close:after {
  font-family: "Flat-UI-Icons";
  line-height: 27px;
  content: "\e609";

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.select2-search-field input[type="text"] {
  width: auto;
  min-width: 80px;
  max-width: inherit;
  height: 29px;
  padding: 0;
  margin: 0;
  font-size: 14px;
  color: #34495e;
  vertical-align: top;
  background-color: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  }
.select2-search-field:first-child input[type="text"] {
  height: 23px;
  margin: 3px 0 5px;
  }
.select2-container-multi.multiselect-default {
  border-color: #bdc3c7;
  }
.select2-container-multi.multiselect-default .select2-search-choice {
  background-color: #bdc3c7;
  }
.select2-container-multi.multiselect-default .select2-search-choice:hover {
  background-color: #cacfd2;
  }
.select2-container-multi.multiselect-primary {
  border-color: #1abc9c;
  }
.select2-container-multi.multiselect-primary .select2-search-choice {
  background-color: #1abc9c;
  }
.select2-container-multi.multiselect-primary .select2-search-choice:hover {
  background-color: #48c9b0;
  }
.select2-container-multi.multiselect-info {
  border-color: #3498db;
  }
.select2-container-multi.multiselect-info .select2-search-choice {
  background-color: #3498db;
  }
.select2-container-multi.multiselect-info .select2-search-choice:hover {
  background-color: #5dade2;
  }
.select2-container-multi.multiselect-danger {
  border-color: #e74c3c;
  }
.select2-container-multi.multiselect-danger .select2-search-choice {
  background-color: #e74c3c;
  }
.select2-container-multi.multiselect-danger .select2-search-choice:hover {
  background-color: #ec7063;
  }
.select2-container-multi.multiselect-success {
  border-color: #2ecc71;
  }
.select2-container-multi.multiselect-success .select2-search-choice {
  background-color: #2ecc71;
  }
.select2-container-multi.multiselect-success .select2-search-choice:hover {
  background-color: #58d68d;
  }
.select2-container-multi.multiselect-warning {
  border-color: #f1c40f;
  }
.select2-container-multi.multiselect-warning .select2-search-choice {
  background-color: #f1c40f;
  }
.select2-container-multi.multiselect-warning .select2-search-choice:hover {
  background-color: #f4d313;
  }
.select2-container-multi.multiselect-inverse {
  border-color: #34495e;
  }
.select2-container-multi.multiselect-inverse .select2-search-choice {
  background-color: #34495e;
  }
.select2-container-multi.multiselect-inverse .select2-search-choice:hover {
  background-color: #415b76;
  }
.select2-drop {
  position: absolute;
  top: 100%;
  z-index: 9999;
  min-width: 220px;
  margin-top: 9px;
  font-size: 14px;
  visibility: visible;
          filter: none;
  border-radius: 4px;
  opacity: 1;
  -webkit-transition: none;
          transition: none;

  -webkit-filter: none;
  }
.select2-drop.select2-drop-above {
  margin-top: -9px;
  }
.select2-drop.select2-drop-auto-width {
  width: auto;
  }
.select2-drop.show-select-search .select2-search {
  display: block;
  }
.select2-drop.show-select-search .select2-search + .select2-results > li:first-child .select2-result-label {
  border-radius: 0;
  }
.select2-drop .select2-results {
  padding: 0;
  margin: 0;
  list-style: none;
  }
.select2-drop .select2-results > li:first-child > .select2-result-label {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  }
.select2-drop .select2-results > li:last-child > .select2-result-label {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  }
.select2-drop .select2-result-sub {
  padding: 0;
  margin: 0;
  list-style: none;
  }
.select2-drop .select2-result-sub > li:last-child > .select2-result-label {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  }
.select2-drop .select2-no-results {
  padding: 8px 15px;
  }
.select2-drop .select2-result-label {
  padding: 8px 16px;
  line-height: 1.429;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: background-color .25s, color .25s;
          transition: background-color .25s, color .25s;
  }
.select2-drop .select2-result-selectable .select2-result-label {
  color: rgba(52, 73, 94, .85);
  cursor: pointer;
  }
.select2-drop .select2-result-selectable .select2-result-label:focus,
.select2-drop .select2-result-selectable .select2-result-label:hover,
.select2-drop .select2-result-selectable .select2-result-label:active {
  color: inherit;
  background-color: #e1e4e7;
  outline: none;
  }
.select2-drop .select2-disabled {
  color: rgba(52, 73, 94, .95);
  cursor: default;
  filter: alpha(opacity=40);
  opacity: .4;
  }
.select2-drop .select2-disabled:focus,
.select2-drop .select2-disabled:hover,
.select2-drop .select2-disabled:active {
  background: none !important;
  }
.select2-drop .select2-highlighted > .select2-result-label {
  color: #fff;
  background: #1abc9c;
  }
.select2-drop .select2-result-with-children > .select2-result-label {
  margin-top: 5px;
  font-size: 13px;
  color: rgba(52, 73, 94, .6);
  text-transform: uppercase;
  }
.select2-drop .select2-result-with-children + .select2-result-with-children > .select2-result-label {
  margin-top: 11px;
  }
.select2-results {
  position: relative;
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: auto;

  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
.select2-search {
  display: none;
  width: 100%;
  padding: 8px 6px;
  }
.select2-search input[type="text"] {
  width: 100%;
  height: auto !important;
  }
.select-inverse-dropdown {
  color: rgba(255, 255, 255, .75);
  background-color: #34495e;
  }
.select-inverse-dropdown .select2-results .select2-result-label {
  color: #fff;
  }
.select-inverse-dropdown .select2-results .select2-result-label:focus,
.select-inverse-dropdown .select2-results .select2-result-label:hover,
.select-inverse-dropdown .select2-results .select2-result-label:active {
  background: #2c3e50;
  }
.select-inverse-dropdown .select2-results.select2-disabled .select2-result-label:hover {
  color: #fff;
  }
.select-inverse-dropdown .select2-result-with-children > .select2-result-label {
  color: rgba(255, 255, 255, .6);
  }
.select-inverse-dropdown .select2-result-with-children > .select2-result-label:hover {
  color: #fff;
  background: none !important;
  }
.select2-drop-multi {
  border-radius: 6px;
  }
.select2-drop-multi .select2-results {
  padding: 2px 0;
  }
.select2-drop-multi .select2-result {
  padding: 2px 4px;
  }
.select2-drop-multi .select2-result-label {
  border-radius: 4px;
  }
.select2-drop-multi .select2-selected {
  display: none;
  }
.select2-offscreen,
.select2-offscreen:focus {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  border: 0 !important;
  outline: 0 !important;
  }
.select2-hidden-accessible {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  }
.select2-offscreen,
.select2-offscreen:focus {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  border: 0 !important;
  outline: 0 !important;
  }
.select2-display-none {
  display: none;
  }
.select2-measure-scrollbar {
  position: absolute;
  top: -10000px;
  left: -10000px;
  width: 100px;
  height: 100px;
  overflow: scroll;
  }
.select2-drop-mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  width: auto;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  padding: 0;
  margin: 0;
  /* styles required for IE to work */
  background-color: #fff;
  filter: alpha(opacity=0);
  border: 0;
  opacity: 0;
  }
.tile {
  position: relative;
  padding: 14px;
  margin-bottom: 20px;
  text-align: center;
  background-color: #eff0f2;
  border-radius: 6px;
  }
.tile .tile-hot-ribbon {
  position: absolute;
  top: -4px;
  right: -4px;
  display: block;
  width: 82px;
  }
.tile p {
  margin-bottom: 33px;
  font-size: 15px;
  }
.tile-image {
  height: 100px;
  margin: 31px 0 27px;
  vertical-align: bottom;
  }
.tile-image.big-illustration {
  width: 112px;
  height: 111px;
  margin-top: 20px;
  }
.tile-title {
  margin: 0;
  font-size: 20px;
  }
.navbar {
  min-height: 53px;
  margin-bottom: 30px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  }
@media (min-width: 768px) {
  .navbar-header {
    float: left;
    }
  }
.navbar-collapse {
  padding-right: 21px;
  padding-left: 21px;
  box-shadow: none;
  }
.navbar-collapse .navbar-form:first-child {
  border: none;
  }
@media (min-width: 768px) {
  .navbar-collapse .navbar-nav.navbar-left:first-child {
    margin-left: -21px;
    }
  .navbar-collapse .navbar-nav.navbar-left:first-child > li:first-child a {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    }
  .navbar-collapse .navbar-nav.navbar-right:last-child {
    margin-right: -21px;
    }
  .navbar-collapse .navbar-nav.navbar-right:last-child > .dropdown:last-child > a {
    border-radius: 0 6px 6px 0;
    }
  .navbar-fixed-top .navbar-collapse .navbar-form.navbar-right:last-child,
  .navbar-fixed-bottom .navbar-collapse .navbar-form.navbar-right:last-child {
    margin-right: 0;
    }
  }
@media (max-width: 767px) {
  .navbar-collapse .navbar-nav.navbar-right:last-child {
    margin-bottom: 3px;
    }
  }
.navbar .container,
.navbar .container-fluid {
  padding-right: 21px;
  padding-left: 21px;
  }
.navbar .container > .navbar-header,
.navbar .container-fluid > .navbar-header,
.navbar .container > .navbar-collapse,
.navbar .container-fluid > .navbar-collapse {
  margin-right: -21px;
  margin-left: -21px;
  }
@media (min-width: 768px) {
  .navbar .container > .navbar-header,
  .navbar .container-fluid > .navbar-header,
  .navbar .container > .navbar-collapse,
  .navbar .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
    }
  }
.navbar-static-top {
  z-index: 1000;
  border-width: 0;
  border-radius: 0;
  }
.navbar-fixed-top,
.navbar-fixed-bottom {
  z-index: 1030;
  border-radius: 0;
  }
.navbar-fixed-top {
  border-width: 0;
  }
.navbar-fixed-bottom {
  margin-bottom: 0;
  border-width: 0;
  }
.navbar-brand {
  height: 53px;
  padding: 14px 21px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.042;
  }
.navbar-brand > [class*="fui-"] {
  font-size: 19px;
  line-height: 1.263;
  vertical-align: top;
  }
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -21px;
    }
  }
.navbar-toggle {
  height: 53px;
  padding: 0 21px;
  margin: 0 0 0 21px;
  line-height: 53px;
  color: #34495e;
  border: none;
  }
.navbar-toggle:before {
  font-family: "Flat-UI-Icons";
  font-size: 22px;
  font-style: normal;
  font-weight: normal;
  color: #16a085;
  content: "\e61a";
  -webkit-transition: color .25s linear;
          transition: color .25s linear;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.navbar-toggle:hover,
.navbar-toggle:focus {
  outline: none;
  }
.navbar-toggle:hover:before,
.navbar-toggle:focus:before {
  color: #1abc9c;
  }
.navbar-toggle .icon-bar {
  display: none;
  }
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
    }
  }
.navbar-nav {
  margin: 0;
  }
.navbar-nav > li > a {
  padding: 15px 21px;
  font-size: 16px;
  font-weight: 700;
  line-height: 23px;
  }
.navbar-nav > li > a:hover,
.navbar-nav > li > a:focus,
.navbar-nav .open > a:focus,
.navbar-nav .open > a:hover {
  background-color: transparent;
  }
.navbar-nav [class^="fui-"] {
  position: relative;
  top: 1px;
  line-height: 20px;
  }
.navbar-nav .visible-sm > [class^="fui-"],
.navbar-nav .visible-xs > [class^="fui-"] {
  margin-left: 12px;
  }
@media (max-width: 767px) {
  .navbar-nav {
    margin: 0 -21px;
    }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 7px 15px 7px 31px !important;
    }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 23px;
    }
  .navbar-nav > li > a {
    padding-top: 7px;
    padding-bottom: 7px;
    }
  }
.navbar-input {
  height: 35px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 6px;
  }
select.navbar-input {
  height: 35px;
  line-height: 35px;
  }
textarea.navbar-input,
select[multiple].navbar-input {
  height: auto;
  }
.navbar-form {
  padding-top: 9px;
  padding-right: 19px;
  padding-bottom: 9px;
  padding-left: 19px;
  margin-top: 0;
  margin-bottom: 0;
  box-shadow: none;
  }
@media (max-width: 767px) {
  .navbar-form {
    width: auto;
    margin: 3px -21px;
    }
  }
.navbar-form .form-control,
.navbar-form .input-group-addon,
.navbar-form .btn,
.navbar-form .select2-search input[type="text"] {
  height: 35px;
  padding: 5px 10px;
  font-size: 13px;
  line-height: 1.4;
  border-radius: 6px;
  }
select.navbar-form .form-control,
select.navbar-form .input-group-addon,
select.navbar-form .btn,
select.navbar-form .select2-search input[type="text"] {
  height: 35px;
  line-height: 35px;
  }
textarea.navbar-form .form-control,
textarea.navbar-form .input-group-addon,
textarea.navbar-form .btn,
select[multiple].navbar-form .form-control,
select[multiple].navbar-form .input-group-addon,
select[multiple].navbar-form .btn,
textarea.navbar-form .select2-search input[type="text"],
select[multiple].navbar-form .select2-search input[type="text"] {
  height: auto;
  }
.navbar-form .btn {
  margin: 0;
  }
.navbar-form .input-group .form-control:first-child,
.navbar-form .input-group-addon:first-child,
.navbar-form .input-group-btn:first-child > .btn,
.navbar-form .input-group-btn:first-child > .dropdown-toggle,
.navbar-form .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.navbar-form .input-group .select2-search input[type="text"]:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  }
.navbar-form .input-group .form-control:last-child,
.navbar-form .input-group-addon:last-child,
.navbar-form .input-group-btn:last-child > .btn,
.navbar-form .input-group-btn:last-child > .dropdown-toggle,
.navbar-form .input-group-btn:first-child > .btn:not(:first-child),
.navbar-form .input-group .select2-search input[type="text"]:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  }
.navbar-form .form-control,
.navbar-form .select2-search input[type="text"] {
  display: table-cell;
  font-size: 15px;
  border-radius: 5px;
  }
.navbar-form .form-group ~ .btn {
  margin-left: 5px;
  font-size: 15px;
  border-radius: 5px;
  }
.navbar-form .form-group + .btn {
  margin-right: 5px;
  }
@media (min-width: 768px) {
  .navbar-form .input-group {
    width: 195px;
    }
  }
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 7px;
    }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
    }
  .navbar-form .form-group + .btn {
    margin-left: 0;
    }
  }
.navbar-nav > li > .dropdown-menu {
  min-width: 100%;
  margin-top: 9px;
  border-radius: 4px;
  }
@media (max-width: 767px) {
  .navbar-nav > li.open > .dropdown-menu {
    margin-top: 0 !important;
    }
  }
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  }
.navbar-nav > .open > .dropdown-toggle,
.navbar-nav > .open > .dropdown-toggle:focus,
.navbar-nav > .open > .dropdown-toggle:hover {
  background-color: transparent;
  }
.navbar-text {
  padding-top: 15px;
  padding-bottom: 15px;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.438;
  color: #34495e;
  }
@media (min-width: 768px) {
  .navbar-text {
    margin-right: 21px;
    margin-left: 21px;
    }
  .navbar-text.navbar-right:last-child {
    margin-right: 0;
    }
  }
.navbar-btn {
  margin-top: 6px;
  margin-bottom: 6px;
  }
.navbar-btn.btn-sm {
  margin-top: 9px;
  margin-bottom: 8px;
  }
.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
  }
.navbar-unread,
.navbar-new {
  position: absolute;
  top: 35%;
  right: 12px;
  z-index: 10;
  width: 6px;
  height: 6px;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 0;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #1abc9c;
  border-radius: 50%;
  }
@media (max-width: 768px) {
  .navbar-unread,
  .navbar-new {
    position: static;
    float: right;
    margin: 0 0 0 10px;
    }
  }
.active .navbar-unread,
.active .navbar-new {
  display: none;
  background-color: #fff;
  }
.navbar-new {
  width: auto;
  min-width: 18px;
  height: 18px;
  padding: 0 1px;
  margin: -6px -10px;
  font-size: 12px;
  line-height: 17px;
  background-color: #e74c3c;

  -webkit-font-smoothing: subpixel-antialiased;
  }
.navbar-default {
  background-color: #ecf0f1;
  }
.navbar-default .navbar-brand {
  color: #34495e;
  }
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-default .navbar-toggle:before {
  color: #34495e;
  }
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: transparent;
  }
.navbar-default .navbar-toggle:hover:before,
.navbar-default .navbar-toggle:focus:before {
  color: #1abc9c;
  }
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e5e9ea;
  border-width: 2px;
  }
.navbar-default .navbar-nav > li > a {
  color: #34495e;
  }
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
  }
.navbar-default .navbar-nav > .dropdown > a .caret {
  border-top-color: #34495e;
  border-bottom-color: #34495e;
  }
.navbar-default .navbar-nav > .active > a .caret {
  border-top-color: #1abc9c;
  border-bottom-color: #1abc9c;
  }
.navbar-default .navbar-nav > .dropdown > a:hover .caret,
.navbar-default .navbar-nav > .dropdown > a:focus .caret {
  border-top-color: #1abc9c;
  border-bottom-color: #1abc9c;
  }
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-default .navbar-nav > .open > a .caret,
.navbar-default .navbar-nav > .open > a:hover .caret,
.navbar-default .navbar-nav > .open > a:focus .caret {
  border-top-color: #1abc9c;
  border-bottom-color: #1abc9c;
  }
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #34495e;
    }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #1abc9c;
    background-color: transparent;
    }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #1abc9c;
    background-color: transparent;
    }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
    }
  }
.navbar-default .navbar-form .form-control,
.navbar-default .navbar-form .select2-search input[type="text"] {
  border-color: transparent;
  }
.navbar-default .navbar-form .form-control::-moz-placeholder,
.navbar-default .navbar-form .select2-search input[type="text"]::-moz-placeholder {
  color: #aeb6bf;
  opacity: 1;
  }
.navbar-default .navbar-form .form-control:-ms-input-placeholder,
.navbar-default .navbar-form .select2-search input[type="text"]:-ms-input-placeholder {
  color: #aeb6bf;
  }
.navbar-default .navbar-form .form-control::-webkit-input-placeholder,
.navbar-default .navbar-form .select2-search input[type="text"]::-webkit-input-placeholder {
  color: #aeb6bf;
  }
.navbar-default .navbar-form .form-control:focus,
.navbar-default .navbar-form .select2-search input[type="text"]:focus {
  color: #1abc9c;
  border-color: #1abc9c;
  }
.navbar-default .navbar-form .input-group-btn .btn {
  color: #919ba4;
  border-color: transparent;
  }
.navbar-default .navbar-form .input-group.focus .form-control,
.navbar-default .navbar-form .input-group.focus .input-group-btn .btn,
.navbar-default .navbar-form .input-group.focus .select2-search input[type="text"] {
  color: #1abc9c;
  border-color: #1abc9c;
  }
.navbar-default .navbar-text {
  color: #34495e;
  }
.navbar-default .navbar-link {
  color: #34495e;
  }
.navbar-default .navbar-link:hover {
  color: #1abc9c;
  }
.navbar-default .btn-link {
  color: #34495e;
  }
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #1abc9c;
  }
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
  }
.navbar-inverse {
  background-color: #34495e;
  }
.navbar-inverse .navbar-brand {
  color: #fff;
  }
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-inverse .navbar-toggle:before {
  color: #fff;
  }
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: transparent;
  }
.navbar-inverse .navbar-toggle:hover:before,
.navbar-inverse .navbar-toggle:focus:before {
  color: #1abc9c;
  }
.navbar-inverse .navbar-collapse {
  border-color: #2f4154;
  border-width: 2px;
  }
.navbar-inverse .navbar-nav > li > a {
  color: #fff;
  }
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #1abc9c;
  background-color: transparent;
  }
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #1abc9c;
  }
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
  }
.navbar-inverse .navbar-nav > .dropdown > a:hover .caret,
.navbar-inverse .navbar-nav > .dropdown > a:focus .caret {
  border-top-color: #1abc9c;
  border-bottom-color: #1abc9c;
  }
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  color: #fff;
  background-color: #1abc9c;
  border-left-color: transparent;
  }
.navbar-inverse .navbar-nav > .open > a .caret,
.navbar-inverse .navbar-nav > .open > a:hover .caret,
.navbar-inverse .navbar-nav > .open > a:focus .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
  }
.navbar-inverse .navbar-nav > .dropdown > a .caret {
  border-top-color: #4b6075;
  border-bottom-color: #4b6075;
  }
.navbar-inverse .navbar-nav > .open > .dropdown-menu {
  padding: 3px 4px;
  background-color: #34495e;
  }
.navbar-inverse .navbar-nav > .open > .dropdown-menu > li > a {
  padding: 6px 9px;
  color: #e1e4e7;
  border-radius: 4px;
  }
.navbar-inverse .navbar-nav > .open > .dropdown-menu > li > a:hover,
.navbar-inverse .navbar-nav > .open > .dropdown-menu > li > a:focus {
  color: #fff;
  background-color: #1abc9c;
  }
.navbar-inverse .navbar-nav > .open > .dropdown-menu > .divider {
  height: 2px;
  margin-right: -4px;
  margin-left: -4px;
  background-color: #2f4154;
  }
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav > li > a {
    border-left-width: 0;
    }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #fff;
    }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #1abc9c;
    background-color: transparent;
    }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #1abc9c;
    }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
    }
  .navbar-inverse .navbar-nav .dropdown-menu .divider {
    background-color: #2f4154;
    }
  }
.navbar-inverse .navbar-form .form-control,
.navbar-inverse .navbar-form .select2-search input[type="text"] {
  color: #536a81;
  background-color: #293a4a;
  border-color: transparent;
  }
.navbar-inverse .navbar-form .form-control::-moz-placeholder,
.navbar-inverse .navbar-form .select2-search input[type="text"]::-moz-placeholder {
  color: #536a81;
  opacity: 1;
  }
.navbar-inverse .navbar-form .form-control:-ms-input-placeholder,
.navbar-inverse .navbar-form .select2-search input[type="text"]:-ms-input-placeholder {
  color: #536a81;
  }
.navbar-inverse .navbar-form .form-control::-webkit-input-placeholder,
.navbar-inverse .navbar-form .select2-search input[type="text"]::-webkit-input-placeholder {
  color: #536a81;
  }
.navbar-inverse .navbar-form .form-control:focus,
.navbar-inverse .navbar-form .select2-search input[type="text"]:focus {
  color: #1abc9c;
  border-color: #1abc9c;
  }
.navbar-inverse .navbar-form .btn {
  color: #fff;
  background-color: #1abc9c;
  }
.navbar-inverse .navbar-form .btn:hover,
.navbar-inverse .navbar-form .btn.hover,
.navbar-inverse .navbar-form .btn:focus,
.navbar-inverse .navbar-form .btn:active,
.navbar-inverse .navbar-form .btn.active,
.open > .dropdown-toggle.navbar-inverse .navbar-form .btn {
  color: #fff;
  background-color: #48c9b0;
  border-color: #48c9b0;
  }
.navbar-inverse .navbar-form .btn:active,
.navbar-inverse .navbar-form .btn.active,
.open > .dropdown-toggle.navbar-inverse .navbar-form .btn {
  background: #16a085;
  border-color: #16a085;
  }
.navbar-inverse .navbar-form .btn.disabled,
.navbar-inverse .navbar-form .btn[disabled],
fieldset[disabled] .navbar-inverse .navbar-form .btn,
.navbar-inverse .navbar-form .btn.disabled:hover,
.navbar-inverse .navbar-form .btn[disabled]:hover,
fieldset[disabled] .navbar-inverse .navbar-form .btn:hover,
.navbar-inverse .navbar-form .btn.disabled.hover,
.navbar-inverse .navbar-form .btn[disabled].hover,
fieldset[disabled] .navbar-inverse .navbar-form .btn.hover,
.navbar-inverse .navbar-form .btn.disabled:focus,
.navbar-inverse .navbar-form .btn[disabled]:focus,
fieldset[disabled] .navbar-inverse .navbar-form .btn:focus,
.navbar-inverse .navbar-form .btn.disabled:active,
.navbar-inverse .navbar-form .btn[disabled]:active,
fieldset[disabled] .navbar-inverse .navbar-form .btn:active,
.navbar-inverse .navbar-form .btn.disabled.active,
.navbar-inverse .navbar-form .btn[disabled].active,
fieldset[disabled] .navbar-inverse .navbar-form .btn.active {
  background-color: #bdc3c7;
  border-color: #1abc9c;
  }
.navbar-inverse .navbar-form .btn .badge {
  color: #1abc9c;
  background-color: #fff;
  }
.navbar-inverse .navbar-form .input-group-btn .btn {
  color: #526a82;
  background-color: #293a4a;
  border-color: transparent;
  }
.navbar-inverse .navbar-form .input-group.focus .form-control,
.navbar-inverse .navbar-form .input-group.focus .input-group-btn .btn,
.navbar-inverse .navbar-form .input-group.focus .select2-search input[type="text"] {
  color: #1abc9c;
  border-color: #1abc9c;
  }
@media (max-width: 767px) {
  .navbar-inverse .navbar-form {
    border-color: #2f4154;
    border-width: 2px 0;
    }
  }
.navbar-inverse .navbar-text {
  color: #fff;
  }
.navbar-inverse .navbar-text a {
  color: #fff;
  }
.navbar-inverse .navbar-text a:hover,
.navbar-inverse .navbar-text a:focus {
  color: #1abc9c;
  }
.navbar-inverse .navbar-btn {
  color: #fff;
  background-color: #1abc9c;
  }
.navbar-inverse .navbar-btn:hover,
.navbar-inverse .navbar-btn.hover,
.navbar-inverse .navbar-btn:focus,
.navbar-inverse .navbar-btn:active,
.navbar-inverse .navbar-btn.active,
.open > .dropdown-toggle.navbar-inverse .navbar-btn {
  color: #fff;
  background-color: #48c9b0;
  border-color: #48c9b0;
  }
.navbar-inverse .navbar-btn:active,
.navbar-inverse .navbar-btn.active,
.open > .dropdown-toggle.navbar-inverse .navbar-btn {
  background: #16a085;
  border-color: #16a085;
  }
.navbar-inverse .navbar-btn.disabled,
.navbar-inverse .navbar-btn[disabled],
fieldset[disabled] .navbar-inverse .navbar-btn,
.navbar-inverse .navbar-btn.disabled:hover,
.navbar-inverse .navbar-btn[disabled]:hover,
fieldset[disabled] .navbar-inverse .navbar-btn:hover,
.navbar-inverse .navbar-btn.disabled.hover,
.navbar-inverse .navbar-btn[disabled].hover,
fieldset[disabled] .navbar-inverse .navbar-btn.hover,
.navbar-inverse .navbar-btn.disabled:focus,
.navbar-inverse .navbar-btn[disabled]:focus,
fieldset[disabled] .navbar-inverse .navbar-btn:focus,
.navbar-inverse .navbar-btn.disabled:active,
.navbar-inverse .navbar-btn[disabled]:active,
fieldset[disabled] .navbar-inverse .navbar-btn:active,
.navbar-inverse .navbar-btn.disabled.active,
.navbar-inverse .navbar-btn[disabled].active,
fieldset[disabled] .navbar-inverse .navbar-btn.active {
  background-color: #bdc3c7;
  border-color: #1abc9c;
  }
.navbar-inverse .navbar-btn .badge {
  color: #1abc9c;
  background-color: #fff;
  }
@media (min-width: 768px) {
  .navbar-embossed > .navbar-collapse {
    border-radius: 6px;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
    }
  .navbar-embossed.navbar-inverse .navbar-nav .active > a,
  .navbar-embossed.navbar-inverse .navbar-nav .open > a {
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15);
    }
  }
.navbar-lg {
  min-height: 76px;
  }
.navbar-lg .navbar-brand {
  height: 76px;
  padding-top: 26px;
  padding-bottom: 26px;
  line-height: 1;
  }
.navbar-lg .navbar-brand > [class*="fui-"] {
  font-size: 24px;
  line-height: 1;
  }
.navbar-lg .navbar-nav > li > a {
  font-size: 15px;
  line-height: 1.6;
  }
@media (min-width: 768px) {
  .navbar-lg .navbar-nav > li > a {
    padding-top: 26px;
    padding-bottom: 26px;
    }
  }
.navbar-lg .navbar-toggle {
  height: 76px;
  line-height: 76px;
  }
.navbar-lg .navbar-form {
  padding-top: 20.5px;
  padding-bottom: 20.5px;
  }
.navbar-lg .navbar-text {
  padding-top: 26.5px;
  padding-bottom: 26.5px;
  }
.navbar-lg .navbar-btn {
  margin-top: 17.5px;
  margin-bottom: 17.5px;
  }
.navbar-lg .navbar-btn.btn-sm {
  margin-top: 20.5px;
  margin-bottom: 20.5px;
  }
.navbar-lg .navbar-btn.btn-xs {
  margin-top: 25.5px;
  margin-bottom: 25.5px;
  }
.bootstrap-switch {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 29px;
  overflow: hidden;
  font-size: 15px;
  line-height: 29px;
  text-align: left;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-radius: 30px;

  -webkit-mask-box-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgODAgMjkiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDgwIDI5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04MCwxNC41YzAsOC02LjUsMTQuNS0xNC41LDE0LjVoLTUxQzYuNSwyOSwwLDIyLjUsMCwxNC41bDAsMEMwLDYuNSw2LjUsMCwxNC41LDBoNTFDNzMuNSwwLDgwLDYuNSw4MCwxNC41TDgwLDE0LjV6Ii8+DQo8L3N2Zz4NCg==) 0 0 stretch;
  }
.bootstrap-switch > div {
  display: inline-block;
  width: 132px;
  border-radius: 30px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  }
.bootstrap-switch > div > span {
  z-index: 1;
  display: inline-block;
  width: 66px;
  height: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: 700;
  line-height: 19px;
  text-align: center;
  cursor: pointer;
  -webkit-transition: box-shadow .25s ease-out;
          transition: box-shadow .25s ease-out;
  }
.bootstrap-switch > div > span > [class^="fui-"] {
  text-indent: 0;
  }
.bootstrap-switch > div > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  font-size: 0;
  text-indent: -9999px;
  cursor: pointer;
  filter: alpha(opacity=0);
  opacity: 0;
  }
.bootstrap-switch input[type="radio"],
.bootstrap-switch input[type="checkbox"] {
  position: absolute !important;
  top: 0;
  left: 0;
  z-index: -1;
  margin: 0;
  filter: alpha(opacity=0);
  opacity: 0;
  }
.bootstrap-switch-handle-on {
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-default {
  box-shadow: inset 0 0 transparent, -16px 0 0 #bdc3c7;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-default:before {
  background-color: #7f8c9a;
  border-color: #bdc3c7;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-primary {
  box-shadow: inset 0 0 transparent, -16px 0 0 #34495e;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-primary:before {
  background-color: #1abc9c;
  border-color: #34495e;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-success {
  box-shadow: inset 0 0 transparent, -16px 0 0 #2ecc71;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-success:before {
  background-color: #fff;
  border-color: #2ecc71;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-warning {
  box-shadow: inset 0 0 transparent, -16px 0 0 #f1c40f;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-warning:before {
  background-color: #fff;
  border-color: #f1c40f;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-info {
  box-shadow: inset 0 0 transparent, -16px 0 0 #3498db;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-info:before {
  background-color: #fff;
  border-color: #3498db;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-danger {
  box-shadow: inset 0 0 transparent, -16px 0 0 #e74c3c;
  }
.bootstrap-switch-off .bootstrap-switch-handle-on ~ .bootstrap-switch-handle-off.bootstrap-switch-danger:before {
  background-color: #fff;
  border-color: #e74c3c;
  }
.bootstrap-switch-handle-off {
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  }
.bootstrap-switch-handle-off:before {
  position: absolute;
  top: 0;
  left: 51px;
  z-index: 100;
  display: inline-block;
  width: 29px;
  height: 29px;
  padding: 0;
  text-align: center;
  vertical-align: top;
  content: " ";
  background-clip: padding-box;
  border: 4px solid transparent;
  border-radius: 50%;
  -webkit-transition: border-color .25s ease-out, background-color .25s ease-out;
          transition: border-color .25s ease-out, background-color .25s ease-out;
  }
.bootstrap-switch-animate > div {
  -webkit-transition: margin-left .25s ease-out;
          transition: margin-left .25s ease-out;
  }
.bootstrap-switch-on > div {
  margin-left: 0;
  }
.bootstrap-switch-off > div {
  margin-left: -51px;
  }
.bootstrap-switch-disabled,
.bootstrap-switch-readonly {
  cursor: default;
  filter: alpha(opacity=50);
  opacity: .5;
  }
.bootstrap-switch-disabled > div > span,
.bootstrap-switch-readonly > div > span,
.bootstrap-switch-disabled > div > label,
.bootstrap-switch-readonly > div > label {
  cursor: default !important;
  }
.bootstrap-switch-focused {
  outline: 0;
  }
.bootstrap-switch-default {
  color: #fff;
  background-color: #bdc3c7;
  }
.bootstrap-switch-default ~ .bootstrap-switch-handle-off:before {
  background-color: #7f8c9a;
  border-color: #bdc3c7;
  }
.bootstrap-switch-on .bootstrap-switch-default ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #bdc3c7;
  }
.bootstrap-switch-primary {
  color: #1abc9c;
  background-color: #34495e;
  }
.bootstrap-switch-primary ~ .bootstrap-switch-handle-off:before {
  background-color: #1abc9c;
  border-color: #34495e;
  }
.bootstrap-switch-on .bootstrap-switch-primary ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #34495e;
  }
.bootstrap-switch-info {
  color: #fff;
  background-color: #3498db;
  }
.bootstrap-switch-info ~ .bootstrap-switch-handle-off:before {
  background-color: #fff;
  border-color: #3498db;
  }
.bootstrap-switch-on .bootstrap-switch-info ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #3498db;
  }
.bootstrap-switch-success {
  color: #fff;
  background-color: #2ecc71;
  }
.bootstrap-switch-success ~ .bootstrap-switch-handle-off:before {
  background-color: #fff;
  border-color: #2ecc71;
  }
.bootstrap-switch-on .bootstrap-switch-success ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #2ecc71;
  }
.bootstrap-switch-warning {
  color: #fff;
  background-color: #f1c40f;
  }
.bootstrap-switch-warning ~ .bootstrap-switch-handle-off:before {
  background-color: #fff;
  border-color: #f1c40f;
  }
.bootstrap-switch-on .bootstrap-switch-warning ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #f1c40f;
  }
.bootstrap-switch-danger {
  color: #fff;
  background-color: #e74c3c;
  }
.bootstrap-switch-danger ~ .bootstrap-switch-handle-off:before {
  background-color: #fff;
  border-color: #e74c3c;
  }
.bootstrap-switch-on .bootstrap-switch-danger ~ .bootstrap-switch-handle-off {
  box-shadow: inset 16px 0 0 #e74c3c;
  }
.bootstrap-switch-square .bootstrap-switch {
  border-radius: 4px;

  -webkit-mask-box-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgODAgMjkiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDgwIDI5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGQ9Ik04MCwyNWMwLDIuMi0xLjgsNC00LDRINGMtMi4yLDAtNC0xLjgtNC00VjRjMC0yLjIsMS44LTQsNC00aDcyYzIuMiwwLDQsMS44LDQsNFYyNXoiLz4NCjwvc3ZnPg0K) 0 0 stretch;
  }
.bootstrap-switch-square .bootstrap-switch > div {
  border-radius: 4px;
  }
.bootstrap-switch-square .bootstrap-switch .bootstrap-switch-handle-on {
  text-indent: -15px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  }
.bootstrap-switch-square .bootstrap-switch .bootstrap-switch-handle-off {
  text-indent: 15px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  }
.bootstrap-switch-square .bootstrap-switch .bootstrap-switch-handle-off:before {
  border: none;
  border-top-left-radius: 0;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 0;
  }
.bootstrap-switch-square .bootstrap-switch-off .bootstrap-switch-handle-off:before {
  border-top-left-radius: 2px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 2px;
  }
.share {
  position: relative;
  background-color: #eff0f2;
  border-radius: 6px;
  }
.share ul {
  padding: 15px;
  margin: 0;
  list-style-type: none;
  }
.share li {
  padding-top: 11px;
  font-size: 15px;
  line-height: 1.4;
  }
.share li:before,
.share li:after {
  display: table;
  content: " ";
  }
.share li:after {
  clear: both;
  }
.share li:first-child {
  padding-top: 0;
  }
.share .toggle {
  float: right;
  margin: 0;
  }
.share .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  }
.share-label {
  float: left;
  width: 50%;
  padding-top: 5px;
  font-size: 15px;
  line-height: 1.4;
  }
.video-js {
  position: relative;
  width: 100% !important;
  height: auto !important;
  padding-bottom: 47px;
  overflow: hidden;
  font-size: 0;
  vertical-align: middle;
  background-color: transparent;

  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  border-top-radius: 6px;
  }
.video-js .vjs-tech {
  display: block;
  width: 100%;
  height: 100%;
  }
.video-js::-moz-full-screen {
  position: absolute;
  }
.video-js::-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
  }
.vjs-fullscreen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;

  border-top-radius: 0;
  }
.vjs-fullscreen .vjs-control-bar {
  margin-top: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  }
.vjs-fullscreen .vjs-tech {
  background-color: #000;
  }
.vjs-poster {
  position: relative;
  width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0 auto;
  cursor: pointer;

  border-top-radius: 6px;
  }
.vjs-control-bar {
  position: relative;
  height: 47px;
  margin-top: -1px;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: #2c3e50;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  }
.vjs-control-bar.vjs-fade-out {
  visibility: visible !important;
  opacity: 1 !important;
  }
.vjs-text-track-display {
  position: absolute;
  right: 1em;
  bottom: 4em;
  left: 1em;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  text-align: center;
  }
.vjs-text-track {
  display: none;
  margin-bottom: .1em;
  font-size: 1.4em;
  color: #fff;
  text-align: center;
  background-color: rgba(0, 0, 0, .5);
  }
.vjs-subtitles {
  color: #fff;
  }
.vjs-captions {
  color: #fc6;
  }
.vjs-tt-cue {
  display: block;
  }
.vjs-fade-in {
  visibility: visible !important;
  opacity: 1 !important;
  -webkit-transition: visibility 0s linear 0s, opacity .3s linear;
          transition: visibility 0s linear 0s, opacity .3s linear;
  }
.vjs-fade-out {
  visibility: hidden !important;
  opacity: 0 !important;
  -webkit-transition: visibility 0s linear 1.5s, opacity 1.5s linear;
          transition: visibility 0s linear 1.5s, opacity 1.5s linear;
  }
.vjs-control {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  }
.vjs-control:focus {
  outline: 0;
  }
.vjs-control > div {
  background-repeat: no-repeat;
  background-position: center;
  }
.vjs-control-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  }
.vjs-play-control {
  width: 58px;
  height: 47px;
  cursor: pointer;
  }
.vjs-play-control > div {
  position: relative;
  height: 47px;
  }
.vjs-play-control > div:before,
.vjs-play-control > div:after {
  position: absolute;
  top: 38%;
  left: 50%;
  margin: -.5em 0 0 -.5em;
  font-family: "Flat-UI-Icons";
  font-size: 16px;
  color: #1abc9c;
  -webkit-transition: color .25s, opacity .25s;
          transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  }
.vjs-play-control > div:after {
  content: "\e615";
  }
.vjs-play-control > div:before {
  content: "\e616";
  }
.vjs-paused .vjs-play-control:hover > div:before {
  color: #16a085;
  }
.vjs-paused .vjs-play-control > div:after {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-paused .vjs-play-control > div:before {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-playing .vjs-play-control:hover > div:after {
  color: #16a085;
  }
.vjs-playing .vjs-play-control > div:after {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-playing .vjs-play-control > div:before {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-rewind-control {
  width: 5em;
  cursor: pointer !important;
  }
.vjs-rewind-control > div {
  width: 19px;
  height: 16px;
  margin: .5em auto 0;
  background: none transparent;
  }
.vjs-mute-control {
  float: right;
  margin: 14px 0;
  cursor: pointer !important;
  }
.vjs-mute-control:hover > div,
.vjs-mute-control:focus > div {
  color: #57718b;
  }
.vjs-mute-control > div {
  height: 18px;
  color: #475d72;
  }
.vjs-mute-control > div:after,
.vjs-mute-control > div:before {
  position: absolute;
  left: 50%;
  margin: 0 0 0 -.5em;
  font-family: "Flat-UI-Icons";
  font-size: 16px;
  line-height: 18px;
  -webkit-transition: color .25s, opacity .25s;
          transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.vjs-mute-control > div:after {
  content: "\e617";
  }
.vjs-mute-control > div:before {
  content: "\e618";
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-mute-control.vjs-vol-0 > div:after {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-mute-control.vjs-vol-0 > div:before {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-volume-control,
.vjs-volume-level,
.vjs-volume-handle,
.vjs-volume-bar {
  display: none;
  }
.vjs-progress-control {
  position: absolute;
  top: 18px;
  right: 160px;
  left: 60px;
  width: auto;
  height: 12px;
  background: #425669;
  border-radius: 32px;
  }
.vjs-progress-holder {
  position: relative;
  height: 12px;
  padding: 0;
  margin: 0;
  cursor: pointer !important;
  }
.vjs-play-progress,
.vjs-load-progress {
  display: block;
  height: 12px;
  padding: 0;
  margin: 0;
  border-radius: 32px;
  }
.vjs-play-progress {
  position: absolute;
  top: 0;
  left: -1px;
  background: #1abc9c;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  }
.vjs-load-progress {
  background: #d6dbdf;
  }
.vjs-load-progress[style*="100%"],
.vjs-load-progress[style*="99%"] {
  border-radius: 32px;
  }
.vjs-seek-handle {
  position: absolute;
  top: 0;
  width: 18px;
  height: 18px;
  margin: -3px 0 0 -3px;
  background-color: #16a085;
  border-radius: 50%;
  -webkit-transition: background-color .25s;
          transition: background-color .25s;
  }
.vjs-seek-handle[style*="95."] {
  margin-left: 3px;
  }
.vjs-seek-handle[style="left: 0%;"] {
  margin-left: -2px;
  }
.vjs-seek-handle:hover,
.vjs-seek-handle:focus {
  background-color: #148d75;
  }
.vjs-seek-handle:active {
  background-color: #117a65;
  }
.vjs-time-controls {
  position: absolute;
  width: auto;
  height: auto;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: normal;
  }
.vjs-time-divider {
  position: absolute;
  top: 11px;
  right: 114px;
  font-size: 14px;
  color: #5d6d7e;
  }
.vjs-remaining-time {
  display: none;
  }
.vjs-current-time {
  top: 16px;
  right: 122px;
  }
.vjs-duration {
  top: 16px;
  right: 85px;
  color: #5d6d7e;
  }
.vjs-fullscreen-control {
  float: right;
  margin: 14px 15px;
  cursor: pointer;
  }
.vjs-fullscreen-control:hover > div,
.vjs-fullscreen-control:focus > div {
  color: #57718b;
  }
.vjs-fullscreen-control > div {
  height: 18px;
  color: #475d72;
  }
.vjs-fullscreen-control > div:before {
  position: absolute;
  left: 50%;
  margin: 0 0 0 -.5em;
  font-family: "Flat-UI-Icons";
  font-size: 16px;
  line-height: 18px;
  content: "\e619";
  -webkit-transition: color .25s, opacity .25s;
          transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.vjs-menu-button {
  display: none !important;
  }
.vjs-loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: #ebedee;
  border-radius: 10px;
  -webkit-animation: sharp 2s ease infinite;
          animation: sharp 2s ease infinite;
  }
@-webkit-keyframes sharp {
  0% {
    background-color: #e74c3c;
    border-radius: 10px;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    }
  50% {
    background-color: #ebedee;
    border-radius: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    }
  100% {
    background-color: #e74c3c;
    border-radius: 10px;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    }
  }
@keyframes sharp {
  0% {
    background-color: #e74c3c;
    border-radius: 10px;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    }
  50% {
    background-color: #ebedee;
    border-radius: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    }
  100% {
    background-color: #e74c3c;
    border-radius: 10px;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
    }
  }
.todo {
  margin-bottom: 20px;
  color: #798795;
  border-radius: 6px;
  }
.todo ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
  background-color: #2c3e50;
  border-radius: 0 0 6px 6px;
  }
.todo li {
  position: relative;
  padding: 18px 42px 21px 25px;
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.214;
  cursor: pointer;
  background: #34495e;
  background-size: 20px 20px;
  -webkit-transition: .25s;
          transition: .25s;
  }
.todo li:first-child {
  margin-top: 0;
  }
.todo li:last-child {
  padding-bottom: 21px;
  border-radius: 0 0 6px 6px;
  }
.todo li.todo-done {
  color: #1abc9c;
  background: transparent;
  }
.todo li.todo-done .todo-name {
  color: #1abc9c;
  }
.todo li:after {
  position: absolute;
  top: 50%;
  right: 22px;
  display: block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  content: " ";
  background: #fff;
  border-radius: 50%;
  }
.todo li.todo-done:after {
  font-family: 'Flat-UI-Icons';
  font-size: 12px;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 21px;
  color: #2c3e50;
  text-align: center;
  text-transform: none;
  content: "\e60a";
  background: #1abc9c;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.todo-search {
  position: relative;
  padding: 19px 25px 20px;
  color: #34495e;
  background: #1abc9c;
  background-size: 16px 16px;
  border-radius: 6px 6px 0 0;
  }
.todo-search:before {
  position: absolute;
  top: 50%;
  left: 92%;
  display: inline-block;
  margin: -.5em 0 0 -1em;
  font-family: 'Flat-UI-Icons';
  font-size: 16px;
  line-height: 17px;
  content: "\e630";
  }
.todo-search-field {
  padding: 5px 0;
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 23px;
  color: #34495e;
  text-indent: 0;
  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  }
.todo-search-field::-moz-placeholder {
  color: #34495e;
  opacity: 1;
  }
.todo-search-field:-ms-input-placeholder {
  color: #34495e;
  }
.todo-search-field::-webkit-input-placeholder {
  color: #34495e;
  }
.todo-icon {
  float: left;
  padding: 11px 22px 0 0;
  font-size: 24px;
  }
.todo-content {
  padding-top: 1px;
  overflow: hidden;
  }
.todo-name {
  margin: 1px 0 3px;
  font-size: 17px;
  color: #fff;
  }
.pallete-item {
  float: left;
  width: 140px;
  margin: 0 0 20px 20px;
  }
.palette {
  padding: 15px;
  margin: 0;
  font-size: 14px;
  line-height: 1.214;
  color: #fff;
  text-transform: uppercase;
  }
.palette dt,
.palette dd {
  line-height: 1.429;
  }
.palette dt {
  display: block;
  font-weight: bold;
  opacity: .8;
  }
.palette dd {
  margin-left: 0;
  font-weight: 300;
  opacity: .8;

  -webkit-font-smoothing: subpixel-antialiased;
  }
.palette-turquoise {
  background-color: #1abc9c;
  }
.palette-green-sea {
  background-color: #16a085;
  }
.palette-emerald {
  background-color: #2ecc71;
  }
.palette-nephritis {
  background-color: #27ae60;
  }
.palette-peter-river {
  background-color: #3498db;
  }
.palette-belize-hole {
  background-color: #2980b9;
  }
.palette-amethyst {
  background-color: #9b59b6;
  }
.palette-wisteria {
  background-color: #8e44ad;
  }
.palette-wet-asphalt {
  background-color: #34495e;
  }
.palette-midnight-blue {
  background-color: #2c3e50;
  }
.palette-sun-flower {
  background-color: #f1c40f;
  }
.palette-orange {
  background-color: #f39c12;
  }
.palette-carrot {
  background-color: #e67e22;
  }
.palette-pumpkin {
  background-color: #d35400;
  }
.palette-alizarin {
  background-color: #e74c3c;
  }
.palette-pomegranate {
  background-color: #c0392b;
  }
.palette-clouds {
  background-color: #ecf0f1;
  }
.palette-silver {
  background-color: #bdc3c7;
  }
.palette-concrete {
  background-color: #95a5a6;
  }
.palette-asbestos {
  background-color: #7f8c8d;
  }
.palette-clouds {
  color: #bdc3c7;
  }
.palette-paragraph {
  font-size: 12px;
  line-height: 17px;
  color: #7f8c8d;
  }
.palette-paragraph span {
  color: #bdc3c7;
  }
.palette-headline {
  margin-top: -3px;
  font-size: 13px;
  font-weight: 700;
  color: #7f8c8d;
  }
.login {
  position: relative;
  padding: 38px 38px 267px;
  margin-bottom: 77px;
  color: #fff;
  background: url(../img/login/imac.png) 0 0 no-repeat;
  background-size: 940px 778px;
  }
.login-screen {
  min-height: 473px;
  padding: 123px 199px 33px 306px;
  background-color: #1abc9c;
  }
.login-icon {
  position: absolute;
  top: 160px;
  left: 200px;
  width: 96px;
  }
.login-icon > img {
  display: block;
  width: 100%;
  margin-bottom: 6px;
  }
.login-icon > h4 {
  font-size: 17px;
  font-weight: 300;
  line-height: 34px;
  opacity: .95;
  }
.login-icon > h4 small {
  display: block;
  font-size: inherit;
  font-weight: 700;
  color: inherit;
  }
.login-form {
  position: relative;
  padding: 24px 23px 20px;
  background-color: #edeff1;
  border-radius: 6px;
  }
.login-form .control-group {
  position: relative;
  margin-bottom: 6px;
  }
.login-form .login-field {
  font-size: 17px;
  text-indent: 3px;
  border-color: transparent;
  }
.login-form .login-field:focus {
  border-color: #1abc9c;
  }
.login-form .login-field:focus + .login-field-icon {
  color: #1abc9c;
  }
.login-form .login-field-icon {
  position: absolute;
  top: 3px;
  right: 15px;
  font-size: 16px;
  color: #bfc9ca;
  -webkit-transition: all .25s;
          transition: all .25s;
  }
.login-link {
  display: block;
  margin-top: 15px;
  font-size: 13px;
  color: #bfc9ca;
  text-align: center;
  }
@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 2) {
  .login {
    background-image: url(../img/login/imac-2x.png);
    }
  }
footer {
  padding: 0;
  font-size: 15px;
  color: #bac1c8;
  background-color: #edeff1;
  }
footer a {
  font-weight: 700;
  color: #9aa4af;
  }
footer p {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 20px;
  }
.footer-title {
  padding-top: 21px;
  margin: 0 0 22px;
  font-size: 24px;
  line-height: 40px;
  }
.footer-brand {
  display: block;
  width: 220px;
  margin-bottom: 26px;
  }
.footer-brand img {
  width: 216px;
  }
.footer-banner {
  min-height: 316px;
  padding: 0 30px 30px;
  margin-left: 42px;
  color: #d1f2eb;
  background-color: #1abc9c;
  }
.footer-banner .footer-title {
  color: #fff;
  }
.footer-banner a {
  color: #b7f5e9;
  text-decoration: underline;
  }
.footer-banner a:hover {
  text-decoration: none;
  }
.footer-banner ul {
  padding: 0;
  margin: 0 0 26px;
  list-style-type: none;
  }
.footer-banner ul li {
  padding: 6px 0;
  line-height: 19px;
  border-top: 1px solid #1bc5a3;
  }
.footer-banner ul li:first-child {
  padding-top: 1px;
  border-top: none;
  }
.last-col {
  overflow: hidden;
  }
.ptn,
.pvn,
.pan {
  padding-top: 0;
  }
.ptx,
.pvx,
.pax {
  padding-top: 3px;
  }
.pts,
.pvs,
.pas {
  padding-top: 5px;
  }
.ptm,
.pvm,
.pam {
  padding-top: 10px;
  }
.ptl,
.pvl,
.pal {
  padding-top: 20px;
  }
.prn,
.phn,
.pan {
  padding-right: 0;
  }
.prx,
.phx,
.pax {
  padding-right: 3px;
  }
.prs,
.phs,
.pas {
  padding-right: 5px;
  }
.prm,
.phm,
.pam {
  padding-right: 10px;
  }
.prl,
.phl,
.pal {
  padding-right: 20px;
  }
.pbn,
.pvn,
.pan {
  padding-bottom: 0;
  }
.pbx,
.pvx,
.pax {
  padding-bottom: 3px;
  }
.pbs,
.pvs,
.pas {
  padding-bottom: 5px;
  }
.pbm,
.pvm,
.pam {
  padding-bottom: 10px;
  }
.pbl,
.pvl,
.pal {
  padding-bottom: 20px;
  }
.pln,
.phn,
.pan {
  padding-left: 0;
  }
.plx,
.phx,
.pax {
  padding-left: 3px;
  }
.pls,
.phs,
.pas {
  padding-left: 5px;
  }
.plm,
.phm,
.pam {
  padding-left: 10px;
  }
.pll,
.phl,
.pal {
  padding-left: 20px;
  }
.mtn,
.mvn,
.man {
  margin-top: 0;
  }
.mtx,
.mvx,
.max {
  margin-top: 3px;
  }
.mts,
.mvs,
.mas {
  margin-top: 5px;
  }
.mtm,
.mvm,
.mam {
  margin-top: 10px;
  }
.mtl,
.mvl,
.mal {
  margin-top: 20px;
  }
.mrn,
.mhn,
.man {
  margin-right: 0;
  }
.mrx,
.mhx,
.max {
  margin-right: 3px;
  }
.mrs,
.mhs,
.mas {
  margin-right: 5px;
  }
.mrm,
.mhm,
.mam {
  margin-right: 10px;
  }
.mrl,
.mhl,
.mal {
  margin-right: 20px;
  }
.mbn,
.mvn,
.man {
  margin-bottom: 0;
  }
.mbx,
.mvx,
.max {
  margin-bottom: 3px;
  }
.mbs,
.mvs,
.mas {
  margin-bottom: 5px;
  }
.mbm,
.mvm,
.mam {
  margin-bottom: 10px;
  }
.mbl,
.mvl,
.mal {
  margin-bottom: 20px;
  }
.mln,
.mhn,
.man {
  margin-left: 0;
  }
.mlx,
.mhx,
.max {
  margin-left: 3px;
  }
.mls,
.mhs,
.mas {
  margin-left: 5px;
  }
.mlm,
.mhm,
.mam {
  margin-left: 10px;
  }
.mll,
.mhl,
.mal {
  margin-left: 20px;
  }
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  .btn {
    border-style: solid;
    border-width: 2px;
    }
  .dropdown-menu,
  .select2-drop {
    background: #fff !important;
    border: 2px solid #ddd;
    }
  .input-group-rounded .input-group-btn + .form-control,
  .input-group-rounded .input-group-btn + .select2-search input[type="text"],
  .input-group-rounded .input-group-btn + .select2-search input[type="text"] {
    padding-left: 10px;
    }
  .form-control,
  .select2-search input[type="text"] {
    border: 2px solid #ddd !important;
    }
  .bootstrap-switch {
    width: 84px;
    height: 33px;
    border: 2px solid #bdc3c7;
    }
  .tooltip {
    border: 2px solid #bdc3c7;
    }
  .progress,
  .ui-slider {
    background: #ddd !important;
    }
  .progress-bar,
  .ui-slider-range,
  .ui-slider-handle {
    background: #bdc3c7 !important;
    }
  }
/*# sourceMappingURL=flat-ui.css.map */


================================================
FILE: app/lib/flat-ui/fonts/glyphicons/selection.json
================================================
{
	"IcoMoonType": "selection",
	"icons": [
		{
			"icon": {
				"paths": [
					"M128 256l384 512 384-512h-768z"
				],
				"grid": 16,
				"tags": [
					"triangle-down"
				]
			},
			"properties": {
				"order": 1,
				"id": 64,
				"prevSize": 16,
				"code": 58881,
				"name": "triangle-down",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 1
		},
		{
			"icon": {
				"paths": [
					"M896 704h-768l384-384 384 384z"
				],
				"grid": 16,
				"tags": [
					"triangle-up-small"
				]
			},
			"properties": {
				"order": 2,
				"id": 69,
				"prevSize": 16,
				"code": 58882,
				"name": "triangle-up-small",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 2
		},
		{
			"icon": {
				"paths": [
					"M512 704l-384-384h768l-384 384z"
				],
				"grid": 16,
				"tags": [
					"triangle-down-small"
				]
			},
			"properties": {
				"order": 3,
				"id": 65,
				"prevSize": 16,
				"code": 58883,
				"name": "triangle-down-small",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 3
		},
		{
			"icon": {
				"paths": [
					"M896 960l-768-448 768-448v896z"
				],
				"grid": 16,
				"tags": [
					"triangle-left-large"
				]
			},
			"properties": {
				"order": 4,
				"id": 66,
				"prevSize": 16,
				"code": 58884,
				"name": "triangle-left-large",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 4
		},
		{
			"icon": {
				"paths": [
					"M128 64l768 448-768 448v-896z"
				],
				"grid": 16,
				"tags": [
					"triangle-right-large"
				]
			},
			"properties": {
				"order": 5,
				"id": 67,
				"prevSize": 16,
				"code": 58885,
				"name": "triangle-right-large",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 5
		},
		{
			"icon": {
				"paths": [
					"M224.96 511.232l447.168-447.232 128 131.008-321.152 318.016 321.152 320.896-128.256 128.256-446.912-450.944z"
				],
				"grid": 16,
				"tags": [
					"arrow-left"
				]
			},
			"properties": {
				"order": 6,
				"id": 1,
				"prevSize": 16,
				"code": 58886,
				"name": "arrow-left",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 6
		},
		{
			"icon": {
				"paths": [
					"M353.152 962.112l-128.192-128.256 321.088-320.896-321.152-317.952 128-131.008 447.168 447.232-446.912 450.88z"
				],
				"grid": 16,
				"tags": [
					"arrow-right"
				]
			},
			"properties": {
				"order": 7,
				"id": 2,
				"prevSize": 16,
				"code": 58887,
				"name": "arrow-right",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 7
		},
		{
			"icon": {
				"paths": [
					"M928 608.064h-320v319.936c0 35.392-28.608 64-64 64h-64c-35.328 0-64-28.608-64-64v-319.936h-320c-35.328 0-64-28.736-64-64.064v-64.064c0-35.328 28.672-63.872 64-63.872h320v-320.064c0-35.328 28.672-64 64-64h64c35.392 0 64 28.672 64 64v320.064h320c35.392 0 64 28.544 64 63.872v64.064c0 35.328-28.608 64.064-64 64.064z"
				],
				"grid": 16,
				"tags": [
					"plus"
				]
			},
			"properties": {
				"order": 8,
				"id": 36,
				"prevSize": 16,
				"code": 58888,
				"name": "plus",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 8
		},
		{
			"icon": {
				"paths": [
					"M919.808 195.968c12.48 12.416 12.48 32.832 0 45.248l-248.896 249.024c-12.352 12.416-12.352 32.832 0 45.312l248.768 249.088c12.48 12.416 12.48 32.832 0 45.248l-90.624 90.432c-12.352 12.416-32.768 12.416-45.248 0l-248.64-249.088c-12.416-12.416-32.832-12.416-45.248 0l-248.896 248.896c-12.416 12.48-32.832 12.48-45.248 0l-90.496-90.624c-12.416-12.352-12.416-32.768 0-45.248l248.96-248.896c12.416-12.416 12.416-32.832 0-45.312l-248.768-249.024c-12.416-12.48-12.416-32.832 0-45.248l90.56-90.496c12.416-12.416 32.832-12.416 45.248 0l248.64 249.024c12.416 12.48 32.832 12.48 45.248 0.064l248.832-248.96c12.48-12.352 32.896-12.352 45.248 0l90.56 90.56z"
				],
				"grid": 16,
				"tags": [
					"cross"
				]
			},
			"properties": {
				"order": 9,
				"id": 13,
				"prevSize": 16,
				"code": 58889,
				"name": "cross",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 9
		},
		{
			"icon": {
				"paths": [
					"M923.136 137.408c-12.352-12.544-32.768-12.544-45.12 0l-476.16 474.496c-12.48 12.544-32.832 12.544-45.248 0l-208.64-212.736c-6.144-6.208-14.272-9.408-22.336-9.472-8.256 0-16.576 3.008-22.848 9.472l-92.16 83.008c-6.144 6.272-9.472 14.144-9.472 22.336 0 8.32 3.328 17.024 9.472 23.232l210.368 220.992c12.416 12.48 32.832 33.024 45.248 45.632l90.432 91.264c12.416 12.48 32.768 12.48 45.248 0l611.712-611.328c12.48-12.48 12.48-33.088 0-45.632l-90.496-91.264z"
				],
				"grid": 16,
				"tags": [
					"check"
				]
			},
			"properties": {
				"order": 10,
				"id": 8,
				"prevSize": 16,
				"code": 58890,
				"name": "check",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 10
		},
		{
			"icon": {
				"paths": [
					"M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512c0-281.6-230.4-512-512-512zM512 819.2c-168.96 0-307.2-138.24-307.2-307.2 0-168.96 138.24-307.2 307.2-307.2 168.96 0 307.2 138.24 307.2 307.2 0 168.96-138.24 307.2-307.2 307.2z"
				],
				"grid": 16,
				"tags": [
					"radio-unchecked"
				]
			},
			"properties": {
				"order": 11,
				"id": 63,
				"prevSize": 16,
				"code": 58891,
				"name": "radio-unchecked",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 11
		},
		{
			"icon": {
				"paths": [
					"M512 0c-281.6 0-512 230.4-512 512s230.4 512 512 512 512-230.4 512-512c0-281.6-230.4-512-512-512zM512 819.2c-168.96 0-307.2-138.24-307.2-307.2 0-168.96 138.24-307.2 307.2-307.2 168.96 0 307.2 138.24 307.2 307.2 0 168.96-138.24 307.2-307.2 307.2zM512 358.4c-87.040 0-153.6 66.56-153.6 153.6s66.56 153.6 153.6 153.6 153.6-66.56 153.6-153.6c0-87.040-66.56-153.6-153.6-153.6z"
				],
				"grid": 16,
				"tags": [
					"radio-checked"
				]
			},
			"properties": {
				"order": 12,
				"id": 61,
				"prevSize": 16,
				"code": 58892,
				"name": "radio-checked",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 12
		},
		{
			"icon": {
				"paths": [
					"M256 0h512c143.36 0 256 112.64 256 256v512c0 143.36-112.64 256-256 256h-512c-143.36 0-256-112.64-256-256v-512c0-143.36 112.64-256 256-256z"
				],
				"grid": 16,
				"tags": [
					"checkbox-unchecked"
				]
			},
			"properties": {
				"order": 13,
				"id": 54,
				"prevSize": 16,
				"code": 58893,
				"name": "checkbox-unchecked",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 13
		},
		{
			"icon": {
				"paths": [
					"M768 0h-512c-143.36 0-256 112.64-256 256v512c0 143.36 112.64 256 256 256h512c143.36 0 256-112.64 256-256v-512c0-143.36-112.64-256-256-256zM844.8 409.6l-368.64 368.64c-5.12 5.12-20.48 5.12-25.6 0l-56.32-56.32c-5.12-5.12-20.48-20.48-25.6-25.6l-128-133.12c-5.12-5.12-5.12-10.24-5.12-15.36s0-10.24 5.12-15.36l56.32-51.2c5.12 0 10.24-5.12 10.24-5.12 5.12 0 10.24 0 15.36 5.12l122.88 128c5.12 5.12 20.48 5.12 25.6 0l286.72-286.72c5.12-5.12 20.48-5.12 25.6 0l56.32 56.32c10.24 10.24 10.24 20.48 5.12 30.72z"
				],
				"grid": 16,
				"tags": [
					"checkbox-checked"
				]
			},
			"properties": {
				"order": 14,
				"id": 52,
				"prevSize": 16,
				"code": 58894,
				"name": "checkbox-checked",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 14
		},
		{
			"icon": {
				"paths": [
					"M512 0c-282.752 0-512 229.248-512 512s229.248 512 512 512c282.752 0 512-229.248 512-512 0-282.752-229.248-512-512-512zM512 831.936c-35.776 0-64.768-28.544-64.768-63.808 0-35.2 28.992-63.808 64.768-63.808 35.776 0 64.768 28.608 64.768 63.808 0 35.264-28.992 63.808-64.768 63.808zM576.768 572.224c0 37.056-28.992 67.072-64.768 67.072-35.776 0-64.768-30.080-64.768-67.072v-313.088c0-37.056 28.992-67.072 64.768-67.072 35.776 0 64.768 30.080 64.768 67.072v313.088z"
				],
				"grid": 16,
				"tags": [
					"alert-circle"
				],
				"width": 1024
			},
			"properties": {
				"order": 15,
				"id": 0,
				"prevSize": 16,
				"code": 58896,
				"name": "alert-circle",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 16
		},
		{
			"icon": {
				"paths": [
					"M512 1024c-282.752 0-512-229.248-512-512 0-282.688 229.248-512 512-512 282.752 0 512 229.248 512 512 0 282.752-229.248 512-512 512zM512 831.936c35.776 0 64.768-28.544 64.768-63.808 0-35.2-28.992-63.808-64.768-63.808-35.776 0-64.768 28.608-64.768 63.808 0 35.264 28.992 63.808 64.768 63.808zM650.752 235.712c-33.92-27.904-82.24-43.456-140.032-43.456-42.56 0-78.912 7.68-110.144 20.16-16.576 6.72-69.632 39.68-80.64 48.896l32.384 48.32c5.312 9.344 13.952 14.080 25.92 14.080 4.992 0 10.624-1.984 16.96-5.888 4.608-2.88 41.088-21.696 56.512-26.368 32.32-9.6 67.84-5.696 84.16-0.64 22.272 6.848 38.4 19.904 47.36 37.76 5.888 11.776 13.376 44.16-4.224 74.432-14.656 25.088-37.568 44.16-62.848 61.056-13.504 9.216-26.048 18.624-37.376 28.416-0.512 0-1.792 0.96-4.672 3.52 1.408-1.216 3.264-2.304 4.672-3.52 3.2-0.128-30.784 43.328-30.784 83.52 0 42.88 0 64 0 64h128v-64c0-33.28 16.128-51.968 16.448-56.704 11.008-7.872 61.056-46.144 72.96-59.904 22.208-25.6 38.592-59.392 38.592-107.008 0-48.832-19.392-88.832-53.248-116.672z"
				],
				"grid": 16,
				"tags": [
					"question-circle"
				]
			},
			"properties": {
				"order": 16,
				"id": 39,
				"prevSize": 16,
				"code": 58897,
				"name": "question-circle",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 17
		},
		{
			"icon": {
				"paths": [
					"M512 0c-282.752 0-512 229.184-512 511.936 0 282.816 229.248 512.064 512 512.064 282.752 0 512-229.248 512-512.064 0-282.752-229.248-511.936-512-511.936zM842.88 407.872l-367.296 367.232c-7.488 7.488-19.712 7.488-27.136 0l-54.272-54.784c-7.424-7.552-19.712-19.904-27.136-27.392l-126.336-132.8c-3.712-3.712-5.696-8.96-5.696-13.888 0-4.992 1.984-9.728 5.696-13.504l55.36-49.92c3.776-3.84 8.768-5.632 13.696-5.632 4.864 0.064 9.728 1.984 13.44 5.632l125.248 127.872c7.488 7.616 19.648 7.616 27.136 0l285.888-285.12c7.424-7.488 19.712-7.488 27.136 0l54.336 54.912c7.424 7.488 7.424 19.84-0.064 27.392z"
				],
				"grid": 16,
				"tags": [
					"check-circle"
				]
			},
			"properties": {
				"order": 17,
				"id": 9,
				"prevSize": 16,
				"code": 58898,
				"name": "check-circle",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 18
		},
		{
			"icon": {
				"paths": [
					"M874.048 149.952c-199.936-200-524.096-199.936-724.096 0-199.936 199.872-199.936 524.096 0.064 724.032 199.936 199.936 524.096 199.936 724.032 0.064 200-199.936 200-524.16 0-724.096zM747.2 650.944c27.52 27.52 28.224 71.296 1.728 97.856-26.56 26.56-70.4 25.728-97.792-1.728l-139.072-139.008-139.584 139.584c-27.52 27.456-71.296 28.224-97.792 1.728-26.56-26.56-25.728-70.4 1.664-97.856l139.648-139.584-139.648-139.648c-27.456-27.392-28.224-71.168-1.664-97.728 26.496-26.56 70.336-25.792 97.792 1.664l139.584 139.584 139.072-139.072c27.456-27.456 71.232-28.224 97.792-1.664 26.496 26.56 25.728 70.336-1.728 97.792l-139.008 139.072 139.008 139.008z"
				],
				"grid": 16,
				"tags": [
					"cross-circle"
				]
			},
			"properties": {
				"order": 18,
				"id": 14,
				"prevSize": 16,
				"code": 58899,
				"name": "cross-circle",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 19
		},
		{
			"icon": {
				"paths": [
					"M512-0.064c-282.752 0-512 229.312-512 512.064 0 282.816 229.248 512.064 512 512.064s512-229.248 512-512.064c0-282.752-229.248-512.064-512-512.064zM764.224 576.704h-187.392v187.52c0 36.992-28.992 67.072-64.768 67.072s-64.768-30.080-64.768-67.072v-187.52h-188.16c-36.992 0-67.072-28.928-67.072-64.704s30.080-64.768 67.072-64.768h188.16v-188.16c0-37.056 28.992-67.072 64.768-67.072s64.768 30.016 64.768 67.072v188.16h187.456c37.056 0 67.072 29.056 67.072 64.768s-30.016 64.704-67.136 64.704z"
				],
				"grid": 16,
				"tags": [
					"plus-circle"
				]
			},
			"properties": {
				"order": 19,
				"id": 37,
				"prevSize": 16,
				"code": 58900,
				"name": "plus-circle",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 20
		},
		{
			"icon": {
				"paths": [
					"M288 0h-192c-35.328 0-64 28.608-64 64v896c0 35.392 28.672 64 64 64h192c35.328 0 64-28.608 64-64v-896c0-35.392-28.672-64-64-64zM928 0h-192c-35.392 0-64 28.608-64 64v896c0 35.392 28.608 64 64 64h192c35.392 0 64-28.608 64-64v-896c0-35.392-28.608-64-64-64z"
				],
				"grid": 16,
				"tags": [
					"pause"
				]
			},
			"properties": {
				"order": 20,
				"id": 33,
				"prevSize": 16,
				"code": 58901,
				"name": "pause",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 21
		},
		{
			"icon": {
				"paths": [
					"M880 484.224l-832-480c-9.856-5.696-22.144-5.696-32 0-9.856 5.76-16 16.32-16 27.776v960c0 11.456 6.144 22.016 16 27.712 4.928 2.88 10.496 4.288 16 4.288s11.072-1.408 16-4.288l832-480c9.856-5.696 16-16.256 16-27.712s-6.144-22.016-16-27.776z"
				],
				"grid": 16,
				"tags": [
					"play"
				]
			},
			"properties": {
				"order": 21,
				"id": 35,
				"prevSize": 16,
				"code": 58902,
				"name": "play",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 22
		},
		{
			"icon": {
				"paths": [
					"M493.184 64c-48.384 0-63.040 27.84-63.040 27.84s-183.104 216.192-266.56 216.192c-82.176 0-81.344 0-81.344 0-45.44 0-82.24 36.416-82.24 81.28v244.096c0 44.928 36.8 81.28 82.176 81.28 0 0 1.344 0 82.176 0 81.024 0 269.568 218.88 269.568 218.88 14.912 15.488 35.904 25.152 59.264 25.152 45.376 0 82.176-36.352 82.176-81.28v-732.096c0-44.928-36.8-81.344-82.176-81.344zM843.968 142.272l-47.424 70.976c86.656 70.4 142.208 177.728 142.208 298.176s-55.488 227.84-142.208 298.112l47.424 70.976c109.44-85.888 180.032-219.136 180.032-369.088 0-150.016-70.592-283.2-180.032-369.152zM748.8 284.672l-47.872 71.68c41.344 38.912 67.392 93.76 67.392 155.072s-26.048 116.096-67.392 155.072l47.872 71.616c63.872-54.72 104.576-136 104.576-226.688 0-90.816-40.704-171.968-104.576-226.752z"
				],
				"grid": 16,
				"tags": [
					"volume"
				]
			},
			"properties": {
				"order": 22,
				"id": 49,
				"prevSize": 16,
				"code": 58903,
				"name": "volume",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 23
		},
		{
			"icon": {
				"paths": [
					"M492.8 64c-51.2 0-64 25.6-64 25.6s-179.2 217.6-262.4 217.6c-83.2 0-83.2 0-83.2 0-44.8 0-83.2 38.4-83.2 83.2v243.2c0 44.8 38.4 83.2 83.2 83.2 0 0 0 0 83.2 0 83.2 0 268.8 217.6 268.8 217.6 12.8 12.8 32 25.6 57.6 25.6 44.8 0 83.2-38.4 83.2-83.2v-729.6c0-44.8-38.4-83.2-83.2-83.2z"
				],
				"grid": 16,
				"tags": [
					"mute"
				]
			},
			"properties": {
				"order": 23,
				"id": 96,
				"prevSize": 16,
				"code": 58904,
				"name": "mute",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 24
		},
		{
			"icon": {
				"paths": [
					"M832 320l-213.056 208.448-125.696-125.696 210.752-210.688-160-160.064h448v448l-160-160zM526.976 617.472l-206.976 202.496 167.488 172.032h-455.488v-452.288l160 164.288 210.752-210.752 124.224 124.224z"
				],
				"grid": 16,
				"tags": [
					"resize"
				]
			},
			"properties": {
				"order": 24,
				"id": 97,
				"prevSize": 16,
				"code": 58905,
				"name": "resize",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 25
		},
		{
			"icon": {
				"paths": [
					"M991.936 96.64h-959.872c-17.6 0-32 15.36-32 34.176v124.672c0 18.048 14.4 32.832 32 32.832h959.872c17.6 0 32-14.72 32-32.832v-124.672c0-18.816-14.4-34.176-32-34.176zM991.936 416.64h-959.872c-17.6 0-32 15.36-32 34.24v124.608c0 18.112 14.4 32.832 32 32.832h959.872c17.6 0 32-14.72 32-32.832v-124.672c0-18.816-14.4-34.176-32-34.176zM991.936 736.64h-959.872c-17.6 0-32 15.36-32 34.24v124.608c0 17.984 14.4 32.768 32 32.768h959.872c17.6 0 32-14.72 32-32.768v-124.608c0-18.88-14.4-34.24-32-34.24z"
				],
				"grid": 16,
				"tags": [
					"list"
				]
			},
			"properties": {
				"order": 25,
				"id": 26,
				"prevSize": 16,
				"code": 58906,
				"name": "list",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 26
		},
		{
			"icon": {
				"paths": [
					"M352 64h-320c-19.2 0-32 12.8-32 32v320c0 19.2 12.8 32 32 32h320c19.2 0 32-12.8 32-32v-320c0-19.2-12.8-32-32-32z",
					"M352 576h-320c-19.2 0-32 12.8-32 32v320c0 19.2 12.8 32 32 32h320c19.2 0 32-12.8 32-32v-320c0-19.2-12.8-32-32-32z",
					"M992 64h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 320h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 576h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 832h-448c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h448c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z"
				],
				"grid": 16,
				"tags": [
					"list-thumbnailed"
				]
			},
			"properties": {
				"order": 26,
				"id": 60,
				"prevSize": 16,
				"code": 58907,
				"name": "list-thumbnailed",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 27
		},
		{
			"icon": {
				"paths": [
					"M288 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM288 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 64h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 384h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM288 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM608 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32zM928 704h-192c-19.2 0-32 12.8-32 32v192c0 19.2 12.8 32 32 32h192c19.2 0 32-12.8 32-32v-192c0-19.2-12.8-32-32-32z"
				],
				"grid": 16,
				"tags": [
					"list-small-thumbnails"
				]
			},
			"properties": {
				"order": 27,
				"id": 59,
				"prevSize": 16,
				"code": 58908,
				"name": "list-small-thumbnails",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 28
		},
		{
			"icon": {
				"paths": [
					"M416 0h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM992 0h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM416 576h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32zM992 576h-384c-19.2 0-32 12.8-32 32v384c0 19.2 12.8 32 32 32h384c19.2 0 32-12.8 32-32v-384c0-19.2-12.8-32-32-32z"
				],
				"grid": 16,
				"tags": [
					"list-large-thumbnails"
				]
			},
			"properties": {
				"order": 28,
				"id": 57,
				"prevSize": 16,
				"code": 58909,
				"name": "list-large-thumbnails",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 29
		},
		{
			"icon": {
				"paths": [
					"M992 64h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 320h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 576h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 832h-960c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h960c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z"
				],
				"grid": 16,
				"tags": [
					"list-columned"
				]
			},
			"properties": {
				"order": 29,
				"id": 56,
				"prevSize": 16,
				"code": 58911,
				"name": "list-columned",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 31
		},
		{
			"icon": {
				"paths": [
					"M992 128h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 448h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M992 768h-640c-19.2 0-32 12.8-32 32v64c0 19.2 12.8 32 32 32h640c19.2 0 32-12.8 32-32v-64c0-19.2-12.8-32-32-32z",
					"M256 192c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z",
					"M256 512c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z",
					"M256 832c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128 0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128z"
				],
				"grid": 16,
				"tags": [
					"list-bulleted"
				]
			},
			"properties": {
				"order": 30,
				"id": 55,
				"prevSize": 16,
				"code": 58912,
				"name": "list-bulleted",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 32
		},
		{
			"icon": {
				"paths": [
					"M896 0h-768c-70.656 0-128 57.344-128 128v768c0 70.656 57.344 128 128 128h768c70.656 0 128-57.344 128-128v-768c0-70.656-57.344-128-128-128zM384 64.064c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM192 64.064c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM896.064 896h-768.064v-640h768.064v640z"
				],
				"grid": 16,
				"tags": [
					"window"
				]
			},
			"properties": {
				"order": 31,
				"id": 50,
				"prevSize": 16,
				"code": 58913,
				"name": "window",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 33
		},
		{
			"icon": {
				"paths": [
					"M938.752 192.256h-106.688v-106.624c0-47.104-38.208-85.312-85.312-85.312h-661.44c-47.104 0-85.312 38.208-85.312 85.312v660.672c0 47.168 37.248 85.376 83.136 85.376h108.864v106.688c0 47.104 37.248 85.312 83.136 85.312h665.792c45.952 0 83.2-38.208 83.2-85.312v-660.736c-0.064-47.104-38.272-85.376-85.376-85.376zM384 64.384c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM192 64.384c35.328 0 64 28.608 64 63.936 0 35.392-28.672 64-64 64s-64-28.608-64-64c0-35.328 28.672-63.936 64-63.936zM128 704.32l-0.064-448h576.064v448h-576zM896 896.32h-576v-64.64h428.864c45.952 0 83.2-38.208 83.2-85.376v-297.984h63.936v448z"
				],
				"grid": 16,
				"tags": [
					"windows"
				]
			},
			"properties": {
				"order": 32,
				"id": 51,
				"prevSize": 16,
				"code": 58914,
				"name": "windows",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 34
		},
		{
			"icon": {
				"paths": [
					"M768 768.064c-121.6 0-197.888-68.736-256-144.448-58.112 75.712-134.4 144.448-256 144.448-102.848 0-256-68.224-256-256.064 0-187.776 153.152-256 256-256 121.6 0 197.888 68.672 256 144.448 58.112-75.776 134.4-144.448 256-144.448 102.912 0 256 68.224 256 256 0 187.84-153.088 256.064-256 256.064zM256 384c-29.632 0.512-128 11.136-128 128 0 121.856 106.624 128 128 128 78.272 0 123.264-47.808 178.752-128-55.488-80.128-100.48-128-178.752-128zM589.248 512c55.424 80.128 100.352 127.872 178.432 128 30.336-0.448 128.32-11.264 128.32-128 0-121.856-106.624-128-128-128-78.272 0-123.264 47.872-178.752 128z"
				],
				"grid": 16,
				"tags": [
					"loop"
				]
			},
			"properties": {
				"order": 33,
				"id": 29,
				"prevSize": 16,
				"code": 58915,
				"name": "loop",
				"ligatures": ""
			},
			"setIdx": 0,
			"iconIdx": 35
		},
		{
			"icon": {
				"paths": [
					"M800 448c-22.976 0-59.328 0-96 0v128c22.656 0 44.8 0 64 0 12.096 0 23.296 0 32 0 123.712 0 224 100.288 224 224s-100.288 224-224 224-224-100.224-224-224c0-22.976 0-59.264 0-96h-128c0 22.656 0 44.864 0 64 0 12.096 0 23.232 0 32 0 123.776-100.288 224-224 224s-224-100.224-224-224 100.288-224 224-224c22.976 0 59.328 0 96 0v-128c-22.592 0-44.864 0-64 0-12.096 0-23.232 0-32 0-123.712 0-224-100.224-224-224 0-123.712 100.288-224 224-224s224 100.288 224 224c0 22.976 0 59.328 0 96h128c0-22.592 0-44.864 0-64 0-12.096 0-23.232 0-32 0-123.712 100.288-224 224-224s224 100.288 224 224c0 123.776-100.288 224-224 224zM320 224c0-52.992-43.008-96-96-96s-96 43.008-96 96c0 53.056 43.008 96 96 96 7.744 0 19.52 0 32 0 29.568 0 64 0 64 0s0-69.056 0-96zM320 768c0-29.504 0-64 0-64s-69.056 0-96 0c-52.992 0-96 43.008-96 96s43.008 96 96 96 96-43.008 96-96c0-7.744 0-19.52 0-32zM704 800c0 52.992 43.008 96 96 96s96-43.008 96-96-43.008-96-96-96c-7.744 0-19.52 0-32 0-29.568 0-64 0-64 0s0 69.12 0 96zM576 448h-128v128h128v
Download .txt
gitextract_g2_sghff/

├── .gitignore
├── .jshintrc
├── .travis.yml
├── Gruntfile.js
├── LICENSE
├── README.md
├── app/
│   ├── badge.html
│   ├── css/
│   │   └── style.css
│   ├── img/
│   │   ├── badge.psd
│   │   ├── badge2.psd
│   │   └── stars.psd
│   ├── index.html
│   ├── js/
│   │   └── main.js
│   └── lib/
│       └── flat-ui/
│           ├── css/
│           │   └── flat-ui.css
│           ├── fonts/
│           │   └── glyphicons/
│           │       └── selection.json
│           ├── index.html
│           └── js/
│               ├── flat-ui.js
│               └── vendor/
│                   ├── html5shiv.js
│                   ├── video-js.swf
│                   └── video.js
├── bin/
│   ├── app.js
│   └── update.js
├── config.js
├── download.sh
├── index.js
├── lib/
│   ├── badges.js
│   ├── cache.js
│   ├── cached-request.js
│   ├── db.js
│   ├── estimation.js
│   ├── factors/
│   │   ├── downloads.js
│   │   ├── issues.js
│   │   └── versions.js
│   ├── packages.js
│   ├── server.js
│   ├── update.js
│   └── utils.js
├── package.json
├── server/
│   ├── nginx-packagequality.conf
│   └── upstart-package-quality.conf
├── test/
│   ├── gulp-filter.json
│   └── test_entry.json
├── test.js
└── update.sh
Download .txt
SYMBOL INDEX (303 symbols across 17 files)

FILE: app/js/main.js
  function loadPackage (line 149) | function loadPackage(packageName) {

FILE: app/lib/flat-ui/js/flat-ui.js
  function focusable (line 132) | function focusable( element, isTabIndexNotNaN ) {
  function visible (line 153) | function visible( element ) {
  function reduce (line 195) | function reduce( elem, size, border, margin ) {
  function handlerProxy (line 712) | function handlerProxy() {
  function handlerProxy (line 748) | function handlerProxy() {
  function getOffsets (line 1043) | function getOffsets( offsets, width, height ) {
  function parseCss (line 1050) | function parseCss( element, property ) {
  function getDimensions (line 1054) | function getDimensions( elem ) {
  function clamp (line 2759) | function clamp( value, prop, allowEmpty ) {
  function stringParse (line 2785) | function stringParse( string ) {
  function hue2rgb (line 3035) | function hue2rgb( p, q, h ) {
  function getElementStyles (line 3303) | function getElementStyles( elem ) {
  function styleDifference (line 3331) | function styleDifference( oldStyle, newStyle ) {
  function _normalizeArguments (line 3652) | function _normalizeArguments( effect, options, speed, callback ) {
  function standardAnimationOption (line 3704) | function standardAnimationOption( option ) {
  function run (line 3749) | function run( next ) {
  function simulateMouseEvent (line 3912) | function simulateMouseEvent (event, simulatedType) {
  function transitionEnd (line 4066) | function transitionEnd() {
  function removeElement (line 4156) | function removeElement() {
  function Plugin (line 4172) | function Plugin(option) {
  function Plugin (line 4275) | function Plugin(option) {
  function Plugin (line 4480) | function Plugin(option) {
  function Plugin (line 4658) | function Plugin(option) {
  function clearMenus (line 4796) | function clearMenus(e) {
  function getParent (line 4809) | function getParent($this) {
  function Plugin (line 4826) | function Plugin(option) {
  function Plugin (line 5094) | function Plugin(option, _relatedTarget) {
  function complete (line 5426) | function complete() {
  function Plugin (line 5573) | function Plugin(option) {
  function Plugin (line 5687) | function Plugin(option) {
  function ScrollSpy (line 5730) | function ScrollSpy(element, options) {
  function Plugin (line 5848) | function Plugin(option) {
  function next (line 5945) | function next() {
  function Plugin (line 5980) | function Plugin(option) {
  function Plugin (line 6113) | function Plugin(option) {
  function BootstrapSwitch (line 6186) | function BootstrapSwitch(element, options) {
  function TagsInput (line 6719) | function TagsInput(element, options) {
  function processItems (line 6963) | function processItems(items) {
  function makeOptionItemFunction (line 7230) | function makeOptionItemFunction(options, key) {
  function makeOptionFunction (line 7236) | function makeOptionFunction(options, key) {
  function htmlEncode (line 7246) | function htmlEncode(value) {
  function doGetCaretPosition (line 7258) | function doGetCaretPosition(oField) {
  function keyCombinationInList (line 7278) | function keyCombinationInList(keyPressEvent, lookupList) {
  function t (line 7320) | function t(e){if(!b){if(!a.body)return i(t);for(b=!0;e=S.shift();)i(e)}}
  function r (line 7320) | function r(e){(y||e.type===s||a[c]===u)&&(n(),t())}
  function n (line 7320) | function n(){y?(a[x](m,r,d),e[x](s,r,d)):(a[g](v,r),e[g](h,r))}
  function i (line 7320) | function i(e,t){setTimeout(e,+t>=0?t:1)}
  function o (line 7320) | function o(e){b?i(e):S.push(e)}
  function e (line 7320) | function e(t,r,n){t.document;var i,o=t.currentStyle[r].match(/([\d\.]+)(...
  function t (line 7320) | function t(e,t){var r="border"==t?"Width":"",n=t+"Top"+r,i=t+"Right"+r,o...
  function r (line 7320) | function r(r){var n,i=this,o=r.currentStyle,a=e(r,"fontSize"),l=function...
  function r (line 7320) | function r(e,t,r,o){var a=n(r.substr(r.lastIndexOf(e.domain)),e);a&&i(nu...
  function n (line 7320) | function n(e,t){for(var r={theme:p(A.settings.themes.gray,null),styleshe...
  function i (line 7320) | function i(e,t,r,n){var i=r.dimensions,a=r.theme,l=i.width+"x"+i.height;...
  function o (line 7320) | function o(e,t,r,n){function i(){var e=null;switch(n.renderer){case"canv...
  function a (line 7320) | function a(e){function t(e,t,r,n){t.width=r,t.height=n,e.width=Math.max(...
  function l (line 7320) | function l(e,t,r){t=parseInt(t,10),e=parseInt(e,10);var n=Math.max(t,e),...
  function s (line 7320) | function s(e){var t;t=null==e||null==e.nodeType?A.vars.resizableImages:[...
  function d (line 7320) | function d(e,t){var r={height:e.clientHeight,width:e.clientWidth};return...
  function h (line 7320) | function h(e){if(e.holderData){var t=d(e,k.invisibleErrorFn(h));if(t){va...
  function u (line 7320) | function u(e,t){return null==t?E.createElement(e):E.createElementNS(t,e)}
  function c (line 7320) | function c(e,t){for(var r in t)e.setAttribute(r,t[r])}
  function f (line 7320) | function f(e,t,r){if(null==e){e=u("svg",C);var n=u("defs",C);e.appendChi...
  function g (line 7320) | function g(e,r){if(t.XMLSerializer){{var n=new XMLSerializer,i="",o=r.st...
  function p (line 7320) | function p(e,t){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n])...
  function m (line 7320) | function m(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(r+":"+...
  function v (line 7320) | function v(e){A.vars.debounceTimer||e.call(this),A.vars.debounceTimer&&c...
  function x (line 7320) | function x(){v(function(){s(null)})}
  function y (line 7320) | function y(e){var r=null;return"string"==typeof e?r=E.querySelectorAll(e...
  function w (line 7320) | function w(e,t){var r=new Image;r.onerror=function(){t.call(this,!1,e)},...
  function b (line 7320) | function b(e){for(var t=[],r=0,n=e.length-1;n>=0;n--)r=e[n].charCodeAt()...
  function S (line 7320) | function S(e){return e.replace(/&#(\d+);/g,function(e,t){return String.f...
  function t (line 7320) | function t(e,t){for(var r in t)e[r]=t[r];return e}
  function r (line 7320) | function r(r,n){if(e.constructor.call(this,r),this.properties={fill:"#00...
  function reverseArgs (line 7358) | function reverseArgs(index, value) {
  function template (line 7397) | function template() {
  function whitespace (line 7460) | function whitespace(str) {
  function nonword (line 7464) | function nonword(str) {
  function getObjTokenizer (line 7468) | function getObjTokenizer(tokenizer) {
  function LruCache (line 7483) | function LruCache(maxSize) {
  function List (line 7520) | function List() {
  function Node (line 7541) | function Node(key, val) {
  function PersistentStorage (line 7558) | function PersistentStorage(namespace) {
  function now (line 7618) | function now() {
  function encode (line 7621) | function encode(val) {
  function decode (line 7624) | function decode(val) {
  function Transport (line 7631) | function Transport(o) {
  function done (line 7659) | function done(resp) {
  function fail (line 7663) | function fail() {
  function always (line 7666) | function always() {
  function callbackToDeferred (line 7697) | function callbackToDeferred(fn) {
  function SearchIndex (line 7717) | function SearchIndex(o) {
  function normalizeTokens (line 7786) | function normalizeTokens(tokens) {
  function newNode (line 7795) | function newNode() {
  function unique (line 7801) | function unique(array) {
  function getIntersection (line 7811) | function getIntersection(arrayA, arrayB) {
  function getLocal (line 7840) | function getLocal(o) {
  function getPrefetch (line 7843) | function getPrefetch(o) {
  function getRemote (line 7864) | function getRemote(o) {
  function Bloodhound (line 7912) | function Bloodhound(o) {
  function handlePrefetchResponse (line 7944) | function handlePrefetchResponse(resp) {
  function handleRemoteResponse (line 7959) | function handleRemoteResponse(err, resp) {
  function addLocalToIndex (line 7989) | function addLocalToIndex() {
  function returnRemoteMatches (line 8007) | function returnRemoteMatches(remoteMatches) {
  function getSorter (line 8034) | function getSorter(sortFn) {
  function ignoreDuplicates (line 8043) | function ignoreDuplicates() {
  function EventBus (line 8121) | function EventBus(o) {
  function on (line 8144) | function on(method, types, cb, context) {
  function onAsync (line 8161) | function onAsync(types, cb, context) {
  function onSync (line 8164) | function onSync(types, cb, context) {
  function off (line 8167) | function off(types) {
  function trigger (line 8178) | function trigger(types) {
  function getFlush (line 8192) | function getFlush(callbacks, context, args) {
  function getNextTick (line 8202) | function getNextTick() {
  function bindContext (line 8219) | function bindContext(fn, context) {
  function hightlightTextNode (line 8244) | function hightlightTextNode(textNode) {
  function traverse (line 8256) | function traverse(el, hightlightTextNode) {
  function getRegex (line 8268) | function getRegex(patterns, caseSensitive, wordsOnly) {
  function Input (line 8289) | function Input(o) {
  function buildOverflowHelper (line 8448) | function buildOverflowHelper($input) {
  function areQueriesEquivalent (line 8465) | function areQueriesEquivalent(a, b) {
  function withModifier (line 8468) | function withModifier($e) {
  function Dataset (line 8475) | function Dataset(o) {
  function getEmptyHtml (line 8515) | function getEmptyHtml() {
  function getSuggestionsHtml (line 8521) | function getSuggestionsHtml() {
  function getHeaderHtml (line 8541) | function getHeaderHtml() {
  function getFooterHtml (line 8547) | function getFooterHtml() {
  function render (line 8562) | function render(suggestions) {
  function getDisplayFn (line 8584) | function getDisplayFn(display) {
  function getTemplates (line 8591) | function getTemplates(templates, displayFn) {
  function isValidName (line 8602) | function isValidName(str) {
  function Dropdown (line 8608) | function Dropdown(o) {
  function isDatasetEmpty (line 8641) | function isDatasetEmpty(dataset) {
  function updateDataset (line 8738) | function updateDataset(dataset) {
  function clearDataset (line 8745) | function clearDataset(dataset) {
  function destroyDataset (line 8756) | function destroyDataset(dataset) {
  function initializeDataset (line 8762) | function initializeDataset(oDataset) {
  function Typeahead (line 8769) | function Typeahead(o) {
  function buildDom (line 8966) | function buildDom(input, withHint) {
  function getBackgroundStyles (line 8992) | function getBackgroundStyles($el) {
  function destroyDomStructure (line 9004) | function destroyDomStructure($node) {
  function attach (line 9023) | function attach() {
  function openTypeahead (line 9043) | function openTypeahead() {
  function closeTypeahead (line 9052) | function closeTypeahead() {
  function setVal (line 9061) | function setVal() {
  function getVal (line 9067) | function getVal($input) {
  function unattach (line 9077) | function unattach() {
  function reinsertElement (line 9210) | function reinsertElement(element) {
  function stripDiacritics (line 9218) | function stripDiacritics(str) {
  function indexOf (line 9227) | function indexOf(value, array) {
  function measureScrollbar (line 9235) | function measureScrollbar () {
  function equal (line 9253) | function equal(a, b) {
  function splitVal (line 9270) | function splitVal(string, separator) {
  function getSideBorderPadding (line 9278) | function getSideBorderPadding(element) {
  function installKeyUpChangeEvent (line 9282) | function installKeyUpChangeEvent(element) {
  function installFilteredMouseMove (line 9305) | function installFilteredMouseMove(element) {
  function debounce (line 9323) | function debounce(quietMillis, fn, ctx) {
  function installDebouncedScroll (line 9335) | function installDebouncedScroll(threshold, element) {
  function focus (line 9342) | function focus($el) {
  function getCursorInfo (line 9373) | function getCursorInfo(el) {
  function killEvent (line 9390) | function killEvent(event) {
  function killEventImmediately (line 9394) | function killEventImmediately(event) {
  function measureTextWidth (line 9399) | function measureTextWidth(e) {
  function syncCssClasses (line 9422) | function syncCssClasses(dest, src, adapter) {
  function markMatch (line 9457) | function markMatch(text, term, markup, escapeMarkup) {
  function defaultEscapeMarkup (line 9473) | function defaultEscapeMarkup(markup) {
  function ajax (line 9505) | function ajax(options) {
  function local (line 9580) | function local(options) {
  function tags (line 9639) | function tags(data) {
  function checkFormatter (line 9665) | function checkFormatter(formatter, formatterName) {
  function evaluate (line 9680) | function evaluate(val, context) {
  function countResults (line 9688) | function countResults(results) {
  function defaultTokenizer (line 9711) | function defaultTokenizer(input, selection, selectCallback, opts) {
  function cleanupJQueryElements (line 9753) | function cleanupJQueryElements() {
  function clazz (line 9768) | function clazz(SuperClass, methods) {
  function postRender (line 10799) | function postRender() {
  function render (line 10810) | function render(html) {
  function resolveContainerWidth (line 10998) | function resolveContainerWidth() {
  function Plugin (line 12687) | function Plugin(option) {

FILE: app/lib/flat-ui/js/vendor/html5shiv.js
  function addStyleSheet (line 67) | function addStyleSheet(ownerDocument, cssText) {
  function getElements (line 80) | function getElements() {
  function addElements (line 91) | function addElements(newElements, ownerDocument) {
  function getExpandoData (line 109) | function getExpandoData(ownerDocument) {
  function createElement (line 127) | function createElement(nodeName, ownerDocument, data){
  function createDocumentFragment (line 163) | function createDocumentFragment(ownerDocument, data){
  function shivMethods (line 187) | function shivMethods(ownerDocument, data) {
  function shivDocument (line 225) | function shivDocument(ownerDocument) {

FILE: app/lib/flat-ui/js/vendor/video.js
  function m (line 2) | function m(){return function(){}}
  function p (line 2) | function p(a){return function(){return this[a]}}
  function r (line 2) | function r(a){return function(){return a}}
  function t (line 2) | function t(a,c,d){if("string"===typeof a){0===a.indexOf("#")&&(a=a.slice...
  function c (line 8) | function c(){return f}
  function d (line 8) | function d(){return l}
  function e (line 11) | function e(){t.p(a,c,e);d.apply(this,arguments)}
  function u (line 11) | function u(a,c,d,e){t.ic.forEach(d,function(d){a(c,d,e)})}
  function c (line 12) | function c(){}
  function e (line 13) | function e(){return c.apply(a,arguments)}
  function D (line 25) | function D(a,c){var d,e;d=Array.prototype.slice.call(c);e=m();e=window.c...
  function E (line 33) | function E(a){a.q("vjs-lock-showing")}
  function F (line 34) | function F(a,c,d,e){if(d!==b)return a.b.style[c]=-1!==(""+d).indexOf("%"...
  function G (line 35) | function G(a){var c,d,e,g,h,j,n,q;c=0;d=k;a.d("touchstart",function(a){1...
  function H (line 42) | function H(a,c){var d,e,g,h;d=a.b;e=t.xd(d);h=g=d.offsetWidth;d=a.handle...
  function ca (line 44) | function ca(a,c){a.R(c);c.d("click",t.bind(a,function(){E(this)}))}
  function J (line 48) | function J(a){a.ta=f;a.Ba.n("vjs-lock-showing");a.b.setAttribute("aria-p...
  function I (line 48) | function I(a){a.ta=l;E(a.Ba);a.b.setAttribute("aria-pressed",l)}
  function da (line 57) | function da(a){var c={sources:[],tracks:[]};t.h.A(c,t.Aa(a));if(a.hasChi...
  function P (line 60) | function P(a,c,d){a.k&&(a.ma=l,a.k.dispose(),a.k=l);"Html5"!==c&&a.P&&(t...
  function Q (line 61) | function Q(a,c){c!==b&&a.uc!==c&&((a.uc=c)?(a.n("vjs-has-started"),a.m("...
  function S (line 62) | function S(a,c,d){if(a.k&&!a.k.ma)a.k.J(function(){this[c](d)});else try...
  function R (line 63) | function R(a,c){if(a.k&&a.k.ma)try{return a.k[c]()}catch(d){throw a.k[c]...
  function T (line 72) | function T(a,c){var d=a.selectSource(c);d?d.k===a.fb?a.src(d.source):P(a...
  function U (line 98) | function U(a){return a.j().k&&a.j().k.o.playbackRate&&a.j().options().pl...
  function fa (line 105) | function fa(a){a.Lb=l;a.eb();a.p("play",a.Pc);a.p("pause",a.eb)}
  function ia (line 120) | function ia(){var a=W[X],c=a.charAt(0).toUpperCase()+a.slice(1);ja["set"...
  function ka (line 120) | function ka(a){ja[a]=function(){return this.b.vjs_getProperty(a)}}
  function ma (line 128) | function ma(a,c,d,e,g){var h=a.Fa=a.Fa||[];g=g||{};g.kind=c;g.label=d;g....
  function Y (line 128) | function Y(a,c,d){for(var e=a.Fa,g=0,h=e.length,j,n;g<h;g++)j=e[g],j.id(...
  function na (line 131) | function na(a){0===a.oa&&a.load();0===a.na&&(a.c.d("timeupdate",t.bind(a...
  function oa (line 133) | function oa(a){var c=a.split(":");a=0;var d,e,g;3==c.length?(d=c[0],e=c[...
  function d (line 144) | function d(a,e){var j,n,q=a[e];if(q&&"object"===typeof q)for(j in q)Obje...
  function $ (line 146) | function $(a,c){var d=a.split("."),e=pa;!(d[0]in e)&&e.execScript&&e.exe...

FILE: bin/update.js
  function updateAll (line 19) | function updateAll()

FILE: lib/badges.js
  function readImage (line 31) | function readImage (name, size) {
  function getStarsCount (line 57) | function getStarsCount(score) {
  function getStarsImage (line 75) | function getStarsImage(score, size) {
  function convertToText (line 106) | function convertToText(stars)
  function testStarsText (line 127) | function testStarsText(callback)
  function convertToColor (line 137) | function convertToColor(stars)
  function testRetrieveShield (line 162) | function testRetrieveShield(callback)

FILE: lib/cache.js
  function clearExpired (line 76) | function clearExpired()
  function testSetInvalidKey (line 94) | function testSetInvalidKey(callback)
  function testGetInvalidKey (line 101) | function testGetInvalidKey(callback)
  function testClearExpired (line 109) | function testClearExpired(callback)
  function testValidCycleCache (line 123) | function testValidCycleCache(callback)

FILE: lib/cached-request.js
  function testShouldCacheOmitted (line 50) | function testShouldCacheOmitted(callback) {
  function testShouldCacheFalse (line 79) | function testShouldCacheFalse(callback) {
  function testShouldCacheTrue (line 108) | function testShouldCacheTrue(callback) {

FILE: lib/db.js
  function connect (line 30) | function connect() {
  function testCollection (line 128) | function testCollection(callback) {
  function testReconnect (line 141) | function testReconnect(callback) {
  function testClose (line 155) | function testClose(callback) {

FILE: lib/estimation.js
  function testEstimateInvalidEntry (line 106) | function testEstimateInvalidEntry(callback)
  function testEstimateValidEntryOneFactorReturnsError (line 116) | function testEstimateValidEntryOneFactorReturnsError(callback)
  function testEstimateValidEntry (line 144) | function testEstimateValidEntry(callback)
  function testAddQuality (line 188) | function testAddQuality(callback)
  function testAddQualityInfinity (line 207) | function testAddQualityInfinity(callback)

FILE: lib/factors/downloads.js
  function testEstimateInvalidEntry (line 75) | function testEstimateInvalidEntry(callback)
  function testEstimateInvalidPackageName (line 83) | function testEstimateInvalidPackageName(callback)
  function testEstimateInvalidJsonReturnedByRegistry (line 99) | function testEstimateInvalidJsonReturnedByRegistry(callback)
  function testEstimateValidEntry (line 115) | function testEstimateValidEntry(callback)

FILE: lib/factors/issues.js
  function pending (line 148) | function pending(pendingObject, callback)
  function extractRepoInfo (line 228) | function extractRepoInfo(repo)
  function getIssuesForPageLastYear (line 279) | function getIssuesForPageLastYear (repoOwner, repoName, page, callback)
  function testGetIssuesForPageLastYearErrorResponse (line 343) | function testGetIssuesForPageLastYearErrorResponse(callback)
  function testGetIssuesForPageLastYearNoMoreGithubApiCalls (line 360) | function testGetIssuesForPageLastYearNoMoreGithubApiCalls(callback)
  function testGetIssuesForPageLastYearPackageNotFound (line 377) | function testGetIssuesForPageLastYearPackageNotFound(callback)
  function testValidGetIssuesForPageLastYear (line 394) | function testValidGetIssuesForPageLastYear(callback)
  function testExtractRepoInfoInvalidRepo (line 420) | function testExtractRepoInfoInvalidRepo(callback)
  function testExtractRepoInfoValidRepo (line 428) | function testExtractRepoInfoValidRepo(callback)
  function testEstimateInvalidEntry (line 439) | function testEstimateInvalidEntry(callback)
  function testEstimateInvalidRepo (line 448) | function testEstimateInvalidRepo(callback)
  function testEstimateValidRepoGetIssuesForPageLastYearReturnedError (line 462) | function testEstimateValidRepoGetIssuesForPageLastYearReturnedError(call...
  function testEstimateValidRepo (line 482) | function testEstimateValidRepo(callback)
  function testEstimateValidRepoPendingReturnsError (line 516) | function testEstimateValidRepoPendingReturnsError(callback)
  function testEstimateValidRepoPending (line 557) | function testEstimateValidRepoPending(callback)
  function testPendingGetIssuesForPageLastYearReturnedError (line 600) | function testPendingGetIssuesForPageLastYearReturnedError(callback)
  function testPending (line 623) | function testPending(callback)

FILE: lib/factors/versions.js
  function testEstimateInvalidEntry (line 72) | function testEstimateInvalidEntry(callback)
  function testEstimateInvalidPackageName (line 80) | function testEstimateInvalidPackageName(callback)
  function testEstimateInvalidJsonReturnedByRegistry (line 96) | function testEstimateInvalidJsonReturnedByRegistry(callback)
  function testEstimateValidEntryNoVersions (line 112) | function testEstimateValidEntryNoVersions(callback)
  function testEstimateValidEntry (line 129) | function testEstimateValidEntry(callback)

FILE: lib/packages.js
  function openCollection (line 48) | function openCollection(callback)
  function testOpenCollection (line 76) | function testOpenCollection(callback)
  function openPendingCollection (line 93) | function openPendingCollection(callback)
  function testOpenPendingCollection (line 121) | function testOpenPendingCollection(callback)
  function testFind (line 202) | function testFind(callback)
  function testFindPending (line 245) | function testFindPending(callback)
  function testFindInNpmRegistryNullName (line 311) | function testFindInNpmRegistryNullName(callback)
  function testFindInNpmRegistryEmptyName (line 320) | function testFindInNpmRegistryEmptyName(callback)
  function testFindInNpmRegistryErrorResponse (line 329) | function testFindInNpmRegistryErrorResponse(callback)
  function testFindInNpmRegistryEmptyResponse (line 346) | function testFindInNpmRegistryEmptyResponse(callback)
  function testFindInNpmRegistryErrorInvalidJsonResponse (line 362) | function testFindInNpmRegistryErrorInvalidJsonResponse(callback)
  function testFindInNpmRegistryValidResponse (line 378) | function testFindInNpmRegistryValidResponse(callback)
  function testListAll (line 417) | function testListAll(callback)
  function testListAllPending (line 449) | function testListAllPending(callback)
  function testRemove (line 473) | function testRemove(callback)
  function testRemovePending (line 514) | function testRemovePending(callback)
  function testClose (line 547) | function testClose(callback)

FILE: lib/server.js
  function serveBadge (line 57) | function serveBadge(request, response) {
  function serveShield (line 83) | function serveShield(request, response) {
  function findPackage (line 107) | function findPackage(packageName, callback) {
  function servePackagesList (line 119) | function servePackagesList (request, response) {
  function serve (line 132) | function serve (request, response) {
  function readPackage (line 144) | function readPackage(npmPackage, callback) {
  function countVisit (line 217) | function countVisit(url, request) {

FILE: lib/update.js
  function getEstimator (line 67) | function getEstimator(entry)
  function getChunkProcessor (line 95) | function getChunkProcessor(chunk)
  function testEstimatorError (line 116) | function testEstimatorError(callback)
  function testEstimatorSuccess (line 138) | function testEstimatorSuccess(callback)
  function testClose (line 172) | function testClose(callback)

FILE: lib/utils.js
  function testUrlEncodeRepoName (line 11) | function testUrlEncodeRepoName(callback)
Condensed preview — 44 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (950K chars).
[
  {
    "path": ".gitignore",
    "chars": 630,
    "preview": "# MacOSX\n.DS_Store\n\n# Logs\nlogs\n*.log\n\n# Runtime data\npids\n*.pid\n*.seed\n\n# Directory for instrumented libs generated by "
  },
  {
    "path": ".jshintrc",
    "chars": 406,
    "preview": "{\n  // Details: https://github.com/victorporof/Sublime-JSHint#using-your-own-jshintrc-options\n  // Example: https://gith"
  },
  {
    "path": ".travis.yml",
    "chars": 225,
    "preview": "language: node_js\n\n# test on current node.js versions\nnode_js:\n  - 8\n  - 10\n\n# configure notifications (email, IRC, camp"
  },
  {
    "path": "Gruntfile.js",
    "chars": 497,
    "preview": "'use strict';\n\nmodule.exports = function(grunt) {\n    grunt.initConfig({\n        jshint: {\n            files: [\n        "
  },
  {
    "path": "LICENSE",
    "chars": 1080,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2014 Alex Fernández\n\nPermission is hereby granted, free of charge, to any person ob"
  },
  {
    "path": "README.md",
    "chars": 5511,
    "preview": "[![Package quality](https://packagequality.com/shield/package-quality.svg)](https://packagequality.com/#?package=package"
  },
  {
    "path": "app/badge.html",
    "chars": 30,
    "preview": "<img src=\"/badge/stdio.png\"/>\n"
  },
  {
    "path": "app/css/style.css",
    "chars": 402,
    "preview": ".package-share img {\n  display:block;\n  margin:auto;\n}\n\n.package-share input {\n  display: block;\n  width: 100%;\n  margin"
  },
  {
    "path": "app/index.html",
    "chars": 5727,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\" ng-app=\"PackageQuality\">\n\n\t<head>\n\t\t<meta charset=\"UTF-8\"/>\n\t\t<title>Package Quality</ti"
  },
  {
    "path": "app/js/main.js",
    "chars": 5853,
    "preview": "/*global angular, $*/\n\nvar app = angular.module('PackageQuality', ['ui.bootstrap']);\n\n/**\n * Packages HTTP access servic"
  },
  {
    "path": "app/lib/flat-ui/css/flat-ui.css",
    "chars": 154069,
    "preview": "/*!\n * Flat UI Free v2.2.2 (http://designmodo.github.io/Flat-UI/)\n * Copyright 2013-2014 Designmodo, Inc.\n */\n\n@font-fac"
  },
  {
    "path": "app/lib/flat-ui/fonts/glyphicons/selection.json",
    "chars": 81604,
    "preview": "{\n\t\"IcoMoonType\": \"selection\",\n\t\"icons\": [\n\t\t{\n\t\t\t\"icon\": {\n\t\t\t\t\"paths\": [\n\t\t\t\t\t\"M128 256l384 512 384-512h-768z\"\n\t\t\t\t],\n"
  },
  {
    "path": "app/lib/flat-ui/index.html",
    "chars": 1142,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Flat UI Free 101 Template</title>\n    <m"
  },
  {
    "path": "app/lib/flat-ui/js/flat-ui.js",
    "chars": 456709,
    "preview": "/*!\n * Flat UI Free v2.2.2 (http://designmodo.github.io/Flat-UI/)\n * Copyright 2013-2014 Designmodo, Inc.\n */\n/*!\n * jQu"
  },
  {
    "path": "app/lib/flat-ui/js/vendor/html5shiv.js",
    "chars": 10189,
    "preview": "/**\n* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed\n*/\n;(function(window, document) "
  },
  {
    "path": "app/lib/flat-ui/js/vendor/video.js",
    "chars": 66306,
    "preview": "/*! Video.js v4.7.3 Copyright 2014 Brightcove, Inc. https://github.com/videojs/video.js/blob/master/LICENSE */ \n(functio"
  },
  {
    "path": "bin/app.js",
    "chars": 497,
    "preview": "#!/usr/bin/env node\n'use strict';\n\n/**\n * Serve que quality of a required package using mongodb\n * (C) 2015 Diego Lafuen"
  },
  {
    "path": "bin/update.js",
    "chars": 675,
    "preview": "#!/usr/bin/env node\n'use strict';\n\n/**\n * Update packages in pending collection\n * (C) 2015 Diego Lafuente.\n */\n\n// requ"
  },
  {
    "path": "config.js",
    "chars": 900,
    "preview": "'use strict';\n\n/**\n * Global config settings.\n * (C) 2015 Diego Lafuente.\n */\n\n // requires\nvar Log = require('log');\n\n/"
  },
  {
    "path": "download.sh",
    "chars": 183,
    "preview": "#!/bin/bash\n# Download a fresh copy of all.json\n# (C) 2015 Alex Fernández\nDIR=$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" &"
  },
  {
    "path": "index.js",
    "chars": 156,
    "preview": "'use strict';\n\n/**\n * Starts the server.\n * (C) 2014 Alex Fernández.\n */\n\n\n// requires\nvar app = require('./bin/app.js')"
  },
  {
    "path": "lib/badges.js",
    "chars": 4214,
    "preview": "'use strict';\n\n// requires\nrequire('prototypes');\nvar Canvas = require('canvas');\nvar testing = require('testing');\nvar "
  },
  {
    "path": "lib/cache.js",
    "chars": 4282,
    "preview": "'use strict';\n\n/**\n * A simple cache.\n * (C) 2015 Diego Lafuente.\n */\n\n // requires\nrequire('prototypes');\nvar moment = "
  },
  {
    "path": "lib/cached-request.js",
    "chars": 4583,
    "preview": "'use strict';\n\n/**\n * Wrapper over the request library featuring a cache.\n * (C) 2015 Diego Lafuente.\n */\n\n// requires\nv"
  },
  {
    "path": "lib/db.js",
    "chars": 4504,
    "preview": "'use strict';\n\n/*\n * TuiInnovation database class.\n * Connect to MongoDB, return a collection.\n *\n * Copyright (C) 2013 "
  },
  {
    "path": "lib/estimation.js",
    "chars": 7486,
    "preview": "'use strict';\n\n/**\n * Read info about a package and estimate its quality.\n * (C) 2014 Alex Fernández.\n */\n\n// requires\nr"
  },
  {
    "path": "lib/factors/downloads.js",
    "chars": 4943,
    "preview": "'use strict';\n\n/**\n * Estimates the quality of a package based on the number of downloads durin the last year.\n * (C) 20"
  },
  {
    "path": "lib/factors/issues.js",
    "chars": 27343,
    "preview": "'use strict';\n\n/**\n * Estimates the quality of a package based on the number of total/open/closed github issues during t"
  },
  {
    "path": "lib/factors/versions.js",
    "chars": 5473,
    "preview": "'use strict';\n\n/**\n * Estimates the quality of a package based on the number of versions.\n * (C) 2015 Diego Lafuente.\n *"
  },
  {
    "path": "lib/packages.js",
    "chars": 14710,
    "preview": "'use strict';\n\n// requires\nvar Log = require('log');\nvar testing = require('testing');\nvar db = require('./db.js');\nvar "
  },
  {
    "path": "lib/server.js",
    "chars": 6660,
    "preview": "#!/usr/bin/env node\n'use strict';\n\n/**\n * Serve que quality of a required package using mongodb\n * (C) 2015 Diego Lafuen"
  },
  {
    "path": "lib/update.js",
    "chars": 4923,
    "preview": "#!/usr/bin/env node\n'use strict';\n\n/**\n * Update only pending packages (those in the pending collection)\n * (C) 2015 Die"
  },
  {
    "path": "lib/utils.js",
    "chars": 1039,
    "preview": "'use strict';\nvar testing = require('testing');\n\nexports.urlEncodeRepoName = function(name) {\n  return name.replace(/\\//"
  },
  {
    "path": "package.json",
    "chars": 1122,
    "preview": "{\n\t\"name\": \"package-quality\",\n\t\"version\": \"0.3.4\",\n\t\"description\": \"Estimate the quality of a package.\",\n\t\"homepage\": \"h"
  },
  {
    "path": "server/nginx-packagequality.conf",
    "chars": 513,
    "preview": "server {\n\tlisten 80;\n\tserver_name packagequality.com *.packagequality.com;\n\taccess_log /var/log/nginx/access.log;\n\terror"
  },
  {
    "path": "server/upstart-package-quality.conf",
    "chars": 439,
    "preview": "#!upstart\ndescription \"Package quality server\"\nauthor    \"Diego Lafuente <dlafuente@tuitravel-ad.com>\"\n\nstart on local-f"
  },
  {
    "path": "test/gulp-filter.json",
    "chars": 509,
    "preview": "{\n    \"name\" : \"gulp-filter\",\n    \"source\" : \"npm\",\n    \"created\" : \"2015-02-16T20:56:10+00:00\",\n    \"lastUpdated\" : \"20"
  },
  {
    "path": "test/test_entry.json",
    "chars": 1043,
    "preview": "{\n    \"name\":\"loadtest\",\n    \"description\":\"Run load tests for your web application. Mostly ab-compatible interface, wit"
  },
  {
    "path": "test.js",
    "chars": 787,
    "preview": "'use strict';\n\n/**\n * Run package tests.\n * (C) 2014 Alex Fernández.\n */\n\n// requires\nvar testing = require('testing');\n"
  },
  {
    "path": "update.sh",
    "chars": 198,
    "preview": "#!/bin/bash\n# Update packages\nHOME=/home/ubuntu\nUSER=ubuntu\nDIR=$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" && pwd )\n\ncd $D"
  }
]

// ... and 4 more files (download for full content)

About this extraction

This page contains the full source code of the alexfernandez/package-quality GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 44 files (866.8 KB), approximately 255.9k tokens, and a symbol index with 303 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!