diff --git a/app/encounter-builder/current-encounter.controller.js b/app/encounter-builder/current-encounter.controller.js
index 12d2174f..607dc550 100644
--- a/app/encounter-builder/current-encounter.controller.js
+++ b/app/encounter-builder/current-encounter.controller.js
@@ -15,6 +15,7 @@
vm.isPool = vm.encounter.type == 'pool';
vm.newEncounter = newEncounter;
vm.partyInfo = partyInfo;
+ vm.totalMonsters = 10;
vm.launchImpInit = integration.launchImpInit;
@@ -22,7 +23,7 @@
function generateRandom(difficulty) {
difficulty = difficulty || lastDifficulty;
- encounter.generateRandom(vm.filters, difficulty);
+ encounter.generateRandom(vm.filters, difficulty, vm.totalMonsters);
lastDifficulty = difficulty;
}
diff --git a/app/encounter-builder/current-encounter.html b/app/encounter-builder/current-encounter.html
index 9f6b09cb..dfc15ef5 100644
--- a/app/encounter-builder/current-encounter.html
+++ b/app/encounter-builder/current-encounter.html
@@ -15,6 +15,12 @@
+
+ No more than
+
+ monsters
+
Create an encounter by clicking the Random encounter button or by adding monsters from the monsters table.
diff --git a/app/encounter-builder/current-encounter.scss b/app/encounter-builder/current-encounter.scss
index 2e2b6a23..f57f829c 100644
--- a/app/encounter-builder/current-encounter.scss
+++ b/app/encounter-builder/current-encounter.scss
@@ -65,6 +65,11 @@
text-overflow: ellipsis;
}
+ &--total-monsters {
+ display: inline;
+ width: 4em;
+ }
+
&--btns {
margin-top: 0.5rem;
display: flex;
diff --git a/app/services/encounter.service.js b/app/services/encounter.service.js
index 3f686de4..8b9b0563 100644
--- a/app/services/encounter.service.js
+++ b/app/services/encounter.service.js
@@ -131,10 +131,10 @@
encounter.reference = null;
}
- function generateRandom(filters, targetDifficulty) {
+ function generateRandom(filters, targetDifficulty, maxMonsters) {
targetDifficulty = targetDifficulty || 'medium';
var totalTargetExp = partyInfo.totalPartyExpLevels[targetDifficulty];
- var monsters = randomEncounter.getRandomEncounter(partyInfo.totalPlayerCount, totalTargetExp, filters),
+ var monsters = randomEncounter.getRandomEncounter(partyInfo.totalPlayerCount, totalTargetExp, filters, maxMonsters),
i;
encounter.reset();
diff --git a/app/services/randomencounter.service.js b/app/services/randomencounter.service.js
index 74c02570..12b68e3c 100644
--- a/app/services/randomencounter.service.js
+++ b/app/services/randomencounter.service.js
@@ -14,10 +14,10 @@
// targetTotalExp: The experience target value. Takes into account player count, player level, and target difficulty already.
// filters: Any filters that should be applied when making the encounter
//
- getRandomEncounter: function (playerCount, targetTotalExp, filters) {
+ getRandomEncounter: function (playerCount, targetTotalExp, filters, maxMonsters) {
var fudgeFactor = 1.1, // The algorithm is conservative in spending exp, so this tries to get it closer to the actual medium value
baseExpBudget = targetTotalExp * fudgeFactor,
- encounterTemplate = getEncounterTemplate(),
+ encounterTemplate = getEncounterTemplate(maxMonsters),
multiplier = miscLib.getMultiplier(playerCount, encounterTemplate.total),
availableExp = baseExpBudget / multiplier,
monster,
@@ -54,9 +54,10 @@
return randomEncounter;
- function getEncounterTemplate() {
+ function getEncounterTemplate(maxMonsters) {
var templates = [
[ 1 ],
+ [ 1, 1 ],
[ 1, 2 ],
[ 1, 5 ],
[ 1, 1, 1 ],
@@ -65,8 +66,14 @@
[ 2, 2 ],
[ 2, 4 ],
[ 8 ],
- ],
- groups = JSON.parse(JSON.stringify(templates[Math.floor(Math.random() * templates.length)])),
+ ];
+ if (maxMonsters) {
+ templates = templates.filter(function(t) {
+ let sum = t.reduce(function (a, b) { return a+b; });
+ return sum <= maxMonsters;
+ });
+ }
+ var groups = JSON.parse(JSON.stringify(templates[Math.floor(Math.random() * templates.length)])),
total = groups.reduce(function (a, b) { return a+b; });
// Silly hack to clone object
diff --git a/build/index.html b/build/index.html
deleted file mode 100755
index d37edf27..00000000
--- a/build/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- Kobold Fight Club: The first rule of KFC is 'Yip yip!'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/js/app-8eea88e7b9.js b/build/js/app-8eea88e7b9.js
deleted file mode 100644
index 6a7122ca..00000000
--- a/build/js/app-8eea88e7b9.js
+++ /dev/null
@@ -1,3464 +0,0 @@
-(function () {
- /* global requirejs */
- "use strict";
-
- // polyfill for older browsers that don't support Number.parseInt natively
- if ( !Number.parseInt ) {
- Number.parseInt = window.parseInt;
- }
-
- var myApp = angular
- .module("app", [
- "ui.router",
- "ngTouch",
- "angularUtils.directives.dirPagination",
- "LocalStorageModule"
- ]);
-
- myApp.config(function(localStorageServiceProvider) {
- localStorageServiceProvider
- .setPrefix('');
- });
-
- myApp.run(serviceInitialization);
-
- serviceInitialization.$inject = ['encounter', 'players', 'partyInfo'];
-
- function serviceInitialization(encounter, players, partyInfo) {
- partyInfo.initialize();
- encounter.initialize();
- players.initialize();
- }
-})();
-
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .run(appRun);
-
- appRun.$inject = ['routerHelper'];
-
- function appRun(routerHelper) {
- var otherwise = "/encounter-builder";
- routerHelper.configureStates(getStates(), otherwise);
- }
-
- function getStates() {
- return [
- {
- state: "battle-setup",
- config: {
- url: "/battle-setup",
- templateUrl: "app/battle-setup/battle-setup.html",
- controller: 'BattleSetupController',
- controllerAs: "vm"
- }
- },
- {
- state: "battle-tracker",
- config: {
- url: "/fight",
- templateUrl: "app/battle-tracker/battle-tracker.html",
- controller: 'BattleTrackerController',
- controllerAs: "vm"
- }
- },
- {
- state: "encounter-builder",
- config: {
- url: "/encounter-builder",
- templateUrl: "app/encounter-builder/encounter-builder.html",
- controller: 'EncounterBuilderController',
- controllerAs: "vm"
- }
- },
- {
- state: "encounter-manager",
- config: {
- url: "/encounter-manager",
- templateUrl: "app/encounter-manager/encounter-manager.html",
- controller: 'EncounterManagerController',
- controllerAs: "vm"
- }
- },
- {
- state: "players",
- config: {
- url: "/players",
- templateUrl: "app/players/players.html",
- controller: 'PlayersController',
- controllerAs: "vm"
- }
- },
- {
- state: "players.manage",
- config: {
- url: "/manage",
- templateUrl: "app/players/manage.html",
- controller: 'ManagePlayersController',
- controllerAs: "vm"
- }
- },
- {
- state: "players.edit",
- config: {
- url: "/edit",
- templateUrl: "app/players/edit.html",
- controller: 'EditPlayersController',
- controllerAs: "vm"
- }
- },
- {
- state: "about",
- config: {
- url: "/about",
- templateUrl: "app/about/about.html",
- controller: angular.noop,
- controllerAs: "vm"
- }
- },
- {
- state: "test",
- config: {
- url: "/test",
- templateUrl: "app/test.html",
- controller: 'TestController',
- controllerAs: "vm"
- }
- }
- ];
- }
-
-})();
-
-
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .controller('BattleSetupController', BattleSetupController);
-
- BattleSetupController.$inject = ['$state', 'actionQueue', 'combat', 'combatConstants', 'integration'];
-
- function BattleSetupController($state, actionQueue, combat, combatConstants, integration) {
- var vm = this;
-
- vm.combat = combat;
-
- vm.launchImpInit = integration.launchImpInit;
-
- activate();
-
- ////////////////
-
- function activate() {
- var combatState = combat.init(),
- forward;
-
- if ( combatState & combatConstants.NO_PLAYERS ) {
- actionQueue.unshift("players.manage", "You must select a party");
- forward = true;
- }
-
- if ( combatState & combatConstants.NO_MONSTERS ) {
- actionQueue.unshift("encounter-manager", "You must select an encounter");
- forward = true;
- }
-
- if ( forward ) {
- // In the end, send them back here
- actionQueue.queue("battle-setup");
-
- actionQueue.next($state);
- }
- }
- }
-})();
-
-(function() {
-'use strict';
-
- angular
- .module('app')
- .component('combatantSetup', {
- templateUrl: 'app/battle-setup/combatant-setup.html',
- controller: 'combatantSetupController',
- controllerAs: "vm",
- bindings: {
- combatant: '<'
- },
- });
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('combatantSetupController', CombatantSetupController);
-
- CombatantSetupController.$inject = ['combat'];
- function CombatantSetupController(combat) {
- var vm = this;
- vm.combat = combat;
-
- activate();
-
- ////////////////
-
- function activate() { }
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('BattleTrackerController', BattleTrackerController);
-
- BattleTrackerController.$inject = ['$state', 'combat'];
-
- function BattleTrackerController($state, combat) {
- var vm = this;
- vm.combat = combat;
-
- activate();
-
- ////////////////
-
- function activate() {
- if ( !combat.combatants || !combat.combatants.length ) {
- $state.go("encounter-builder");
- }
-
- combat.begin();
- }
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .component('combatant', {
- templateUrl: 'app/battle-tracker/combatant.html',
- controller: CombatantController,
- controllerAs: 'vm',
- bindings: {
- combatant: '<'
- },
- });
-
- CombatantController.$inject = ['combat'];
- function CombatantController(combat) {
- var vm = this;
- vm.combat = combat;
-
- activate();
-
- ////////////////
-
- function activate() { }
- }
-})();
-(function () {
- "use strict";
-
- angular.module("app")
- .constant("combatConstants", {
- READY : 1,
- NO_MONSTERS : 2,
- NO_PLAYERS : 4
- })
- .constant("AppVersion", 1);
-})();
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .component('difficultyLegend', {
- bindings: {
- showHeader: '<'
- },
- controllerAs: 'vm',
- templateUrl: 'app/common/difficulty-legend.html'
- });
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('NumberInputController', NumberInputController);
-
- NumberInputController.$inject = [];
-
- function NumberInputController() {
- var vm = this;
- vm.modify = modify;
- vm.hideNegative = hideNegative;
-
- activate();
-
- ////////////////
-
- function activate() { }
-
- function modify(amt) {
- vm.value += amt;
-
- if ( vm.nonNegative && vm.value < 0 ) {
- vm.value = 0;
- }
- }
-
- function hideNegative() {
- return vm.nonNegative && vm.value === 0;
- }
- }
-})();
-(function() {
- "use strict";
-
- angular.module('app')
- .directive('numberInput', NumberInput);
-
- function NumberInput() {
- return {
- restrict: "E",
- scope: {},
- bindToController: {
- value: '=model',
- mods: '=buttons',
- nonNegative: '=nonNegative'
- },
- templateUrl: "app/common/number-input.html",
- controller: 'NumberInputController',
- controllerAs: 'vm'
- };
- }
-})();
-
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .component('currentEncounter', {
- bindings: {
- filters: '<'
- },
- controller: 'CurrentEncounterController',
- controllerAs: 'vm',
- templateUrl: 'app/encounter-builder/current-encounter.html'
- });
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('CurrentEncounterController', CurrentEncounterController);
-
- CurrentEncounterController.$inject = ['encounter','partyInfo', 'integration'];
- function CurrentEncounterController(encounter, partyInfo, integration) {
- var vm = this;
-
- vm.encounter = encounter;
- vm.generateRandom = generateRandom;
- vm.randomButtonText = randomButtonText;
- vm.isPool = vm.encounter.type == 'pool';
- vm.newEncounter = newEncounter;
- vm.partyInfo = partyInfo;
-
- vm.launchImpInit = integration.launchImpInit;
-
- var lastDifficulty = "medium";
-
- function generateRandom(difficulty) {
- difficulty = difficulty || lastDifficulty;
- encounter.generateRandom(vm.filters, difficulty);
- lastDifficulty = difficulty;
- }
-
- function newEncounter() {
- vm.encounter.reset();
- vm.isPool = false;
- }
-
- function randomButtonText() {
- return "Random " + _.capitalize(lastDifficulty);
- }
- }
-})();
-(function () {
- "use strict";
-
- angular.module("app")
- .controller("EncounterBuilderController", EncounterBuilderController);
-
- EncounterBuilderController.$inject = ['$scope', 'store', 'actionQueue', 'encounter', 'monsters', 'sources'];
-
- function EncounterBuilderController($scope, store, actionQueue, encounter, monsters, sources) {
- var vm = this;
-
- vm.encounter = encounter;
- vm.getMonsterQtyString = getMonsterQtyString;
-
- activate();
-
- function activate() {
- // There's no way to tell when they're done building an encounter, so clear the queue if they ever make it here.
- actionQueue.clear();
-
- vm.filters = {
- source: sources.filters,
- pageSize: 10,
- };
-
- store.get("5em-filters").then(function (frozen) {
- if (frozen) {
- vm.filters = frozen;
- }
- })
- .finally(function() {
- $scope.$watch("vm.filters", function () {
- store.set("5em-filters", vm.filters);
- }, true);
- });
- }
-
- function getMonsterQtyString() {
- var qty = Object.keys(vm.encounter.groups).reduce(function (sum, key) {
- return sum + vm.encounter.groups[key].qty;
- }, 0);
-
- if ( qty === 1 ) {
- return "1 enemy";
- }
-
- return qty + " enemies";
- };
- }
-})();
-
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .component('groupInfo', {
- controller: 'GroupInfoController',
- controllerAs: 'vm',
- templateUrl: 'app/encounter-builder/group-info.html'
- });
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('GroupInfoController', GroupInfoController);
-
- GroupInfoController.$inject = ['encounter', 'playerLevels', 'partyInfo'];
- function GroupInfoController(encounter, playerLevels, partyInfo) {
- var vm = this;
-
- vm.encounter = encounter;
- vm.partyInfo = partyInfo;
- vm.addPartyLevel = addPartyLevel;
-
- function addPartyLevel() {
- partyInfo.partyLevels.push({
- level: playerLevels[1],
- playerCount: 1
- });
-
- partyInfo.freeze();
- }
- }
-})();
-(function() {
-'use strict';
-
- // Usage:
- //
- // Creates:
- //
-
- angular
- .module('app')
- .component('monsterTable', {
- templateUrl: 'app/encounter-builder/monster-table.html',
- controller: 'monsterTableController',
- controllerAs: 'vm',
- bindings: {
- filters: '<'
- },
- });
-})();
-(function() {
-'use strict';
-
- angular.module('app')
- .controller('monsterTableController', MonsterTableController);
-
- MonsterTableController.$inject = ['encounter', 'monsters', 'sources'];
- function MonsterTableController(encounter, monsters, sources) {
- var vm = this;
-
- vm.encounter = encounter;
- vm.monsters = monsters.all;
- vm.sources = sources;
- vm.dangerZone = dangerZone;
-
- ////////////////
-
- vm.$onInit = function() { };
- vm.$onChanges = function(changesObj) { };
- vm.$onDestory = function() { };
-
- function dangerZone(monster) {
- if ( !monster ) {
- return null;
- }
-
- var threat = encounter.threat,
- monsterExp = monster.cr.exp;
-
- if ( monsterExp > threat.deadly ) {
- return "deadly";
- } else if ( monsterExp > threat.hard ) {
- return "hard";
- } else if ( monsterExp > threat.medium ) {
- return "medium";
- } else if ( monsterExp > threat.easy ) {
- return "easy";
- } else if ( monsterExp > threat.pair ) {
- return "pair";
- } else if ( monsterExp > threat.group ) {
- return "group";
- } else {
- return "trivial";
- }
- };
- }
-})();
-
-(function() {
-'use strict';
-
- // Usage:
- //
- // Creates:
- //
-
- angular
- .module('app')
- .component('partyLevelSelector', {
- templateUrl: 'app/encounter-builder/party-level-selector.html',
- controller: 'PartyLevelSelectorController',
- controllerAs: 'vm',
- bindings: {
- partyLevel: '=',
- first: '<'
- },
- });
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('PartyLevelSelectorController', PartyLevelSelectorController);
-
- PartyLevelSelectorController.inject = ['playerLevels', 'partyInfo'];
- function PartyLevelSelectorController(playerLevels, partyInfo) {
- var vm = this;
-
- vm.levels = playerLevels;
- vm.save = save;
- vm.addPartyLevel = addPartyLevel;
- vm.removePartyLevel = removePartyLevel;
-
- function save() {
- partyInfo.freeze();
- }
-
- function addPartyLevel() {
- partyInfo.partyLevels.push({
- level: playerLevels[1],
- playerCount: 1
- });
-
- partyInfo.freeze();
- }
-
- function removePartyLevel(partyLevel) {
- var index = partyInfo.partyLevels.indexOf(partyLevel);
- partyInfo.partyLevels.splice(index, 1);
-
- partyInfo.freeze();
- }
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .component('searchControls', {
- templateUrl: 'app/encounter-builder/search.html',
- controller: 'SearchController',
- controllerAs: 'vm',
- bindings: {
- filters: '<',
- },
- });
-})();
-
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('SearchController', SearchController);
-
- SearchController.$inject = ["$scope", "metaInfo", "sheetManager", "sources", "library"];
- function SearchController($scope, metaInfo, sheetManager, sources, library) {
- var vm = this;
-
- vm.alignments = metaInfo.alignments;
- vm.crList = metaInfo.crList;
- vm.environments = metaInfo.environments;
- vm.sizes = metaInfo.sizes;
- vm.sourceNames = sources.all;
- vm.types = metaInfo.types;
- vm.legendaryList = metaInfo.legendaryList;
- vm.encounters = library.encounters;
- vm.sortChoices = metaInfo.sortChoices;
- window.sources = sources;
-
- // Cache sorted data to avoid infinite digest
- var contentCacheKey;
- var contentCache;
- $scope.getContent = function () {
- var metadata = sheetManager.getSheetMetaData();
- var metadataKeys = Object.keys(metadata);
- var cacheKey = metadataKeys
- .sort()
- .map(function (sheetId) {
- return sheetId + metadata[sheetId].timestamp;
- })
- .join("|");
-
- if ( contentCacheKey !== cacheKey ) {
- contentCacheKey = cacheKey;
-
- contentCache = metadataKeys
- .map(function (sheetId) {
- var data = metadata[sheetId];
- var date = (new Date(data.timestamp));
- return {
- name: data.name,
- id: sheetId,
- custom: data.custom,
- updated: [date.toLocaleDateString(), date.toLocaleTimeString()].join(" "),
- };
- })
- .sort(function (a, b) {
- var aCustom = !!a.custom;
- var bCustom = !!b.custom;
-
- if ( aCustom !== bCustom ) {
- // true is "greater than" false, so custom is sorted to bottom
- return (aCustom > bCustom) ? 1 : -1;
- }
-
- return (a.name > b.name) ? 1 : -1;
- });
- }
- return contentCache;
- };
-
- vm.resetFilters = resetFilters;
- vm.updateSourceFilters = updateSourceFilters;
-
- $scope.$on("custom-source-added", function (event, sourceName) {
- // Custom content should be enabled by default
- vm.filters.source[sourceName] = true;
- });
-
- $scope.addCustom = function () {
- var added = sheetManager.addContent($scope.customName, $scope.customUrl);
-
- if ( added ) {
- $scope.customName = null;
- $scope.customUrl = null;
- }
- };
-
- $scope.removeCustom = sheetManager.removeContent;
-
- function resetFilters() {
- vm.filters.size = null;
- vm.filters.type = null;
- vm.filters.alignment = null;
- vm.filters.minCr = null;
- vm.filters.maxCr = null;
- vm.filters.environment = null;
- vm.filters.legendary = null;
- }
-
- function updateSourceFilters({ type, enabled }) {
- sources.sourcesByType[type].forEach(name => vm.filters.source[name] = enabled);
- }
-
- let sourceSections = [];
- let sourceSectionKey;
- $scope.getSourceSections = function () {
- let key = sources.all.join();
-
- if ( key !== sourceSectionKey ) {
- sourceSectionKey = key;
-
- sourceSections = Object.keys(sources.sourcesByType).map(sourceType => ({
- name: sourceType,
- sources: sources.sourcesByType[sourceType].slice().sort(),
- }));
-
- sourceSections.sort((a, b) => {
- let aName = a.name;
- let bName = b.name;
- let aIsOfficial = aName.match(/Official/);
- let bIsOfficial = bName.match(/Official/);
-
- // Sort official types to the top, then sort by name
- if ( aIsOfficial && !bIsOfficial ) {
- return -1;
- } else if ( !aIsOfficial && bIsOfficial ) {
- return 1;
- } else {
- if ( aName > bName ) {
- return 1;
- } else {
- return -1;
- }
- }
- });
- }
-
- return sourceSections;
- }
- }
-})();
-
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .controller('EncounterManagerController', EncounterManagerController);
-
- EncounterManagerController.$inject = ['$scope', '$state', 'actionQueue', 'encounter', 'library', 'monsters'];
-
- function EncounterManagerController($scope, $state, actionQueue, encounter, library, monsters) {
- var vm = this;
-
- vm.encounter = encounter;
- vm.library = library;
- vm.monsters = monsters;
-
- vm.save = save;
-
- activate();
-
- ///////////////////
-
- function activate() {
- var placeholder = [];
-
- Object.keys(encounter.groups).forEach(function (id) {
- placeholder.push([
- (encounter.groups[id].qty > 1) ? encounter.groups[id].qty + "x" : "",
- encounter.groups[id].monster.name,
- ].join(" ").trim());
- });
-
- vm.newEncounter = {
- placeholder: placeholder.join(", "),
- name: "",
- };
- }
-
- function save(type) {
- var newLibraryEntry = {
- name: vm.newEncounter.name || vm.newEncounter.placeholder,
- type: type || 'encounter',
- groups: {},
- };
-
- Object.keys(encounter.groups).forEach(function (id) {
- newLibraryEntry.groups[id] = (type == 'pool') ? 1 : encounter.groups[id].qty;
- });
-
- encounter.reference = library.store(newLibraryEntry);
- encounter.reset(newLibraryEntry);
- }
-
- vm.load = function (storedEncounter) {
- encounter.reset(storedEncounter);
-
- if ( !actionQueue.next($state) ) {
- $state.go("encounter-builder");
- }
- };
-
- vm.remove = function ( storedEncounter ) {
- library.remove(storedEncounter);
-
- if ( angular.equals(encounter.reference, storedEncounter) ) {
- encounter.reference = null;
- }
- };
- }
-})();
-(function() {
-'use strict';
-
- // Usage:
- //
- // Creates:
- //
-
- angular
- .module('app')
- .component('managerRow', {
- templateUrl:'app/encounter-manager/manager-row.html',
- controller: 'managerRowController',
- controllerAs: 'vm',
- bindings: {
- storedEncounter: '<'
- }
- });
-})();
-(function() {
- /* global _ */
- 'use strict';
-
- angular
- .module('app')
- .controller('managerRowController', ManagerRowController);
-
- ManagerRowController.$inject = ['$state', 'encounter', 'monsters', 'actionQueue', 'library'];
- function ManagerRowController($state, encounter, monsters, actionQueue, library) {
- var vm = this;
-
- vm.calculateExp = calculateExp;
- vm.load = load;
- vm.remove = remove;
- vm.encounter = encounter;
- vm.monsters = monsters;
-
- activate();
-
- ////////////////
-
- function activate() { }
-
- function calculateExp(storedEncounter) {
- var exp = 0;
-
- _.forEach(storedEncounter.groups, function (value, id) {
- // If we start on this page, byId won't be populated yet. Will get filled out
- // correctly on a later digest cycle
- if ( monsters.byId[id] ) {
- exp += monsters.byId[id].cr.exp * storedEncounter.groups[id];
- }
- });
-
- return exp;
- }
-
- function load(storedEncounter) {
- encounter.reset(storedEncounter);
-
- if ( !actionQueue.next($state) ) {
- $state.go("encounter-builder");
- }
- }
-
- function remove( storedEncounter ) {
- library.remove(storedEncounter);
-
- if ( angular.equals(encounter.reference, storedEncounter) ) {
- encounter.reference = null;
- }
- }
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .filter("countHiddenMonstersFilter", CountHiddenMonsters);
-
- CountHiddenMonsters.$inject = ["monsterFactory"];
-
- function CountHiddenMonsters(monsterLib) {
- return function ( input, filters ) {
- if (!input) return 0;
- var output = 0, i;
-
- for ( i = 0; i < input.length; i++ ) {
- if ( monsterLib.checkIsMonsterFoundAndFiltered(input[i], filters) ) {
- output++;
- }
- }
-
- return output;
- };
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .filter("monstersFilter", SortAndFilterMonsters);
-
- SortAndFilterMonsters.$inject = ["monsterFactory"];
-
- function SortAndFilterMonsters(monsterLib) {
- return function ( input, filters ) {
- if (!input) return [];
- var output = [], i;
-
- for ( i = 0; i < input.length; i++ ) {
- if ( monsterLib.checkMonster(input[i], filters) ) {
- output.push(input[i]);
- }
- }
-
- // Monsters are already sorted by name
- if ( filters.sort === "size" ) {
- output.sort(function (a, b) {
- return a.sizeSort - b.sizeSort;
- });
- } else if ( filters.sort === "type" ) {
- output.sort(function (a, b) {
- return (a.type > b.type) ? 1 : -1;
- });
- } else if ( filters.sort === "alignment" ) {
- output.sort(function (a, b) {
- return ((a.alignment||{text:"zzzzzzz"}).text > (b.alignment||{text:"zzzzzzz"}).text) ? 1 : -1;
- });
- } else if ( filters.sort === "cr" ) {
- output.sort(function (a, b) {
- return a.cr.numeric - b.cr.numeric;
- });
- }
-
- return output;
- };
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .filter("positive", function PositiveFilter() {
- return function ( input ) {
- input = input || '';
- var output = [],
- i;
-
- for ( i = 0; i < input.length; i++ ) {
- if ( input[i] > 0 ) {
- output.push(input[i]);
- }
- }
-
- return output;
- };
- })
- .filter("negative", function NegativeFilter() {
- return function ( input ) {
- input = input || '';
- var output = [],
- i;
-
- for ( i = 0; i < input.length; i++ ) {
- if ( input[i] < 0 ) {
- output.push(input[i]);
- }
- }
-
- return output;
- };
- });
-})();
-
-(function() {
- 'use strict';
-
- angular.module('app')
- .filter('sortEncounter', SortEncounter);
-
- function SortEncounter() {
- return function (items) {
- var sorted = [];
-
- Object.keys(items).forEach(function (key) {
- sorted.push(items[key]);
- });
-
- sorted.sort(function (a, b) {
- return (a.monster.name > b.monster.name) ? 1 : -1;
- });
-
- return sorted;
- };
- }
-})();
-(function() {
- "use strict";
-
- angular.module("app")
- .service("alignments", AlignmentsService);
-
- function AlignmentsService() {
- var i = 0,
- lg = Math.pow(2, i++),
- ng = Math.pow(2, i++),
- cg = Math.pow(2, i++),
- ln = Math.pow(2, i++),
- n = Math.pow(2, i++),
- cn = Math.pow(2, i++),
- le = Math.pow(2, i++),
- ne = Math.pow(2, i++),
- ce = Math.pow(2, i++),
- unaligned = Math.pow(2, i++);
- var alignments = {
- any: {
- text: "any",
- flags: lg | ng | cg | ln | n | cn | le | ne | ce
- },
- any_chaotic: {
- text: "any chaotic",
- flags: cg | cn | ce
- },
- any_evil: {
- text: "any evil",
- flags: le | ne | ce
- },
- any_good: {
- text: "any good",
- flags: lg | ng | cg
- },
- any_lawful: {
- text: "any lawful",
- flags: lg | ln | le
- },
- any_neutral: {
- text: "any neutral",
- flags: ng | ln | n | cn | ne
- },
- non_chaotic: {
- text: "non-chaotic",
- flags: lg | ng | ln | n | le | ne | unaligned
- },
- non_evil: {
- text: "non-evil",
- flags: lg | ng | cg | ln | n | cn | unaligned
- },
- non_good: {
- text: "non-good",
- flags: ln | n | cn | le | ne | ce | unaligned
- },
- non_lawful: {
- text: "non-lawful",
- flags: ng | cg | n | cn | ne | ce | unaligned
- },
- unaligned: {
- text: "unaligned",
- flags: unaligned
- },
- lg: { flags: lg, text: "lawful good" },
- ng: { flags: ng, text: "neutral good" },
- cg: { flags: cg, text: "chaotic good" },
- ln: { flags: ln, text: "lawful neutral" },
- n: { flags: n, text: "neutral" },
- cn: { flags: cn, text: "chaotic neutral" },
- le: { flags: le, text: "lawful evil" },
- ne: { flags: ne, text: "neutral evil" },
- ce: { flags: ce, text: "chaotic evil" },
- };
-
- Object.keys(alignments).forEach(function (alignmentKey) {
- var alignment = alignments[alignmentKey];
- alignment.regex = new RegExp(alignment.text.replace(/[- ]/, "[- ]?"), "i");
- });
-
- return alignments;
- }
-})();
-
-(function () {
- "use strict";
-
- angular.module("app")
- .service("crInfo", CrInfoService);
-
- function CrInfoService() {
- return {
- "0": { string: "0", numeric: 0, exp: 10 },
- "1/8": { string: "1/8", numeric: 0.125, exp: 25 },
- "1/4": { string: "1/4", numeric: 0.25, exp: 50 },
- "1/2": { string: "1/2", numeric: 0.5, exp: 100 },
- "1": { string: "1", numeric: 1, exp: 200 },
- "2": { string: "2", numeric: 2, exp: 450 },
- "3": { string: "3", numeric: 3, exp: 700 },
- "4": { string: "4", numeric: 4, exp: 1100 },
- "5": { string: "5", numeric: 5, exp: 1800 },
- "6": { string: "6", numeric: 6, exp: 2300 },
- "7": { string: "7", numeric: 7, exp: 2900 },
- "8": { string: "8", numeric: 8, exp: 3900 },
- "9": { string: "9", numeric: 9, exp: 5000 },
- "10": { string: "10", numeric: 10, exp: 5900 },
- "11": { string: "11", numeric: 11, exp: 7200 },
- "12": { string: "12", numeric: 12, exp: 8400 },
- "13": { string: "13", numeric: 13, exp: 10000 },
- "14": { string: "14", numeric: 14, exp: 11500 },
- "15": { string: "15", numeric: 15, exp: 13000 },
- "16": { string: "16", numeric: 16, exp: 15000 },
- "17": { string: "17", numeric: 17, exp: 18000 },
- "18": { string: "18", numeric: 18, exp: 20000 },
- "19": { string: "19", numeric: 19, exp: 22000 },
- "20": { string: "20", numeric: 20, exp: 25000 },
- "21": { string: "21", numeric: 21, exp: 33000 },
- "22": { string: "22", numeric: 22, exp: 41000 },
- "23": { string: "23", numeric: 23, exp: 50000 },
- "24": { string: "24", numeric: 24, exp: 62000 },
- "25": { string: "25", numeric: 25, exp: 75000 },
- "26": { string: "26", numeric: 26, exp: 90000 },
- "27": { string: "27", numeric: 27, exp: 105000 },
- "28": { string: "28", numeric: 28, exp: 120000 },
- "29": { string: "29", numeric: 29, exp: 135000 },
- "30": { string: "30", numeric: 30, exp: 155000 },
- };
- }
-})();
-
-(function() {
-'use strict';
-
- angular
- .module('app')
- .value('playerLevels', {
- 1: { level: 1, budget: 300, easy: 25, medium: 50, hard: 75, deadly: 100 },
- 2: { level: 2, budget: 600, easy: 50, medium: 100, hard: 150, deadly: 200 },
- 3: { level: 3, budget: 1200, easy: 75, medium: 150, hard: 225, deadly: 400 },
- 4: { level: 4, budget: 1700, easy: 125, medium: 250, hard: 375, deadly: 500 },
- 5: { level: 5, budget: 3500, easy: 250, medium: 500, hard: 750, deadly: 1100 },
- 6: { level: 6, budget: 4000, easy: 300, medium: 600, hard: 900, deadly: 1400 },
- 7: { level: 7, budget: 5000, easy: 350, medium: 750, hard: 1100, deadly: 1700 },
- 8: { level: 8, budget: 6000, easy: 450, medium: 900, hard: 1400, deadly: 2100 },
- 9: { level: 9, budget: 7500, easy: 550, medium: 1100, hard: 1600, deadly: 2400 },
- 10: { level: 10, budget: 9000, easy: 600, medium: 1200, hard: 1900, deadly: 2800 },
- 11: { level: 11, budget: 10500, easy: 800, medium: 1600, hard: 2400, deadly: 3600 },
- 12: { level: 12, budget: 11500, easy: 1000, medium: 2000, hard: 3000, deadly: 4500 },
- 13: { level: 13, budget: 13500, easy: 1100, medium: 2200, hard: 3400, deadly: 5100 },
- 14: { level: 14, budget: 15000, easy: 1250, medium: 2500, hard: 3800, deadly: 5700 },
- 15: { level: 15, budget: 18000, easy: 1400, medium: 2800, hard: 4300, deadly: 6400 },
- 16: { level: 16, budget: 20000, easy: 1600, medium: 3200, hard: 4800, deadly: 7200 },
- 17: { level: 17, budget: 25000, easy: 2000, medium: 3900, hard: 5900, deadly: 8800 },
- 18: { level: 18, budget: 27000, easy: 2100, medium: 4200, hard: 6300, deadly: 9500 },
- 19: { level: 19, budget: 30000, easy: 2400, medium: 4900, hard: 7300, deadly: 10900 },
- 20: { level: 20, budget: 40000, easy: 2800, medium: 5700, hard: 8500, deadly: 12700 }
- });
-})();
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("monsterFactory", MonsterFactory);
-
- MonsterFactory.$inject = ["alignments", "crInfo", "library"];
- function MonsterFactory(alignments, crInfo, library) {
- var factory = {
- checkMonster: checkMonster,
- checkIsMonsterFoundAndFiltered: checkIsMonsterFoundAndFiltered,
- Monster: Monster,
- };
-
- function Monster(args) {
- var monster = this;
- monster.sheetId = args.sheetId;
- // guid is deprecated. Still need to work out plan to get rid of it, but for the time
- // being we can at least make it so new things don't need one by falling back to fid if
- // guid isn't supplied
- monster.id = args.guid || args.fid;
- monster.fid = args.fid;
- monster.name = args.name;
- monster.section = args.section;
- ["ac", "hp", "init"].forEach(function (key) {
- // Try to parse each of these into a number, but if that fails then just give the
- // original string value, which presumably is either an empty string or something
- // complicated
- var parsed = Number.parseInt(args[key]);
-
- if ( isNaN(parsed) ) {
- parsed = args[key];
- }
-
- monster[key] = parsed;
- });
- monster.cr = crInfo[args.cr];
- monster.type = args.type;
- monster.tags = args.tags ? args.tags.split(/\s*,\s*/).sort() : null;
- monster.size = args.size;
- monster.alignment = parseAlignment(args.alignment);
- monster.environments = (args.environment || "").split(/\s*,\s*/).sort();
- // Special, legendary, lair, and unique are stored in spreadsheet as strings to make it
- // easy to read a row, but should be translated to booleans
- monster.special = !!args.special;
- monster.legendary = !!args.legendary;
- monster.lair = !!args.lair;
- monster.unique = !!args.unique;
- monster.sources = args.sources
- .split(/\s*,\s*/)
- .map(function (rawSource) {
- var sourceMatch = rawSource.match(/([^:]*): (.*)/);
-
- if ( !sourceMatch ) {
- // Just a source with no page or URL
- return { name: rawSource };
- }
-
- var name = sourceMatch[1];
- var where = sourceMatch[2];
- var out = {
- name: name,
- };
-
- if ( where.match(/^\d+$/) ) {
- out.page = Number.parseInt(where, 10);
- } else {
- out.url = where;
- }
-
- return out;
- });
-
- monster.sizeSort = parseSize(monster.size);
- monster.searchable = [
- monster.name,
- monster.section,
- monster.type,
- monster.size,
- (monster.alignment) ? monster.alignment.text : "",
- ].concat(
- monster.cr.string
- ).concat(
- monster.tags
- ).join("|").toLowerCase();
- }
-
- function parseAlignment(alignmentString) {
- var flags = (alignmentString || "")
- // alignmentString should be a string of alignments, seperated by commas, "or", or
- // commas followed by "or" (I'm pro-Oxford comma)
- .split(/\s*(,|or|,\s*or)\s*/i)
- .reduce(function (total, current) {
- return total | parseSingleAlignmentFlags(current);
- }, 0);
-
- if ( !flags ) {
- console.warn("Couldn't parse alignments: ", alignmentString);
- flags = alignments.unaligned.flags;
- }
-
- return {
- text: alignmentString,
- flags: flags,
- };
- }
-
- function parseSingleAlignmentFlags(alignment) {
- var flags;
-
- alignmentTestOrder.some(function (alignmentDefinition) {
- if ( alignment.match(alignmentDefinition.regex) ) {
- flags = alignmentDefinition.flags;
- return true;
- }
- });
-
- return flags;
- }
-
- // Check "neutral" and "any" last, since those are substrings found in more specific
- // alignments
- var alignmentTestOrder = [
- alignments.any_chaotic,
- alignments.any_evil,
- alignments.any_good,
- alignments.any_lawful,
- alignments.any_neutral,
- alignments.non_chaotic,
- alignments.non_evil,
- alignments.non_good,
- alignments.non_lawful,
- alignments.unaligned,
- alignments.lg,
- alignments.ng,
- alignments.cg,
- alignments.ln,
- alignments.cn,
- alignments.le,
- alignments.ne,
- alignments.ce,
- alignments.n,
- alignments.any,
- ];
-
- function parseSize(size) {
- switch ( size ) {
- case "Tiny": return 1;
- case "Small": return 2;
- case "Medium": return 3;
- case "Large": return 4;
- case "Huge": return 5;
- case "Gargantuan": return 6;
- default: return -1;
- }
- }
-
- var regexCache = {
- "": new RegExp(""),
- };
- var poolCache = {
- };
- var lastRegex = regexCache[""];
- function checkMonster(monster, filters, args) {
- return !isFiltered(monster, filters, args) && isNameMatched(monster, filters);
- }
-
- function checkIsMonsterFoundAndFiltered(monster, filters, args) {
- return isNameMatched(monster, filters) && isFiltered(monster, filters, args);
- }
-
- function isFiltered(monster, filters, args) {
- args = args || {};
-
- var legendaryMap = {
- 'Legendary': 'legendary',
- 'Legendary (in lair)': 'lair',
- 'Ordinary': false
- };
-
- if (filters.legendary) {
- var legendaryFilter = legendaryMap[filters.legendary];
-
- if (legendaryFilter) {
- if (!monster[legendaryFilter]) return true;
- } else {
- if (monster.legendary || monster.lair) return true;
- }
- }
-
- if ( filters.type && monster.type !== filters.type ) {
- return true;
- }
-
- if ( filters.size && monster.size !== filters.size ) {
- return true;
- }
-
- if ( args.nonUnique && monster.unique ) {
- return true;
- }
-
- if ( filters.alignment ) {
- if ( !monster.alignment ) {
- return true;
- }
-
- if ( ! (filters.alignment.flags & monster.alignment.flags) ) {
- return true;
- }
- }
-
- if ( !args.skipCrCheck ) {
- if ( filters.minCr && monster.cr.numeric < filters.minCr ) {
- return true;
- }
-
- if ( filters.maxCr && monster.cr.numeric > filters.maxCr ) {
- return true;
- }
- }
-
- if ( filters.environment && monster.environments.indexOf(filters.environment) === -1 ) {
- return true;
- }
-
- if ( filters.pool ) {
- let pool = poolCache[filters.pool];
- if (!pool) {
- pool = library.encounters.filter(encounter => encounter.type == 'pool' && encounter.name == filters.pool)[0];
- poolCache[filters.pool] = pool;
- }
- if ( pool && !pool.groups[monster.id] ) {
- return true;
- }
- }
-
- if ( !isInSource(monster, filters.source) ) {
- return true;
- }
-
- return false;
- }
-
- function isNameMatched(monster, filters) {
- if ( filters.search ) {
- let checkRegex = filters.search.match(/^\/(.*?)\/?$/);
- if ( checkRegex ) {
- let regex;
- let raw = checkRegex[1];
- try {
- // Two goals here.
- // 1. Avoid making new RegExp objects every time this function is run
- // 2. Maintain results while user is typing even if it might not be a valid regex after every keystroke
-
- // First check the cache to avoid remaking regex objects every time this
- // function is called (can be tens of thousands of times per keystroke)
-
- // If no cache hit, try to make a new regex. If that fails, we'll catch and
- // use the last good regex we have.
-
- // Finally, if we sucessfully get a cache hit or create a new regex, we'll
- // set lastRegex to this for future runs
- regex = regexCache[raw] || new RegExp(raw, "i");
-
- if ( regex ) {
- // This regex is good, so save it for the future
- lastRegex = regex;
- }
- } catch (ex) {
- // We know this doesn't give a good regex, so avoid trying again
- regexCache[raw] = null;
- }
-
- regex = regex || lastRegex;
-
- if ( !monster.searchable.match(regex) ) {
- return false;
- }
- } else if ( monster.searchable.indexOf(filters.search.toLowerCase()) === -1 ) {
- return false;
- }
- }
-
- return true;
- }
-
- function isInSource(monster, sources) {
- if ( !monster || !monster.sources) {
- return false;
- }
-
- for ( var i = 0; i < monster.sources.length; i++ ) {
- if ( sources[monster.sources[i].name] ) {
- return true;
- }
- }
-
- return false;
- }
-
- return factory;
- }
-})();
-
-(function() {
-'use strict';
-
- // Usage:
- //
- // Creates:
- //
-
- angular
- .module('app')
- .component('navbar', {
- templateUrl: 'app/navbar/navbar.html',
- controller: NavbarController,
- controllerAs: "vm",
- bindings: {
- },
- });
-
- function NavbarController() {
- var vm = this;
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('EditPlayersController', EditPlayersController);
-
- EditPlayersController.$inject = ['players'];
-
- function EditPlayersController(players) {
- var vm = this;
- vm.players = players;
-
- activate();
-
- ////////////////
-
- function activate() { }
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('ManagePlayersController', ManagePlayersController);
-
- ManagePlayersController.$inject = ['$state', 'actionQueue', 'players'];
-
- function ManagePlayersController($state, actionQueue, players) {
- var vm = this;
-
- vm.players = players;
-
- vm.select = function (party) {
- players.selectParty(party);
-
- actionQueue.next($state);
- };
-
- activate();
-
- ////////////////
-
- function activate() {
- // If there aren't any parties, send them to edit
- if ( !players.parties || !players.parties.length ) {
- $state.go("players.edit");
- return;
- }
- }
- }
-})();
-(function() {
-'use strict';
-
- angular
- .module('app')
- .controller('PlayersController', PlayersController);
-
- PlayersController.$inject = [];
-
- function PlayersController() {
- var vm = this;
-
- activate();
-
- ////////////////
-
- function activate() { }
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("actionQueue", ActionQueueService);
-
-
- function ActionQueueService() {
- var actionQueue = {
- actions: [],
- currentInstruction: "",
- clear: function () {
- actionQueue.actions.length = 0;
- actionQueue.currentInstruction = "";
- },
- next: function ($state) {
- if ( actionQueue.actions.length ) {
- var current = actionQueue.actions.shift();
- actionQueue.currentInstruction = current.message || "";
-
- $state.go(current.state);
- return true;
- }
-
- return false;
- },
- queue: function (nextState, message) {
- actionQueue.actions.push({ state: nextState, message: message });
- },
- unshift: function (nextState, message) {
- // First check to make sure this state isn't already in the queue
- var i = 0;
- while ( i < actionQueue.actions.length ) {
- if ( actionQueue.actions[i].state === nextState ) {
- actionQueue.actions.splice(i, 1);
- } else {
- i++;
- }
- }
-
- actionQueue.actions.unshift({ state: nextState, message: message });
- }
- };
-
- return actionQueue;
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("combat", CombatService);
-
- CombatService.$inject = ['store', 'encounter', 'integration', 'players', 'monsters', 'combatConstants'];
-
- function CombatService(store, encounter, integration, players, monsters, constants) {
- var combat = {
- active: 0,
- combatants: [],
- delta: 0,
- addMonster: function (monster, qty) {
- qty = qty || 1;
-
- var i, name;
-
- for ( i = 0; i < qty; i++ ) {
- name = [ monster.name ];
-
- if ( qty > 1 ) {
- name.push( i + 1 );
- }
-
- combat.combatants.push({
- type: "enemy",
- name: name.join(" "),
- ac: monster.ac,
- hp: monster.hp,
- initiativeMod: monster.init,
- initiative: 10 + monster.init,
- id: monster.id,
- });
- }
- },
- addLair: function () {
- combat.combatants.push({
- type: "lair",
- name: "Lair",
- iniativeMod: 0,
- initiative: 20,
- fixedInitiative: true,
- noHp: true,
- });
- },
- addPlayer: function (player) {
- combat.combatants.push({
- type: "player",
- name: player.name,
- initiativeMod: player.initiativeMod,
- advantageOnInitiative: player.advantageOnInitiative,
- initiative: player.initiative,
- hp: player.hp,
- damage: player.damage,
- });
- },
- applyDelta: function (combatant, multiplier) {
- multiplier = multiplier || 1;
- // Make sure damage is initialized
- combatant.damage = combatant.damage || 0;
-
- combatant.damage += combat.delta * multiplier;
- combat.delta = 0;
-
- // Damage can't reduce you below 0
- if ( combatant.damage > combatant.hp ) {
- combatant.damage = combatant.hp;
- }
-
- // Damage can't be negative
- if ( combatant.damage < 0 ) {
- combatant.damage = 0;
- }
-
- if ( combatant.type === "player" ) {
- players.setDamage(combatant.name, combatant.damage);
- }
- },
- begin: function () {
- combat.combatants.sort(function (a, b) {
- return b.initiative - a.initiative;
- });
-
- if (combat.combatants.length > 0) {
- combat.combatants[combat.active].active = true;
- }
- },
- init: function () {
- combat.combatants.length = 0;
- combat.active = 0;
- combat.delta = 0;
-
- var monsterIds = Object.keys(encounter.groups),
- lair = false,
- i, monster, qty, player,
- retValue = 0;
-
- if ( ! monsterIds.length ) {
- // If there aren't any monsters, we can't run an encounter
- retValue |= constants.NO_MONSTERS;
- }
-
- if ( ! players.selectedParty ) {
- // If there aren't any players, we can't run the encounter either...
- retValue |= constants.NO_PLAYERS;
- }
-
- if ( retValue ) {
- return retValue;
- }
-
- for ( i = 0; i < players.selectedParty.length; i++ ) {
- player = players.selectedParty[i];
- combat.addPlayer({
- name: player.name,
- initiativeMod: player.initiativeMod,
- advantageOnInitiative: player.advantageOnInitiative,
- initiative: player.initiativeMod + 10,
- hp: player.hp,
- damage: player.damage,
- });
- }
-
- for ( i = 0; i < monsterIds.length; i++ ) {
- monster = monsters.byId[monsterIds[i]];
- qty = encounter.groups[monsterIds[i]].qty;
- lair = lair || monster.lair;
-
- combat.addMonster(monster, qty);
- }
-
- if ( lair ) {
- combat.addLair();
- }
-
- return constants.READY;
- },
- nextTurn: function () {
- combat.combatants[combat.active].active = false;
- combat.active = ( combat.active + 1 ) % combat.combatants.length;
- combat.combatants[combat.active].active = true;
- },
- rollInitiative: function (combatant) {
- var initRoll = _.random(1, 20);
- if (combatant.advantageOnInitiative) {
- var secondRoll = _.random(1, 20);
- if (secondRoll > initRoll) initRoll = secondRoll;
- }
- combatant.initiative = initRoll + combatant.initiativeMod;
- combatant.initiativeRolled = true;
- },
- };
-
- combat.init();
-
- return combat;
- }
-})();
-
-(function () {
- "use strict";
-
- angular.module("app")
- .factory("encounter", EncounterService);
-
- EncounterService.$inject = ['$rootScope', 'randomEncounter', 'store', 'monsters', 'players', 'misc', 'playerLevels', 'partyInfo'];
-
- function EncounterService($rootScope, randomEncounter, store, monsters, players, misc, playerLevels, partyInfo) {
- var encounter = {
- groups: {},
- reference: null,
-
- // Methods
- add: add,
- generateRandom: generateRandom,
- initialize: initialize,
- randomize: randomize,
- remove: remove,
- reset: reset,
- thaw: thaw,
- freeze: freeze,
-
- // Properties
- get adjustedExp() {
- var qty = encounter.qty,
- exp = encounter.exp,
- multiplier = misc.getMultiplier(partyInfo.totalPlayerCount, qty);
-
- if (!_.isNumber(exp)) return 0;
-
- return Math.floor(exp * multiplier);
- },
-
- get difficulty() {
- var exp = encounter.adjustedExp,
- levels = partyInfo.totalPartyExpLevels;
-
- if ( exp === 0 ) {
- return false;
- }
-
- if ( exp < ( levels.easy ) ) {
- return '';
- } else if ( exp < ( levels.medium ) ) {
- return "Easy";
- } else if ( exp < ( levels.hard ) ) {
- return "Medium";
- } else if ( exp < ( levels.deadly ) ) {
- return "Hard";
- } else {
- return "Deadly";
- }
- },
-
- get exp() {
- if (_.isEmpty(encounter.groups)) return undefined;
-
- var exp = 0;
-
- _.forEach(encounter.groups, function(group) {
- exp += (group.monster.cr.exp * group.qty);
- });
-
- return exp;
- },
-
- get qty() {
- var qty = 0;
-
- _.forEach(encounter.groups, function(group) {
- qty += group.qty;
- });
-
- return qty;
- },
-
- get threat() {
- var count = partyInfo.totalPlayerCount,
- levels = partyInfo.totalPartyExpLevels,
- mediumExp = levels.medium,
- singleMultiplier = 1,
- pairMultiplier = 1.5,
- groupMultiplier = 2,
- trivialMultiplier = 2.5;
-
- if ( count < 3 ) {
- // For small groups, increase multiplier
- singleMultiplier = 1.5;
- pairMultiplier = 2;
- groupMultiplier = 2.5;
- trivialMultiplier = 3;
- } else if ( count > 5 ) {
- // For large groups, reduce multiplier
- singleMultiplier = 0.5;
- pairMultiplier = 1;
- groupMultiplier = 1.5;
- trivialMultiplier = 2;
- }
-
- return {
- deadly : levels.deadly / singleMultiplier,
- hard : levels.hard / singleMultiplier,
- medium : mediumExp / singleMultiplier,
- easy : levels.easy / singleMultiplier,
- pair : mediumExp / ( 2 * pairMultiplier ),
- group : mediumExp / ( 4 * groupMultiplier ),
- trivial: mediumExp / ( 8 * trivialMultiplier ),
- };
- }
- };
-
- return encounter;
-
- function initialize() {
- thaw();
- }
-
- function add(monster, qty) {
- if ( typeof qty === "undefined" ) {
- qty = 1;
- }
-
- encounter.groups[monster.id] = encounter.groups[monster.id] || {
- qty: 0,
- monster: monster,
- };
-
- encounter.groups[monster.id].qty += qty;
-
- encounter.reference = null;
- }
-
- function generateRandom(filters, targetDifficulty) {
- targetDifficulty = targetDifficulty || 'medium';
- var totalTargetExp = partyInfo.totalPartyExpLevels[targetDifficulty];
- var monsters = randomEncounter.getRandomEncounter(partyInfo.totalPlayerCount, totalTargetExp, filters),
- i;
-
- encounter.reset();
-
- for ( i = 0; i < monsters.length; i++ ) {
- encounter.add( monsters[i].monster, monsters[i].qty );
- }
- }
-
- function randomize(monster, filters) {
- var monsterList = randomEncounter.getShuffledMonsterList(monster.cr.string),
- qty = encounter.groups[monster.id].qty;
-
- while ( monsterList.length ) {
- // Make sure we don't roll a monster we already have
- if ( encounter.groups[monsterList[0].name] ) {
- monsterList.shift();
- continue;
- }
-
- if ( monsters.check( monsterList[0], filters, { skipCrCheck: true } ) ) {
- encounter.remove(monster, true);
- encounter.add( monsterList[0], qty );
- return;
- } else {
- monsterList.shift();
- }
- }
- }
-
- function remove(monster, removeAll) {
- encounter.groups[monster.id].qty--;
-
- if ( encounter.groups[monster.id].qty === 0 ) {
- delete encounter.groups[monster.id];
- } else if ( removeAll ) {
- // Removing all is implemented by recurively calling this function until the
- // qty is 0
- encounter.remove(monster, true);
- }
-
- encounter.reference = null;
- }
-
- function reset(storedEncounter) {
- encounter.reference = null;
- encounter.groups = {};
-
- if (storedEncounter) {
- encounter.type = storedEncounter.type || 'encounter';
- Object.keys(storedEncounter.groups).forEach(function (id) {
- encounter.add(
- monsters.byId[id],
- storedEncounter.groups[id],
- { skipFreeze: true }
- );
- });
-
- encounter.reference = storedEncounter;
- }
- }
-
- function freeze() {
- var o = {
- groups: {}
- };
-
- Object.keys(encounter.groups).forEach(function (monsterId) {
- o.groups[monsterId] = encounter.groups[monsterId].qty;
- });
-
- store.set("5em-encounter", o);
- }
-
- function thaw() {
- encounter.reset();
-
- return store.get("5em-encounter").then(function (frozen) {
- if ( !frozen ) {
- return;
- }
-
- });
- }
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("integration", ExportService);
-
-
- // var payload = [{ "Name": "Nemo", "HP": { "Value": 10 } }, { "Name": "Fat Goblin", "HP": { "Value": 20 }, "Id": "mm.goblin"}, { "Id": "mm.goblin"}];
- var target = "https://www.improved-initiative.com/launchencounter/";
- ExportService.$inject = ["$document", "encounter", "players"];
- function ExportService($document, encounter, players) {
- function launchImpInit() {
- var payload = generatePayload({
- monsters: encounter.groups || [],
- players: players.selectedParty || [],
- });
-
- console.log(payload);
-
- openWindow({
- document: $document,
- target: target,
- data: { Combatants: payload },
- });
- }
-
- window.encounter = encounter;
- window.players = players;
-
- return {
- launchImpInit: launchImpInit,
- };
- }
-
- function generatePayload(args) {
- var combatants = [];
-
- Object.keys(args.monsters).forEach(function (guid) {
- var monsterGroup = args.monsters[guid];
- var monster = monsterGroup.monster;
- var qty = monsterGroup.qty;
-
- var i;
- for ( i = 1; i <= qty; i++ ) {
-
- combatants.push({
- Name: monster.name,
- HP: { Value: monster.hp },
- TotalInitiativeModifier: monster.init,
- AC: { Value: monster.ac },
- Player: "npc",
- Id: monster.fid,
- });
- }
- });
-
- args.players.forEach(function (player) {
- combatants.push({
- Name: player.name,
- TotalInitiativeModifier: player.initiativeMod,
- HP: { Value: player.hp },
- Player: "player",
- });
- });
-
- return combatants;
- }
-
- function openWindow(args) {
- var form = document.createElement("form");
- form.style.display = "none";
- form.setAttribute("method", "POST");
- // form.setAttribute("target", "self");
- form.setAttribute("action", args.target);
-
- Object.keys(args.data).forEach(function (key) {
- var textarea = document.createElement("input");
- textarea.setAttribute("type", "hidden");
- textarea.setAttribute("name", key);
- textarea.setAttribute("value", JSON.stringify(args.data[key]));
-
- form.appendChild(textarea);
- });
-
- args.document[0].body.appendChild(form);
- form.submit();
- form.parentNode.removeChild(form);
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("library", LibraryService);
-
- LibraryService.$inject = ["$rootScope", "store"];
-
- function LibraryService($rootScope, store) {
- var library = {
- encounters: [],
- remove: function (storedEncounter) {
- library.encounters.splice(library.encounters.indexOf(storedEncounter), 1);
-
- freeze();
- },
- store: function (encounter) {
- for ( var i = 0; i < library.encounters.length; i++ ) {
- if ( angular.equals(encounter, library.encounters[i]) ) {
- return library.encounters[i];
- }
- }
-
- library.encounters.push(encounter);
- freeze();
-
- return encounter;
- }
- };
-
- thaw();
-
- function freeze() {
- store.set("5em-library", library.encounters);
- }
-
- function thaw() {
- store.get("5em-library").then(function(frozen) {
- if (frozen) {
- for ( var i = 0; i < frozen.length; i++ ) {
- library.encounters.push(frozen[i]);
- }
- }
- });
- }
-
- return library;
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("metaInfo", MetaInfoService);
-
- MetaInfoService.$inject = ['misc', 'alignments', 'crInfo'];
-
- function MetaInfoService(miscLib, alignments, crInfo) {
- var metaInfo = {
- alignments: alignments,
- crInfo: crInfo,
- crList: [
- crInfo["0"], crInfo["1/8"], crInfo["1/4"], crInfo["1/2"],
- crInfo["1"], crInfo["2"], crInfo["3"], crInfo["4"],
- crInfo["5"], crInfo["6"], crInfo["7"], crInfo["8"],
- crInfo["9"], crInfo["10"], crInfo["11"], crInfo["12"],
- crInfo["13"], crInfo["14"], crInfo["15"], crInfo["16"],
- crInfo["17"], crInfo["18"], crInfo["19"], crInfo["20"],
- crInfo["21"], crInfo["22"], crInfo["23"], crInfo["24"],
- crInfo["25"], crInfo["26"], crInfo["27"], crInfo["28"],
- crInfo["29"], crInfo["30"],
- ],
- legendaryList: [
- "Ordinary",
- "Legendary",
- "Legendary (in lair)"
- ],
- environments: [
- "aquatic",
- "arctic",
- "cave",
- "coast",
- "desert",
- "dungeon",
- "forest",
- "grassland",
- "mountain",
- "planar",
- "ruins",
- "swamp",
- "underground",
- "urban",
- ],
- tags: miscLib.tags,
- sizes: [
- "Tiny",
- "Small",
- "Medium",
- "Large",
- "Huge",
- "Gargantuan",
- ],
- types: [
- "Aberration",
- "Beast",
- "Celestial",
- "Construct",
- "Dragon",
- "Elemental",
- "Fey",
- "Fiend",
- "Giant",
- "Humanoid",
- "Monstrosity",
- "Ooze",
- "Plant",
- "Undead",
- ],
- sortChoices: [
- { value: 'name', text: 'Name' },
- { value: 'cr', text: 'CR' },
- { value: 'size', text: 'Size' },
- { value: 'type', text: 'Type' },
- { value: 'alignment', text: 'Alignment' },
- ],
- };
-
- return metaInfo;
- }
-})();
-(function() {
- "use strict";
-
- angular.module("app")
- .factory('misc', MiscService);
-
- function MiscService() {
-
- var crs = [],
- sourceFilters = {},
- sources = [],
- sourcesByType = {},
- shortNames = {},
- tags = {},
- i;
-
- crs.push({ text: "0", value: 0 });
- crs.push({ text: "1/8", value: 0.125 });
- crs.push({ text: "1/4", value: 0.25 });
- crs.push({ text: "1/2", value: 0.5 });
- for ( i = 1; i < 25; i++ ) {
- crs.push({ text: i.toString(), value: i });
- }
-
- var service = {
- getMultiplier: getMultiplier,
- sourceFilters: sourceFilters,
- sources: sources,
- sourcesByType: sourcesByType,
- shortNames: shortNames,
- tags: tags,
- };
-
- return service;
-
- //////
-
- function getMultiplier(playerCount, monsterCount) {
- var multiplierCategory,
- multipliers = [
- 0.5,
- 1,
- 1.5,
- 2,
- 2.5,
- 3,
- 4,
- 5,
- ];
-
- if ( monsterCount === 0 ) {
- return 0;
- } else if ( monsterCount === 1 ) {
- multiplierCategory = 1;
- } else if ( monsterCount === 2 ) {
- multiplierCategory = 2;
- } else if ( monsterCount < 7 ) {
- multiplierCategory = 3;
- } else if ( monsterCount < 11 ) {
- multiplierCategory = 4;
- } else if ( monsterCount < 15 ) {
- multiplierCategory = 5;
- } else {
- multiplierCategory = 6;
- }
-
- if ( playerCount < 3 ) {
- // Increase multiplier for parties of one and two
- multiplierCategory++;
- } else if ( playerCount > 5 ) {
- // Decrease multiplier for parties of six through eight
- multiplierCategory--;
- }
-
- return multipliers[multiplierCategory];
- }
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app").factory("monsters", Monsters);
-
- var all = [];
- var byId = {};
- var byCr = {};
- var loaded = {};
- var sourcesById = {};
-
- Monsters.$inject = ["$rootScope", "misc", "monsterFactory"];
- function Monsters($rootScope, miscLib, monsterFactory) {
- function loadSheet(args) {
- var sheets = args.sheets;
- var sheetId = args.sheetId;
- var custom = args.custom;
-
- if ( loaded[sheetId] ) {
- // Don't allow a source to be loaded multiple times
- return;
- }
-
- loaded[sheetId] = true;
-
- loadMonsters({
- $rootScope: $rootScope,
- miscLib: miscLib,
- monsterFactory: monsterFactory,
- sheetId: sheetId,
- custom: custom,
- sheets: sheets,
- });
- }
-
- return {
- all: all,
- byCr: byCr,
- byId: byId,
- check: monsterFactory.checkMonster,
- loadSheet: loadSheet,
- removeSheet: removeSheet.bind(null, miscLib),
- };
- }
-
- function loadMonsters(args) {
- var $rootScope = args.$rootScope;
- var miscLib = args.miscLib;
- var monsterFactory = args.monsterFactory;
- var sheetId = args.sheetId;
- var custom = args.custom;
- var sheets = args.sheets;
-
- sheets.Monsters.forEach(function (monsterData) {
- monsterData.sheetId = sheetId;
- var monster = new monsterFactory.Monster(monsterData);
-
- if ( byId[monster.id] ) {
- console.warn("Duplicate ID", monster.id, monster.fid);
- return;
- }
-
- all.push(monster);
- byId[monster.id] = monster;
-
- if ( ! byCr[monster.cr.string] ) {
- byCr[monster.cr.string] = [];
- }
-
- byCr[monster.cr.string].push(monster);
- });
-
- sourcesById[sheetId] = [];
- sheets.Sources.forEach(function (sourceData) {
- var name = sourceData.name;
- var shortName = sourceData.shortname;
- var initialState = custom || !!(sourceData.defaultselected || "").match(/yes/i);
-
- if ( miscLib.sourceFilters[name] !== undefined ) {
- console.warn("Duplicate source", name);
- return;
- }
-
- sourcesById[sheetId].push(name);
- miscLib.sources.push(name);
- miscLib.sourceFilters[name] = initialState;
- miscLib.shortNames[name] = shortName;
-
- if ( !miscLib.sourcesByType[sourceData.type] ) {
- miscLib.sourcesByType[sourceData.type] = [];
- }
-
- miscLib.sourcesByType[sourceData.type].push(name);
-
- if ( custom ) {
- $rootScope.$broadcast("custom-source-added", name);
- }
- });
-
- miscLib.sources.sort();
-
- all.sort(function (a, b) {
- return (a.name > b.name) ? 1 : -1;
- });
- }
-
- function removeSheet(miscLib, id) {
- var i = 0;
- var monsterId;
- var crString;
- var crIndex;
-
- // No longer mark sheet as loaded
- delete loaded[id];
-
- // Loop through all the monsters and remove them from all and byCr
- while ( all[i] ) {
- if ( all[i].sheetId === id ) {
- monsterId = all[i].id;
- delete byId[monsterId];
- crString = all[i].cr.string;
- crIndex = byCr[crString].indexOf(all[i]);
- if ( crIndex !== -1 ) {
- byCr[crString].splice(crIndex, 1);
- }
- all.splice(i, 1);
- } else {
- i++;
- }
- }
-
- if ( !sourcesById[id] ) {
- return;
- }
-
- // Loop through sources and remove them
- sourcesById[id].forEach(function (sourceName) {
- i = miscLib.sources.indexOf(sourceName);
- miscLib.sources.splice(i, 1);
- delete miscLib.sourceFilters[name];
- delete miscLib.shortNames[name];
- });
-
- delete sourcesById[id];
- }
-})();
-
-(function() {
-/* global _ */
-'use strict';
-
- angular
- .module('app')
- .factory('partyInfo', PartyInfo);
-
- PartyInfo.inject = ['playerLevels', 'store'];
-
- function PartyInfo(playerLevels, store) {
- var service = {
- // Variables
- partyLevels: [
- {
- level: playerLevels[1],
- playerCount: 4
- }
- ],
-
- // Methods
- initialize: initialize,
- freeze: freeze,
- thaw: thaw,
-
- // Properties
- get totalPlayerCount() {
- return _.sum(_.map(service.partyLevels, function (pl) { return pl.playerCount; }));
- },
-
- get totalPartyExpLevels() {
- var result = _.reduce(service.partyLevels, function(accum, curLevel) {
- var curExpLevels = getExpLevels(curLevel);
-
- return {
- easy: accum.easy + curExpLevels.easy,
- medium: accum.medium + curExpLevels.medium,
- hard: accum.hard + curExpLevels.hard,
- deadly: accum.deadly + curExpLevels.deadly,
- budget: accum.budget + curExpLevels.budget
- };
- }, { easy: 0, medium: 0, hard: 0, deadly: 0, budget: 0});
- return result;
- }
- };
-
- return service;
-
- function getExpLevels(partyLevel) {
- return {
- easy: partyLevel.playerCount * partyLevel.level.easy,
- medium: partyLevel.playerCount * partyLevel.level.medium,
- hard: partyLevel.playerCount * partyLevel.level.hard,
- deadly: partyLevel.playerCount * partyLevel.level.deadly,
- budget: partyLevel.playerCount * partyLevel.level.budget
- };
- }
-
- ////////////////
- function initialize() {
- thaw();
- }
-
- function freeze() {
- var o =_.map(service.partyLevels, function (pl) {
- return {
- level: pl.level.level,
- playerCount: pl.playerCount
- };
- });
-
- store.set("5em-party-info", o);
- }
-
- function thaw() {
- if (store.hasKey('5em-party-info')) {
- return store.get("5em-party-info").then(loadPartyInfoFromStore);
- } else {
- return store.get("5em-encounter").then(loadFromEncounterStoreAndConvert);
- }
- }
-
- /*
- Token: 5em-party-info
- Type: Array
- Example:
- [
- {
- level: 4,
- playerCount: 4
- }
- ]
- */
- function loadPartyInfoFromStore(frozenDataArray) {
- if ( !frozenDataArray ) {
- return;
- }
-
- service.partyLevels = [];
-
- _.forEach(frozenDataArray, function(frozenData) {
- service.partyLevels.push({
- level: playerLevels[frozenData.level],
- playerCount: frozenData.playerCount
- });
- });
- }
-
- function loadFromEncounterStoreAndConvert(frozenData) {
- if ( !frozenData ) {
- return;
- }
-
- service.partyLevels = [{
- level: playerLevels[frozenData.partyLevel],
- playerCount: frozenData.playerCount
- }];
-
- var newFrozenData = [
- {
- level: frozenData.partyLevel,
- playerCount: frozenData.playerCount
- }
- ];
- store.set("5em-party-info", newFrozenData);
-
- if (store.hasKey("5em-current-encounter")) {
- store.remove("5em-encounter");
- }
- }
- }
-})();
-
-(function () {
- "use strict";
-
- angular.module("app")
- .factory("players", PlayersService);
-
- PlayersService.$inject = ["$rootScope", "store"];
-
- function PlayersService($rootScope, store) {
- var players = {
- selectedParty: null,
- selectParty: function (party) {
- players.selectedParty = party;
- },
- setDamage: function (name, damage) {
- for ( var i = 0; i < players.selectedParty.length; i++ ) {
- if ( players.selectedParty[i].name === name ) {
- players.selectedParty[i].damage = damage;
- rawDirty = true;
- freeze();
- return;
- }
- }
- },
- initialize: initialize
- },
- rawDirty = true,
- rawText = "",
- partiesDirty,
- parties = [];
-
- window.players = players;
-
- Object.defineProperty(players, "raw", {
- get: function () {
- if ( rawDirty ) {
- compileRaw();
- }
-
- return rawText;
- },
- set: function (value) {
- rawText = value;
- partiesDirty = true;
- },
- });
-
- Object.defineProperty(players, "parties", {
- get: function () {
-
- if ( partiesDirty ) {
- compileParties();
- }
-
- return parties;
- }
- });
-
- function compileParties() {
- var i, j, m;
- partiesDirty = false;
- parties = rawText.split(/\n\n+/);
-
- for ( i = 0; i < parties.length; i++ ) {
- parties[i] = parties[i].split("\n");
- for ( j = 0; j < parties[i].length; j++ ) {
- // 1: Name
- // 2: Initiative mod
- // 3: Remaining HP (optional)
- // 4: Max HP
- // 1 2 3 4
- m = parties[i][j].match(/(.*?)\s+([-+]?\d+[!]?)\s+(?:(\d+)\s*\/\s*)?(\d+)\s*$/);
-
- if ( m ) {
- parties[i][j] = {
- name: m[1],
- initiativeMod: parseInt(m[2].replace(/!$/, '')),
- advantageOnInitiative: m[2].endsWith('!'),
- damage: (m[3]) ? m[4] - m[3] : 0,
- hp: parseInt(m[4]),
- };
- }
- }
-
- }
-
- rawDirty = true;
- freeze();
- }
-
- function compileRaw() {
- var i, j, newRaw = [], p;
- rawDirty = false;
-
- for ( i = 0; i < players.parties.length; i++ ) {
- newRaw[i] = [];
-
- for ( j = 0; j < players.parties[i].length; j++ ) {
- p = players.parties[i][j];
- newRaw[i].push([
- p.name,
- ((p.initiativeMod >= 0) ? "+" + p.initiativeMod : p.initiativeMod) + (p.advantageOnInitiative ? '!' : ''),
- p.hp - p.damage,
- "/",
- p.hp,
- ].join(" "));
- }
-
- newRaw[i] = newRaw[i].join("\n");
- }
-
- rawText = newRaw.join("\n\n");
- }
-
- function initialize() {
- thaw();
- }
-
- function freeze() {
- store.set("5em-players", parties);
- }
-
- function thaw() {
- store.get("5em-players").then(function (frozen) {
- if (frozen) {
- parties = frozen;
- partiesDirty = false;
- rawDirty = true;
- }
- });
- }
-
- return players;
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("randomEncounter", RandomEncounterService);
-
- RandomEncounterService.$inject = ["monsterFactory", "misc", "shuffle", "metaInfo", "monsters"];
-
- function RandomEncounterService(monsterLib, miscLib, shuffle, metaInfo, monsters) {
- var randomEncounter = {
- //
- // getRandomEncounter
- // playerCount: Count of total number of players in party
- // targetTotalExp: The experience target value. Takes into account player count, player level, and target difficulty already.
- // filters: Any filters that should be applied when making the encounter
- //
- getRandomEncounter: function (playerCount, targetTotalExp, filters) {
- var fudgeFactor = 1.1, // The algorithm is conservative in spending exp, so this tries to get it closer to the actual medium value
- baseExpBudget = targetTotalExp * fudgeFactor,
- encounterTemplate = getEncounterTemplate(),
- multiplier = miscLib.getMultiplier(playerCount, encounterTemplate.total),
- availableExp = baseExpBudget / multiplier,
- monster,
- monsterGroups = [],
- currentGroup, targetExp;
-
- while ( encounterTemplate.groups[0] ) {
- // Exp should be shared as equally as possible between groups
- targetExp = availableExp / encounterTemplate.groups.length;
- currentGroup = encounterTemplate.groups.shift();
-
- // We need to find a monster who, in the correct number, is close to the target exp
- targetExp /= currentGroup;
-
- monster = getBestMonster(targetExp, filters);
-
- monsterGroups.push({
- monster: monster,
- qty: currentGroup,
- });
-
- // Finally, subtract the actual exp value
- availableExp -= currentGroup * monster.cr.exp;
- }
-
- return monsterGroups;
- },
- getShuffledMonsterList: function (crString) {
- var list = monsters.byCr[crString].slice(0);
-
- return shuffle(list);
- },
- };
-
- return randomEncounter;
-
- function getEncounterTemplate() {
- var templates = [
- [ 1 ],
- [ 1, 2 ],
- [ 1, 5 ],
- [ 1, 1, 1 ],
- [ 1, 1, 2 ],
- [ 1, 2, 3 ],
- [ 2, 2 ],
- [ 2, 4 ],
- [ 8 ],
- ],
- groups = JSON.parse(JSON.stringify(templates[Math.floor(Math.random() * templates.length)])),
- total = groups.reduce(function (a, b) { return a+b; });
-
- // Silly hack to clone object
- return {
- total: total,
- groups: groups,
- };
- }
-
- function getBestMonster(targetExp, filters) {
- var bestBelow = 0,
- bestAbove,
- crIndex,
- currentIndex,
- step = -1,
- monsterList,
- i;
-
- for ( i = 1; i < metaInfo.crList.length; i++ ) {
- if ( metaInfo.crList[i].exp < targetExp ) {
- bestBelow = i;
- } else {
- bestAbove = i;
- break;
- }
- }
-
- if ( (targetExp - metaInfo.crList[bestBelow].exp) < (metaInfo.crList[bestAbove].exp - targetExp) ) {
- crIndex = bestBelow;
- } else {
- crIndex = bestAbove;
- }
-
- currentIndex = crIndex;
-
- monsterList = randomEncounter.getShuffledMonsterList(metaInfo.crList[crIndex].string);
-
- while ( true ) {
- if ( monsterLib.checkMonster(monsterList[0], filters, { skipCrCheck: true, nonUnique: true }) ) {
- return monsterList[0];
- } else {
- monsterList.shift();
- }
-
- // If we run through all the monsters from this level, check a different level
- if ( monsterList.length === 0 ) {
- // there were no monsters found lower than target exp, so we have to start checking higher
- if ( currentIndex === 0 ) {
- // Reset currentIndex
- currentIndex = crIndex;
- // Start looking up instead of down
- step = 1;
- }
-
- currentIndex += step;
- monsterList = randomEncounter.getShuffledMonsterList(metaInfo.crList[currentIndex].string);
- }
- }
- }
- }
-})();
-(function() {
- "use strict";
-
- angular.module("app").factory("googleSheetLoader", googleSheetService);
-
- googleSheetService.$inject = ["$q"];
- function googleSheetService($q) {
- // Loads a published google sheet by ID. Example usage:
- // googleSheetService(sheetId).then(function (data) {})
-
- // data will be an object. The keys of this object are names of sheets from the workbook
- // (e.g. "Sheet1"). The value for each of those keys is an array of objects. Each of those
- // objects is one row from that sheet, with keys based on the header row from that sheet.
-
- // Example:
- // {
- // "Sheet1": [
- // { "name": "Ancient Red Dragon", "alignment": "Chaotic evil" }
- // ]
- // }
-
- // Two important things to note:
-
- // 1: The column names from the header row will have illegal characters like spaces removed,
- // and will be entirely lowercased
-
- // 2: Empty cells will be omitted from the individual objects lacking entries for those
- // cells
- return {
- loadIndex: partialLoader.bind(null, $q),
- };
- }
-
- // Heavily modified version of my gs-loader script
- var partialLoader = (function () {
- var jsonpcount = 0;
- var sheets = {};
-
- // Get AJAX using jsonp
- function getSheetsJsonp($q, url) {
- var callbackName = "__jsonpcallback" + jsonpcount++;
-
- var deferred = $q.defer();
-
- window[callbackName] = function jsonpCallback(data) {
- var timestamp = data.feed.updated.$t;
- deferred.resolve({
- timestamp: timestamp,
- data: data.feed.entry
- });
- delete window[callbackName];
- };
-
- var script = document.createElement("script");
- script.src = url + "?alt=json-in-script&callback=" + callbackName;
- script.addEventListener("load", function () {
- this.parentNode.removeChild(this);
- }, false);
-
- document.head.appendChild(script);
-
- return deferred.promise;
- }
-
- function parseLine(ws, data) {
- data.forEach(function (line) {
- var parsedObject = {};
- Object.keys(line).forEach(function (key) {
- var val = line[key].$t;
-
- if ( !val ) { return; }
-
- // The fields that contain the cell values are named "gsx$colName"
- var match = key.match(/^gsx\$(.+)/);
-
- if ( !match ) { return; }
-
- var col = match[1];
-
- parsedObject[col] = val;
-
- });
- ws.push(parsedObject);
- });
- }
-
- function loadIndex($q, id) {
- var url = "https://spreadsheets.google.com/feeds/worksheets/" + id + "/public/full";
-
- // Step 1: Get a list of all the worksheets in the spreadsheet
- return getSheetsJsonp($q, url)
- .then(function (indexData) {
- return {
- timestamp: indexData.timestamp,
- loadSheets: loadSheets.bind(null, $q, indexData.data),
- };
- });
- }
-
- function loadSheets($q, indexData) {
- var worksheetPromises = [];
- var worksheets = {};
-
- indexData.forEach(function (worksheet) {
- var name = worksheet.title.$t;
- var ws = worksheets[name] = [];
-
- // Step 2: For each worksheet, parse its listfeed
- worksheet.link.some(function (link) {
- if ( link.rel.match(/listfeed/) ) {
- worksheetPromises.push(
- getSheetsJsonp($q, link.href)
- .then(function (sheetData) {
- // Don't care about timestamp of individual sheets
- return sheetData.data;
- })
- .then(parseLine.bind(null, ws))
- );
- return true;
- }
- });
- });
-
- return $q.all(worksheetPromises)
- .then(function () {
- return worksheets;
- });
- }
-
- // Cache results for each id
- function load($q, id, args) {
- args = args || {};
- if ( args.noCache ) {
- delete sheets[id];
- }
-
- sheets[id] = sheets[id] || loadIndex($q, id);
-
- return sheets[id];
- }
-
- return load;
- }());
-})();
-
-(function() {
-"use strict";
-
-angular.module("app").factory("sheetManager", sheetManager);
-
-var sheetMetaData = {
- "1I5W-x8QOcP2siGCPIhWWzKGWt4vyBivYLbmkv_G1B24": { name: "Official", timestamp: 0 },
- "1YR8NBDp8BP4Lz-CWChh6-8dOPN7aYV_dRD6g9ZBvNqM": { name: "Third-Party", timestamp: 0 },
- "1x6xC8fHZ6N6M2wOuwPTNdn0ObCPtdqeIBtXaLjHBMYQ": { name: "Community", timestamp: 0 },
-};
-var remove = ["19ngAA7d1eYKiBtKTsg8Qcsq_zhDSBzEMxXS45eCdd7I"];
-var sheetMetaStorageKey = "5em-sheet-meta";
-var sheetCachePartialKey = "5em-sheet-cache";
-var legacySheetDataKey = "5em-custom-content";
-var logging = false;
-
-function generateCacheId(sheetId) {
- return [sheetCachePartialKey, sheetId].join(":");
-}
-
-function loadFromCache(args) {
- if (logging) console.log("Loading from cache");
- var store = args.store;
- var sheetId = args.sheetId;
- var cacheId = generateCacheId(sheetId);
-
- return store.get(cacheId);
-}
-
-function loadLive(args) {
- if (logging) console.log("Loading live");
- var store = args.store;
- var sheetId = args.sheetId;
- var googleSheetLoader = args.googleSheetLoader;
- var timestamp = args.timestamp;
-
- return googleSheetLoader.loadIndex(sheetId)
- .then(function (sheetIndex) {
- var remoteTimestamp = Date.parse(sheetIndex.timestamp);
- if (logging) console.log("Loaded sheetIndex, remote timestamp:", remoteTimestamp);
-
- if ( remoteTimestamp > timestamp ) {
- if (logging) console.log("We're out of date", timestamp);
- // We're out of date, load remotely
- return sheetIndex.loadSheets()
- .then(function (sheetData) {
- if (logging) console.log("Sheet data loaded", sheetData);
- updateTimestamp({
- store: store,
- sheetId: sheetId,
- timestamp: remoteTimestamp,
- });
-
- var cacheId = generateCacheId(sheetId);
- store.set(cacheId, sheetData);
- return sheetData;
- });
- } else {
- if (logging) console.log("We're fresh", timestamp);
- // Our data are fresh, load from cache
- return loadFromCache({
- store: store,
- sheetId: sheetId,
- });
- }
- })
- .catch(function () {
- if (logging) console.log("There was an error live loading");
- return loadFromCache({
- store: store,
- sheetId: sheetId,
- });
- })
- ;
-}
-
-function updateTimestamp(args) {
- var store = args.store;
- var sheetId = args.sheetId;
- var timestamp = args.timestamp;
-
- sheetMetaData[sheetId].timestamp = timestamp;
- saveMetaData(store);
-}
-
-function insertSheet(args) {
- var sheetId = args.sheetId;
- var store = args.store;
- var googleSheetLoader = args.googleSheetLoader;
- var monsters = args.monsters;
- var custom = args.custom;
- var name = args.name;
-
- if (logging) console.log("Processing sheet", args);
- var sheetPromise;
- if ( !sheetMetaData[sheetId] ) {
- sheetMetaData[sheetId] = {
- name: name,
- timestamp: 0,
- custom: custom,
- };
- saveMetaData(store);
- }
- var timestamp = sheetMetaData[sheetId].timestamp;
-
- if ( navigator.onLine ) {
- if (logging) console.log("We're online");
- sheetPromise = loadLive({
- store: store,
- sheetId: sheetId,
- googleSheetLoader: googleSheetLoader,
- timestamp: timestamp,
- });
- } else {
- if (logging) console.log("We're offline");
- sheetPromise = loadFromCache({
- store: store,
- sheetId: sheetId,
- });
- }
-
- sheetPromise.then(function (sheets) {
- if (logging) console.log("Got sheets!", sheets);
- monsters.loadSheet({
- sheets: sheets,
- sheetId: sheetId,
- custom: custom,
- });
- });
-}
-
-function saveMetaData(store) {
- if (logging) console.log("Storing sheetMetaData", sheetMetaData);
- store.set(sheetMetaStorageKey, sheetMetaData);
-}
-
-sheetManager.$inject = ["$q", "googleSheetLoader", "monsters", "store"];
-function sheetManager($q, googleSheetLoader, monsters, store) {
- $q.all([
- store.get(sheetMetaStorageKey).catch(function () { return null; }),
- store.get(legacySheetDataKey).catch(function () { return []; }),
- ])
- .then(function (stored) {
- var cachedMetaData = stored[0];
- var legacySheetData = stored[1];
- // sheetMetaData is initialized to default values; if we have cached data, overwrite the
- // defaults
- if ( cachedMetaData ) {
- // integrate in all the default IDs in case any are new since last time metadata were cached
- Object.keys(sheetMetaData).forEach(function (sheetId) {
- if ( !cachedMetaData[sheetId] ) {
- cachedMetaData[sheetId] = sheetMetaData[sheetId];
- }
- });
- sheetMetaData = cachedMetaData;
- }
-
- // For compatibility reasons, may need to remove access to some sheets
- remove.forEach(function (sheetId) {
- delete sheetMetaData[sheetId];
- });
-
- // Integrate legacy data into the sheetMetaData
- (legacySheetData || []).forEach(function (legacyData) {
- sheetMetaData[legacyData.id] = {
- name: legacyData.name,
- timestamp: 0,
- custom: true,
- };
- });
-
- // Clear out legacy data now that they've been integrated
- store.set(legacySheetDataKey, []);
-
- // Finally, parse the sheets!
- Object.keys(sheetMetaData).forEach(function (sheetId) {
- var timestamp = sheetMetaData[sheetId].timestamp;
- var custom = sheetMetaData[sheetId].custom;
- // If it's a custom sheet and it's never been loaded before, enable it by default
- var enbleByDefault = custom && !timestamp;
-
- insertSheet({
- sheetId: sheetId,
- store: store,
- googleSheetLoader: googleSheetLoader,
- monsters: monsters,
- custom: enbleByDefault,
- });
- });
- });
-
- return {
- addContent: function (name, url) {
- if ( !name || !url ) {
- console.log("No name or URL");
- return;
- }
-
- var idMatch = url.match(/\b([-a-z0-9_]{44})\b/i);
-
- if ( !idMatch ) {
- console.log("No id");
- return;
- }
-
- var id = idMatch[1];
-
- if ( sheetMetaData[id] ) {
- console.log("Duplicate ID");
- return;
- }
-
- insertSheet({
- sheetId: id,
- name: name,
- custom: true,
- store: store,
- googleSheetLoader: googleSheetLoader,
- monsters: monsters,
- });
-
- return true;
- },
- getSheetMetaData: function () {
- return sheetMetaData;
- },
- removeContent: function (id) {
- if ( !sheetMetaData[id] ) {
- return;
- }
-
- delete sheetMetaData[id];
- saveMetaData(store);
- monsters.removeSheet(id);
- },
- };
-}
-}());
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory('sources', SourcesService);
-
- SourcesService.$inject = ["misc"];
-
- function SourcesService(misc) {
- return {
- all: misc.sources,
- filters: misc.sourceFilters,
- shortNames: misc.shortNames,
- sourcesByType: misc.sourcesByType,
- };
- }
-})();
-
-(function() {
- "use strict";
-
- angular.module("app")
- .factory("store", StoreService);
-
- StoreService.$inject = ['$q', 'localStorageService'];
-
- function StoreService($q, localStorageService) {
- var store = {
- get: function (key) {
- return $q(function(resolve, reject) {
- var data;
-
- try {
- data = localStorageService.get(key);
- resolve(data);
- } catch (ex) {
- data = undefined;
- reject("Unable to parse stored value for " + key);
- }
- });
- },
- set: function (key, data) {
- localStorageService.set(key, data);
- },
- remove: function (key) {
- return localStorageService.remove(key);
- },
- hasKey: function (key) {
- return _.indexOf(localStorageService.keys(), key) >= 0;
- }
- };
-
- return store;
- };
-})();
-
-(function() {
- 'use strict';
-
- angular.module("app")
- .controller('TestController', TestController);
-
- TestController.$inject = ['misc', 'AppVersion', 'combatConstants',
- 'sources',
- 'store',
- 'shuffle',
- 'players',
- 'library',
- 'actionQueue',
- 'crInfo',
- 'alignments',
- 'monsterFactory',
- 'metaInfo',
- 'monsterData',
- 'randomEncounter',
- 'encounter',
- 'filters'
- ];
-
- function TestController(miscLib, appVersion) {
- var vm = this;
- vm.appVersion = appVersion;
- }
-})();
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .factory('logger', logger);
-
- logger.$inject = ['$log'];
-
- /* @ngInject */
- function logger($log) {
- var service = {
- error: error,
- info: info,
- success: success,
- warning: warning,
-
- // straight to console; bypass toastr
- log: $log.log
- };
-
- return service;
- /////////////////////
-
- function error(message, data, title) {
- $log.error('Error: ' + message, data);
- }
-
- function info(message, data, title) {
- $log.info('Info: ' + message, data);
- }
-
- function success(message, data, title) {
- $log.info('Success: ' + message, data);
- }
-
- function warning(message, data, title) {
- $log.warn('Warning: ' + message, data);
- }
- }
-} ());
-
-/* Help configure the state-base ui.router */
-(function() {
- 'use strict';
-
- angular
- .module('app')
- .provider('routerHelper', routerHelperProvider);
-
- routerHelperProvider.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider'];
- /* @ngInject */
- function routerHelperProvider($locationProvider, $stateProvider, $urlRouterProvider) {
- /* jshint validthis:true */
- this.$get = RouterHelper;
-
- //$locationProvider.html5Mode(true);
-
- RouterHelper.$inject = ['$state'];
-
- /* @ngInject */
- function RouterHelper($state) {
- var hasOtherwise = false;
-
- var service = {
- configureStates: configureStates,
- getStates: getStates
- };
-
- return service;
-
- ///////////////
-
- function configureStates(states, otherwisePath) {
- states.forEach(function(state) {
- $stateProvider.state(state.state, state.config);
- });
- if (otherwisePath && !hasOtherwise) {
- hasOtherwise = true;
- $urlRouterProvider.otherwise(otherwisePath);
- }
- }
-
- function getStates() { return $state.get(); }
- }
- }
-})();
-
-(function () {
- "use strict";
-
- angular.module("app")
- .factory('shuffle', Shuffle);
-
- // via http://bost.ocks.org/mike/shuffle/
-
- function Shuffle() {
- return function (array) {
- var m = array.length, t, i;
-
- while (m) {
- i = Math.floor(Math.random() * m--);
-
- t = array[m];
- array[m] = array[i];
- array[i] = t;
- }
-
- return array;
- };
- }
-})();
-
-angular.module('app').run(['$templateCache', function($templateCache) {$templateCache.put('app/test.html','This is version {{vm.appVersion}}
');
-$templateCache.put('app/about/about.html','');
-$templateCache.put('app/battle-setup/battle-setup.html','Fight! Run in Improved Initiative
');
-$templateCache.put('app/battle-setup/combatant-setup.html',' Initiative Mod: + {{ vm.combatant.initiativeMod }} (A) Initiative: Roll {{ vm.combatant.initiative }} HP:{{ vm.combatant.hp - vm.combatant.damage }} / {{ vm.combatant.hp }}
');
-$templateCache.put('app/battle-tracker/battle-tracker.html','Next turn
');
-$templateCache.put('app/battle-tracker/combatant.html','{{ vm.combatant.name }} Initiative: {{ vm.combatant.initiative }} HP: {{ vm.combatant.hp - vm.combatant.damage }} / {{ vm.combatant.hp }} Damage {{ vm.combat.delta }} Heal {{ vm.combat.delta }}
');
-$templateCache.put('app/common/difficulty-legend.html','Legend Deadly: One of these is a deadly challenge Hard: One of these is a hard challenge Medium: One of these is a medium challenge Easy: One of these is an easy challenge Pair: Two of these is a medium challenge Group: Four of these is a medium challenge Trivial: Eight or more of these is a medium challenge ');
-$templateCache.put('app/common/number-input.html','{{ mod }} {{ vm.value }} +{{ mod }} ');
-$templateCache.put('app/encounter-builder/current-encounter.html','Encounter Info Random Encounter Table {{vm.randomButtonText()}} Toggle Dropdown
Create an encounter by clicking the Random encounter button or by adding monsters from the monsters table.
{{ group.monster.name }} CR: {{ group.monster.cr.string }} XP: {{ group.monster.cr.exp | number}} {{ source.name }}
p.{{ source.page }} [Link] Difficulty: {{ vm.encounter.difficulty }}
Total XP: {{ vm.encounter.exp | number }} ({{ (vm.encounter.exp / vm.partyInfo.totalPlayerCount) | number:0 }} per player) Adjusted XP: {{ vm.encounter.adjustedExp | number }} ({{ (vm.encounter.adjustedExp / vm.partyInfo.totalPlayerCount) | number:0 }} per player)
New Save Run in Improved Initiative
');
-$templateCache.put('app/encounter-builder/encounter-builder.html','{{ vm.getMonsterQtyString() }}, {{ vm.encounter.exp }} exp ({{ vm.encounter.difficulty }}) Browse monsters Manage encounter
');
-$templateCache.put('app/encounter-builder/group-info.html','Easy: {{ vm.partyInfo.totalPartyExpLevels.easy | number }} exp Medium: {{ vm.partyInfo.totalPartyExpLevels.medium | number }} exp Hard: {{ vm.partyInfo.totalPartyExpLevels.hard | number }} exp Deadly: {{ vm.partyInfo.totalPartyExpLevels.deadly | number }} exp Daily Budget: {{ vm.partyInfo.totalPartyExpLevels.budget | number }} exp ');
-$templateCache.put('app/encounter-builder/monster-table.html','Name CR Size Type Alignment Source {{ vm.monsters | countHiddenMonstersFilter:vm.filters }} monsters hidden by filters or in unselected sources {{ monster.name }}
Section: {{ monster.section }}
CR {{ monster.cr.string }}Size: {{ monster.size }}Type: {{ monster.type }} ({{ monster.tags.join(", ") }}) Alignment: {{ monster.alignment.text }}Source(s): {{ vm.sources.shortNames[source.name] }} {{ source.name }} p.{{ source.page }} [Link]
');
-$templateCache.put('app/encounter-builder/party-level-selector.html','Players:
Level:
');
-$templateCache.put('app/encounter-builder/search.html','');
-$templateCache.put('app/encounter-manager/encounter-manager.html','You don\'t have any encounters saved. Return to encounter builder
Encounters
Random Encounter Tables
');
-$templateCache.put('app/encounter-manager/manager-row.html','{{ vm.storedEncounter.name }}
Exp: {{ vm.calculateExp(vm.storedEncounter) }}
Choose Remove Active {{ qty }}x {{ vm.monsters.byId[id].name }}
');
-$templateCache.put('app/navbar/navbar.html',' ');
-$templateCache.put('app/players/edit.html','One character per line. Blank line to separate different parties. Add an exclamation point (!) to an initiative modifier to indicate advantage. Format:<CHARACTER NAME> <INITIATIVE MOD> <MAX HP> <CHARACTER NAME> <INITIATIVE MOD> <CURRENT HP> / <MAX HP>
');
-$templateCache.put('app/players/manage.html','Select this party Selected {{ player.name }} Initiative: + {{ player.initiativeMod }} (Adv) HP: {{ player.hp - player.damage }} / {{ player.hp }}
');
-$templateCache.put('app/players/players.html','Manage Edit
');}]);
\ No newline at end of file
diff --git a/build/styles/styles-4508b73e9d.css b/build/styles/styles-4508b73e9d.css
deleted file mode 100644
index e060c9d6..00000000
--- a/build/styles/styles-4508b73e9d.css
+++ /dev/null
@@ -1,7963 +0,0 @@
-@charset "UTF-8";
-* {
- padding: 0;
- margin: 0;
- font-family: 'Open Sans', sans-serif; }
-
-body {
- padding-top: 70px; }
-
-table {
- border-collapse: collapse; }
-
-td {
- vertical-align: top; }
-
-ul {
- list-style-type: none; }
-
-input[type=number] {
- /* Remove controls from Firefox */
- -moz-appearance: textfield;
- /* Remove controls from Safari and Chrome */ }
- input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
- -webkit-appearance: none;
- margin: 0;
- /* Removes leftover margin */ }
-
-/*!
- * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */
-/* FONT PATH
- * -------------------------- */
-@font-face {
- font-family: 'FontAwesome';
- src: url("../thirdparty/font-awesome-4.1.0/fonts/fontawesome-webfont.eot?v=4.1.0");
- src: url("../thirdparty/font-awesome-4.1.0/fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"), url("../thirdparty/font-awesome-4.1.0/fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"), url("../thirdparty/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"), url("../thirdparty/font-awesome-4.1.0/fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");
- font-weight: normal;
- font-style: normal; }
-
-.fa {
- display: inline-block;
- font-family: FontAwesome;
- font-style: normal;
- font-weight: normal;
- line-height: 1;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale; }
-
-/* makes the font 33% larger relative to the icon container */
-.fa-lg {
- font-size: 1.33333em;
- line-height: 0.75em;
- vertical-align: -15%; }
-
-.fa-2x {
- font-size: 2em; }
-
-.fa-3x {
- font-size: 3em; }
-
-.fa-4x {
- font-size: 4em; }
-
-.fa-5x {
- font-size: 5em; }
-
-.fa-fw {
- width: 1.28571em;
- text-align: center; }
-
-.fa-ul {
- padding-left: 0;
- margin-left: 2.14286em;
- list-style-type: none; }
- .fa-ul > li {
- position: relative; }
-
-.fa-li {
- position: absolute;
- left: -2.14286em;
- width: 2.14286em;
- top: 0.14286em;
- text-align: center; }
- .fa-li.fa-lg {
- left: -1.85714em; }
-
-.fa-border {
- padding: .2em .25em .15em;
- border: solid 0.08em #eee;
- border-radius: .1em; }
-
-.pull-right {
- float: right; }
-
-.pull-left {
- float: left; }
-
-.fa.pull-left {
- margin-right: .3em; }
-
-.fa.pull-right {
- margin-left: .3em; }
-
-.fa-spin {
- -webkit-animation: spin 2s infinite linear;
- -moz-animation: spin 2s infinite linear;
- -o-animation: spin 2s infinite linear;
- animation: spin 2s infinite linear; }
-
-@-moz-keyframes spin {
- 0% {
- -moz-transform: rotate(0deg); }
- 100% {
- -moz-transform: rotate(359deg); } }
-
-@-webkit-keyframes spin {
- 0% {
- -webkit-transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(359deg); } }
-
-@-o-keyframes spin {
- 0% {
- -o-transform: rotate(0deg); }
- 100% {
- -o-transform: rotate(359deg); } }
-
-@keyframes spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(359deg);
- transform: rotate(359deg); } }
-
-.fa-rotate-90 {
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- -o-transform: rotate(90deg);
- transform: rotate(90deg); }
-
-.fa-rotate-180 {
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
- -webkit-transform: rotate(180deg);
- -moz-transform: rotate(180deg);
- -ms-transform: rotate(180deg);
- -o-transform: rotate(180deg);
- transform: rotate(180deg); }
-
-.fa-rotate-270 {
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
- -webkit-transform: rotate(270deg);
- -moz-transform: rotate(270deg);
- -ms-transform: rotate(270deg);
- -o-transform: rotate(270deg);
- transform: rotate(270deg); }
-
-.fa-flip-horizontal {
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
- -webkit-transform: scale(-1, 1);
- -moz-transform: scale(-1, 1);
- -ms-transform: scale(-1, 1);
- -o-transform: scale(-1, 1);
- transform: scale(-1, 1); }
-
-.fa-flip-vertical {
- filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
- -webkit-transform: scale(1, -1);
- -moz-transform: scale(1, -1);
- -ms-transform: scale(1, -1);
- -o-transform: scale(1, -1);
- transform: scale(1, -1); }
-
-.fa-stack {
- position: relative;
- display: inline-block;
- width: 2em;
- height: 2em;
- line-height: 2em;
- vertical-align: middle; }
-
-.fa-stack-1x, .fa-stack-2x {
- position: absolute;
- left: 0;
- width: 100%;
- text-align: center; }
-
-.fa-stack-1x {
- line-height: inherit; }
-
-.fa-stack-2x {
- font-size: 2em; }
-
-.fa-inverse {
- color: #fff; }
-
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
- readers do not read off random characters that represent icons */
-.fa-glass:before {
- content: ""; }
-
-.fa-music:before {
- content: ""; }
-
-.fa-search:before {
- content: ""; }
-
-.fa-envelope-o:before {
- content: ""; }
-
-.fa-heart:before {
- content: ""; }
-
-.fa-star:before {
- content: ""; }
-
-.fa-star-o:before {
- content: ""; }
-
-.fa-user:before {
- content: ""; }
-
-.fa-film:before {
- content: ""; }
-
-.fa-th-large:before {
- content: ""; }
-
-.fa-th:before {
- content: ""; }
-
-.fa-th-list:before {
- content: ""; }
-
-.fa-check:before {
- content: ""; }
-
-.fa-times:before {
- content: ""; }
-
-.fa-search-plus:before {
- content: ""; }
-
-.fa-search-minus:before {
- content: ""; }
-
-.fa-power-off:before {
- content: ""; }
-
-.fa-signal:before {
- content: ""; }
-
-.fa-gear:before,
-.fa-cog:before {
- content: ""; }
-
-.fa-trash-o:before {
- content: ""; }
-
-.fa-home:before {
- content: ""; }
-
-.fa-file-o:before {
- content: ""; }
-
-.fa-clock-o:before {
- content: ""; }
-
-.fa-road:before {
- content: ""; }
-
-.fa-download:before {
- content: ""; }
-
-.fa-arrow-circle-o-down:before {
- content: ""; }
-
-.fa-arrow-circle-o-up:before {
- content: ""; }
-
-.fa-inbox:before {
- content: ""; }
-
-.fa-play-circle-o:before {
- content: ""; }
-
-.fa-rotate-right:before,
-.fa-repeat:before {
- content: ""; }
-
-.fa-refresh:before {
- content: ""; }
-
-.fa-list-alt:before {
- content: ""; }
-
-.fa-lock:before {
- content: ""; }
-
-.fa-flag:before {
- content: ""; }
-
-.fa-headphones:before {
- content: ""; }
-
-.fa-volume-off:before {
- content: ""; }
-
-.fa-volume-down:before {
- content: ""; }
-
-.fa-volume-up:before {
- content: ""; }
-
-.fa-qrcode:before {
- content: ""; }
-
-.fa-barcode:before {
- content: ""; }
-
-.fa-tag:before {
- content: ""; }
-
-.fa-tags:before {
- content: ""; }
-
-.fa-book:before {
- content: ""; }
-
-.fa-bookmark:before {
- content: ""; }
-
-.fa-print:before {
- content: ""; }
-
-.fa-camera:before {
- content: ""; }
-
-.fa-font:before {
- content: ""; }
-
-.fa-bold:before {
- content: ""; }
-
-.fa-italic:before {
- content: ""; }
-
-.fa-text-height:before {
- content: ""; }
-
-.fa-text-width:before {
- content: ""; }
-
-.fa-align-left:before {
- content: ""; }
-
-.fa-align-center:before {
- content: ""; }
-
-.fa-align-right:before {
- content: ""; }
-
-.fa-align-justify:before {
- content: ""; }
-
-.fa-list:before {
- content: ""; }
-
-.fa-dedent:before,
-.fa-outdent:before {
- content: ""; }
-
-.fa-indent:before {
- content: ""; }
-
-.fa-video-camera:before {
- content: ""; }
-
-.fa-photo:before,
-.fa-image:before,
-.fa-picture-o:before {
- content: ""; }
-
-.fa-pencil:before {
- content: ""; }
-
-.fa-map-marker:before {
- content: ""; }
-
-.fa-adjust:before {
- content: ""; }
-
-.fa-tint:before {
- content: ""; }
-
-.fa-edit:before,
-.fa-pencil-square-o:before {
- content: ""; }
-
-.fa-share-square-o:before {
- content: ""; }
-
-.fa-check-square-o:before {
- content: ""; }
-
-.fa-arrows:before {
- content: ""; }
-
-.fa-step-backward:before {
- content: ""; }
-
-.fa-fast-backward:before {
- content: ""; }
-
-.fa-backward:before {
- content: ""; }
-
-.fa-play:before {
- content: ""; }
-
-.fa-pause:before {
- content: ""; }
-
-.fa-stop:before {
- content: ""; }
-
-.fa-forward:before {
- content: ""; }
-
-.fa-fast-forward:before {
- content: ""; }
-
-.fa-step-forward:before {
- content: ""; }
-
-.fa-eject:before {
- content: ""; }
-
-.fa-chevron-left:before {
- content: ""; }
-
-.fa-chevron-right:before {
- content: ""; }
-
-.fa-plus-circle:before {
- content: ""; }
-
-.fa-minus-circle:before {
- content: ""; }
-
-.fa-times-circle:before {
- content: ""; }
-
-.fa-check-circle:before {
- content: ""; }
-
-.fa-question-circle:before {
- content: ""; }
-
-.fa-info-circle:before {
- content: ""; }
-
-.fa-crosshairs:before {
- content: ""; }
-
-.fa-times-circle-o:before {
- content: ""; }
-
-.fa-check-circle-o:before {
- content: ""; }
-
-.fa-ban:before {
- content: ""; }
-
-.fa-arrow-left:before {
- content: ""; }
-
-.fa-arrow-right:before {
- content: ""; }
-
-.fa-arrow-up:before {
- content: ""; }
-
-.fa-arrow-down:before {
- content: ""; }
-
-.fa-mail-forward:before,
-.fa-share:before {
- content: ""; }
-
-.fa-expand:before {
- content: ""; }
-
-.fa-compress:before {
- content: ""; }
-
-.fa-plus:before {
- content: ""; }
-
-.fa-minus:before {
- content: ""; }
-
-.fa-asterisk:before {
- content: ""; }
-
-.fa-exclamation-circle:before {
- content: ""; }
-
-.fa-gift:before {
- content: ""; }
-
-.fa-leaf:before {
- content: ""; }
-
-.fa-fire:before {
- content: ""; }
-
-.fa-eye:before {
- content: ""; }
-
-.fa-eye-slash:before {
- content: ""; }
-
-.fa-warning:before,
-.fa-exclamation-triangle:before {
- content: ""; }
-
-.fa-plane:before {
- content: ""; }
-
-.fa-calendar:before {
- content: ""; }
-
-.fa-random:before {
- content: ""; }
-
-.fa-comment:before {
- content: ""; }
-
-.fa-magnet:before {
- content: ""; }
-
-.fa-chevron-up:before {
- content: ""; }
-
-.fa-chevron-down:before {
- content: ""; }
-
-.fa-retweet:before {
- content: ""; }
-
-.fa-shopping-cart:before {
- content: ""; }
-
-.fa-folder:before {
- content: ""; }
-
-.fa-folder-open:before {
- content: ""; }
-
-.fa-arrows-v:before {
- content: ""; }
-
-.fa-arrows-h:before {
- content: ""; }
-
-.fa-bar-chart-o:before {
- content: ""; }
-
-.fa-twitter-square:before {
- content: ""; }
-
-.fa-facebook-square:before {
- content: ""; }
-
-.fa-camera-retro:before {
- content: ""; }
-
-.fa-key:before {
- content: ""; }
-
-.fa-gears:before,
-.fa-cogs:before {
- content: ""; }
-
-.fa-comments:before {
- content: ""; }
-
-.fa-thumbs-o-up:before {
- content: ""; }
-
-.fa-thumbs-o-down:before {
- content: ""; }
-
-.fa-star-half:before {
- content: ""; }
-
-.fa-heart-o:before {
- content: ""; }
-
-.fa-sign-out:before {
- content: ""; }
-
-.fa-linkedin-square:before {
- content: ""; }
-
-.fa-thumb-tack:before {
- content: ""; }
-
-.fa-external-link:before {
- content: ""; }
-
-.fa-sign-in:before {
- content: ""; }
-
-.fa-trophy:before {
- content: ""; }
-
-.fa-github-square:before {
- content: ""; }
-
-.fa-upload:before {
- content: ""; }
-
-.fa-lemon-o:before {
- content: ""; }
-
-.fa-phone:before {
- content: ""; }
-
-.fa-square-o:before {
- content: ""; }
-
-.fa-bookmark-o:before {
- content: ""; }
-
-.fa-phone-square:before {
- content: ""; }
-
-.fa-twitter:before {
- content: ""; }
-
-.fa-facebook:before {
- content: ""; }
-
-.fa-github:before {
- content: ""; }
-
-.fa-unlock:before {
- content: ""; }
-
-.fa-credit-card:before {
- content: ""; }
-
-.fa-rss:before {
- content: ""; }
-
-.fa-hdd-o:before {
- content: ""; }
-
-.fa-bullhorn:before {
- content: ""; }
-
-.fa-bell:before {
- content: ""; }
-
-.fa-certificate:before {
- content: ""; }
-
-.fa-hand-o-right:before {
- content: ""; }
-
-.fa-hand-o-left:before {
- content: ""; }
-
-.fa-hand-o-up:before {
- content: ""; }
-
-.fa-hand-o-down:before {
- content: ""; }
-
-.fa-arrow-circle-left:before {
- content: ""; }
-
-.fa-arrow-circle-right:before {
- content: ""; }
-
-.fa-arrow-circle-up:before {
- content: ""; }
-
-.fa-arrow-circle-down:before {
- content: ""; }
-
-.fa-globe:before {
- content: ""; }
-
-.fa-wrench:before {
- content: ""; }
-
-.fa-tasks:before {
- content: ""; }
-
-.fa-filter:before {
- content: ""; }
-
-.fa-briefcase:before {
- content: ""; }
-
-.fa-arrows-alt:before {
- content: ""; }
-
-.fa-group:before,
-.fa-users:before {
- content: ""; }
-
-.fa-chain:before,
-.fa-link:before {
- content: ""; }
-
-.fa-cloud:before {
- content: ""; }
-
-.fa-flask:before {
- content: ""; }
-
-.fa-cut:before,
-.fa-scissors:before {
- content: ""; }
-
-.fa-copy:before,
-.fa-files-o:before {
- content: ""; }
-
-.fa-paperclip:before {
- content: ""; }
-
-.fa-save:before,
-.fa-floppy-o:before {
- content: ""; }
-
-.fa-square:before {
- content: ""; }
-
-.fa-navicon:before,
-.fa-reorder:before,
-.fa-bars:before {
- content: ""; }
-
-.fa-list-ul:before {
- content: ""; }
-
-.fa-list-ol:before {
- content: ""; }
-
-.fa-strikethrough:before {
- content: ""; }
-
-.fa-underline:before {
- content: ""; }
-
-.fa-table:before {
- content: ""; }
-
-.fa-magic:before {
- content: ""; }
-
-.fa-truck:before {
- content: ""; }
-
-.fa-pinterest:before {
- content: ""; }
-
-.fa-pinterest-square:before {
- content: ""; }
-
-.fa-google-plus-square:before {
- content: ""; }
-
-.fa-google-plus:before {
- content: ""; }
-
-.fa-money:before {
- content: ""; }
-
-.fa-caret-down:before {
- content: ""; }
-
-.fa-caret-up:before {
- content: ""; }
-
-.fa-caret-left:before {
- content: ""; }
-
-.fa-caret-right:before {
- content: ""; }
-
-.fa-columns:before {
- content: ""; }
-
-.fa-unsorted:before,
-.fa-sort:before {
- content: ""; }
-
-.fa-sort-down:before,
-.fa-sort-desc:before {
- content: ""; }
-
-.fa-sort-up:before,
-.fa-sort-asc:before {
- content: ""; }
-
-.fa-envelope:before {
- content: ""; }
-
-.fa-linkedin:before {
- content: ""; }
-
-.fa-rotate-left:before,
-.fa-undo:before {
- content: ""; }
-
-.fa-legal:before,
-.fa-gavel:before {
- content: ""; }
-
-.fa-dashboard:before,
-.fa-tachometer:before {
- content: ""; }
-
-.fa-comment-o:before {
- content: ""; }
-
-.fa-comments-o:before {
- content: ""; }
-
-.fa-flash:before,
-.fa-bolt:before {
- content: ""; }
-
-.fa-sitemap:before {
- content: ""; }
-
-.fa-umbrella:before {
- content: ""; }
-
-.fa-paste:before,
-.fa-clipboard:before {
- content: ""; }
-
-.fa-lightbulb-o:before {
- content: ""; }
-
-.fa-exchange:before {
- content: ""; }
-
-.fa-cloud-download:before {
- content: ""; }
-
-.fa-cloud-upload:before {
- content: ""; }
-
-.fa-user-md:before {
- content: ""; }
-
-.fa-stethoscope:before {
- content: ""; }
-
-.fa-suitcase:before {
- content: ""; }
-
-.fa-bell-o:before {
- content: ""; }
-
-.fa-coffee:before {
- content: ""; }
-
-.fa-cutlery:before {
- content: ""; }
-
-.fa-file-text-o:before {
- content: ""; }
-
-.fa-building-o:before {
- content: ""; }
-
-.fa-hospital-o:before {
- content: ""; }
-
-.fa-ambulance:before {
- content: ""; }
-
-.fa-medkit:before {
- content: ""; }
-
-.fa-fighter-jet:before {
- content: ""; }
-
-.fa-beer:before {
- content: ""; }
-
-.fa-h-square:before {
- content: ""; }
-
-.fa-plus-square:before {
- content: ""; }
-
-.fa-angle-double-left:before {
- content: ""; }
-
-.fa-angle-double-right:before {
- content: ""; }
-
-.fa-angle-double-up:before {
- content: ""; }
-
-.fa-angle-double-down:before {
- content: ""; }
-
-.fa-angle-left:before {
- content: ""; }
-
-.fa-angle-right:before {
- content: ""; }
-
-.fa-angle-up:before {
- content: ""; }
-
-.fa-angle-down:before {
- content: ""; }
-
-.fa-desktop:before {
- content: ""; }
-
-.fa-laptop:before {
- content: ""; }
-
-.fa-tablet:before {
- content: ""; }
-
-.fa-mobile-phone:before,
-.fa-mobile:before {
- content: ""; }
-
-.fa-circle-o:before {
- content: ""; }
-
-.fa-quote-left:before {
- content: ""; }
-
-.fa-quote-right:before {
- content: ""; }
-
-.fa-spinner:before {
- content: ""; }
-
-.fa-circle:before {
- content: ""; }
-
-.fa-mail-reply:before,
-.fa-reply:before {
- content: ""; }
-
-.fa-github-alt:before {
- content: ""; }
-
-.fa-folder-o:before {
- content: ""; }
-
-.fa-folder-open-o:before {
- content: ""; }
-
-.fa-smile-o:before {
- content: ""; }
-
-.fa-frown-o:before {
- content: ""; }
-
-.fa-meh-o:before {
- content: ""; }
-
-.fa-gamepad:before {
- content: ""; }
-
-.fa-keyboard-o:before {
- content: ""; }
-
-.fa-flag-o:before {
- content: ""; }
-
-.fa-flag-checkered:before {
- content: ""; }
-
-.fa-terminal:before {
- content: ""; }
-
-.fa-code:before {
- content: ""; }
-
-.fa-mail-reply-all:before,
-.fa-reply-all:before {
- content: ""; }
-
-.fa-star-half-empty:before,
-.fa-star-half-full:before,
-.fa-star-half-o:before {
- content: ""; }
-
-.fa-location-arrow:before {
- content: ""; }
-
-.fa-crop:before {
- content: ""; }
-
-.fa-code-fork:before {
- content: ""; }
-
-.fa-unlink:before,
-.fa-chain-broken:before {
- content: ""; }
-
-.fa-question:before {
- content: ""; }
-
-.fa-info:before {
- content: ""; }
-
-.fa-exclamation:before {
- content: ""; }
-
-.fa-superscript:before {
- content: ""; }
-
-.fa-subscript:before {
- content: ""; }
-
-.fa-eraser:before {
- content: ""; }
-
-.fa-puzzle-piece:before {
- content: ""; }
-
-.fa-microphone:before {
- content: ""; }
-
-.fa-microphone-slash:before {
- content: ""; }
-
-.fa-shield:before {
- content: ""; }
-
-.fa-calendar-o:before {
- content: ""; }
-
-.fa-fire-extinguisher:before {
- content: ""; }
-
-.fa-rocket:before {
- content: ""; }
-
-.fa-maxcdn:before {
- content: ""; }
-
-.fa-chevron-circle-left:before {
- content: ""; }
-
-.fa-chevron-circle-right:before {
- content: ""; }
-
-.fa-chevron-circle-up:before {
- content: ""; }
-
-.fa-chevron-circle-down:before {
- content: ""; }
-
-.fa-html5:before {
- content: ""; }
-
-.fa-css3:before {
- content: ""; }
-
-.fa-anchor:before {
- content: ""; }
-
-.fa-unlock-alt:before {
- content: ""; }
-
-.fa-bullseye:before {
- content: ""; }
-
-.fa-ellipsis-h:before {
- content: ""; }
-
-.fa-ellipsis-v:before {
- content: ""; }
-
-.fa-rss-square:before {
- content: ""; }
-
-.fa-play-circle:before {
- content: ""; }
-
-.fa-ticket:before {
- content: ""; }
-
-.fa-minus-square:before {
- content: ""; }
-
-.fa-minus-square-o:before {
- content: ""; }
-
-.fa-level-up:before {
- content: ""; }
-
-.fa-level-down:before {
- content: ""; }
-
-.fa-check-square:before {
- content: ""; }
-
-.fa-pencil-square:before {
- content: ""; }
-
-.fa-external-link-square:before {
- content: ""; }
-
-.fa-share-square:before {
- content: ""; }
-
-.fa-compass:before {
- content: ""; }
-
-.fa-toggle-down:before,
-.fa-caret-square-o-down:before {
- content: ""; }
-
-.fa-toggle-up:before,
-.fa-caret-square-o-up:before {
- content: ""; }
-
-.fa-toggle-right:before,
-.fa-caret-square-o-right:before {
- content: ""; }
-
-.fa-euro:before,
-.fa-eur:before {
- content: ""; }
-
-.fa-gbp:before {
- content: ""; }
-
-.fa-dollar:before,
-.fa-usd:before {
- content: ""; }
-
-.fa-rupee:before,
-.fa-inr:before {
- content: ""; }
-
-.fa-cny:before,
-.fa-rmb:before,
-.fa-yen:before,
-.fa-jpy:before {
- content: ""; }
-
-.fa-ruble:before,
-.fa-rouble:before,
-.fa-rub:before {
- content: ""; }
-
-.fa-won:before,
-.fa-krw:before {
- content: ""; }
-
-.fa-bitcoin:before,
-.fa-btc:before {
- content: ""; }
-
-.fa-file:before {
- content: ""; }
-
-.fa-file-text:before {
- content: ""; }
-
-.fa-sort-alpha-asc:before {
- content: ""; }
-
-.fa-sort-alpha-desc:before {
- content: ""; }
-
-.fa-sort-amount-asc:before {
- content: ""; }
-
-.fa-sort-amount-desc:before {
- content: ""; }
-
-.fa-sort-numeric-asc:before {
- content: ""; }
-
-.fa-sort-numeric-desc:before {
- content: ""; }
-
-.fa-thumbs-up:before {
- content: ""; }
-
-.fa-thumbs-down:before {
- content: ""; }
-
-.fa-youtube-square:before {
- content: ""; }
-
-.fa-youtube:before {
- content: ""; }
-
-.fa-xing:before {
- content: ""; }
-
-.fa-xing-square:before {
- content: ""; }
-
-.fa-youtube-play:before {
- content: ""; }
-
-.fa-dropbox:before {
- content: ""; }
-
-.fa-stack-overflow:before {
- content: ""; }
-
-.fa-instagram:before {
- content: ""; }
-
-.fa-flickr:before {
- content: ""; }
-
-.fa-adn:before {
- content: ""; }
-
-.fa-bitbucket:before {
- content: ""; }
-
-.fa-bitbucket-square:before {
- content: ""; }
-
-.fa-tumblr:before {
- content: ""; }
-
-.fa-tumblr-square:before {
- content: ""; }
-
-.fa-long-arrow-down:before {
- content: ""; }
-
-.fa-long-arrow-up:before {
- content: ""; }
-
-.fa-long-arrow-left:before {
- content: ""; }
-
-.fa-long-arrow-right:before {
- content: ""; }
-
-.fa-apple:before {
- content: ""; }
-
-.fa-windows:before {
- content: ""; }
-
-.fa-android:before {
- content: ""; }
-
-.fa-linux:before {
- content: ""; }
-
-.fa-dribbble:before {
- content: ""; }
-
-.fa-skype:before {
- content: ""; }
-
-.fa-foursquare:before {
- content: ""; }
-
-.fa-trello:before {
- content: ""; }
-
-.fa-female:before {
- content: ""; }
-
-.fa-male:before {
- content: ""; }
-
-.fa-gittip:before {
- content: ""; }
-
-.fa-sun-o:before {
- content: ""; }
-
-.fa-moon-o:before {
- content: ""; }
-
-.fa-archive:before {
- content: ""; }
-
-.fa-bug:before {
- content: ""; }
-
-.fa-vk:before {
- content: ""; }
-
-.fa-weibo:before {
- content: ""; }
-
-.fa-renren:before {
- content: ""; }
-
-.fa-pagelines:before {
- content: ""; }
-
-.fa-stack-exchange:before {
- content: ""; }
-
-.fa-arrow-circle-o-right:before {
- content: ""; }
-
-.fa-arrow-circle-o-left:before {
- content: ""; }
-
-.fa-toggle-left:before,
-.fa-caret-square-o-left:before {
- content: ""; }
-
-.fa-dot-circle-o:before {
- content: ""; }
-
-.fa-wheelchair:before {
- content: ""; }
-
-.fa-vimeo-square:before {
- content: ""; }
-
-.fa-turkish-lira:before,
-.fa-try:before {
- content: ""; }
-
-.fa-plus-square-o:before {
- content: ""; }
-
-.fa-space-shuttle:before {
- content: ""; }
-
-.fa-slack:before {
- content: ""; }
-
-.fa-envelope-square:before {
- content: ""; }
-
-.fa-wordpress:before {
- content: ""; }
-
-.fa-openid:before {
- content: ""; }
-
-.fa-institution:before,
-.fa-bank:before,
-.fa-university:before {
- content: ""; }
-
-.fa-mortar-board:before,
-.fa-graduation-cap:before {
- content: ""; }
-
-.fa-yahoo:before {
- content: ""; }
-
-.fa-google:before {
- content: ""; }
-
-.fa-reddit:before {
- content: ""; }
-
-.fa-reddit-square:before {
- content: ""; }
-
-.fa-stumbleupon-circle:before {
- content: ""; }
-
-.fa-stumbleupon:before {
- content: ""; }
-
-.fa-delicious:before {
- content: ""; }
-
-.fa-digg:before {
- content: ""; }
-
-.fa-pied-piper-square:before,
-.fa-pied-piper:before {
- content: ""; }
-
-.fa-pied-piper-alt:before {
- content: ""; }
-
-.fa-drupal:before {
- content: ""; }
-
-.fa-joomla:before {
- content: ""; }
-
-.fa-language:before {
- content: ""; }
-
-.fa-fax:before {
- content: ""; }
-
-.fa-building:before {
- content: ""; }
-
-.fa-child:before {
- content: ""; }
-
-.fa-paw:before {
- content: ""; }
-
-.fa-spoon:before {
- content: ""; }
-
-.fa-cube:before {
- content: ""; }
-
-.fa-cubes:before {
- content: ""; }
-
-.fa-behance:before {
- content: ""; }
-
-.fa-behance-square:before {
- content: ""; }
-
-.fa-steam:before {
- content: ""; }
-
-.fa-steam-square:before {
- content: ""; }
-
-.fa-recycle:before {
- content: ""; }
-
-.fa-automobile:before,
-.fa-car:before {
- content: ""; }
-
-.fa-cab:before,
-.fa-taxi:before {
- content: ""; }
-
-.fa-tree:before {
- content: ""; }
-
-.fa-spotify:before {
- content: ""; }
-
-.fa-deviantart:before {
- content: ""; }
-
-.fa-soundcloud:before {
- content: ""; }
-
-.fa-database:before {
- content: ""; }
-
-.fa-file-pdf-o:before {
- content: ""; }
-
-.fa-file-word-o:before {
- content: ""; }
-
-.fa-file-excel-o:before {
- content: ""; }
-
-.fa-file-powerpoint-o:before {
- content: ""; }
-
-.fa-file-photo-o:before,
-.fa-file-picture-o:before,
-.fa-file-image-o:before {
- content: ""; }
-
-.fa-file-zip-o:before,
-.fa-file-archive-o:before {
- content: ""; }
-
-.fa-file-sound-o:before,
-.fa-file-audio-o:before {
- content: ""; }
-
-.fa-file-movie-o:before,
-.fa-file-video-o:before {
- content: ""; }
-
-.fa-file-code-o:before {
- content: ""; }
-
-.fa-vine:before {
- content: ""; }
-
-.fa-codepen:before {
- content: ""; }
-
-.fa-jsfiddle:before {
- content: ""; }
-
-.fa-life-bouy:before,
-.fa-life-saver:before,
-.fa-support:before,
-.fa-life-ring:before {
- content: ""; }
-
-.fa-circle-o-notch:before {
- content: ""; }
-
-.fa-ra:before,
-.fa-rebel:before {
- content: ""; }
-
-.fa-ge:before,
-.fa-empire:before {
- content: ""; }
-
-.fa-git-square:before {
- content: ""; }
-
-.fa-git:before {
- content: ""; }
-
-.fa-hacker-news:before {
- content: ""; }
-
-.fa-tencent-weibo:before {
- content: ""; }
-
-.fa-qq:before {
- content: ""; }
-
-.fa-wechat:before,
-.fa-weixin:before {
- content: ""; }
-
-.fa-send:before,
-.fa-paper-plane:before {
- content: ""; }
-
-.fa-send-o:before,
-.fa-paper-plane-o:before {
- content: ""; }
-
-.fa-history:before {
- content: ""; }
-
-.fa-circle-thin:before {
- content: ""; }
-
-.fa-header:before {
- content: ""; }
-
-.fa-paragraph:before {
- content: ""; }
-
-.fa-sliders:before {
- content: ""; }
-
-.fa-share-alt:before {
- content: ""; }
-
-.fa-share-alt-square:before {
- content: ""; }
-
-.fa-bomb:before {
- content: ""; }
-
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-html {
- font-family: sans-serif;
- -ms-text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%; }
-
-body {
- margin: 0; }
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
- display: block; }
-
-audio,
-canvas,
-progress,
-video {
- display: inline-block;
- vertical-align: baseline; }
-
-audio:not([controls]) {
- display: none;
- height: 0; }
-
-[hidden],
-template {
- display: none; }
-
-a {
- background-color: transparent; }
-
-a:active,
-a:hover {
- outline: 0; }
-
-abbr[title] {
- border-bottom: 1px dotted; }
-
-b,
-strong {
- font-weight: bold; }
-
-dfn {
- font-style: italic; }
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0; }
-
-mark {
- background: #ff0;
- color: #000; }
-
-small {
- font-size: 80%; }
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline; }
-
-sup {
- top: -0.5em; }
-
-sub {
- bottom: -0.25em; }
-
-img {
- border: 0; }
-
-svg:not(:root) {
- overflow: hidden; }
-
-figure {
- margin: 1em 40px; }
-
-hr {
- box-sizing: content-box;
- height: 0; }
-
-pre {
- overflow: auto; }
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace;
- font-size: 1em; }
-
-button,
-input,
-optgroup,
-select,
-textarea {
- color: inherit;
- font: inherit;
- margin: 0; }
-
-button {
- overflow: visible; }
-
-button,
-select {
- text-transform: none; }
-
-button,
-html input[type="button"],
-input[type="reset"],
-input[type="submit"] {
- -webkit-appearance: button;
- cursor: pointer; }
-
-button[disabled],
-html input[disabled] {
- cursor: default; }
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0; }
-
-input {
- line-height: normal; }
-
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box;
- padding: 0; }
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
- height: auto; }
-
-input[type="search"] {
- -webkit-appearance: textfield;
- box-sizing: content-box; }
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none; }
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em; }
-
-legend {
- border: 0;
- padding: 0; }
-
-textarea {
- overflow: auto; }
-
-optgroup {
- font-weight: bold; }
-
-table {
- border-collapse: collapse;
- border-spacing: 0; }
-
-td,
-th {
- padding: 0; }
-
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
-@media print {
- *,
- *:before,
- *:after {
- background: transparent !important;
- color: #000 !important;
- box-shadow: none !important;
- text-shadow: none !important; }
- a,
- a:visited {
- text-decoration: underline; }
- a[href]:after {
- content: " (" attr(href) ")"; }
- abbr[title]:after {
- content: " (" attr(title) ")"; }
- a[href^="#"]:after,
- a[href^="javascript:"]:after {
- content: ""; }
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid; }
- thead {
- display: table-header-group; }
- tr,
- img {
- page-break-inside: avoid; }
- img {
- max-width: 100% !important; }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3; }
- h2,
- h3 {
- page-break-after: avoid; }
- .navbar {
- display: none; }
- .btn > .caret,
- .dropup > .btn > .caret {
- border-top-color: #000 !important; }
- .label {
- border: 1px solid #000; }
- .table {
- border-collapse: collapse !important; }
- .table td,
- .table th {
- background-color: #fff !important; }
- .table-bordered th,
- .table-bordered td {
- border: 1px solid #ddd !important; } }
-
-@font-face {
- font-family: 'Glyphicons Halflings';
- src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot");
- src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); }
-
-.glyphicon {
- position: relative;
- top: 1px;
- display: inline-block;
- font-family: 'Glyphicons Halflings';
- font-style: normal;
- font-weight: normal;
- line-height: 1;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale; }
-
-.glyphicon-asterisk:before {
- content: "\002a"; }
-
-.glyphicon-plus:before {
- content: "\002b"; }
-
-.glyphicon-euro:before,
-.glyphicon-eur:before {
- content: "\20ac"; }
-
-.glyphicon-minus:before {
- content: "\2212"; }
-
-.glyphicon-cloud:before {
- content: "\2601"; }
-
-.glyphicon-envelope:before {
- content: "\2709"; }
-
-.glyphicon-pencil:before {
- content: "\270f"; }
-
-.glyphicon-glass:before {
- content: "\e001"; }
-
-.glyphicon-music:before {
- content: "\e002"; }
-
-.glyphicon-search:before {
- content: "\e003"; }
-
-.glyphicon-heart:before {
- content: "\e005"; }
-
-.glyphicon-star:before {
- content: "\e006"; }
-
-.glyphicon-star-empty:before {
- content: "\e007"; }
-
-.glyphicon-user:before {
- content: "\e008"; }
-
-.glyphicon-film:before {
- content: "\e009"; }
-
-.glyphicon-th-large:before {
- content: "\e010"; }
-
-.glyphicon-th:before {
- content: "\e011"; }
-
-.glyphicon-th-list:before {
- content: "\e012"; }
-
-.glyphicon-ok:before {
- content: "\e013"; }
-
-.glyphicon-remove:before {
- content: "\e014"; }
-
-.glyphicon-zoom-in:before {
- content: "\e015"; }
-
-.glyphicon-zoom-out:before {
- content: "\e016"; }
-
-.glyphicon-off:before {
- content: "\e017"; }
-
-.glyphicon-signal:before {
- content: "\e018"; }
-
-.glyphicon-cog:before {
- content: "\e019"; }
-
-.glyphicon-trash:before {
- content: "\e020"; }
-
-.glyphicon-home:before {
- content: "\e021"; }
-
-.glyphicon-file:before {
- content: "\e022"; }
-
-.glyphicon-time:before {
- content: "\e023"; }
-
-.glyphicon-road:before {
- content: "\e024"; }
-
-.glyphicon-download-alt:before {
- content: "\e025"; }
-
-.glyphicon-download:before {
- content: "\e026"; }
-
-.glyphicon-upload:before {
- content: "\e027"; }
-
-.glyphicon-inbox:before {
- content: "\e028"; }
-
-.glyphicon-play-circle:before {
- content: "\e029"; }
-
-.glyphicon-repeat:before {
- content: "\e030"; }
-
-.glyphicon-refresh:before {
- content: "\e031"; }
-
-.glyphicon-list-alt:before {
- content: "\e032"; }
-
-.glyphicon-lock:before {
- content: "\e033"; }
-
-.glyphicon-flag:before {
- content: "\e034"; }
-
-.glyphicon-headphones:before {
- content: "\e035"; }
-
-.glyphicon-volume-off:before {
- content: "\e036"; }
-
-.glyphicon-volume-down:before {
- content: "\e037"; }
-
-.glyphicon-volume-up:before {
- content: "\e038"; }
-
-.glyphicon-qrcode:before {
- content: "\e039"; }
-
-.glyphicon-barcode:before {
- content: "\e040"; }
-
-.glyphicon-tag:before {
- content: "\e041"; }
-
-.glyphicon-tags:before {
- content: "\e042"; }
-
-.glyphicon-book:before {
- content: "\e043"; }
-
-.glyphicon-bookmark:before {
- content: "\e044"; }
-
-.glyphicon-print:before {
- content: "\e045"; }
-
-.glyphicon-camera:before {
- content: "\e046"; }
-
-.glyphicon-font:before {
- content: "\e047"; }
-
-.glyphicon-bold:before {
- content: "\e048"; }
-
-.glyphicon-italic:before {
- content: "\e049"; }
-
-.glyphicon-text-height:before {
- content: "\e050"; }
-
-.glyphicon-text-width:before {
- content: "\e051"; }
-
-.glyphicon-align-left:before {
- content: "\e052"; }
-
-.glyphicon-align-center:before {
- content: "\e053"; }
-
-.glyphicon-align-right:before {
- content: "\e054"; }
-
-.glyphicon-align-justify:before {
- content: "\e055"; }
-
-.glyphicon-list:before {
- content: "\e056"; }
-
-.glyphicon-indent-left:before {
- content: "\e057"; }
-
-.glyphicon-indent-right:before {
- content: "\e058"; }
-
-.glyphicon-facetime-video:before {
- content: "\e059"; }
-
-.glyphicon-picture:before {
- content: "\e060"; }
-
-.glyphicon-map-marker:before {
- content: "\e062"; }
-
-.glyphicon-adjust:before {
- content: "\e063"; }
-
-.glyphicon-tint:before {
- content: "\e064"; }
-
-.glyphicon-edit:before {
- content: "\e065"; }
-
-.glyphicon-share:before {
- content: "\e066"; }
-
-.glyphicon-check:before {
- content: "\e067"; }
-
-.glyphicon-move:before {
- content: "\e068"; }
-
-.glyphicon-step-backward:before {
- content: "\e069"; }
-
-.glyphicon-fast-backward:before {
- content: "\e070"; }
-
-.glyphicon-backward:before {
- content: "\e071"; }
-
-.glyphicon-play:before {
- content: "\e072"; }
-
-.glyphicon-pause:before {
- content: "\e073"; }
-
-.glyphicon-stop:before {
- content: "\e074"; }
-
-.glyphicon-forward:before {
- content: "\e075"; }
-
-.glyphicon-fast-forward:before {
- content: "\e076"; }
-
-.glyphicon-step-forward:before {
- content: "\e077"; }
-
-.glyphicon-eject:before {
- content: "\e078"; }
-
-.glyphicon-chevron-left:before {
- content: "\e079"; }
-
-.glyphicon-chevron-right:before {
- content: "\e080"; }
-
-.glyphicon-plus-sign:before {
- content: "\e081"; }
-
-.glyphicon-minus-sign:before {
- content: "\e082"; }
-
-.glyphicon-remove-sign:before {
- content: "\e083"; }
-
-.glyphicon-ok-sign:before {
- content: "\e084"; }
-
-.glyphicon-question-sign:before {
- content: "\e085"; }
-
-.glyphicon-info-sign:before {
- content: "\e086"; }
-
-.glyphicon-screenshot:before {
- content: "\e087"; }
-
-.glyphicon-remove-circle:before {
- content: "\e088"; }
-
-.glyphicon-ok-circle:before {
- content: "\e089"; }
-
-.glyphicon-ban-circle:before {
- content: "\e090"; }
-
-.glyphicon-arrow-left:before {
- content: "\e091"; }
-
-.glyphicon-arrow-right:before {
- content: "\e092"; }
-
-.glyphicon-arrow-up:before {
- content: "\e093"; }
-
-.glyphicon-arrow-down:before {
- content: "\e094"; }
-
-.glyphicon-share-alt:before {
- content: "\e095"; }
-
-.glyphicon-resize-full:before {
- content: "\e096"; }
-
-.glyphicon-resize-small:before {
- content: "\e097"; }
-
-.glyphicon-exclamation-sign:before {
- content: "\e101"; }
-
-.glyphicon-gift:before {
- content: "\e102"; }
-
-.glyphicon-leaf:before {
- content: "\e103"; }
-
-.glyphicon-fire:before {
- content: "\e104"; }
-
-.glyphicon-eye-open:before {
- content: "\e105"; }
-
-.glyphicon-eye-close:before {
- content: "\e106"; }
-
-.glyphicon-warning-sign:before {
- content: "\e107"; }
-
-.glyphicon-plane:before {
- content: "\e108"; }
-
-.glyphicon-calendar:before {
- content: "\e109"; }
-
-.glyphicon-random:before {
- content: "\e110"; }
-
-.glyphicon-comment:before {
- content: "\e111"; }
-
-.glyphicon-magnet:before {
- content: "\e112"; }
-
-.glyphicon-chevron-up:before {
- content: "\e113"; }
-
-.glyphicon-chevron-down:before {
- content: "\e114"; }
-
-.glyphicon-retweet:before {
- content: "\e115"; }
-
-.glyphicon-shopping-cart:before {
- content: "\e116"; }
-
-.glyphicon-folder-close:before {
- content: "\e117"; }
-
-.glyphicon-folder-open:before {
- content: "\e118"; }
-
-.glyphicon-resize-vertical:before {
- content: "\e119"; }
-
-.glyphicon-resize-horizontal:before {
- content: "\e120"; }
-
-.glyphicon-hdd:before {
- content: "\e121"; }
-
-.glyphicon-bullhorn:before {
- content: "\e122"; }
-
-.glyphicon-bell:before {
- content: "\e123"; }
-
-.glyphicon-certificate:before {
- content: "\e124"; }
-
-.glyphicon-thumbs-up:before {
- content: "\e125"; }
-
-.glyphicon-thumbs-down:before {
- content: "\e126"; }
-
-.glyphicon-hand-right:before {
- content: "\e127"; }
-
-.glyphicon-hand-left:before {
- content: "\e128"; }
-
-.glyphicon-hand-up:before {
- content: "\e129"; }
-
-.glyphicon-hand-down:before {
- content: "\e130"; }
-
-.glyphicon-circle-arrow-right:before {
- content: "\e131"; }
-
-.glyphicon-circle-arrow-left:before {
- content: "\e132"; }
-
-.glyphicon-circle-arrow-up:before {
- content: "\e133"; }
-
-.glyphicon-circle-arrow-down:before {
- content: "\e134"; }
-
-.glyphicon-globe:before {
- content: "\e135"; }
-
-.glyphicon-wrench:before {
- content: "\e136"; }
-
-.glyphicon-tasks:before {
- content: "\e137"; }
-
-.glyphicon-filter:before {
- content: "\e138"; }
-
-.glyphicon-briefcase:before {
- content: "\e139"; }
-
-.glyphicon-fullscreen:before {
- content: "\e140"; }
-
-.glyphicon-dashboard:before {
- content: "\e141"; }
-
-.glyphicon-paperclip:before {
- content: "\e142"; }
-
-.glyphicon-heart-empty:before {
- content: "\e143"; }
-
-.glyphicon-link:before {
- content: "\e144"; }
-
-.glyphicon-phone:before {
- content: "\e145"; }
-
-.glyphicon-pushpin:before {
- content: "\e146"; }
-
-.glyphicon-usd:before {
- content: "\e148"; }
-
-.glyphicon-gbp:before {
- content: "\e149"; }
-
-.glyphicon-sort:before {
- content: "\e150"; }
-
-.glyphicon-sort-by-alphabet:before {
- content: "\e151"; }
-
-.glyphicon-sort-by-alphabet-alt:before {
- content: "\e152"; }
-
-.glyphicon-sort-by-order:before {
- content: "\e153"; }
-
-.glyphicon-sort-by-order-alt:before {
- content: "\e154"; }
-
-.glyphicon-sort-by-attributes:before {
- content: "\e155"; }
-
-.glyphicon-sort-by-attributes-alt:before {
- content: "\e156"; }
-
-.glyphicon-unchecked:before {
- content: "\e157"; }
-
-.glyphicon-expand:before {
- content: "\e158"; }
-
-.glyphicon-collapse-down:before {
- content: "\e159"; }
-
-.glyphicon-collapse-up:before {
- content: "\e160"; }
-
-.glyphicon-log-in:before {
- content: "\e161"; }
-
-.glyphicon-flash:before {
- content: "\e162"; }
-
-.glyphicon-log-out:before {
- content: "\e163"; }
-
-.glyphicon-new-window:before {
- content: "\e164"; }
-
-.glyphicon-record:before {
- content: "\e165"; }
-
-.glyphicon-save:before {
- content: "\e166"; }
-
-.glyphicon-open:before {
- content: "\e167"; }
-
-.glyphicon-saved:before {
- content: "\e168"; }
-
-.glyphicon-import:before {
- content: "\e169"; }
-
-.glyphicon-export:before {
- content: "\e170"; }
-
-.glyphicon-send:before {
- content: "\e171"; }
-
-.glyphicon-floppy-disk:before {
- content: "\e172"; }
-
-.glyphicon-floppy-saved:before {
- content: "\e173"; }
-
-.glyphicon-floppy-remove:before {
- content: "\e174"; }
-
-.glyphicon-floppy-save:before {
- content: "\e175"; }
-
-.glyphicon-floppy-open:before {
- content: "\e176"; }
-
-.glyphicon-credit-card:before {
- content: "\e177"; }
-
-.glyphicon-transfer:before {
- content: "\e178"; }
-
-.glyphicon-cutlery:before {
- content: "\e179"; }
-
-.glyphicon-header:before {
- content: "\e180"; }
-
-.glyphicon-compressed:before {
- content: "\e181"; }
-
-.glyphicon-earphone:before {
- content: "\e182"; }
-
-.glyphicon-phone-alt:before {
- content: "\e183"; }
-
-.glyphicon-tower:before {
- content: "\e184"; }
-
-.glyphicon-stats:before {
- content: "\e185"; }
-
-.glyphicon-sd-video:before {
- content: "\e186"; }
-
-.glyphicon-hd-video:before {
- content: "\e187"; }
-
-.glyphicon-subtitles:before {
- content: "\e188"; }
-
-.glyphicon-sound-stereo:before {
- content: "\e189"; }
-
-.glyphicon-sound-dolby:before {
- content: "\e190"; }
-
-.glyphicon-sound-5-1:before {
- content: "\e191"; }
-
-.glyphicon-sound-6-1:before {
- content: "\e192"; }
-
-.glyphicon-sound-7-1:before {
- content: "\e193"; }
-
-.glyphicon-copyright-mark:before {
- content: "\e194"; }
-
-.glyphicon-registration-mark:before {
- content: "\e195"; }
-
-.glyphicon-cloud-download:before {
- content: "\e197"; }
-
-.glyphicon-cloud-upload:before {
- content: "\e198"; }
-
-.glyphicon-tree-conifer:before {
- content: "\e199"; }
-
-.glyphicon-tree-deciduous:before {
- content: "\e200"; }
-
-.glyphicon-cd:before {
- content: "\e201"; }
-
-.glyphicon-save-file:before {
- content: "\e202"; }
-
-.glyphicon-open-file:before {
- content: "\e203"; }
-
-.glyphicon-level-up:before {
- content: "\e204"; }
-
-.glyphicon-copy:before {
- content: "\e205"; }
-
-.glyphicon-paste:before {
- content: "\e206"; }
-
-.glyphicon-alert:before {
- content: "\e209"; }
-
-.glyphicon-equalizer:before {
- content: "\e210"; }
-
-.glyphicon-king:before {
- content: "\e211"; }
-
-.glyphicon-queen:before {
- content: "\e212"; }
-
-.glyphicon-pawn:before {
- content: "\e213"; }
-
-.glyphicon-bishop:before {
- content: "\e214"; }
-
-.glyphicon-knight:before {
- content: "\e215"; }
-
-.glyphicon-baby-formula:before {
- content: "\e216"; }
-
-.glyphicon-tent:before {
- content: "\26fa"; }
-
-.glyphicon-blackboard:before {
- content: "\e218"; }
-
-.glyphicon-bed:before {
- content: "\e219"; }
-
-.glyphicon-apple:before {
- content: "\f8ff"; }
-
-.glyphicon-erase:before {
- content: "\e221"; }
-
-.glyphicon-hourglass:before {
- content: "\231b"; }
-
-.glyphicon-lamp:before {
- content: "\e223"; }
-
-.glyphicon-duplicate:before {
- content: "\e224"; }
-
-.glyphicon-piggy-bank:before {
- content: "\e225"; }
-
-.glyphicon-scissors:before {
- content: "\e226"; }
-
-.glyphicon-bitcoin:before {
- content: "\e227"; }
-
-.glyphicon-btc:before {
- content: "\e227"; }
-
-.glyphicon-xbt:before {
- content: "\e227"; }
-
-.glyphicon-yen:before {
- content: "\00a5"; }
-
-.glyphicon-jpy:before {
- content: "\00a5"; }
-
-.glyphicon-ruble:before {
- content: "\20bd"; }
-
-.glyphicon-rub:before {
- content: "\20bd"; }
-
-.glyphicon-scale:before {
- content: "\e230"; }
-
-.glyphicon-ice-lolly:before {
- content: "\e231"; }
-
-.glyphicon-ice-lolly-tasted:before {
- content: "\e232"; }
-
-.glyphicon-education:before {
- content: "\e233"; }
-
-.glyphicon-option-horizontal:before {
- content: "\e234"; }
-
-.glyphicon-option-vertical:before {
- content: "\e235"; }
-
-.glyphicon-menu-hamburger:before {
- content: "\e236"; }
-
-.glyphicon-modal-window:before {
- content: "\e237"; }
-
-.glyphicon-oil:before {
- content: "\e238"; }
-
-.glyphicon-grain:before {
- content: "\e239"; }
-
-.glyphicon-sunglasses:before {
- content: "\e240"; }
-
-.glyphicon-text-size:before {
- content: "\e241"; }
-
-.glyphicon-text-color:before {
- content: "\e242"; }
-
-.glyphicon-text-background:before {
- content: "\e243"; }
-
-.glyphicon-object-align-top:before {
- content: "\e244"; }
-
-.glyphicon-object-align-bottom:before {
- content: "\e245"; }
-
-.glyphicon-object-align-horizontal:before {
- content: "\e246"; }
-
-.glyphicon-object-align-left:before {
- content: "\e247"; }
-
-.glyphicon-object-align-vertical:before {
- content: "\e248"; }
-
-.glyphicon-object-align-right:before {
- content: "\e249"; }
-
-.glyphicon-triangle-right:before {
- content: "\e250"; }
-
-.glyphicon-triangle-left:before {
- content: "\e251"; }
-
-.glyphicon-triangle-bottom:before {
- content: "\e252"; }
-
-.glyphicon-triangle-top:before {
- content: "\e253"; }
-
-.glyphicon-console:before {
- content: "\e254"; }
-
-.glyphicon-superscript:before {
- content: "\e255"; }
-
-.glyphicon-subscript:before {
- content: "\e256"; }
-
-.glyphicon-menu-left:before {
- content: "\e257"; }
-
-.glyphicon-menu-right:before {
- content: "\e258"; }
-
-.glyphicon-menu-down:before {
- content: "\e259"; }
-
-.glyphicon-menu-up:before {
- content: "\e260"; }
-
-* {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box; }
-
-*:before,
-*:after {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box; }
-
-html {
- font-size: 10px;
- -webkit-tap-highlight-color: transparent; }
-
-body {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 1.42857;
- color: #333333;
- background-color: #fff; }
-
-input,
-button,
-select,
-textarea {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit; }
-
-a {
- color: #337ab7;
- text-decoration: none; }
- a:hover, a:focus {
- color: #23527c;
- text-decoration: underline; }
- a:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px; }
-
-figure {
- margin: 0; }
-
-img {
- vertical-align: middle; }
-
-.img-responsive {
- display: block;
- max-width: 100%;
- height: auto; }
-
-.img-rounded {
- border-radius: 6px; }
-
-.img-thumbnail {
- padding: 4px;
- line-height: 1.42857;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 4px;
- -webkit-transition: all 0.2s ease-in-out;
- -o-transition: all 0.2s ease-in-out;
- transition: all 0.2s ease-in-out;
- display: inline-block;
- max-width: 100%;
- height: auto; }
-
-.img-circle {
- border-radius: 50%; }
-
-hr {
- margin-top: 20px;
- margin-bottom: 20px;
- border: 0;
- border-top: 1px solid #eeeeee; }
-
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- margin: -1px;
- padding: 0;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- border: 0; }
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- position: static;
- width: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- clip: auto; }
-
-[role="button"] {
- cursor: pointer; }
-
-h1, h2, h3, h4, h5, h6,
-.h1, .h2, .h3, .h4, .h5, .h6 {
- font-family: inherit;
- font-weight: 500;
- line-height: 1.1;
- color: inherit; }
- h1 small,
- h1 .small, h2 small,
- h2 .small, h3 small,
- h3 .small, h4 small,
- h4 .small, h5 small,
- h5 .small, h6 small,
- h6 .small,
- .h1 small,
- .h1 .small, .h2 small,
- .h2 .small, .h3 small,
- .h3 .small, .h4 small,
- .h4 .small, .h5 small,
- .h5 .small, .h6 small,
- .h6 .small {
- font-weight: normal;
- line-height: 1;
- color: #777777; }
-
-h1, .h1,
-h2, .h2,
-h3, .h3 {
- margin-top: 20px;
- margin-bottom: 10px; }
- h1 small,
- h1 .small, .h1 small,
- .h1 .small,
- h2 small,
- h2 .small, .h2 small,
- .h2 .small,
- h3 small,
- h3 .small, .h3 small,
- .h3 .small {
- font-size: 65%; }
-
-h4, .h4,
-h5, .h5,
-h6, .h6 {
- margin-top: 10px;
- margin-bottom: 10px; }
- h4 small,
- h4 .small, .h4 small,
- .h4 .small,
- h5 small,
- h5 .small, .h5 small,
- .h5 .small,
- h6 small,
- h6 .small, .h6 small,
- .h6 .small {
- font-size: 75%; }
-
-h1, .h1 {
- font-size: 36px; }
-
-h2, .h2 {
- font-size: 30px; }
-
-h3, .h3 {
- font-size: 24px; }
-
-h4, .h4 {
- font-size: 18px; }
-
-h5, .h5 {
- font-size: 14px; }
-
-h6, .h6 {
- font-size: 12px; }
-
-p {
- margin: 0 0 10px; }
-
-.lead {
- margin-bottom: 20px;
- font-size: 16px;
- font-weight: 300;
- line-height: 1.4; }
- @media (min-width: 768px) {
- .lead {
- font-size: 21px; } }
-
-small,
-.small {
- font-size: 85%; }
-
-mark,
-.mark {
- background-color: #fcf8e3;
- padding: .2em; }
-
-.text-left {
- text-align: left; }
-
-.text-right {
- text-align: right; }
-
-.text-center {
- text-align: center; }
-
-.text-justify {
- text-align: justify; }
-
-.text-nowrap {
- white-space: nowrap; }
-
-.text-lowercase {
- text-transform: lowercase; }
-
-.text-uppercase, .initialism {
- text-transform: uppercase; }
-
-.text-capitalize {
- text-transform: capitalize; }
-
-.text-muted {
- color: #777777; }
-
-.text-primary {
- color: #337ab7; }
-
-a.text-primary:hover,
-a.text-primary:focus {
- color: #286090; }
-
-.text-success {
- color: #3c763d; }
-
-a.text-success:hover,
-a.text-success:focus {
- color: #2b542c; }
-
-.text-info {
- color: #31708f; }
-
-a.text-info:hover,
-a.text-info:focus {
- color: #245269; }
-
-.text-warning {
- color: #8a6d3b; }
-
-a.text-warning:hover,
-a.text-warning:focus {
- color: #66512c; }
-
-.text-danger {
- color: #a94442; }
-
-a.text-danger:hover,
-a.text-danger:focus {
- color: #843534; }
-
-.bg-primary {
- color: #fff; }
-
-.bg-primary {
- background-color: #337ab7; }
-
-a.bg-primary:hover,
-a.bg-primary:focus {
- background-color: #286090; }
-
-.bg-success {
- background-color: #dff0d8; }
-
-a.bg-success:hover,
-a.bg-success:focus {
- background-color: #c1e2b3; }
-
-.bg-info {
- background-color: #d9edf7; }
-
-a.bg-info:hover,
-a.bg-info:focus {
- background-color: #afd9ee; }
-
-.bg-warning {
- background-color: #fcf8e3; }
-
-a.bg-warning:hover,
-a.bg-warning:focus {
- background-color: #f7ecb5; }
-
-.bg-danger {
- background-color: #f2dede; }
-
-a.bg-danger:hover,
-a.bg-danger:focus {
- background-color: #e4b9b9; }
-
-.page-header {
- padding-bottom: 9px;
- margin: 40px 0 20px;
- border-bottom: 1px solid #eeeeee; }
-
-ul,
-ol {
- margin-top: 0;
- margin-bottom: 10px; }
- ul ul,
- ul ol,
- ol ul,
- ol ol {
- margin-bottom: 0; }
-
-.list-unstyled {
- padding-left: 0;
- list-style: none; }
-
-.list-inline {
- padding-left: 0;
- list-style: none;
- margin-left: -5px; }
- .list-inline > li {
- display: inline-block;
- padding-left: 5px;
- padding-right: 5px; }
-
-dl {
- margin-top: 0;
- margin-bottom: 20px; }
-
-dt,
-dd {
- line-height: 1.42857; }
-
-dt {
- font-weight: bold; }
-
-dd {
- margin-left: 0; }
-
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- content: " ";
- display: table; }
-
-.dl-horizontal dd:after {
- clear: both; }
-
-@media (min-width: 768px) {
- .dl-horizontal dt {
- float: left;
- width: 160px;
- clear: left;
- text-align: right;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap; }
- .dl-horizontal dd {
- margin-left: 180px; } }
-
-abbr[title],
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #777777; }
-
-.initialism {
- font-size: 90%; }
-
-blockquote {
- padding: 10px 20px;
- margin: 0 0 20px;
- font-size: 17.5px;
- border-left: 5px solid #eeeeee; }
- blockquote p:last-child,
- blockquote ul:last-child,
- blockquote ol:last-child {
- margin-bottom: 0; }
- blockquote footer,
- blockquote small,
- blockquote .small {
- display: block;
- font-size: 80%;
- line-height: 1.42857;
- color: #777777; }
- blockquote footer:before,
- blockquote small:before,
- blockquote .small:before {
- content: '\2014 \00A0'; }
-
-.blockquote-reverse,
-blockquote.pull-right {
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid #eeeeee;
- border-left: 0;
- text-align: right; }
- .blockquote-reverse footer:before,
- .blockquote-reverse small:before,
- .blockquote-reverse .small:before,
- blockquote.pull-right footer:before,
- blockquote.pull-right small:before,
- blockquote.pull-right .small:before {
- content: ''; }
- .blockquote-reverse footer:after,
- .blockquote-reverse small:after,
- .blockquote-reverse .small:after,
- blockquote.pull-right footer:after,
- blockquote.pull-right small:after,
- blockquote.pull-right .small:after {
- content: '\00A0 \2014'; }
-
-address {
- margin-bottom: 20px;
- font-style: normal;
- line-height: 1.42857; }
-
-code,
-kbd,
-pre,
-samp {
- font-family: Menlo, Monaco, Consolas, "Courier New", monospace; }
-
-code {
- padding: 2px 4px;
- font-size: 90%;
- color: #c7254e;
- background-color: #f9f2f4;
- border-radius: 4px; }
-
-kbd {
- padding: 2px 4px;
- font-size: 90%;
- color: #fff;
- background-color: #333;
- border-radius: 3px;
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); }
- kbd kbd {
- padding: 0;
- font-size: 100%;
- font-weight: bold;
- box-shadow: none; }
-
-pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 10px;
- font-size: 13px;
- line-height: 1.42857;
- word-break: break-all;
- word-wrap: break-word;
- color: #333333;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- border-radius: 4px; }
- pre code {
- padding: 0;
- font-size: inherit;
- color: inherit;
- white-space: pre-wrap;
- background-color: transparent;
- border-radius: 0; }
-
-.pre-scrollable {
- max-height: 340px;
- overflow-y: scroll; }
-
-.container {
- margin-right: auto;
- margin-left: auto;
- padding-left: 15px;
- padding-right: 15px; }
- .container:before, .container:after {
- content: " ";
- display: table; }
- .container:after {
- clear: both; }
- @media (min-width: 768px) {
- .container {
- width: 750px; } }
- @media (min-width: 992px) {
- .container {
- width: 970px; } }
- @media (min-width: 1200px) {
- .container {
- width: 1170px; } }
-
-.container-fluid {
- margin-right: auto;
- margin-left: auto;
- padding-left: 15px;
- padding-right: 15px; }
- .container-fluid:before, .container-fluid:after {
- content: " ";
- display: table; }
- .container-fluid:after {
- clear: both; }
-
-.row {
- margin-left: -15px;
- margin-right: -15px; }
- .row:before, .row:after {
- content: " ";
- display: table; }
- .row:after {
- clear: both; }
-
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
- position: relative;
- min-height: 1px;
- padding-left: 15px;
- padding-right: 15px; }
-
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
- float: left; }
-
-.col-xs-1 {
- width: 8.33333%; }
-
-.col-xs-2 {
- width: 16.66667%; }
-
-.col-xs-3 {
- width: 25%; }
-
-.col-xs-4 {
- width: 33.33333%; }
-
-.col-xs-5 {
- width: 41.66667%; }
-
-.col-xs-6 {
- width: 50%; }
-
-.col-xs-7 {
- width: 58.33333%; }
-
-.col-xs-8 {
- width: 66.66667%; }
-
-.col-xs-9 {
- width: 75%; }
-
-.col-xs-10 {
- width: 83.33333%; }
-
-.col-xs-11 {
- width: 91.66667%; }
-
-.col-xs-12 {
- width: 100%; }
-
-.col-xs-pull-0 {
- right: auto; }
-
-.col-xs-pull-1 {
- right: 8.33333%; }
-
-.col-xs-pull-2 {
- right: 16.66667%; }
-
-.col-xs-pull-3 {
- right: 25%; }
-
-.col-xs-pull-4 {
- right: 33.33333%; }
-
-.col-xs-pull-5 {
- right: 41.66667%; }
-
-.col-xs-pull-6 {
- right: 50%; }
-
-.col-xs-pull-7 {
- right: 58.33333%; }
-
-.col-xs-pull-8 {
- right: 66.66667%; }
-
-.col-xs-pull-9 {
- right: 75%; }
-
-.col-xs-pull-10 {
- right: 83.33333%; }
-
-.col-xs-pull-11 {
- right: 91.66667%; }
-
-.col-xs-pull-12 {
- right: 100%; }
-
-.col-xs-push-0 {
- left: auto; }
-
-.col-xs-push-1 {
- left: 8.33333%; }
-
-.col-xs-push-2 {
- left: 16.66667%; }
-
-.col-xs-push-3 {
- left: 25%; }
-
-.col-xs-push-4 {
- left: 33.33333%; }
-
-.col-xs-push-5 {
- left: 41.66667%; }
-
-.col-xs-push-6 {
- left: 50%; }
-
-.col-xs-push-7 {
- left: 58.33333%; }
-
-.col-xs-push-8 {
- left: 66.66667%; }
-
-.col-xs-push-9 {
- left: 75%; }
-
-.col-xs-push-10 {
- left: 83.33333%; }
-
-.col-xs-push-11 {
- left: 91.66667%; }
-
-.col-xs-push-12 {
- left: 100%; }
-
-.col-xs-offset-0 {
- margin-left: 0%; }
-
-.col-xs-offset-1 {
- margin-left: 8.33333%; }
-
-.col-xs-offset-2 {
- margin-left: 16.66667%; }
-
-.col-xs-offset-3 {
- margin-left: 25%; }
-
-.col-xs-offset-4 {
- margin-left: 33.33333%; }
-
-.col-xs-offset-5 {
- margin-left: 41.66667%; }
-
-.col-xs-offset-6 {
- margin-left: 50%; }
-
-.col-xs-offset-7 {
- margin-left: 58.33333%; }
-
-.col-xs-offset-8 {
- margin-left: 66.66667%; }
-
-.col-xs-offset-9 {
- margin-left: 75%; }
-
-.col-xs-offset-10 {
- margin-left: 83.33333%; }
-
-.col-xs-offset-11 {
- margin-left: 91.66667%; }
-
-.col-xs-offset-12 {
- margin-left: 100%; }
-
-@media (min-width: 768px) {
- .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
- float: left; }
- .col-sm-1 {
- width: 8.33333%; }
- .col-sm-2 {
- width: 16.66667%; }
- .col-sm-3 {
- width: 25%; }
- .col-sm-4 {
- width: 33.33333%; }
- .col-sm-5 {
- width: 41.66667%; }
- .col-sm-6 {
- width: 50%; }
- .col-sm-7 {
- width: 58.33333%; }
- .col-sm-8 {
- width: 66.66667%; }
- .col-sm-9 {
- width: 75%; }
- .col-sm-10 {
- width: 83.33333%; }
- .col-sm-11 {
- width: 91.66667%; }
- .col-sm-12 {
- width: 100%; }
- .col-sm-pull-0 {
- right: auto; }
- .col-sm-pull-1 {
- right: 8.33333%; }
- .col-sm-pull-2 {
- right: 16.66667%; }
- .col-sm-pull-3 {
- right: 25%; }
- .col-sm-pull-4 {
- right: 33.33333%; }
- .col-sm-pull-5 {
- right: 41.66667%; }
- .col-sm-pull-6 {
- right: 50%; }
- .col-sm-pull-7 {
- right: 58.33333%; }
- .col-sm-pull-8 {
- right: 66.66667%; }
- .col-sm-pull-9 {
- right: 75%; }
- .col-sm-pull-10 {
- right: 83.33333%; }
- .col-sm-pull-11 {
- right: 91.66667%; }
- .col-sm-pull-12 {
- right: 100%; }
- .col-sm-push-0 {
- left: auto; }
- .col-sm-push-1 {
- left: 8.33333%; }
- .col-sm-push-2 {
- left: 16.66667%; }
- .col-sm-push-3 {
- left: 25%; }
- .col-sm-push-4 {
- left: 33.33333%; }
- .col-sm-push-5 {
- left: 41.66667%; }
- .col-sm-push-6 {
- left: 50%; }
- .col-sm-push-7 {
- left: 58.33333%; }
- .col-sm-push-8 {
- left: 66.66667%; }
- .col-sm-push-9 {
- left: 75%; }
- .col-sm-push-10 {
- left: 83.33333%; }
- .col-sm-push-11 {
- left: 91.66667%; }
- .col-sm-push-12 {
- left: 100%; }
- .col-sm-offset-0 {
- margin-left: 0%; }
- .col-sm-offset-1 {
- margin-left: 8.33333%; }
- .col-sm-offset-2 {
- margin-left: 16.66667%; }
- .col-sm-offset-3 {
- margin-left: 25%; }
- .col-sm-offset-4 {
- margin-left: 33.33333%; }
- .col-sm-offset-5 {
- margin-left: 41.66667%; }
- .col-sm-offset-6 {
- margin-left: 50%; }
- .col-sm-offset-7 {
- margin-left: 58.33333%; }
- .col-sm-offset-8 {
- margin-left: 66.66667%; }
- .col-sm-offset-9 {
- margin-left: 75%; }
- .col-sm-offset-10 {
- margin-left: 83.33333%; }
- .col-sm-offset-11 {
- margin-left: 91.66667%; }
- .col-sm-offset-12 {
- margin-left: 100%; } }
-
-@media (min-width: 992px) {
- .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
- float: left; }
- .col-md-1 {
- width: 8.33333%; }
- .col-md-2 {
- width: 16.66667%; }
- .col-md-3 {
- width: 25%; }
- .col-md-4 {
- width: 33.33333%; }
- .col-md-5 {
- width: 41.66667%; }
- .col-md-6 {
- width: 50%; }
- .col-md-7 {
- width: 58.33333%; }
- .col-md-8 {
- width: 66.66667%; }
- .col-md-9 {
- width: 75%; }
- .col-md-10 {
- width: 83.33333%; }
- .col-md-11 {
- width: 91.66667%; }
- .col-md-12 {
- width: 100%; }
- .col-md-pull-0 {
- right: auto; }
- .col-md-pull-1 {
- right: 8.33333%; }
- .col-md-pull-2 {
- right: 16.66667%; }
- .col-md-pull-3 {
- right: 25%; }
- .col-md-pull-4 {
- right: 33.33333%; }
- .col-md-pull-5 {
- right: 41.66667%; }
- .col-md-pull-6 {
- right: 50%; }
- .col-md-pull-7 {
- right: 58.33333%; }
- .col-md-pull-8 {
- right: 66.66667%; }
- .col-md-pull-9 {
- right: 75%; }
- .col-md-pull-10 {
- right: 83.33333%; }
- .col-md-pull-11 {
- right: 91.66667%; }
- .col-md-pull-12 {
- right: 100%; }
- .col-md-push-0 {
- left: auto; }
- .col-md-push-1 {
- left: 8.33333%; }
- .col-md-push-2 {
- left: 16.66667%; }
- .col-md-push-3 {
- left: 25%; }
- .col-md-push-4 {
- left: 33.33333%; }
- .col-md-push-5 {
- left: 41.66667%; }
- .col-md-push-6 {
- left: 50%; }
- .col-md-push-7 {
- left: 58.33333%; }
- .col-md-push-8 {
- left: 66.66667%; }
- .col-md-push-9 {
- left: 75%; }
- .col-md-push-10 {
- left: 83.33333%; }
- .col-md-push-11 {
- left: 91.66667%; }
- .col-md-push-12 {
- left: 100%; }
- .col-md-offset-0 {
- margin-left: 0%; }
- .col-md-offset-1 {
- margin-left: 8.33333%; }
- .col-md-offset-2 {
- margin-left: 16.66667%; }
- .col-md-offset-3 {
- margin-left: 25%; }
- .col-md-offset-4 {
- margin-left: 33.33333%; }
- .col-md-offset-5 {
- margin-left: 41.66667%; }
- .col-md-offset-6 {
- margin-left: 50%; }
- .col-md-offset-7 {
- margin-left: 58.33333%; }
- .col-md-offset-8 {
- margin-left: 66.66667%; }
- .col-md-offset-9 {
- margin-left: 75%; }
- .col-md-offset-10 {
- margin-left: 83.33333%; }
- .col-md-offset-11 {
- margin-left: 91.66667%; }
- .col-md-offset-12 {
- margin-left: 100%; } }
-
-@media (min-width: 1200px) {
- .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
- float: left; }
- .col-lg-1 {
- width: 8.33333%; }
- .col-lg-2 {
- width: 16.66667%; }
- .col-lg-3 {
- width: 25%; }
- .col-lg-4 {
- width: 33.33333%; }
- .col-lg-5 {
- width: 41.66667%; }
- .col-lg-6 {
- width: 50%; }
- .col-lg-7 {
- width: 58.33333%; }
- .col-lg-8 {
- width: 66.66667%; }
- .col-lg-9 {
- width: 75%; }
- .col-lg-10 {
- width: 83.33333%; }
- .col-lg-11 {
- width: 91.66667%; }
- .col-lg-12 {
- width: 100%; }
- .col-lg-pull-0 {
- right: auto; }
- .col-lg-pull-1 {
- right: 8.33333%; }
- .col-lg-pull-2 {
- right: 16.66667%; }
- .col-lg-pull-3 {
- right: 25%; }
- .col-lg-pull-4 {
- right: 33.33333%; }
- .col-lg-pull-5 {
- right: 41.66667%; }
- .col-lg-pull-6 {
- right: 50%; }
- .col-lg-pull-7 {
- right: 58.33333%; }
- .col-lg-pull-8 {
- right: 66.66667%; }
- .col-lg-pull-9 {
- right: 75%; }
- .col-lg-pull-10 {
- right: 83.33333%; }
- .col-lg-pull-11 {
- right: 91.66667%; }
- .col-lg-pull-12 {
- right: 100%; }
- .col-lg-push-0 {
- left: auto; }
- .col-lg-push-1 {
- left: 8.33333%; }
- .col-lg-push-2 {
- left: 16.66667%; }
- .col-lg-push-3 {
- left: 25%; }
- .col-lg-push-4 {
- left: 33.33333%; }
- .col-lg-push-5 {
- left: 41.66667%; }
- .col-lg-push-6 {
- left: 50%; }
- .col-lg-push-7 {
- left: 58.33333%; }
- .col-lg-push-8 {
- left: 66.66667%; }
- .col-lg-push-9 {
- left: 75%; }
- .col-lg-push-10 {
- left: 83.33333%; }
- .col-lg-push-11 {
- left: 91.66667%; }
- .col-lg-push-12 {
- left: 100%; }
- .col-lg-offset-0 {
- margin-left: 0%; }
- .col-lg-offset-1 {
- margin-left: 8.33333%; }
- .col-lg-offset-2 {
- margin-left: 16.66667%; }
- .col-lg-offset-3 {
- margin-left: 25%; }
- .col-lg-offset-4 {
- margin-left: 33.33333%; }
- .col-lg-offset-5 {
- margin-left: 41.66667%; }
- .col-lg-offset-6 {
- margin-left: 50%; }
- .col-lg-offset-7 {
- margin-left: 58.33333%; }
- .col-lg-offset-8 {
- margin-left: 66.66667%; }
- .col-lg-offset-9 {
- margin-left: 75%; }
- .col-lg-offset-10 {
- margin-left: 83.33333%; }
- .col-lg-offset-11 {
- margin-left: 91.66667%; }
- .col-lg-offset-12 {
- margin-left: 100%; } }
-
-table {
- background-color: transparent; }
-
-caption {
- padding-top: 8px;
- padding-bottom: 8px;
- color: #777777;
- text-align: left; }
-
-th {
- text-align: left; }
-
-.table {
- width: 100%;
- max-width: 100%;
- margin-bottom: 20px; }
- .table > thead > tr > th,
- .table > thead > tr > td,
- .table > tbody > tr > th,
- .table > tbody > tr > td,
- .table > tfoot > tr > th,
- .table > tfoot > tr > td {
- padding: 8px;
- line-height: 1.42857;
- vertical-align: top;
- border-top: 1px solid #ddd; }
- .table > thead > tr > th {
- vertical-align: bottom;
- border-bottom: 2px solid #ddd; }
- .table > caption + thead > tr:first-child > th,
- .table > caption + thead > tr:first-child > td,
- .table > colgroup + thead > tr:first-child > th,
- .table > colgroup + thead > tr:first-child > td,
- .table > thead:first-child > tr:first-child > th,
- .table > thead:first-child > tr:first-child > td {
- border-top: 0; }
- .table > tbody + tbody {
- border-top: 2px solid #ddd; }
- .table .table {
- background-color: #fff; }
-
-.table-condensed > thead > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > th,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > th,
-.table-condensed > tfoot > tr > td {
- padding: 5px; }
-
-.table-bordered {
- border: 1px solid #ddd; }
- .table-bordered > thead > tr > th,
- .table-bordered > thead > tr > td,
- .table-bordered > tbody > tr > th,
- .table-bordered > tbody > tr > td,
- .table-bordered > tfoot > tr > th,
- .table-bordered > tfoot > tr > td {
- border: 1px solid #ddd; }
- .table-bordered > thead > tr > th,
- .table-bordered > thead > tr > td {
- border-bottom-width: 2px; }
-
-.table-striped > tbody > tr:nth-of-type(odd) {
- background-color: #f9f9f9; }
-
-.table-hover > tbody > tr:hover {
- background-color: #f5f5f5; }
-
-table col[class*="col-"] {
- position: static;
- float: none;
- display: table-column; }
-
-table td[class*="col-"],
-table th[class*="col-"] {
- position: static;
- float: none;
- display: table-cell; }
-
-.table > thead > tr > td.active,
-.table > thead > tr > th.active,
-.table > thead > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr > td.active,
-.table > tbody > tr > th.active,
-.table > tbody > tr.active > td,
-.table > tbody > tr.active > th,
-.table > tfoot > tr > td.active,
-.table > tfoot > tr > th.active,
-.table > tfoot > tr.active > td,
-.table > tfoot > tr.active > th {
- background-color: #f5f5f5; }
-
-.table-hover > tbody > tr > td.active:hover,
-.table-hover > tbody > tr > th.active:hover,
-.table-hover > tbody > tr.active:hover > td,
-.table-hover > tbody > tr:hover > .active,
-.table-hover > tbody > tr.active:hover > th {
- background-color: #e8e8e8; }
-
-.table > thead > tr > td.success,
-.table > thead > tr > th.success,
-.table > thead > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr > td.success,
-.table > tbody > tr > th.success,
-.table > tbody > tr.success > td,
-.table > tbody > tr.success > th,
-.table > tfoot > tr > td.success,
-.table > tfoot > tr > th.success,
-.table > tfoot > tr.success > td,
-.table > tfoot > tr.success > th {
- background-color: #dff0d8; }
-
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr:hover > .success,
-.table-hover > tbody > tr.success:hover > th {
- background-color: #d0e9c6; }
-
-.table > thead > tr > td.info,
-.table > thead > tr > th.info,
-.table > thead > tr.info > td,
-.table > thead > tr.info > th,
-.table > tbody > tr > td.info,
-.table > tbody > tr > th.info,
-.table > tbody > tr.info > td,
-.table > tbody > tr.info > th,
-.table > tfoot > tr > td.info,
-.table > tfoot > tr > th.info,
-.table > tfoot > tr.info > td,
-.table > tfoot > tr.info > th {
- background-color: #d9edf7; }
-
-.table-hover > tbody > tr > td.info:hover,
-.table-hover > tbody > tr > th.info:hover,
-.table-hover > tbody > tr.info:hover > td,
-.table-hover > tbody > tr:hover > .info,
-.table-hover > tbody > tr.info:hover > th {
- background-color: #c4e3f3; }
-
-.table > thead > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr > td.warning,
-.table > tbody > tr > th.warning,
-.table > tbody > tr.warning > td,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr > td.warning,
-.table > tfoot > tr > th.warning,
-.table > tfoot > tr.warning > td,
-.table > tfoot > tr.warning > th {
- background-color: #fcf8e3; }
-
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr:hover > .warning,
-.table-hover > tbody > tr.warning:hover > th {
- background-color: #faf2cc; }
-
-.table > thead > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr > td.danger,
-.table > tbody > tr > th.danger,
-.table > tbody > tr.danger > td,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr > td.danger,
-.table > tfoot > tr > th.danger,
-.table > tfoot > tr.danger > td,
-.table > tfoot > tr.danger > th {
- background-color: #f2dede; }
-
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr:hover > .danger,
-.table-hover > tbody > tr.danger:hover > th {
- background-color: #ebcccc; }
-
-.table-responsive {
- overflow-x: auto;
- min-height: 0.01%; }
- @media screen and (max-width: 767px) {
- .table-responsive {
- width: 100%;
- margin-bottom: 15px;
- overflow-y: hidden;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- border: 1px solid #ddd; }
- .table-responsive > .table {
- margin-bottom: 0; }
- .table-responsive > .table > thead > tr > th,
- .table-responsive > .table > thead > tr > td,
- .table-responsive > .table > tbody > tr > th,
- .table-responsive > .table > tbody > tr > td,
- .table-responsive > .table > tfoot > tr > th,
- .table-responsive > .table > tfoot > tr > td {
- white-space: nowrap; }
- .table-responsive > .table-bordered {
- border: 0; }
- .table-responsive > .table-bordered > thead > tr > th:first-child,
- .table-responsive > .table-bordered > thead > tr > td:first-child,
- .table-responsive > .table-bordered > tbody > tr > th:first-child,
- .table-responsive > .table-bordered > tbody > tr > td:first-child,
- .table-responsive > .table-bordered > tfoot > tr > th:first-child,
- .table-responsive > .table-bordered > tfoot > tr > td:first-child {
- border-left: 0; }
- .table-responsive > .table-bordered > thead > tr > th:last-child,
- .table-responsive > .table-bordered > thead > tr > td:last-child,
- .table-responsive > .table-bordered > tbody > tr > th:last-child,
- .table-responsive > .table-bordered > tbody > tr > td:last-child,
- .table-responsive > .table-bordered > tfoot > tr > th:last-child,
- .table-responsive > .table-bordered > tfoot > tr > td:last-child {
- border-right: 0; }
- .table-responsive > .table-bordered > tbody > tr:last-child > th,
- .table-responsive > .table-bordered > tbody > tr:last-child > td,
- .table-responsive > .table-bordered > tfoot > tr:last-child > th,
- .table-responsive > .table-bordered > tfoot > tr:last-child > td {
- border-bottom: 0; } }
-
-fieldset {
- padding: 0;
- margin: 0;
- border: 0;
- min-width: 0; }
-
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 20px;
- font-size: 21px;
- line-height: inherit;
- color: #333333;
- border: 0;
- border-bottom: 1px solid #e5e5e5; }
-
-label {
- display: inline-block;
- max-width: 100%;
- margin-bottom: 5px;
- font-weight: bold; }
-
-input[type="search"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box; }
-
-input[type="radio"],
-input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9;
- line-height: normal; }
-
-input[type="file"] {
- display: block; }
-
-input[type="range"] {
- display: block;
- width: 100%; }
-
-select[multiple],
-select[size] {
- height: auto; }
-
-input[type="file"]:focus,
-input[type="radio"]:focus,
-input[type="checkbox"]:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px; }
-
-output {
- display: block;
- padding-top: 7px;
- font-size: 14px;
- line-height: 1.42857;
- color: #555555; }
-
-.form-control {
- display: block;
- width: 100%;
- height: 34px;
- padding: 6px 12px;
- font-size: 14px;
- line-height: 1.42857;
- color: #555555;
- background-color: #fff;
- background-image: none;
- border: 1px solid #ccc;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
- -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
- transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
- .form-control:focus {
- border-color: #66afe9;
- outline: 0;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); }
- .form-control::-moz-placeholder {
- color: #999;
- opacity: 1; }
- .form-control:-ms-input-placeholder {
- color: #999; }
- .form-control::-webkit-input-placeholder {
- color: #999; }
- .form-control::-ms-expand {
- border: 0;
- background-color: transparent; }
- .form-control[disabled], .form-control[readonly],
- fieldset[disabled] .form-control {
- background-color: #eeeeee;
- opacity: 1; }
- .form-control[disabled],
- fieldset[disabled] .form-control {
- cursor: not-allowed; }
-
-textarea.form-control {
- height: auto; }
-
-input[type="search"] {
- -webkit-appearance: none; }
-
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
- input[type="date"].form-control,
- input[type="time"].form-control,
- input[type="datetime-local"].form-control,
- input[type="month"].form-control {
- line-height: 34px; }
- input[type="date"].input-sm, .input-group-sm > input[type="date"].form-control,
- .input-group-sm > input[type="date"].input-group-addon,
- .input-group-sm > .input-group-btn > input[type="date"].btn,
- .input-group-sm input[type="date"],
- input[type="time"].input-sm,
- .input-group-sm > input[type="time"].form-control,
- .input-group-sm > input[type="time"].input-group-addon,
- .input-group-sm > .input-group-btn > input[type="time"].btn,
- .input-group-sm
- input[type="time"],
- input[type="datetime-local"].input-sm,
- .input-group-sm > input[type="datetime-local"].form-control,
- .input-group-sm > input[type="datetime-local"].input-group-addon,
- .input-group-sm > .input-group-btn > input[type="datetime-local"].btn,
- .input-group-sm
- input[type="datetime-local"],
- input[type="month"].input-sm,
- .input-group-sm > input[type="month"].form-control,
- .input-group-sm > input[type="month"].input-group-addon,
- .input-group-sm > .input-group-btn > input[type="month"].btn,
- .input-group-sm
- input[type="month"] {
- line-height: 30px; }
- input[type="date"].input-lg, .input-group-lg > input[type="date"].form-control,
- .input-group-lg > input[type="date"].input-group-addon,
- .input-group-lg > .input-group-btn > input[type="date"].btn,
- .input-group-lg input[type="date"],
- input[type="time"].input-lg,
- .input-group-lg > input[type="time"].form-control,
- .input-group-lg > input[type="time"].input-group-addon,
- .input-group-lg > .input-group-btn > input[type="time"].btn,
- .input-group-lg
- input[type="time"],
- input[type="datetime-local"].input-lg,
- .input-group-lg > input[type="datetime-local"].form-control,
- .input-group-lg > input[type="datetime-local"].input-group-addon,
- .input-group-lg > .input-group-btn > input[type="datetime-local"].btn,
- .input-group-lg
- input[type="datetime-local"],
- input[type="month"].input-lg,
- .input-group-lg > input[type="month"].form-control,
- .input-group-lg > input[type="month"].input-group-addon,
- .input-group-lg > .input-group-btn > input[type="month"].btn,
- .input-group-lg
- input[type="month"] {
- line-height: 46px; } }
-
-.form-group {
- margin-bottom: 15px; }
-
-.radio,
-.checkbox {
- position: relative;
- display: block;
- margin-top: 10px;
- margin-bottom: 10px; }
- .radio label,
- .checkbox label {
- min-height: 20px;
- padding-left: 20px;
- margin-bottom: 0;
- font-weight: normal;
- cursor: pointer; }
-
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
- position: absolute;
- margin-left: -20px;
- margin-top: 4px \9; }
-
-.radio + .radio,
-.checkbox + .checkbox {
- margin-top: -5px; }
-
-.radio-inline,
-.checkbox-inline {
- position: relative;
- display: inline-block;
- padding-left: 20px;
- margin-bottom: 0;
- vertical-align: middle;
- font-weight: normal;
- cursor: pointer; }
-
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
- margin-top: 0;
- margin-left: 10px; }
-
-input[type="radio"][disabled], input[type="radio"].disabled,
-fieldset[disabled] input[type="radio"],
-input[type="checkbox"][disabled],
-input[type="checkbox"].disabled,
-fieldset[disabled]
-input[type="checkbox"] {
- cursor: not-allowed; }
-
-.radio-inline.disabled,
-fieldset[disabled] .radio-inline,
-.checkbox-inline.disabled,
-fieldset[disabled]
-.checkbox-inline {
- cursor: not-allowed; }
-
-.radio.disabled label,
-fieldset[disabled] .radio label,
-.checkbox.disabled label,
-fieldset[disabled]
-.checkbox label {
- cursor: not-allowed; }
-
-.form-control-static {
- padding-top: 7px;
- padding-bottom: 7px;
- margin-bottom: 0;
- min-height: 34px; }
- .form-control-static.input-lg, .input-group-lg > .form-control-static.form-control,
- .input-group-lg > .form-control-static.input-group-addon,
- .input-group-lg > .input-group-btn > .form-control-static.btn, .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control,
- .input-group-sm > .form-control-static.input-group-addon,
- .input-group-sm > .input-group-btn > .form-control-static.btn {
- padding-left: 0;
- padding-right: 0; }
-
-.input-sm, .input-group-sm > .form-control,
-.input-group-sm > .input-group-addon,
-.input-group-sm > .input-group-btn > .btn {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px; }
-
-select.input-sm, .input-group-sm > select.form-control,
-.input-group-sm > select.input-group-addon,
-.input-group-sm > .input-group-btn > select.btn {
- height: 30px;
- line-height: 30px; }
-
-textarea.input-sm, .input-group-sm > textarea.form-control,
-.input-group-sm > textarea.input-group-addon,
-.input-group-sm > .input-group-btn > textarea.btn,
-select[multiple].input-sm,
-.input-group-sm > select[multiple].form-control,
-.input-group-sm > select[multiple].input-group-addon,
-.input-group-sm > .input-group-btn > select[multiple].btn {
- height: auto; }
-
-.form-group-sm .form-control {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px; }
-
-.form-group-sm select.form-control {
- height: 30px;
- line-height: 30px; }
-
-.form-group-sm textarea.form-control,
-.form-group-sm select[multiple].form-control {
- height: auto; }
-
-.form-group-sm .form-control-static {
- height: 30px;
- min-height: 32px;
- padding: 6px 10px;
- font-size: 12px;
- line-height: 1.5; }
-
-.input-lg, .input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
- height: 46px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33333;
- border-radius: 6px; }
-
-select.input-lg, .input-group-lg > select.form-control,
-.input-group-lg > select.input-group-addon,
-.input-group-lg > .input-group-btn > select.btn {
- height: 46px;
- line-height: 46px; }
-
-textarea.input-lg, .input-group-lg > textarea.form-control,
-.input-group-lg > textarea.input-group-addon,
-.input-group-lg > .input-group-btn > textarea.btn,
-select[multiple].input-lg,
-.input-group-lg > select[multiple].form-control,
-.input-group-lg > select[multiple].input-group-addon,
-.input-group-lg > .input-group-btn > select[multiple].btn {
- height: auto; }
-
-.form-group-lg .form-control {
- height: 46px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33333;
- border-radius: 6px; }
-
-.form-group-lg select.form-control {
- height: 46px;
- line-height: 46px; }
-
-.form-group-lg textarea.form-control,
-.form-group-lg select[multiple].form-control {
- height: auto; }
-
-.form-group-lg .form-control-static {
- height: 46px;
- min-height: 38px;
- padding: 11px 16px;
- font-size: 18px;
- line-height: 1.33333; }
-
-.has-feedback {
- position: relative; }
- .has-feedback .form-control {
- padding-right: 42.5px; }
-
-.form-control-feedback {
- position: absolute;
- top: 0;
- right: 0;
- z-index: 2;
- display: block;
- width: 34px;
- height: 34px;
- line-height: 34px;
- text-align: center;
- pointer-events: none; }
-
-.input-lg + .form-control-feedback, .input-group-lg > .form-control + .form-control-feedback,
-.input-group-lg > .input-group-addon + .form-control-feedback,
-.input-group-lg > .input-group-btn > .btn + .form-control-feedback,
-.input-group-lg + .form-control-feedback,
-.form-group-lg .form-control + .form-control-feedback {
- width: 46px;
- height: 46px;
- line-height: 46px; }
-
-.input-sm + .form-control-feedback, .input-group-sm > .form-control + .form-control-feedback,
-.input-group-sm > .input-group-addon + .form-control-feedback,
-.input-group-sm > .input-group-btn > .btn + .form-control-feedback,
-.input-group-sm + .form-control-feedback,
-.form-group-sm .form-control + .form-control-feedback {
- width: 30px;
- height: 30px;
- line-height: 30px; }
-
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline,
-.has-success.radio label,
-.has-success.checkbox label,
-.has-success.radio-inline label,
-.has-success.checkbox-inline label {
- color: #3c763d; }
-
-.has-success .form-control {
- border-color: #3c763d;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
- .has-success .form-control:focus {
- border-color: #2b542c;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }
-
-.has-success .input-group-addon {
- color: #3c763d;
- border-color: #3c763d;
- background-color: #dff0d8; }
-
-.has-success .form-control-feedback {
- color: #3c763d; }
-
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline,
-.has-warning.radio label,
-.has-warning.checkbox label,
-.has-warning.radio-inline label,
-.has-warning.checkbox-inline label {
- color: #8a6d3b; }
-
-.has-warning .form-control {
- border-color: #8a6d3b;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
- .has-warning .form-control:focus {
- border-color: #66512c;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }
-
-.has-warning .input-group-addon {
- color: #8a6d3b;
- border-color: #8a6d3b;
- background-color: #fcf8e3; }
-
-.has-warning .form-control-feedback {
- color: #8a6d3b; }
-
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline,
-.has-error.radio label,
-.has-error.checkbox label,
-.has-error.radio-inline label,
-.has-error.checkbox-inline label {
- color: #a94442; }
-
-.has-error .form-control {
- border-color: #a94442;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
- .has-error .form-control:focus {
- border-color: #843534;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; }
-
-.has-error .input-group-addon {
- color: #a94442;
- border-color: #a94442;
- background-color: #f2dede; }
-
-.has-error .form-control-feedback {
- color: #a94442; }
-
-.has-feedback label ~ .form-control-feedback {
- top: 25px; }
-
-.has-feedback label.sr-only ~ .form-control-feedback {
- top: 0; }
-
-.help-block {
- display: block;
- margin-top: 5px;
- margin-bottom: 10px;
- color: #737373; }
-
-@media (min-width: 768px) {
- .form-inline .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle; }
- .form-inline .form-control {
- display: inline-block;
- width: auto;
- vertical-align: middle; }
- .form-inline .form-control-static {
- display: inline-block; }
- .form-inline .input-group {
- display: inline-table;
- vertical-align: middle; }
- .form-inline .input-group .input-group-addon,
- .form-inline .input-group .input-group-btn,
- .form-inline .input-group .form-control {
- width: auto; }
- .form-inline .input-group > .form-control {
- width: 100%; }
- .form-inline .control-label {
- margin-bottom: 0;
- vertical-align: middle; }
- .form-inline .radio,
- .form-inline .checkbox {
- display: inline-block;
- margin-top: 0;
- margin-bottom: 0;
- vertical-align: middle; }
- .form-inline .radio label,
- .form-inline .checkbox label {
- padding-left: 0; }
- .form-inline .radio input[type="radio"],
- .form-inline .checkbox input[type="checkbox"] {
- position: relative;
- margin-left: 0; }
- .form-inline .has-feedback .form-control-feedback {
- top: 0; } }
-
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
- margin-top: 0;
- margin-bottom: 0;
- padding-top: 7px; }
-
-.form-horizontal .radio,
-.form-horizontal .checkbox {
- min-height: 27px; }
-
-.form-horizontal .form-group {
- margin-left: -15px;
- margin-right: -15px; }
- .form-horizontal .form-group:before, .form-horizontal .form-group:after {
- content: " ";
- display: table; }
- .form-horizontal .form-group:after {
- clear: both; }
-
-@media (min-width: 768px) {
- .form-horizontal .control-label {
- text-align: right;
- margin-bottom: 0;
- padding-top: 7px; } }
-
-.form-horizontal .has-feedback .form-control-feedback {
- right: 15px; }
-
-@media (min-width: 768px) {
- .form-horizontal .form-group-lg .control-label {
- padding-top: 11px;
- font-size: 18px; } }
-
-@media (min-width: 768px) {
- .form-horizontal .form-group-sm .control-label {
- padding-top: 6px;
- font-size: 12px; } }
-
-.btn {
- display: inline-block;
- margin-bottom: 0;
- font-weight: normal;
- text-align: center;
- vertical-align: middle;
- touch-action: manipulation;
- cursor: pointer;
- background-image: none;
- border: 1px solid transparent;
- white-space: nowrap;
- padding: 6px 12px;
- font-size: 14px;
- line-height: 1.42857;
- border-radius: 4px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px; }
- .btn:hover, .btn:focus, .btn.focus {
- color: #333;
- text-decoration: none; }
- .btn:active, .btn.active {
- outline: 0;
- background-image: none;
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
- .btn.disabled, .btn[disabled],
- fieldset[disabled] .btn {
- cursor: not-allowed;
- opacity: 0.65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- box-shadow: none; }
-
-a.btn.disabled,
-fieldset[disabled] a.btn {
- pointer-events: none; }
-
-.btn-default {
- color: #333;
- background-color: #fff;
- border-color: #ccc; }
- .btn-default:focus, .btn-default.focus {
- color: #333;
- background-color: #e6e6e6;
- border-color: #8c8c8c; }
- .btn-default:hover {
- color: #333;
- background-color: #e6e6e6;
- border-color: #adadad; }
- .btn-default:active, .btn-default.active,
- .open > .btn-default.dropdown-toggle {
- color: #333;
- background-color: #e6e6e6;
- border-color: #adadad; }
- .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,
- .open > .btn-default.dropdown-toggle:hover,
- .open > .btn-default.dropdown-toggle:focus,
- .open > .btn-default.dropdown-toggle.focus {
- color: #333;
- background-color: #d4d4d4;
- border-color: #8c8c8c; }
- .btn-default:active, .btn-default.active,
- .open > .btn-default.dropdown-toggle {
- background-image: none; }
- .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,
- fieldset[disabled] .btn-default:hover,
- fieldset[disabled] .btn-default:focus,
- fieldset[disabled] .btn-default.focus {
- background-color: #fff;
- border-color: #ccc; }
- .btn-default .badge {
- color: #fff;
- background-color: #333; }
-
-.btn-primary {
- color: #fff;
- background-color: #337ab7;
- border-color: #2e6da4; }
- .btn-primary:focus, .btn-primary.focus {
- color: #fff;
- background-color: #286090;
- border-color: #122b40; }
- .btn-primary:hover {
- color: #fff;
- background-color: #286090;
- border-color: #204d74; }
- .btn-primary:active, .btn-primary.active,
- .open > .btn-primary.dropdown-toggle {
- color: #fff;
- background-color: #286090;
- border-color: #204d74; }
- .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
- .open > .btn-primary.dropdown-toggle:hover,
- .open > .btn-primary.dropdown-toggle:focus,
- .open > .btn-primary.dropdown-toggle.focus {
- color: #fff;
- background-color: #204d74;
- border-color: #122b40; }
- .btn-primary:active, .btn-primary.active,
- .open > .btn-primary.dropdown-toggle {
- background-image: none; }
- .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
- fieldset[disabled] .btn-primary:hover,
- fieldset[disabled] .btn-primary:focus,
- fieldset[disabled] .btn-primary.focus {
- background-color: #337ab7;
- border-color: #2e6da4; }
- .btn-primary .badge {
- color: #337ab7;
- background-color: #fff; }
-
-.btn-success {
- color: #fff;
- background-color: #5cb85c;
- border-color: #4cae4c; }
- .btn-success:focus, .btn-success.focus {
- color: #fff;
- background-color: #449d44;
- border-color: #255625; }
- .btn-success:hover {
- color: #fff;
- background-color: #449d44;
- border-color: #398439; }
- .btn-success:active, .btn-success.active,
- .open > .btn-success.dropdown-toggle {
- color: #fff;
- background-color: #449d44;
- border-color: #398439; }
- .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
- .open > .btn-success.dropdown-toggle:hover,
- .open > .btn-success.dropdown-toggle:focus,
- .open > .btn-success.dropdown-toggle.focus {
- color: #fff;
- background-color: #398439;
- border-color: #255625; }
- .btn-success:active, .btn-success.active,
- .open > .btn-success.dropdown-toggle {
- background-image: none; }
- .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,
- fieldset[disabled] .btn-success:hover,
- fieldset[disabled] .btn-success:focus,
- fieldset[disabled] .btn-success.focus {
- background-color: #5cb85c;
- border-color: #4cae4c; }
- .btn-success .badge {
- color: #5cb85c;
- background-color: #fff; }
-
-.btn-info {
- color: #fff;
- background-color: #5bc0de;
- border-color: #46b8da; }
- .btn-info:focus, .btn-info.focus {
- color: #fff;
- background-color: #31b0d5;
- border-color: #1b6d85; }
- .btn-info:hover {
- color: #fff;
- background-color: #31b0d5;
- border-color: #269abc; }
- .btn-info:active, .btn-info.active,
- .open > .btn-info.dropdown-toggle {
- color: #fff;
- background-color: #31b0d5;
- border-color: #269abc; }
- .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
- .open > .btn-info.dropdown-toggle:hover,
- .open > .btn-info.dropdown-toggle:focus,
- .open > .btn-info.dropdown-toggle.focus {
- color: #fff;
- background-color: #269abc;
- border-color: #1b6d85; }
- .btn-info:active, .btn-info.active,
- .open > .btn-info.dropdown-toggle {
- background-image: none; }
- .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,
- fieldset[disabled] .btn-info:hover,
- fieldset[disabled] .btn-info:focus,
- fieldset[disabled] .btn-info.focus {
- background-color: #5bc0de;
- border-color: #46b8da; }
- .btn-info .badge {
- color: #5bc0de;
- background-color: #fff; }
-
-.btn-warning {
- color: #fff;
- background-color: #f0ad4e;
- border-color: #eea236; }
- .btn-warning:focus, .btn-warning.focus {
- color: #fff;
- background-color: #ec971f;
- border-color: #985f0d; }
- .btn-warning:hover {
- color: #fff;
- background-color: #ec971f;
- border-color: #d58512; }
- .btn-warning:active, .btn-warning.active,
- .open > .btn-warning.dropdown-toggle {
- color: #fff;
- background-color: #ec971f;
- border-color: #d58512; }
- .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
- .open > .btn-warning.dropdown-toggle:hover,
- .open > .btn-warning.dropdown-toggle:focus,
- .open > .btn-warning.dropdown-toggle.focus {
- color: #fff;
- background-color: #d58512;
- border-color: #985f0d; }
- .btn-warning:active, .btn-warning.active,
- .open > .btn-warning.dropdown-toggle {
- background-image: none; }
- .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,
- fieldset[disabled] .btn-warning:hover,
- fieldset[disabled] .btn-warning:focus,
- fieldset[disabled] .btn-warning.focus {
- background-color: #f0ad4e;
- border-color: #eea236; }
- .btn-warning .badge {
- color: #f0ad4e;
- background-color: #fff; }
-
-.btn-danger {
- color: #fff;
- background-color: #d9534f;
- border-color: #d43f3a; }
- .btn-danger:focus, .btn-danger.focus {
- color: #fff;
- background-color: #c9302c;
- border-color: #761c19; }
- .btn-danger:hover {
- color: #fff;
- background-color: #c9302c;
- border-color: #ac2925; }
- .btn-danger:active, .btn-danger.active,
- .open > .btn-danger.dropdown-toggle {
- color: #fff;
- background-color: #c9302c;
- border-color: #ac2925; }
- .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
- .open > .btn-danger.dropdown-toggle:hover,
- .open > .btn-danger.dropdown-toggle:focus,
- .open > .btn-danger.dropdown-toggle.focus {
- color: #fff;
- background-color: #ac2925;
- border-color: #761c19; }
- .btn-danger:active, .btn-danger.active,
- .open > .btn-danger.dropdown-toggle {
- background-image: none; }
- .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,
- fieldset[disabled] .btn-danger:hover,
- fieldset[disabled] .btn-danger:focus,
- fieldset[disabled] .btn-danger.focus {
- background-color: #d9534f;
- border-color: #d43f3a; }
- .btn-danger .badge {
- color: #d9534f;
- background-color: #fff; }
-
-.btn-link {
- color: #337ab7;
- font-weight: normal;
- border-radius: 0; }
- .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],
- fieldset[disabled] .btn-link {
- background-color: transparent;
- -webkit-box-shadow: none;
- box-shadow: none; }
- .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
- border-color: transparent; }
- .btn-link:hover, .btn-link:focus {
- color: #23527c;
- text-decoration: underline;
- background-color: transparent; }
- .btn-link[disabled]:hover, .btn-link[disabled]:focus,
- fieldset[disabled] .btn-link:hover,
- fieldset[disabled] .btn-link:focus {
- color: #777777;
- text-decoration: none; }
-
-.btn-lg, .btn-group-lg > .btn {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33333;
- border-radius: 6px; }
-
-.btn-sm, .btn-group-sm > .btn {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px; }
-
-.btn-xs, .btn-group-xs > .btn {
- padding: 1px 5px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px; }
-
-.btn-block {
- display: block;
- width: 100%; }
-
-.btn-block + .btn-block {
- margin-top: 5px; }
-
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].btn-block {
- width: 100%; }
-
-.fade {
- opacity: 0;
- -webkit-transition: opacity 0.15s linear;
- -o-transition: opacity 0.15s linear;
- transition: opacity 0.15s linear; }
- .fade.in {
- opacity: 1; }
-
-.collapse {
- display: none; }
- .collapse.in {
- display: block; }
-
-tr.collapse.in {
- display: table-row; }
-
-tbody.collapse.in {
- display: table-row-group; }
-
-.collapsing {
- position: relative;
- height: 0;
- overflow: hidden;
- -webkit-transition-property: height, visibility;
- transition-property: height, visibility;
- -webkit-transition-duration: 0.35s;
- transition-duration: 0.35s;
- -webkit-transition-timing-function: ease;
- transition-timing-function: ease; }
-
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- margin-left: 2px;
- vertical-align: middle;
- border-top: 4px dashed;
- border-top: 4px solid \9;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent; }
-
-.dropup,
-.dropdown {
- position: relative; }
-
-.dropdown-toggle:focus {
- outline: 0; }
-
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- list-style: none;
- font-size: 14px;
- text-align: left;
- background-color: #fff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 4px;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- background-clip: padding-box; }
- .dropdown-menu.pull-right {
- right: 0;
- left: auto; }
- .dropdown-menu .divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5; }
- .dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.42857;
- color: #333333;
- white-space: nowrap; }
-
-.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
- text-decoration: none;
- color: #262626;
- background-color: #f5f5f5; }
-
-.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
- color: #fff;
- text-decoration: none;
- outline: 0;
- background-color: #337ab7; }
-
-.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
- color: #777777; }
-
-.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- cursor: not-allowed; }
-
-.open > .dropdown-menu {
- display: block; }
-
-.open > a {
- outline: 0; }
-
-.dropdown-menu-right {
- left: auto;
- right: 0; }
-
-.dropdown-menu-left {
- left: 0;
- right: auto; }
-
-.dropdown-header {
- display: block;
- padding: 3px 20px;
- font-size: 12px;
- line-height: 1.42857;
- color: #777777;
- white-space: nowrap; }
-
-.dropdown-backdrop {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- top: 0;
- z-index: 990; }
-
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto; }
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- border-top: 0;
- border-bottom: 4px dashed;
- border-bottom: 4px solid \9;
- content: ""; }
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 2px; }
-
-@media (min-width: 768px) {
- .navbar-right .dropdown-menu {
- right: 0;
- left: auto; }
- .navbar-right .dropdown-menu-left {
- left: 0;
- right: auto; } }
-
-.btn-group,
-.btn-group-vertical {
- position: relative;
- display: inline-block;
- vertical-align: middle; }
- .btn-group > .btn,
- .btn-group-vertical > .btn {
- position: relative;
- float: left; }
- .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
- .btn-group-vertical > .btn:hover,
- .btn-group-vertical > .btn:focus,
- .btn-group-vertical > .btn:active,
- .btn-group-vertical > .btn.active {
- z-index: 2; }
-
-.btn-group .btn + .btn,
-.btn-group .btn + .btn-group,
-.btn-group .btn-group + .btn,
-.btn-group .btn-group + .btn-group {
- margin-left: -1px; }
-
-.btn-toolbar {
- margin-left: -5px; }
- .btn-toolbar:before, .btn-toolbar:after {
- content: " ";
- display: table; }
- .btn-toolbar:after {
- clear: both; }
- .btn-toolbar .btn,
- .btn-toolbar .btn-group,
- .btn-toolbar .input-group {
- float: left; }
- .btn-toolbar > .btn,
- .btn-toolbar > .btn-group,
- .btn-toolbar > .input-group {
- margin-left: 5px; }
-
-.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
- border-radius: 0; }
-
-.btn-group > .btn:first-child {
- margin-left: 0; }
- .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
- border-bottom-right-radius: 0;
- border-top-right-radius: 0; }
-
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0; }
-
-.btn-group > .btn-group {
- float: left; }
-
-.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0; }
-
-.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
- border-bottom-right-radius: 0;
- border-top-right-radius: 0; }
-
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0; }
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0; }
-
-.btn-group > .btn + .dropdown-toggle {
- padding-left: 8px;
- padding-right: 8px; }
-
-.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle {
- padding-left: 12px;
- padding-right: 12px; }
-
-.btn-group.open .dropdown-toggle {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); }
- .btn-group.open .dropdown-toggle.btn-link {
- -webkit-box-shadow: none;
- box-shadow: none; }
-
-.btn .caret {
- margin-left: 0; }
-
-.btn-lg .caret, .btn-group-lg > .btn .caret {
- border-width: 5px 5px 0;
- border-bottom-width: 0; }
-
-.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
- border-width: 0 5px 5px; }
-
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group,
-.btn-group-vertical > .btn-group > .btn {
- display: block;
- float: none;
- width: 100%;
- max-width: 100%; }
-
-.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after {
- content: " ";
- display: table; }
-
-.btn-group-vertical > .btn-group:after {
- clear: both; }
-
-.btn-group-vertical > .btn-group > .btn {
- float: none; }
-
-.btn-group-vertical > .btn + .btn,
-.btn-group-vertical > .btn + .btn-group,
-.btn-group-vertical > .btn-group + .btn,
-.btn-group-vertical > .btn-group + .btn-group {
- margin-top: -1px;
- margin-left: 0; }
-
-.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
- border-radius: 0; }
-
-.btn-group-vertical > .btn:first-child:not(:last-child) {
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0; }
-
-.btn-group-vertical > .btn:last-child:not(:first-child) {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px; }
-
-.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
- border-radius: 0; }
-
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
-.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0; }
-
-.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0; }
-
-.btn-group-justified {
- display: table;
- width: 100%;
- table-layout: fixed;
- border-collapse: separate; }
- .btn-group-justified > .btn,
- .btn-group-justified > .btn-group {
- float: none;
- display: table-cell;
- width: 1%; }
- .btn-group-justified > .btn-group .btn {
- width: 100%; }
- .btn-group-justified > .btn-group .dropdown-menu {
- left: auto; }
-
-[data-toggle="buttons"] > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn input[type="checkbox"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- pointer-events: none; }
-
-.input-group {
- position: relative;
- display: table;
- border-collapse: separate; }
- .input-group[class*="col-"] {
- float: none;
- padding-left: 0;
- padding-right: 0; }
- .input-group .form-control {
- position: relative;
- z-index: 2;
- float: left;
- width: 100%;
- margin-bottom: 0; }
- .input-group .form-control:focus {
- z-index: 3; }
-
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
- display: table-cell; }
- .input-group-addon:not(:first-child):not(:last-child),
- .input-group-btn:not(:first-child):not(:last-child),
- .input-group .form-control:not(:first-child):not(:last-child) {
- border-radius: 0; }
-
-.input-group-addon,
-.input-group-btn {
- width: 1%;
- white-space: nowrap;
- vertical-align: middle; }
-
-.input-group-addon {
- padding: 6px 12px;
- font-size: 14px;
- font-weight: normal;
- line-height: 1;
- color: #555555;
- text-align: center;
- background-color: #eeeeee;
- border: 1px solid #ccc;
- border-radius: 4px; }
- .input-group-addon.input-sm,
- .input-group-sm > .input-group-addon,
- .input-group-sm > .input-group-btn > .input-group-addon.btn {
- padding: 5px 10px;
- font-size: 12px;
- border-radius: 3px; }
- .input-group-addon.input-lg,
- .input-group-lg > .input-group-addon,
- .input-group-lg > .input-group-btn > .input-group-addon.btn {
- padding: 10px 16px;
- font-size: 18px;
- border-radius: 6px; }
- .input-group-addon input[type="radio"],
- .input-group-addon input[type="checkbox"] {
- margin-top: 0; }
-
-.input-group .form-control:first-child,
-.input-group-addon:first-child,
-.input-group-btn:first-child > .btn,
-.input-group-btn:first-child > .btn-group > .btn,
-.input-group-btn:first-child > .dropdown-toggle,
-.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
- border-bottom-right-radius: 0;
- border-top-right-radius: 0; }
-
-.input-group-addon:first-child {
- border-right: 0; }
-
-.input-group .form-control:last-child,
-.input-group-addon:last-child,
-.input-group-btn:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0; }
-
-.input-group-addon:last-child {
- border-left: 0; }
-
-.input-group-btn {
- position: relative;
- font-size: 0;
- white-space: nowrap; }
- .input-group-btn > .btn {
- position: relative; }
- .input-group-btn > .btn + .btn {
- margin-left: -1px; }
- .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
- z-index: 2; }
- .input-group-btn:first-child > .btn,
- .input-group-btn:first-child > .btn-group {
- margin-right: -1px; }
- .input-group-btn:last-child > .btn,
- .input-group-btn:last-child > .btn-group {
- z-index: 2;
- margin-left: -1px; }
-
-.nav {
- margin-bottom: 0;
- padding-left: 0;
- list-style: none; }
- .nav:before, .nav:after {
- content: " ";
- display: table; }
- .nav:after {
- clear: both; }
- .nav > li {
- position: relative;
- display: block; }
- .nav > li > a {
- position: relative;
- display: block;
- padding: 10px 15px; }
- .nav > li > a:hover, .nav > li > a:focus {
- text-decoration: none;
- background-color: #eeeeee; }
- .nav > li.disabled > a {
- color: #777777; }
- .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
- color: #777777;
- text-decoration: none;
- background-color: transparent;
- cursor: not-allowed; }
- .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
- background-color: #eeeeee;
- border-color: #337ab7; }
- .nav .nav-divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5; }
- .nav > li > a > img {
- max-width: none; }
-
-.nav-tabs {
- border-bottom: 1px solid #ddd; }
- .nav-tabs > li {
- float: left;
- margin-bottom: -1px; }
- .nav-tabs > li > a {
- margin-right: 2px;
- line-height: 1.42857;
- border: 1px solid transparent;
- border-radius: 4px 4px 0 0; }
- .nav-tabs > li > a:hover {
- border-color: #eeeeee #eeeeee #ddd; }
- .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
- color: #555555;
- background-color: #fff;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
- cursor: default; }
-
-.nav-pills > li {
- float: left; }
- .nav-pills > li > a {
- border-radius: 4px; }
- .nav-pills > li + li {
- margin-left: 2px; }
- .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
- color: #fff;
- background-color: #337ab7; }
-
-.nav-stacked > li {
- float: none; }
- .nav-stacked > li + li {
- margin-top: 2px;
- margin-left: 0; }
-
-.nav-justified, .nav-tabs.nav-justified {
- width: 100%; }
- .nav-justified > li, .nav-tabs.nav-justified > li {
- float: none; }
- .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
- text-align: center;
- margin-bottom: 5px; }
- .nav-justified > .dropdown .dropdown-menu {
- top: auto;
- left: auto; }
- @media (min-width: 768px) {
- .nav-justified > li, .nav-tabs.nav-justified > li {
- display: table-cell;
- width: 1%; }
- .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
- margin-bottom: 0; } }
-
-.nav-tabs-justified, .nav-tabs.nav-justified {
- border-bottom: 0; }
- .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
- margin-right: 0;
- border-radius: 4px; }
- .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
- .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,
- .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
- border: 1px solid #ddd; }
- @media (min-width: 768px) {
- .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
- border-bottom: 1px solid #ddd;
- border-radius: 4px 4px 0 0; }
- .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
- .nav-tabs-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:hover,
- .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus {
- border-bottom-color: #fff; } }
-
-.tab-content > .tab-pane {
- display: none; }
-
-.tab-content > .active {
- display: block; }
-
-.nav-tabs .dropdown-menu {
- margin-top: -1px;
- border-top-right-radius: 0;
- border-top-left-radius: 0; }
-
-.navbar {
- position: relative;
- min-height: 50px;
- margin-bottom: 20px;
- border: 1px solid transparent; }
- .navbar:before, .navbar:after {
- content: " ";
- display: table; }
- .navbar:after {
- clear: both; }
- @media (min-width: 768px) {
- .navbar {
- border-radius: 4px; } }
-
-.navbar-header:before, .navbar-header:after {
- content: " ";
- display: table; }
-
-.navbar-header:after {
- clear: both; }
-
-@media (min-width: 768px) {
- .navbar-header {
- float: left; } }
-
-.navbar-collapse {
- overflow-x: visible;
- padding-right: 15px;
- padding-left: 15px;
- border-top: 1px solid transparent;
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-overflow-scrolling: touch; }
- .navbar-collapse:before, .navbar-collapse:after {
- content: " ";
- display: table; }
- .navbar-collapse:after {
- clear: both; }
- .navbar-collapse.in {
- overflow-y: auto; }
- @media (min-width: 768px) {
- .navbar-collapse {
- width: auto;
- border-top: 0;
- box-shadow: none; }
- .navbar-collapse.collapse {
- display: block !important;
- height: auto !important;
- padding-bottom: 0;
- overflow: visible !important; }
- .navbar-collapse.in {
- overflow-y: visible; }
- .navbar-fixed-top .navbar-collapse,
- .navbar-static-top .navbar-collapse,
- .navbar-fixed-bottom .navbar-collapse {
- padding-left: 0;
- padding-right: 0; } }
-
-.navbar-fixed-top .navbar-collapse,
-.navbar-fixed-bottom .navbar-collapse {
- max-height: 340px; }
- @media (max-device-width: 480px) and (orientation: landscape) {
- .navbar-fixed-top .navbar-collapse,
- .navbar-fixed-bottom .navbar-collapse {
- max-height: 200px; } }
-
-.container > .navbar-header,
-.container > .navbar-collapse,
-.container-fluid > .navbar-header,
-.container-fluid > .navbar-collapse {
- margin-right: -15px;
- margin-left: -15px; }
- @media (min-width: 768px) {
- .container > .navbar-header,
- .container > .navbar-collapse,
- .container-fluid > .navbar-header,
- .container-fluid > .navbar-collapse {
- margin-right: 0;
- margin-left: 0; } }
-
-.navbar-static-top {
- z-index: 1000;
- border-width: 0 0 1px; }
- @media (min-width: 768px) {
- .navbar-static-top {
- border-radius: 0; } }
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030; }
- @media (min-width: 768px) {
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- border-radius: 0; } }
-
-.navbar-fixed-top {
- top: 0;
- border-width: 0 0 1px; }
-
-.navbar-fixed-bottom {
- bottom: 0;
- margin-bottom: 0;
- border-width: 1px 0 0; }
-
-.navbar-brand {
- float: left;
- padding: 15px 15px;
- font-size: 18px;
- line-height: 20px;
- height: 50px; }
- .navbar-brand:hover, .navbar-brand:focus {
- text-decoration: none; }
- .navbar-brand > img {
- display: block; }
- @media (min-width: 768px) {
- .navbar > .container .navbar-brand,
- .navbar > .container-fluid .navbar-brand {
- margin-left: -15px; } }
-
-.navbar-toggle {
- position: relative;
- float: right;
- margin-right: 15px;
- padding: 9px 10px;
- margin-top: 8px;
- margin-bottom: 8px;
- background-color: transparent;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 4px; }
- .navbar-toggle:focus {
- outline: 0; }
- .navbar-toggle .icon-bar {
- display: block;
- width: 22px;
- height: 2px;
- border-radius: 1px; }
- .navbar-toggle .icon-bar + .icon-bar {
- margin-top: 4px; }
- @media (min-width: 768px) {
- .navbar-toggle {
- display: none; } }
-
-.navbar-nav {
- margin: 7.5px -15px; }
- .navbar-nav > li > a {
- padding-top: 10px;
- padding-bottom: 10px;
- line-height: 20px; }
- @media (max-width: 767px) {
- .navbar-nav .open .dropdown-menu {
- position: static;
- float: none;
- width: auto;
- margin-top: 0;
- background-color: transparent;
- border: 0;
- box-shadow: none; }
- .navbar-nav .open .dropdown-menu > li > a,
- .navbar-nav .open .dropdown-menu .dropdown-header {
- padding: 5px 15px 5px 25px; }
- .navbar-nav .open .dropdown-menu > li > a {
- line-height: 20px; }
- .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
- background-image: none; } }
- @media (min-width: 768px) {
- .navbar-nav {
- float: left;
- margin: 0; }
- .navbar-nav > li {
- float: left; }
- .navbar-nav > li > a {
- padding-top: 15px;
- padding-bottom: 15px; } }
-
-.navbar-form {
- margin-left: -15px;
- margin-right: -15px;
- padding: 10px 15px;
- border-top: 1px solid transparent;
- border-bottom: 1px solid transparent;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- margin-top: 8px;
- margin-bottom: 8px; }
- @media (min-width: 768px) {
- .navbar-form .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle; }
- .navbar-form .form-control {
- display: inline-block;
- width: auto;
- vertical-align: middle; }
- .navbar-form .form-control-static {
- display: inline-block; }
- .navbar-form .input-group {
- display: inline-table;
- vertical-align: middle; }
- .navbar-form .input-group .input-group-addon,
- .navbar-form .input-group .input-group-btn,
- .navbar-form .input-group .form-control {
- width: auto; }
- .navbar-form .input-group > .form-control {
- width: 100%; }
- .navbar-form .control-label {
- margin-bottom: 0;
- vertical-align: middle; }
- .navbar-form .radio,
- .navbar-form .checkbox {
- display: inline-block;
- margin-top: 0;
- margin-bottom: 0;
- vertical-align: middle; }
- .navbar-form .radio label,
- .navbar-form .checkbox label {
- padding-left: 0; }
- .navbar-form .radio input[type="radio"],
- .navbar-form .checkbox input[type="checkbox"] {
- position: relative;
- margin-left: 0; }
- .navbar-form .has-feedback .form-control-feedback {
- top: 0; } }
- @media (max-width: 767px) {
- .navbar-form .form-group {
- margin-bottom: 5px; }
- .navbar-form .form-group:last-child {
- margin-bottom: 0; } }
- @media (min-width: 768px) {
- .navbar-form {
- width: auto;
- border: 0;
- margin-left: 0;
- margin-right: 0;
- padding-top: 0;
- padding-bottom: 0;
- -webkit-box-shadow: none;
- box-shadow: none; } }
-
-.navbar-nav > li > .dropdown-menu {
- margin-top: 0;
- border-top-right-radius: 0;
- border-top-left-radius: 0; }
-
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
- margin-bottom: 0;
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0; }
-
-.navbar-btn {
- margin-top: 8px;
- margin-bottom: 8px; }
- .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn {
- margin-top: 10px;
- margin-bottom: 10px; }
- .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn {
- margin-top: 14px;
- margin-bottom: 14px; }
-
-.navbar-text {
- margin-top: 15px;
- margin-bottom: 15px; }
- @media (min-width: 768px) {
- .navbar-text {
- float: left;
- margin-left: 15px;
- margin-right: 15px; } }
-
-@media (min-width: 768px) {
- .navbar-left {
- float: left !important; }
- .navbar-right {
- float: right !important;
- margin-right: -15px; }
- .navbar-right ~ .navbar-right {
- margin-right: 0; } }
-
-.navbar-default {
- background-color: #f8f8f8;
- border-color: #e7e7e7; }
- .navbar-default .navbar-brand {
- color: #777; }
- .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
- color: #5e5e5e;
- background-color: transparent; }
- .navbar-default .navbar-text {
- color: #777; }
- .navbar-default .navbar-nav > li > a {
- color: #777; }
- .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
- color: #333;
- background-color: transparent; }
- .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
- color: #555;
- background-color: #e7e7e7; }
- .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-toggle {
- border-color: #ddd; }
- .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
- background-color: #ddd; }
- .navbar-default .navbar-toggle .icon-bar {
- background-color: #888; }
- .navbar-default .navbar-collapse,
- .navbar-default .navbar-form {
- border-color: #e7e7e7; }
- .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
- background-color: #e7e7e7;
- color: #555; }
- @media (max-width: 767px) {
- .navbar-default .navbar-nav .open .dropdown-menu > li > a {
- color: #777; }
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #333;
- 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: #555;
- background-color: #e7e7e7; }
- .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-link {
- color: #777; }
- .navbar-default .navbar-link:hover {
- color: #333; }
- .navbar-default .btn-link {
- color: #777; }
- .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
- color: #333; }
- .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
- fieldset[disabled] .navbar-default .btn-link:hover,
- fieldset[disabled] .navbar-default .btn-link:focus {
- color: #ccc; }
-
-.navbar-inverse {
- background-color: #222;
- border-color: #090909; }
- .navbar-inverse .navbar-brand {
- color: #9d9d9d; }
- .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
- color: #fff;
- background-color: transparent; }
- .navbar-inverse .navbar-text {
- color: #9d9d9d; }
- .navbar-inverse .navbar-nav > li > a {
- color: #9d9d9d; }
- .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
- color: #fff;
- 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: #090909; }
- .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-toggle {
- border-color: #333; }
- .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
- background-color: #333; }
- .navbar-inverse .navbar-toggle .icon-bar {
- background-color: #fff; }
- .navbar-inverse .navbar-collapse,
- .navbar-inverse .navbar-form {
- border-color: #101010; }
- .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
- background-color: #090909;
- color: #fff; }
- @media (max-width: 767px) {
- .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
- border-color: #090909; }
- .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
- background-color: #090909; }
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
- color: #9d9d9d; }
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #fff;
- 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: #090909; }
- .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-link {
- color: #9d9d9d; }
- .navbar-inverse .navbar-link:hover {
- color: #fff; }
- .navbar-inverse .btn-link {
- color: #9d9d9d; }
- .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
- color: #fff; }
- .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
- fieldset[disabled] .navbar-inverse .btn-link:hover,
- fieldset[disabled] .navbar-inverse .btn-link:focus {
- color: #444; }
-
-.breadcrumb {
- padding: 8px 15px;
- margin-bottom: 20px;
- list-style: none;
- background-color: #f5f5f5;
- border-radius: 4px; }
- .breadcrumb > li {
- display: inline-block; }
- .breadcrumb > li + li:before {
- content: "/ ";
- padding: 0 5px;
- color: #ccc; }
- .breadcrumb > .active {
- color: #777777; }
-
-.pagination {
- display: inline-block;
- padding-left: 0;
- margin: 20px 0;
- border-radius: 4px; }
- .pagination > li {
- display: inline; }
- .pagination > li > a,
- .pagination > li > span {
- position: relative;
- float: left;
- padding: 6px 12px;
- line-height: 1.42857;
- text-decoration: none;
- color: #337ab7;
- background-color: #fff;
- border: 1px solid #ddd;
- margin-left: -1px; }
- .pagination > li:first-child > a,
- .pagination > li:first-child > span {
- margin-left: 0;
- border-bottom-left-radius: 4px;
- border-top-left-radius: 4px; }
- .pagination > li:last-child > a,
- .pagination > li:last-child > span {
- border-bottom-right-radius: 4px;
- border-top-right-radius: 4px; }
- .pagination > li > a:hover, .pagination > li > a:focus,
- .pagination > li > span:hover,
- .pagination > li > span:focus {
- z-index: 2;
- color: #23527c;
- background-color: #eeeeee;
- border-color: #ddd; }
- .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
- .pagination > .active > span,
- .pagination > .active > span:hover,
- .pagination > .active > span:focus {
- z-index: 3;
- color: #fff;
- background-color: #337ab7;
- border-color: #337ab7;
- cursor: default; }
- .pagination > .disabled > span,
- .pagination > .disabled > span:hover,
- .pagination > .disabled > span:focus,
- .pagination > .disabled > a,
- .pagination > .disabled > a:hover,
- .pagination > .disabled > a:focus {
- color: #777777;
- background-color: #fff;
- border-color: #ddd;
- cursor: not-allowed; }
-
-.pagination-lg > li > a,
-.pagination-lg > li > span {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.33333; }
-
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
- border-bottom-left-radius: 6px;
- border-top-left-radius: 6px; }
-
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
- border-bottom-right-radius: 6px;
- border-top-right-radius: 6px; }
-
-.pagination-sm > li > a,
-.pagination-sm > li > span {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5; }
-
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
-
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
-
-.pager {
- padding-left: 0;
- margin: 20px 0;
- list-style: none;
- text-align: center; }
- .pager:before, .pager:after {
- content: " ";
- display: table; }
- .pager:after {
- clear: both; }
- .pager li {
- display: inline; }
- .pager li > a,
- .pager li > span {
- display: inline-block;
- padding: 5px 14px;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 15px; }
- .pager li > a:hover,
- .pager li > a:focus {
- text-decoration: none;
- background-color: #eeeeee; }
- .pager .next > a,
- .pager .next > span {
- float: right; }
- .pager .previous > a,
- .pager .previous > span {
- float: left; }
- .pager .disabled > a,
- .pager .disabled > a:hover,
- .pager .disabled > a:focus,
- .pager .disabled > span {
- color: #777777;
- background-color: #fff;
- cursor: not-allowed; }
-
-.label {
- display: inline;
- padding: .2em .6em .3em;
- font-size: 75%;
- font-weight: bold;
- line-height: 1;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- vertical-align: baseline;
- border-radius: .25em; }
- .label:empty {
- display: none; }
- .btn .label {
- position: relative;
- top: -1px; }
-
-a.label:hover, a.label:focus {
- color: #fff;
- text-decoration: none;
- cursor: pointer; }
-
-.label-default {
- background-color: #777777; }
- .label-default[href]:hover, .label-default[href]:focus {
- background-color: #5e5e5e; }
-
-.label-primary {
- background-color: #337ab7; }
- .label-primary[href]:hover, .label-primary[href]:focus {
- background-color: #286090; }
-
-.label-success {
- background-color: #5cb85c; }
- .label-success[href]:hover, .label-success[href]:focus {
- background-color: #449d44; }
-
-.label-info {
- background-color: #5bc0de; }
- .label-info[href]:hover, .label-info[href]:focus {
- background-color: #31b0d5; }
-
-.label-warning {
- background-color: #f0ad4e; }
- .label-warning[href]:hover, .label-warning[href]:focus {
- background-color: #ec971f; }
-
-.label-danger {
- background-color: #d9534f; }
- .label-danger[href]:hover, .label-danger[href]:focus {
- background-color: #c9302c; }
-
-.badge {
- display: inline-block;
- min-width: 10px;
- padding: 3px 7px;
- font-size: 12px;
- font-weight: bold;
- color: #fff;
- line-height: 1;
- vertical-align: middle;
- white-space: nowrap;
- text-align: center;
- background-color: #777777;
- border-radius: 10px; }
- .badge:empty {
- display: none; }
- .btn .badge {
- position: relative;
- top: -1px; }
- .btn-xs .badge, .btn-group-xs > .btn .badge,
- .btn-group-xs > .btn .badge {
- top: 0;
- padding: 1px 5px; }
- .list-group-item.active > .badge,
- .nav-pills > .active > a > .badge {
- color: #337ab7;
- background-color: #fff; }
- .list-group-item > .badge {
- float: right; }
- .list-group-item > .badge + .badge {
- margin-right: 5px; }
- .nav-pills > li > a > .badge {
- margin-left: 3px; }
-
-a.badge:hover, a.badge:focus {
- color: #fff;
- text-decoration: none;
- cursor: pointer; }
-
-.jumbotron {
- padding-top: 30px;
- padding-bottom: 30px;
- margin-bottom: 30px;
- color: inherit;
- background-color: #eeeeee; }
- .jumbotron h1,
- .jumbotron .h1 {
- color: inherit; }
- .jumbotron p {
- margin-bottom: 15px;
- font-size: 21px;
- font-weight: 200; }
- .jumbotron > hr {
- border-top-color: #d5d5d5; }
- .container .jumbotron,
- .container-fluid .jumbotron {
- border-radius: 6px;
- padding-left: 15px;
- padding-right: 15px; }
- .jumbotron .container {
- max-width: 100%; }
- @media screen and (min-width: 768px) {
- .jumbotron {
- padding-top: 48px;
- padding-bottom: 48px; }
- .container .jumbotron,
- .container-fluid .jumbotron {
- padding-left: 60px;
- padding-right: 60px; }
- .jumbotron h1,
- .jumbotron .h1 {
- font-size: 63px; } }
-
-.thumbnail {
- display: block;
- padding: 4px;
- margin-bottom: 20px;
- line-height: 1.42857;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 4px;
- -webkit-transition: border 0.2s ease-in-out;
- -o-transition: border 0.2s ease-in-out;
- transition: border 0.2s ease-in-out; }
- .thumbnail > img,
- .thumbnail a > img {
- display: block;
- max-width: 100%;
- height: auto;
- margin-left: auto;
- margin-right: auto; }
- .thumbnail .caption {
- padding: 9px;
- color: #333333; }
-
-a.thumbnail:hover,
-a.thumbnail:focus,
-a.thumbnail.active {
- border-color: #337ab7; }
-
-.alert {
- padding: 15px;
- margin-bottom: 20px;
- border: 1px solid transparent;
- border-radius: 4px; }
- .alert h4 {
- margin-top: 0;
- color: inherit; }
- .alert .alert-link {
- font-weight: bold; }
- .alert > p,
- .alert > ul {
- margin-bottom: 0; }
- .alert > p + p {
- margin-top: 5px; }
-
-.alert-dismissable,
-.alert-dismissible {
- padding-right: 35px; }
- .alert-dismissable .close,
- .alert-dismissible .close {
- position: relative;
- top: -2px;
- right: -21px;
- color: inherit; }
-
-.alert-success {
- background-color: #dff0d8;
- border-color: #d6e9c6;
- color: #3c763d; }
- .alert-success hr {
- border-top-color: #c9e2b3; }
- .alert-success .alert-link {
- color: #2b542c; }
-
-.alert-info {
- background-color: #d9edf7;
- border-color: #bce8f1;
- color: #31708f; }
- .alert-info hr {
- border-top-color: #a6e1ec; }
- .alert-info .alert-link {
- color: #245269; }
-
-.alert-warning {
- background-color: #fcf8e3;
- border-color: #faebcc;
- color: #8a6d3b; }
- .alert-warning hr {
- border-top-color: #f7e1b5; }
- .alert-warning .alert-link {
- color: #66512c; }
-
-.alert-danger {
- background-color: #f2dede;
- border-color: #ebccd1;
- color: #a94442; }
- .alert-danger hr {
- border-top-color: #e4b9c0; }
- .alert-danger .alert-link {
- color: #843534; }
-
-@-webkit-keyframes progress-bar-stripes {
- from {
- background-position: 40px 0; }
- to {
- background-position: 0 0; } }
-
-@keyframes progress-bar-stripes {
- from {
- background-position: 40px 0; }
- to {
- background-position: 0 0; } }
-
-.progress {
- overflow: hidden;
- height: 20px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); }
-
-.progress-bar {
- float: left;
- width: 0%;
- height: 100%;
- font-size: 12px;
- line-height: 20px;
- color: #fff;
- text-align: center;
- background-color: #337ab7;
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- -webkit-transition: width 0.6s ease;
- -o-transition: width 0.6s ease;
- transition: width 0.6s ease; }
-
-.progress-striped .progress-bar,
-.progress-bar-striped {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 40px 40px; }
-
-.progress.active .progress-bar,
-.progress-bar.active {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- -o-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite; }
-
-.progress-bar-success {
- background-color: #5cb85c; }
- .progress-striped .progress-bar-success {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-
-.progress-bar-info {
- background-color: #5bc0de; }
- .progress-striped .progress-bar-info {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-
-.progress-bar-warning {
- background-color: #f0ad4e; }
- .progress-striped .progress-bar-warning {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-
-.progress-bar-danger {
- background-color: #d9534f; }
- .progress-striped .progress-bar-danger {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); }
-
-.media {
- margin-top: 15px; }
- .media:first-child {
- margin-top: 0; }
-
-.media,
-.media-body {
- zoom: 1;
- overflow: hidden; }
-
-.media-body {
- width: 10000px; }
-
-.media-object {
- display: block; }
- .media-object.img-thumbnail {
- max-width: none; }
-
-.media-right,
-.media > .pull-right {
- padding-left: 10px; }
-
-.media-left,
-.media > .pull-left {
- padding-right: 10px; }
-
-.media-left,
-.media-right,
-.media-body {
- display: table-cell;
- vertical-align: top; }
-
-.media-middle {
- vertical-align: middle; }
-
-.media-bottom {
- vertical-align: bottom; }
-
-.media-heading {
- margin-top: 0;
- margin-bottom: 5px; }
-
-.media-list {
- padding-left: 0;
- list-style: none; }
-
-.list-group {
- margin-bottom: 20px;
- padding-left: 0; }
-
-.list-group-item {
- position: relative;
- display: block;
- padding: 10px 15px;
- margin-bottom: -1px;
- background-color: #fff;
- border: 1px solid #ddd; }
- .list-group-item:first-child {
- border-top-right-radius: 4px;
- border-top-left-radius: 4px; }
- .list-group-item:last-child {
- margin-bottom: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px; }
-
-a.list-group-item,
-button.list-group-item {
- color: #555; }
- a.list-group-item .list-group-item-heading,
- button.list-group-item .list-group-item-heading {
- color: #333; }
- a.list-group-item:hover, a.list-group-item:focus,
- button.list-group-item:hover,
- button.list-group-item:focus {
- text-decoration: none;
- color: #555;
- background-color: #f5f5f5; }
-
-button.list-group-item {
- width: 100%;
- text-align: left; }
-
-.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
- background-color: #eeeeee;
- color: #777777;
- cursor: not-allowed; }
- .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
- color: inherit; }
- .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
- color: #777777; }
-
-.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
- z-index: 2;
- color: #fff;
- background-color: #337ab7;
- border-color: #337ab7; }
- .list-group-item.active .list-group-item-heading,
- .list-group-item.active .list-group-item-heading > small,
- .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
- .list-group-item.active:hover .list-group-item-heading > small,
- .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
- .list-group-item.active:focus .list-group-item-heading > small,
- .list-group-item.active:focus .list-group-item-heading > .small {
- color: inherit; }
- .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
- color: #c7ddef; }
-
-.list-group-item-success {
- color: #3c763d;
- background-color: #dff0d8; }
-
-a.list-group-item-success,
-button.list-group-item-success {
- color: #3c763d; }
- a.list-group-item-success .list-group-item-heading,
- button.list-group-item-success .list-group-item-heading {
- color: inherit; }
- a.list-group-item-success:hover, a.list-group-item-success:focus,
- button.list-group-item-success:hover,
- button.list-group-item-success:focus {
- color: #3c763d;
- background-color: #d0e9c6; }
- a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
- button.list-group-item-success.active,
- button.list-group-item-success.active:hover,
- button.list-group-item-success.active:focus {
- color: #fff;
- background-color: #3c763d;
- border-color: #3c763d; }
-
-.list-group-item-info {
- color: #31708f;
- background-color: #d9edf7; }
-
-a.list-group-item-info,
-button.list-group-item-info {
- color: #31708f; }
- a.list-group-item-info .list-group-item-heading,
- button.list-group-item-info .list-group-item-heading {
- color: inherit; }
- a.list-group-item-info:hover, a.list-group-item-info:focus,
- button.list-group-item-info:hover,
- button.list-group-item-info:focus {
- color: #31708f;
- background-color: #c4e3f3; }
- a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
- button.list-group-item-info.active,
- button.list-group-item-info.active:hover,
- button.list-group-item-info.active:focus {
- color: #fff;
- background-color: #31708f;
- border-color: #31708f; }
-
-.list-group-item-warning {
- color: #8a6d3b;
- background-color: #fcf8e3; }
-
-a.list-group-item-warning,
-button.list-group-item-warning {
- color: #8a6d3b; }
- a.list-group-item-warning .list-group-item-heading,
- button.list-group-item-warning .list-group-item-heading {
- color: inherit; }
- a.list-group-item-warning:hover, a.list-group-item-warning:focus,
- button.list-group-item-warning:hover,
- button.list-group-item-warning:focus {
- color: #8a6d3b;
- background-color: #faf2cc; }
- a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
- button.list-group-item-warning.active,
- button.list-group-item-warning.active:hover,
- button.list-group-item-warning.active:focus {
- color: #fff;
- background-color: #8a6d3b;
- border-color: #8a6d3b; }
-
-.list-group-item-danger {
- color: #a94442;
- background-color: #f2dede; }
-
-a.list-group-item-danger,
-button.list-group-item-danger {
- color: #a94442; }
- a.list-group-item-danger .list-group-item-heading,
- button.list-group-item-danger .list-group-item-heading {
- color: inherit; }
- a.list-group-item-danger:hover, a.list-group-item-danger:focus,
- button.list-group-item-danger:hover,
- button.list-group-item-danger:focus {
- color: #a94442;
- background-color: #ebcccc; }
- a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
- button.list-group-item-danger.active,
- button.list-group-item-danger.active:hover,
- button.list-group-item-danger.active:focus {
- color: #fff;
- background-color: #a94442;
- border-color: #a94442; }
-
-.list-group-item-heading {
- margin-top: 0;
- margin-bottom: 5px; }
-
-.list-group-item-text {
- margin-bottom: 0;
- line-height: 1.3; }
-
-.panel {
- margin-bottom: 20px;
- background-color: #fff;
- border: 1px solid transparent;
- border-radius: 4px;
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }
-
-.panel-body {
- padding: 15px; }
- .panel-body:before, .panel-body:after {
- content: " ";
- display: table; }
- .panel-body:after {
- clear: both; }
-
-.panel-heading {
- padding: 10px 15px;
- border-bottom: 1px solid transparent;
- border-top-right-radius: 3px;
- border-top-left-radius: 3px; }
- .panel-heading > .dropdown .dropdown-toggle {
- color: inherit; }
-
-.panel-title {
- margin-top: 0;
- margin-bottom: 0;
- font-size: 16px;
- color: inherit; }
- .panel-title > a,
- .panel-title > small,
- .panel-title > .small,
- .panel-title > small > a,
- .panel-title > .small > a {
- color: inherit; }
-
-.panel-footer {
- padding: 10px 15px;
- background-color: #f5f5f5;
- border-top: 1px solid #ddd;
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px; }
-
-.panel > .list-group,
-.panel > .panel-collapse > .list-group {
- margin-bottom: 0; }
- .panel > .list-group .list-group-item,
- .panel > .panel-collapse > .list-group .list-group-item {
- border-width: 1px 0;
- border-radius: 0; }
- .panel > .list-group:first-child .list-group-item:first-child,
- .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
- border-top: 0;
- border-top-right-radius: 3px;
- border-top-left-radius: 3px; }
- .panel > .list-group:last-child .list-group-item:last-child,
- .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
- border-bottom: 0;
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px; }
-
-.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0; }
-
-.panel-heading + .list-group .list-group-item:first-child {
- border-top-width: 0; }
-
-.list-group + .panel-footer {
- border-top-width: 0; }
-
-.panel > .table,
-.panel > .table-responsive > .table,
-.panel > .panel-collapse > .table {
- margin-bottom: 0; }
- .panel > .table caption,
- .panel > .table-responsive > .table caption,
- .panel > .panel-collapse > .table caption {
- padding-left: 15px;
- padding-right: 15px; }
-
-.panel > .table:first-child,
-.panel > .table-responsive:first-child > .table:first-child {
- border-top-right-radius: 3px;
- border-top-left-radius: 3px; }
- .panel > .table:first-child > thead:first-child > tr:first-child,
- .panel > .table:first-child > tbody:first-child > tr:first-child,
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px; }
- .panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
- .panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
- .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
- .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
- border-top-left-radius: 3px; }
- .panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
- .panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
- .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
- .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
- .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
- .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
- border-top-right-radius: 3px; }
-
-.panel > .table:last-child,
-.panel > .table-responsive:last-child > .table:last-child {
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px; }
- .panel > .table:last-child > tbody:last-child > tr:last-child,
- .panel > .table:last-child > tfoot:last-child > tr:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px; }
- .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
- .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
- border-bottom-left-radius: 3px; }
- .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
- .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
- .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
- .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
- .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
- border-bottom-right-radius: 3px; }
-
-.panel > .panel-body + .table,
-.panel > .panel-body + .table-responsive,
-.panel > .table + .panel-body,
-.panel > .table-responsive + .panel-body {
- border-top: 1px solid #ddd; }
-
-.panel > .table > tbody:first-child > tr:first-child th,
-.panel > .table > tbody:first-child > tr:first-child td {
- border-top: 0; }
-
-.panel > .table-bordered,
-.panel > .table-responsive > .table-bordered {
- border: 0; }
- .panel > .table-bordered > thead > tr > th:first-child,
- .panel > .table-bordered > thead > tr > td:first-child,
- .panel > .table-bordered > tbody > tr > th:first-child,
- .panel > .table-bordered > tbody > tr > td:first-child,
- .panel > .table-bordered > tfoot > tr > th:first-child,
- .panel > .table-bordered > tfoot > tr > td:first-child,
- .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
- .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
- .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
- .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
- border-left: 0; }
- .panel > .table-bordered > thead > tr > th:last-child,
- .panel > .table-bordered > thead > tr > td:last-child,
- .panel > .table-bordered > tbody > tr > th:last-child,
- .panel > .table-bordered > tbody > tr > td:last-child,
- .panel > .table-bordered > tfoot > tr > th:last-child,
- .panel > .table-bordered > tfoot > tr > td:last-child,
- .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
- .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
- .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
- .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
- .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
- .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
- border-right: 0; }
- .panel > .table-bordered > thead > tr:first-child > td,
- .panel > .table-bordered > thead > tr:first-child > th,
- .panel > .table-bordered > tbody > tr:first-child > td,
- .panel > .table-bordered > tbody > tr:first-child > th,
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
- .panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
- .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
- border-bottom: 0; }
- .panel > .table-bordered > tbody > tr:last-child > td,
- .panel > .table-bordered > tbody > tr:last-child > th,
- .panel > .table-bordered > tfoot > tr:last-child > td,
- .panel > .table-bordered > tfoot > tr:last-child > th,
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
- .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
- .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
- border-bottom: 0; }
-
-.panel > .table-responsive {
- border: 0;
- margin-bottom: 0; }
-
-.panel-group {
- margin-bottom: 20px; }
- .panel-group .panel {
- margin-bottom: 0;
- border-radius: 4px; }
- .panel-group .panel + .panel {
- margin-top: 5px; }
- .panel-group .panel-heading {
- border-bottom: 0; }
- .panel-group .panel-heading + .panel-collapse > .panel-body,
- .panel-group .panel-heading + .panel-collapse > .list-group {
- border-top: 1px solid #ddd; }
- .panel-group .panel-footer {
- border-top: 0; }
- .panel-group .panel-footer + .panel-collapse .panel-body {
- border-bottom: 1px solid #ddd; }
-
-.panel-default {
- border-color: #ddd; }
- .panel-default > .panel-heading {
- color: #333333;
- background-color: #f5f5f5;
- border-color: #ddd; }
- .panel-default > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #ddd; }
- .panel-default > .panel-heading .badge {
- color: #f5f5f5;
- background-color: #333333; }
- .panel-default > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #ddd; }
-
-.panel-primary {
- border-color: #337ab7; }
- .panel-primary > .panel-heading {
- color: #fff;
- background-color: #337ab7;
- border-color: #337ab7; }
- .panel-primary > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #337ab7; }
- .panel-primary > .panel-heading .badge {
- color: #337ab7;
- background-color: #fff; }
- .panel-primary > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #337ab7; }
-
-.panel-success {
- border-color: #d6e9c6; }
- .panel-success > .panel-heading {
- color: #3c763d;
- background-color: #dff0d8;
- border-color: #d6e9c6; }
- .panel-success > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #d6e9c6; }
- .panel-success > .panel-heading .badge {
- color: #dff0d8;
- background-color: #3c763d; }
- .panel-success > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #d6e9c6; }
-
-.panel-info {
- border-color: #bce8f1; }
- .panel-info > .panel-heading {
- color: #31708f;
- background-color: #d9edf7;
- border-color: #bce8f1; }
- .panel-info > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #bce8f1; }
- .panel-info > .panel-heading .badge {
- color: #d9edf7;
- background-color: #31708f; }
- .panel-info > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #bce8f1; }
-
-.panel-warning {
- border-color: #faebcc; }
- .panel-warning > .panel-heading {
- color: #8a6d3b;
- background-color: #fcf8e3;
- border-color: #faebcc; }
- .panel-warning > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #faebcc; }
- .panel-warning > .panel-heading .badge {
- color: #fcf8e3;
- background-color: #8a6d3b; }
- .panel-warning > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #faebcc; }
-
-.panel-danger {
- border-color: #ebccd1; }
- .panel-danger > .panel-heading {
- color: #a94442;
- background-color: #f2dede;
- border-color: #ebccd1; }
- .panel-danger > .panel-heading + .panel-collapse > .panel-body {
- border-top-color: #ebccd1; }
- .panel-danger > .panel-heading .badge {
- color: #f2dede;
- background-color: #a94442; }
- .panel-danger > .panel-footer + .panel-collapse > .panel-body {
- border-bottom-color: #ebccd1; }
-
-.embed-responsive {
- position: relative;
- display: block;
- height: 0;
- padding: 0;
- overflow: hidden; }
- .embed-responsive .embed-responsive-item,
- .embed-responsive iframe,
- .embed-responsive embed,
- .embed-responsive object,
- .embed-responsive video {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- height: 100%;
- width: 100%;
- border: 0; }
-
-.embed-responsive-16by9 {
- padding-bottom: 56.25%; }
-
-.embed-responsive-4by3 {
- padding-bottom: 75%; }
-
-.well {
- min-height: 20px;
- padding: 19px;
- margin-bottom: 20px;
- background-color: #f5f5f5;
- border: 1px solid #e3e3e3;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
- .well blockquote {
- border-color: #ddd;
- border-color: rgba(0, 0, 0, 0.15); }
-
-.well-lg {
- padding: 24px;
- border-radius: 6px; }
-
-.well-sm {
- padding: 9px;
- border-radius: 3px; }
-
-.close {
- float: right;
- font-size: 21px;
- font-weight: bold;
- line-height: 1;
- color: #000;
- text-shadow: 0 1px 0 #fff;
- opacity: 0.2;
- filter: alpha(opacity=20); }
- .close:hover, .close:focus {
- color: #000;
- text-decoration: none;
- cursor: pointer;
- opacity: 0.5;
- filter: alpha(opacity=50); }
-
-button.close {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none; }
-
-.modal-open {
- overflow: hidden; }
-
-.modal {
- display: none;
- overflow: hidden;
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1050;
- -webkit-overflow-scrolling: touch;
- outline: 0; }
- .modal.fade .modal-dialog {
- -webkit-transform: translate(0, -25%);
- -ms-transform: translate(0, -25%);
- -o-transform: translate(0, -25%);
- transform: translate(0, -25%);
- -webkit-transition: -webkit-transform 0.3s ease-out;
- -moz-transition: -moz-transform 0.3s ease-out;
- -o-transition: -o-transform 0.3s ease-out;
- transition: transform 0.3s ease-out; }
- .modal.in .modal-dialog {
- -webkit-transform: translate(0, 0);
- -ms-transform: translate(0, 0);
- -o-transform: translate(0, 0);
- transform: translate(0, 0); }
-
-.modal-open .modal {
- overflow-x: hidden;
- overflow-y: auto; }
-
-.modal-dialog {
- position: relative;
- width: auto;
- margin: 10px; }
-
-.modal-content {
- position: relative;
- background-color: #fff;
- border: 1px solid #999;
- border: 1px solid rgba(0, 0, 0, 0.2);
- border-radius: 6px;
- -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
- box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
- background-clip: padding-box;
- outline: 0; }
-
-.modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- background-color: #000; }
- .modal-backdrop.fade {
- opacity: 0;
- filter: alpha(opacity=0); }
- .modal-backdrop.in {
- opacity: 0.5;
- filter: alpha(opacity=50); }
-
-.modal-header {
- padding: 15px;
- border-bottom: 1px solid #e5e5e5; }
- .modal-header:before, .modal-header:after {
- content: " ";
- display: table; }
- .modal-header:after {
- clear: both; }
-
-.modal-header .close {
- margin-top: -2px; }
-
-.modal-title {
- margin: 0;
- line-height: 1.42857; }
-
-.modal-body {
- position: relative;
- padding: 15px; }
-
-.modal-footer {
- padding: 15px;
- text-align: right;
- border-top: 1px solid #e5e5e5; }
- .modal-footer:before, .modal-footer:after {
- content: " ";
- display: table; }
- .modal-footer:after {
- clear: both; }
- .modal-footer .btn + .btn {
- margin-left: 5px;
- margin-bottom: 0; }
- .modal-footer .btn-group .btn + .btn {
- margin-left: -1px; }
- .modal-footer .btn-block + .btn-block {
- margin-left: 0; }
-
-.modal-scrollbar-measure {
- position: absolute;
- top: -9999px;
- width: 50px;
- height: 50px;
- overflow: scroll; }
-
-@media (min-width: 768px) {
- .modal-dialog {
- width: 600px;
- margin: 30px auto; }
- .modal-content {
- -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); }
- .modal-sm {
- width: 300px; } }
-
-@media (min-width: 992px) {
- .modal-lg {
- width: 900px; } }
-
-.tooltip {
- position: absolute;
- z-index: 1070;
- display: block;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-style: normal;
- font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
- line-height: 1.42857;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- white-space: normal;
- word-break: normal;
- word-spacing: normal;
- word-wrap: normal;
- font-size: 12px;
- opacity: 0;
- filter: alpha(opacity=0); }
- .tooltip.in {
- opacity: 0.9;
- filter: alpha(opacity=90); }
- .tooltip.top {
- margin-top: -3px;
- padding: 5px 0; }
- .tooltip.right {
- margin-left: 3px;
- padding: 0 5px; }
- .tooltip.bottom {
- margin-top: 3px;
- padding: 5px 0; }
- .tooltip.left {
- margin-left: -3px;
- padding: 0 5px; }
-
-.tooltip-inner {
- max-width: 200px;
- padding: 3px 8px;
- color: #fff;
- text-align: center;
- background-color: #000;
- border-radius: 4px; }
-
-.tooltip-arrow {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid; }
-
-.tooltip.top .tooltip-arrow {
- bottom: 0;
- left: 50%;
- margin-left: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000; }
-
-.tooltip.top-left .tooltip-arrow {
- bottom: 0;
- right: 5px;
- margin-bottom: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000; }
-
-.tooltip.top-right .tooltip-arrow {
- bottom: 0;
- left: 5px;
- margin-bottom: -5px;
- border-width: 5px 5px 0;
- border-top-color: #000; }
-
-.tooltip.right .tooltip-arrow {
- top: 50%;
- left: 0;
- margin-top: -5px;
- border-width: 5px 5px 5px 0;
- border-right-color: #000; }
-
-.tooltip.left .tooltip-arrow {
- top: 50%;
- right: 0;
- margin-top: -5px;
- border-width: 5px 0 5px 5px;
- border-left-color: #000; }
-
-.tooltip.bottom .tooltip-arrow {
- top: 0;
- left: 50%;
- margin-left: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000; }
-
-.tooltip.bottom-left .tooltip-arrow {
- top: 0;
- right: 5px;
- margin-top: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000; }
-
-.tooltip.bottom-right .tooltip-arrow {
- top: 0;
- left: 5px;
- margin-top: -5px;
- border-width: 0 5px 5px;
- border-bottom-color: #000; }
-
-.popover {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1060;
- display: none;
- max-width: 276px;
- padding: 1px;
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-style: normal;
- font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
- line-height: 1.42857;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- white-space: normal;
- word-break: normal;
- word-spacing: normal;
- word-wrap: normal;
- font-size: 14px;
- background-color: #fff;
- background-clip: padding-box;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.2);
- border-radius: 6px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
- .popover.top {
- margin-top: -10px; }
- .popover.right {
- margin-left: 10px; }
- .popover.bottom {
- margin-top: 10px; }
- .popover.left {
- margin-left: -10px; }
-
-.popover-title {
- margin: 0;
- padding: 8px 14px;
- font-size: 14px;
- background-color: #f7f7f7;
- border-bottom: 1px solid #ebebeb;
- border-radius: 5px 5px 0 0; }
-
-.popover-content {
- padding: 9px 14px; }
-
-.popover > .arrow, .popover > .arrow:after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid; }
-
-.popover > .arrow {
- border-width: 11px; }
-
-.popover > .arrow:after {
- border-width: 10px;
- content: ""; }
-
-.popover.top > .arrow {
- left: 50%;
- margin-left: -11px;
- border-bottom-width: 0;
- border-top-color: #999999;
- border-top-color: rgba(0, 0, 0, 0.25);
- bottom: -11px; }
- .popover.top > .arrow:after {
- content: " ";
- bottom: 1px;
- margin-left: -10px;
- border-bottom-width: 0;
- border-top-color: #fff; }
-
-.popover.right > .arrow {
- top: 50%;
- left: -11px;
- margin-top: -11px;
- border-left-width: 0;
- border-right-color: #999999;
- border-right-color: rgba(0, 0, 0, 0.25); }
- .popover.right > .arrow:after {
- content: " ";
- left: 1px;
- bottom: -10px;
- border-left-width: 0;
- border-right-color: #fff; }
-
-.popover.bottom > .arrow {
- left: 50%;
- margin-left: -11px;
- border-top-width: 0;
- border-bottom-color: #999999;
- border-bottom-color: rgba(0, 0, 0, 0.25);
- top: -11px; }
- .popover.bottom > .arrow:after {
- content: " ";
- top: 1px;
- margin-left: -10px;
- border-top-width: 0;
- border-bottom-color: #fff; }
-
-.popover.left > .arrow {
- top: 50%;
- right: -11px;
- margin-top: -11px;
- border-right-width: 0;
- border-left-color: #999999;
- border-left-color: rgba(0, 0, 0, 0.25); }
- .popover.left > .arrow:after {
- content: " ";
- right: 1px;
- border-right-width: 0;
- border-left-color: #fff;
- bottom: -10px; }
-
-.carousel {
- position: relative; }
-
-.carousel-inner {
- position: relative;
- overflow: hidden;
- width: 100%; }
- .carousel-inner > .item {
- display: none;
- position: relative;
- -webkit-transition: 0.6s ease-in-out left;
- -o-transition: 0.6s ease-in-out left;
- transition: 0.6s ease-in-out left; }
- .carousel-inner > .item > img,
- .carousel-inner > .item > a > img {
- display: block;
- max-width: 100%;
- height: auto;
- line-height: 1; }
- @media all and (transform-3d), (-webkit-transform-3d) {
- .carousel-inner > .item {
- -webkit-transition: -webkit-transform 0.6s ease-in-out;
- -moz-transition: -moz-transform 0.6s ease-in-out;
- -o-transition: -o-transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out;
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- -moz-perspective: 1000px;
- perspective: 1000px; }
- .carousel-inner > .item.next, .carousel-inner > .item.active.right {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- left: 0; }
- .carousel-inner > .item.prev, .carousel-inner > .item.active.left {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- left: 0; }
- .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- left: 0; } }
- .carousel-inner > .active,
- .carousel-inner > .next,
- .carousel-inner > .prev {
- display: block; }
- .carousel-inner > .active {
- left: 0; }
- .carousel-inner > .next,
- .carousel-inner > .prev {
- position: absolute;
- top: 0;
- width: 100%; }
- .carousel-inner > .next {
- left: 100%; }
- .carousel-inner > .prev {
- left: -100%; }
- .carousel-inner > .next.left,
- .carousel-inner > .prev.right {
- left: 0; }
- .carousel-inner > .active.left {
- left: -100%; }
- .carousel-inner > .active.right {
- left: 100%; }
-
-.carousel-control {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- width: 15%;
- opacity: 0.5;
- filter: alpha(opacity=50);
- font-size: 20px;
- color: #fff;
- text-align: center;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
- background-color: transparent; }
- .carousel-control.left {
- background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
- background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
- .carousel-control.right {
- left: auto;
- right: 0;
- background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
- background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
- .carousel-control:hover, .carousel-control:focus {
- outline: 0;
- color: #fff;
- text-decoration: none;
- opacity: 0.9;
- filter: alpha(opacity=90); }
- .carousel-control .icon-prev,
- .carousel-control .icon-next,
- .carousel-control .glyphicon-chevron-left,
- .carousel-control .glyphicon-chevron-right {
- position: absolute;
- top: 50%;
- margin-top: -10px;
- z-index: 5;
- display: inline-block; }
- .carousel-control .icon-prev,
- .carousel-control .glyphicon-chevron-left {
- left: 50%;
- margin-left: -10px; }
- .carousel-control .icon-next,
- .carousel-control .glyphicon-chevron-right {
- right: 50%;
- margin-right: -10px; }
- .carousel-control .icon-prev,
- .carousel-control .icon-next {
- width: 20px;
- height: 20px;
- line-height: 1;
- font-family: serif; }
- .carousel-control .icon-prev:before {
- content: '\2039'; }
- .carousel-control .icon-next:before {
- content: '\203a'; }
-
-.carousel-indicators {
- position: absolute;
- bottom: 10px;
- left: 50%;
- z-index: 15;
- width: 60%;
- margin-left: -30%;
- padding-left: 0;
- list-style: none;
- text-align: center; }
- .carousel-indicators li {
- display: inline-block;
- width: 10px;
- height: 10px;
- margin: 1px;
- text-indent: -999px;
- border: 1px solid #fff;
- border-radius: 10px;
- cursor: pointer;
- background-color: #000 \9;
- background-color: transparent; }
- .carousel-indicators .active {
- margin: 0;
- width: 12px;
- height: 12px;
- background-color: #fff; }
-
-.carousel-caption {
- position: absolute;
- left: 15%;
- right: 15%;
- bottom: 20px;
- z-index: 10;
- padding-top: 20px;
- padding-bottom: 20px;
- color: #fff;
- text-align: center;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
- .carousel-caption .btn {
- text-shadow: none; }
-
-@media screen and (min-width: 768px) {
- .carousel-control .glyphicon-chevron-left,
- .carousel-control .glyphicon-chevron-right,
- .carousel-control .icon-prev,
- .carousel-control .icon-next {
- width: 30px;
- height: 30px;
- margin-top: -10px;
- font-size: 30px; }
- .carousel-control .glyphicon-chevron-left,
- .carousel-control .icon-prev {
- margin-left: -10px; }
- .carousel-control .glyphicon-chevron-right,
- .carousel-control .icon-next {
- margin-right: -10px; }
- .carousel-caption {
- left: 20%;
- right: 20%;
- padding-bottom: 30px; }
- .carousel-indicators {
- bottom: 20px; } }
-
-.clearfix:before, .clearfix:after {
- content: " ";
- display: table; }
-
-.clearfix:after {
- clear: both; }
-
-.center-block {
- display: block;
- margin-left: auto;
- margin-right: auto; }
-
-.pull-right {
- float: right !important; }
-
-.pull-left {
- float: left !important; }
-
-.hide {
- display: none !important; }
-
-.show {
- display: block !important; }
-
-.invisible {
- visibility: hidden; }
-
-.text-hide {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0; }
-
-.hidden {
- display: none !important; }
-
-.affix {
- position: fixed; }
-
-@-ms-viewport {
- width: device-width; }
-
-.visible-xs {
- display: none !important; }
-
-.visible-sm {
- display: none !important; }
-
-.visible-md {
- display: none !important; }
-
-.visible-lg {
- display: none !important; }
-
-.visible-xs-block,
-.visible-xs-inline,
-.visible-xs-inline-block,
-.visible-sm-block,
-.visible-sm-inline,
-.visible-sm-inline-block,
-.visible-md-block,
-.visible-md-inline,
-.visible-md-inline-block,
-.visible-lg-block,
-.visible-lg-inline,
-.visible-lg-inline-block {
- display: none !important; }
-
-@media (max-width: 767px) {
- .visible-xs {
- display: block !important; }
- table.visible-xs {
- display: table !important; }
- tr.visible-xs {
- display: table-row !important; }
- th.visible-xs,
- td.visible-xs {
- display: table-cell !important; } }
-
-@media (max-width: 767px) {
- .visible-xs-block {
- display: block !important; } }
-
-@media (max-width: 767px) {
- .visible-xs-inline {
- display: inline !important; } }
-
-@media (max-width: 767px) {
- .visible-xs-inline-block {
- display: inline-block !important; } }
-
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm {
- display: block !important; }
- table.visible-sm {
- display: table !important; }
- tr.visible-sm {
- display: table-row !important; }
- th.visible-sm,
- td.visible-sm {
- display: table-cell !important; } }
-
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm-block {
- display: block !important; } }
-
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm-inline {
- display: inline !important; } }
-
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm-inline-block {
- display: inline-block !important; } }
-
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md {
- display: block !important; }
- table.visible-md {
- display: table !important; }
- tr.visible-md {
- display: table-row !important; }
- th.visible-md,
- td.visible-md {
- display: table-cell !important; } }
-
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-block {
- display: block !important; } }
-
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-inline {
- display: inline !important; } }
-
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-inline-block {
- display: inline-block !important; } }
-
-@media (min-width: 1200px) {
- .visible-lg {
- display: block !important; }
- table.visible-lg {
- display: table !important; }
- tr.visible-lg {
- display: table-row !important; }
- th.visible-lg,
- td.visible-lg {
- display: table-cell !important; } }
-
-@media (min-width: 1200px) {
- .visible-lg-block {
- display: block !important; } }
-
-@media (min-width: 1200px) {
- .visible-lg-inline {
- display: inline !important; } }
-
-@media (min-width: 1200px) {
- .visible-lg-inline-block {
- display: inline-block !important; } }
-
-@media (max-width: 767px) {
- .hidden-xs {
- display: none !important; } }
-
-@media (min-width: 768px) and (max-width: 991px) {
- .hidden-sm {
- display: none !important; } }
-
-@media (min-width: 992px) and (max-width: 1199px) {
- .hidden-md {
- display: none !important; } }
-
-@media (min-width: 1200px) {
- .hidden-lg {
- display: none !important; } }
-
-.visible-print {
- display: none !important; }
-
-@media print {
- .visible-print {
- display: block !important; }
- table.visible-print {
- display: table !important; }
- tr.visible-print {
- display: table-row !important; }
- th.visible-print,
- td.visible-print {
- display: table-cell !important; } }
-
-.visible-print-block {
- display: none !important; }
- @media print {
- .visible-print-block {
- display: block !important; } }
-
-.visible-print-inline {
- display: none !important; }
- @media print {
- .visible-print-inline {
- display: inline !important; } }
-
-.visible-print-inline-block {
- display: none !important; }
- @media print {
- .visible-print-inline-block {
- display: inline-block !important; } }
-
-@media print {
- .hidden-print {
- display: none !important; } }
-
-.combatant-setup, .combatant {
- min-height: 35px;
- padding: 10px;
- line-height: 34px;
- clear: left;
- border-bottom: 1px solid #000; }
-
-.encounter-button, .number-input--button, .encounter-manager-row--save-button, .encounter-manager-row--remove-button, .encounter-manager-row--load-button, .combatant-setup--button, .combatant--apply-button, .combat-controls--next-turn, .manage-players--party-select-button {
- height: 35px;
- min-width: 35px;
- text-align: center;
- background-color: #ddd;
- border: 1px solid #000;
- border-radius: 2px;
- cursor: pointer;
- padding: 5px; }
- .encounter-button:active, .number-input--button:active, .encounter-manager-row--save-button:active, .encounter-manager-row--remove-button:active, .encounter-manager-row--load-button:active, .combatant-setup--button:active, .combatant--apply-button:active, .combat-controls--next-turn:active, .manage-players--party-select-button:active {
- background-color: #eee; }
-
-.number-input--button__positive:not(:first-child) {
- margin-left: 3px; }
-
-.number-input--button__negative:not(:first-child) {
- margin-left: 3px; }
-
-.number-input--button__hidden {
- visibility: hidden; }
-
-.number-input--value {
- display: inline-block;
- width: 45px;
- text-align: center; }
-
-.launch-in-imp-init-button {
- background-color: #00643C;
- color: #FAEBD7;
- position: relative;
- padding-left: 40px; }
- .launch-in-imp-init-button::before {
- display: inline-block;
- content: '';
- height: calc(100% - 10px);
- width: 100%;
- margin-right: 5px;
- background: url("../images/improved-initiative-logo.png");
- background-size: contain;
- background-repeat: no-repeat;
- position: absolute;
- top: 5px;
- left: 5px; }
-
-.current-encounter {
- display: none;
- margin-top: 2rem;
- margin-bottom: 2rem; }
- .current-encounter__shown {
- display: block; }
- .current-encounter--empty {
- border-radius: 0.5rem;
- margin-top: 2rem;
- padding: 1rem; }
- .current-encounter--row {
- clear: right;
- margin-bottom: 2rem;
- display: flex;
- flex-direction: row; }
- .current-encounter--monster-info {
- flex-grow: 1;
- padding-bottom: 0.5rem;
- min-width: 0; }
- .current-encounter--monster-name {
- font-size: 2.25em;
- font-weight: 300; }
- .current-encounter--monster-cr {
- font-size: 1.1em; }
- .current-encounter--monster-xp {
- font-size: 1.1em;
- margin-left: 1rem; }
- .current-encounter--monster-qty-col {
- min-width: 130px; }
- .current-encounter--monster-qty {
- display: inline;
- vertical-align: middle;
- width: 6rem; }
- .current-encounter--monster-qty-btns {
- display: inline-block;
- vertical-align: middle; }
- .current-encounter--monster-qty-btns button {
- display: block; }
- .current-encounter--monster-source {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis; }
- .current-encounter--btns {
- margin-top: 0.5rem;
- display: flex;
- flex-flow: row wrap;
- justify-content: flex-end; }
- .current-encounter--btns .btn {
- margin: 0.5rem; }
- .current-encounter--totals {
- border-top: 1px solid #ddd;
- display: flex;
- font-size: 1.5em;
- padding-top: 1rem; }
- .current-encounter--totals-difficulty {
- flex-grow: 1; }
- .current-encounter--totals-xp {
- text-align: right; }
- .current-encounter--totals-xp span {
- display: block; }
- .current-encounter--totals-individual-xp {
- font-style: italic;
- font-size: 70%; }
-
-.group-info {
- display: flex;
- padding-bottom: 1rem;
- border-bottom: 1px solid #ddd; }
- .group-info--header {
- display: inline-block;
- margin-top: 0;
- width: 20rem; }
- .group-info--party-level-row {
- margin-bottom: 0.5em; }
- .group-info--input {
- flex-grow: 1; }
- .group-info--input label {
- display: block; }
- .group-info--input-section {
- position: relative;
- float: left;
- width: 16.66667%;
- min-height: 1px;
- padding-left: 15px;
- padding-right: 15px;
- width: 7rem; }
- .group-info--add-level {
- margin-top: 1em; }
- .group-info--add-level .fa-plus {
- margin-right: 5px; }
- .group-info--guidelines {
- margin-top: 1rem;
- text-align: right; }
- .group-info--guidelines-active {
- font-weight: bold; }
- .group-info--guidelines-values {
- text-align: right;
- padding-left: 5px; }
-
-.monster-table {
- margin-top: 2rem; }
- .monster-table--button-cell {
- text-align: center; }
- .monster-table--cr-cell {
- text-align: center; }
- .monster-table--cr-cell__deadly {
- background-color: #eba5a3; }
- .monster-table--cr-cell__hard {
- background-color: #f6ce95; }
- .monster-table--cr-cell__medium {
- background-color: #faf2cc; }
- .monster-table--cr-cell__easy {
- background-color: #dff0d8; }
- .monster-table--cr-cell__pair {
- background-color: #d9edf7; }
- .monster-table--cr-cell__group {
- background-color: #f7dfff; }
- .monster-table--cr-cell__trivial {
- background-color: #fff; }
- .monster-table--section {
- font-size: 0.95rem;
- font-variant: small-caps; }
- .monster-table--tags {
- font-style: italic; }
- .monster-table--label, .monster-table--cr-label {
- display: none; }
- .monster-table--source-name__short {
- display: inline; }
- .monster-table--source-name__long {
- display: none; }
- @media (min-width: 768px) {
- .monster-table--source-name__short {
- display: none; }
- .monster-table--source-name__long {
- display: inline; } }
- .monster-table--filter-warning-cell {
- background-color: #faf2cc;
- text-align: center;
- font-style: italic; }
-
-@media (max-width: 768px) {
- .monster-table--table {
- display: block; }
- .monster-table--table > thead {
- display: none; }
- .monster-table--table > tbody {
- display: block; }
- .monster-table--row {
- display: block;
- padding: 10px 5px 10px 45px;
- position: relative;
- min-height: 100px; }
- .monster-table--row:not(:last-child) {
- border-bottom: 1px solid #ddd; }
- .monster-table--warning-row {
- display: block;
- position: relative; }
- .monster-table--warning-row:not(:last-child) {
- border-bottom: 1px solid #ddd; }
- .monster-table--filter-warning-cell.monster-table--filter-warning-cell,
- .monster-table--button-cell.monster-table--button-cell,
- .monster-table--name-cell.monster-table--name-cell,
- .monster-table--cr-cell.monster-table--cr-cell,
- .monster-table--size-cell.monster-table--size-cell,
- .monster-table--type-cell.monster-table--type-cell,
- .monster-table--alignment-cell.monster-table--alignment-cell,
- .monster-table--source-cell.monster-table--source-cell {
- display: inline-block;
- border: 0;
- padding: 0;
- margin: 0 3px; }
- .monster-table--filter-warning-cell.monster-table--filter-warning-cell {
- width: 100%; }
- .monster-table--name-cell.monster-table--name-cell {
- display: block;
- font-size: 1.25em; }
- .monster-table--button-cell {
- position: absolute;
- top: 10px;
- left: 5px;
- z-index: 1; }
- .monster-table--cr-cell.monster-table--cr-cell {
- padding: 0 3px;
- position: absolute;
- padding-left: 5px;
- padding-right: 5px;
- width: 40px;
- padding-top: 47px;
- height: 100%;
- top: 0;
- left: 0;
- text-align: center; }
- .monster-table--name,
- .monster-table--label,
- .monster-table--sources {
- display: inline;
- margin: 3px; }
- .monster-table--section {
- display: none; }
- .monster-table--section {
- font-size: inherit;
- font-variant: normal; }
- .monster-table--label,
- .monster-table--cr-label {
- display: inline;
- font-weight: bold; }
- .monster-table--cr-label {
- display: block;
- margin: auto; } }
-
-.pagination-container {
- text-align: center; }
- .pagination-container select, .pagination-container option {
- color: black; }
- .pagination-container dir-pagination-controls {
- display: inline-block;
- vertical-align: middle; }
-
-.search {
- display: flex; }
- .search--search-form {
- flex-grow: 1; }
- .search--search-form--sort-control {
- display: none !important; }
- .search--search-form--pool-control {
- max-width: 300px; }
- .search--search-form * {
- margin-bottom: 1rem;
- margin-right: 0.5rem; }
- .search .search-input {
- position: relative;
- min-height: 1px;
- padding-left: 15px;
- padding-right: 15px;
- margin-right: 1rem; }
- @media (min-width: 992px) {
- .search .search-input {
- float: left;
- width: 50%; } }
- .search--sources-button {
- display: inline-block; }
- .search--size-controls {
- margin-top: 0.5rem; }
- .search--reset {
- margin-left: 1rem; }
- .search--page-size {
- width: 10rem; }
- .search--section {
- margin-left: 1.2rem; }
- .search--content-row {
- margin-top: 10px; }
- .search--sheet-link {
- font-size: 1rem;
- font-family: monospace; }
-
-.sources-modal--source-section-header {
- font-weight: bold;
- font-size: 2rem; }
-
-@media (max-width: 768px) {
- .search--search-form--sort-control {
- display: inline-block !important; } }
-
-.encounter-builder .encounter-builder--encounter-info-bar {
- display: none; }
-
-@media (max-width: 768px) {
- .encounter-builder .encounter-builder--encounter-info-bar {
- display: block;
- height: 70px; }
- .encounter-builder .encounter-builder--current-encounter-container {
- position: fixed;
- top: 50px;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 10;
- pointer-events: none; }
- .encounter-builder .encounter-builder--current-encounter-slider {
- position: absolute;
- left: 0;
- right: 0;
- height: 100%;
- pointer-events: auto;
- top: calc(100% - 70px);
- transition: top 0.5s; }
- .encounter-builder .encounter-builder--current-encounter-slider.encounter-builder--current-encounter-slider.encounter-builder--current-encounter-slider__shown {
- top: 0; }
- .encounter-builder .encounter-builder--toggle-arrow {
- font-size: 1.5em;
- display: inline-block;
- position: absolute;
- right: 15px;
- top: 50%;
- transform: translateY(-50%); }
- .encounter-builder .encounter-builder--encounter-info-bar {
- background-color: #eee;
- height: 70px;
- border-width: 1px 0 1px;
- border-style: solid;
- border-top-color: #000;
- border-bottom-color: #000;
- padding: 5px;
- position: relative;
- cursor: pointer; }
- .encounter-builder .encounter-builder--encounter-info-text {
- position: absolute;
- left: 15px;
- top: 50%;
- transform: translateY(-50%);
- font-size: 1.2em; }
- .encounter-builder .encounter-builder--current-encounter {
- background-color: white;
- overflow: auto;
- position: absolute;
- top: 70px;
- bottom: 0;
- left: 0;
- right: 0;
- padding: 5px; } }
-
-@media (max-width: 768px) {
- body {
- padding-bottom: 70px; } }
-
-.difficulty-legend {
- bottom: 0;
- right: 1rem;
- position: fixed;
- text-align: right;
- z-index: 2; }
- .difficulty-legend__deadly {
- background-color: #eba5a3; }
- .difficulty-legend__hard {
- background-color: #f6ce95; }
- .difficulty-legend__medium {
- background-color: #faf2cc; }
- .difficulty-legend__easy {
- background-color: #dff0d8; }
- .difficulty-legend__pair {
- background-color: #d9edf7; }
- .difficulty-legend__group {
- background-color: #f7dfff; }
- .difficulty-legend__trivial {
- background-color: #fff; }
- .difficulty-legend li {
- padding: 5px; }
- .difficulty-legend-popout {
- text-align: left; }
-
-.difficulty-legend-sm__deadly {
- background-color: #eba5a3; }
-
-.difficulty-legend-sm__hard {
- background-color: #f6ce95; }
-
-.difficulty-legend-sm__medium {
- background-color: #faf2cc; }
-
-.difficulty-legend-sm__easy {
- background-color: #dff0d8; }
-
-.difficulty-legend-sm__pair {
- background-color: #d9edf7; }
-
-.difficulty-legend-sm__group {
- background-color: #f7dfff; }
-
-.difficulty-legend-sm__trivial {
- background-color: #fff; }
-
-.difficulty-legend-sm li {
- padding: 5px; }
-
-.encounter-manager-row {
- margin-bottom: 1rem; }
- .encounter-manager-row--active {
- display: inline-block;
- height: 25px;
- font-weight: bold; }
- .encounter-manager-row--controls {
- padding: 10px;
- border-bottom: 1px solid #000; }
- .encounter-manager-row--exp {
- font-variant: small-caps; }
-
-.encounter-manager-monster {
- padding: 10px;
- border-bottom: 1px solid #000;
- background-color: #FC8D62; }
-
-.random-encounter-pools .encounter-manager-monster {
- background-color: #f7dfff; }
-
-.combatant-setup__player {
- background-color: #66C2A5; }
-
-.combatant-setup__enemy {
- background-color: #FC8D62; }
-
-.combatant-setup__lair {
- background-color: #E78AC3; }
-
-.combatant-setup--input {
- background-color: rgba(255, 255, 255, 0.5);
- border: 0;
- padding: 3px; }
- .combatant-setup--input__name {
- width: 220px; }
-
-.combatant-setup--name {
- display: inline-block;
- width: 250px; }
-
-.combatant-setup--initative-mod {
- display: inline-block;
- width: 150px; }
-
-.combatant-setup--initative {
- display: inline-block;
- width: 250px; }
-
-.combatant-setup--hp {
- display: inline-block;
- width: 250px; }
-
-.combat-setup-controls {
- padding: 10px; }
-
-.combatant__player {
- background-color: #66C2A5; }
-
-.combatant__enemy {
- background-color: #FC8D62; }
-
-.combatant__lair {
- background-color: #E78AC3; }
-
-.combatant__active {
- box-shadow: inset 5px 5px 4px #FFD700, inset -5px -5px 4px #FFD700;
- font-weight: 600; }
-
-.combatant > * {
- display: inline-block; }
-
-.combatant--name {
- width: 250px; }
-
-.combatant--initiative-label {
- width: 65px; }
-
-.combatant--initiative {
- width: 30px;
- text-align: right;
- margin-right: 30px; }
-
-.combatant--hp-label {
- width: 28px; }
-
-.combatant--hp {
- display: inline-block;
- width: 70px;
- text-align: right; }
-
-.combat-controls {
- padding: 10px;
- border-bottom: 1px solid #000; }
-
-.edit-players {
- padding: 10px;
- min-height: 500px; }
- .edit-players--text-input {
- height: 100%;
- width: 100%;
- resize: none; }
-
-.manage-players--party {
- padding-top: 10px; }
-
-.manage-players--party-select-button {
- margin-left: 10px;
- margin-bottom: 5px; }
-
-.manage-players--player {
- padding: 10px;
- border-top: 1px solid #000;
- background-color: #66C2A5; }
- .manage-players--player:last-child {
- border-bottom: 1px solid #000; }
- .manage-players--player--name {
- display: inline-block;
- width: 250px; }
- .manage-players--player--init {
- display: inline-block;
- width: 150px; }
- .manage-players--player--hp {
- display: inline-block;
- width: 80px; }
-
-.manage-players--selected-party {
- display: inline-block;
- font-weight: bold;
- height: 25px;
- margin-bottom: 5px;
- margin-left: 10px;
- vertical-align: middle; }
-
-.players-controls {
- padding: 10px; }
-
-.about--logo {
- max-width: 25%; }
-
-.about--disclaimer {
- margin-top: 3rem; }
diff --git a/styles/style.css b/styles/style.css
old mode 100755
new mode 100644
index e060c9d6..1c34bdf4
--- a/styles/style.css
+++ b/styles/style.css
@@ -7488,6 +7488,9 @@ button.close {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis; }
+ .current-encounter--total-monsters {
+ display: inline;
+ width: 4em; }
.current-encounter--btns {
margin-top: 0.5rem;
display: flex;