diff --git a/bower.json b/bower.json index 81bde359..54b6bc62 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angularjs-dropdown-multiselect", - "version": "2.0.0-beta.3", + "version": "2.0.0-beta.10", "authors": [ "Dotan Simha ", "Pieter Kempenaers " diff --git a/dist/angularjs-dropdown-multiselect.min.js b/dist/angularjs-dropdown-multiselect.min.js index f55bc98b..cb5eaeba 100644 --- a/dist/angularjs-dropdown-multiselect.min.js +++ b/dist/angularjs-dropdown-multiselect.min.js @@ -1,4 +1,4 @@ /******/!function(e){function t(l){if(n[l])return n[l].exports;var o=n[l]={exports:{},id:l,loaded:!1};return e[l].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}// webpackBootstrap /******/ -var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var o=n(1),s=l(o);angular.module("angularjs-dropdown-multiselect",[]).directive("dmDropdownStaticInclude",["$compile",function(e){"ngInject";return function(t,n,l){var o=l.dmDropdownStaticInclude,s=n.html(o).contents();e(s)(t)}}]).directive("ngDropdownMultiselect",s["default"])},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}function o(){return{restrict:"AE",scope:{selectedModel:"=",options:"=",extraSettings:"=",events:"=",searchFilter:"=?",translationTexts:"=",disabled:"="},transclude:{toggleDropdown:"?toggleDropdown"},controller:i["default"],templateUrl:"app/component/angularjs-dropdown-multiselect.html"}}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o;var s=n(2),i=l(s)},function(e,t){"use strict";function n(e,t){var n=!1;return e.some(function(e){return e===t?(n=!0,!0):!1}),n}function l(e,t,l,o){"ngInject";function s(){setTimeout(function(){var e=angular.element(t)[0].querySelector(".option");angular.isDefined(e)&&null!=e&&e.focus()},0)}function i(){e.open?e.close():e.open=!0,e.settings.keyboardControls&&e.open&&(1===e.settings.selectionLimit&&e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):s()),e.settings.enableSearch&&e.open&&setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0)}function r(t,n){e.setSelectedItem(n,!1,!0),t.stopImmediatePropagation()}function c(){e.open=!1,e.input.searchFilter=e.settings.clearSearchOnClose?"":e.input.searchFilter,e.externalEvents.onClose()}function a(t){e.selectedModel.splice(0,e.selectedModel.length),e.options.forEach(function(n){n[e.settings.groupBy]===t&&e.setSelectedItem(n,!1,!1)}),e.externalEvents.onSelectionChanged()}function d(t){return null!==e.settings.groupByTextProvider?e.settings.groupByTextProvider(t):t}function u(e){var n=t.find("button"),l=document.createElement("canvas"),o=l.getContext("2d");return o.font=n.css("font-size")+n.css("font-family"),o.originalFont=n.css("font-size")+n.css("font-family"),o.fillStyle="#000000",o.measureText(e).width}function g(){if(e.settings.dynamicTitle&&e.selectedModel&&e.selectedModel.length>0){if(e.settings.smartButtonMaxItems>0){var n=24,l=2,o=8,s=t[0].offsetWidth-n-l-o,i=[];angular.forEach(e.options,function(t){if(e.isChecked(t)){var n=e.getPropertyForObject(t,e.settings.displayProp),l=e.settings.smartButtonTextConverter(n,t);i.push(l||n)}}),e.selectedModel.length>e.settings.smartButtonMaxItems&&(i=i.slice(0,e.settings.smartButtonMaxItems),i.push("..."));var r=i.join(", "),c=r.length-4;if(0===t[0].offsetWidth)return r;if(s<=u("..."))return"...";for(;u(r)>s;)"..."!==i[i.length-1]&&(i.push("..."),r+="...",c=r.length-4),r=r.slice(0,c)+r.slice(c+1),c-=1;return r}var a=angular.isDefined(e.selectedModel)?e.selectedModel.length:0;return 0===a?e.texts.buttonDefaultText:e.settings.showAllSelectedText&&a===e.options.length?e.texts.allSelectedText:a+" "+e.texts.dynamicButtonTextSuffix}return e.texts.buttonDefaultText}function p(e,t){return angular.isDefined(e)&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function h(){e.deselectAll(!0),e.externalEvents.onSelectAll();var t=l("filter")(e.options,e.getFilter(e.input.searchFilter));angular.forEach(t,function(t){e.setSelectedItem(t,!0,!1)}),e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function f(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!1;t||e.externalEvents.onDeselectAll(),e.selectedModel.splice(0,e.selectedModel.length),t||e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function m(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:!1,l=arguments[2],o=-1!==e.selectedModel.indexOf(t);!n&&o?(e.selectedModel.splice(e.selectedModel.indexOf(t),1),e.externalEvents.onItemDeselect(t),e.settings.closeOnDeselect&&e.close()):!o&&(0===e.settings.selectionLimit||e.selectedModel.length0&&e.selectedModel.length===e.settings.selectionLimit&&e.externalEvents.onMaxSelectionReached()):1!==e.settings.selectionLimit||o||e.selectedModel.length!==e.settings.selectionLimit||(e.selectedModel.splice(0,1),e.selectedModel.push(t),l&&e.externalEvents.onItemSelect(t),e.settings.closeOnSelect&&e.close()),l&&e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function y(t){return-1!==e.selectedModel.indexOf(t)}function k(t){var n=angular.element(t.target).scope(),l=void 0,o=t.target.parentNode;if(e.settings.keyboardControls)if(13===t.keyCode||32===t.keyCode)t.preventDefault(),n.option?e.setSelectedItem(n.option,!1,!0):"deselectAll"===t.target.id?e.deselectAll():"selectAll"===t.target.id&&e.selectAll();else if(38===t.keyCode){for(t.preventDefault(),o.previousElementSibling&&(l=o.previousElementSibling.querySelector("a")||o.previousElementSibling.querySelector("input"));!l&&o;)o=o.previousElementSibling,o&&(l=o.querySelector("a")||o.querySelector("input"));l&&l.focus()}else if(40===t.keyCode){for(t.preventDefault(),o.nextElementSibling&&(l=o.nextElementSibling.querySelector("a")||o.nextElementSibling.querySelector("input"));!l&&o;)o=o.nextElementSibling,o&&(l=o.querySelector("a")||o.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function b(t){var n=t.target.parentNode.parentNode,l=void 0;if(e.settings.keyboardControls)if(9===t.keyCode||40===t.keyCode)t.preventDefault(),s();else if(38===t.keyCode){for(t.preventDefault(),n.previousElementSibling&&(l=n.previousElementSibling.querySelector("a")||n.previousElementSibling.querySelector("input"));!l&&n;)n=n.previousElementSibling,n&&(l=n.querySelector("a")||n.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function v(t,n){var o=void 0;e.settings.keyboardControls&&13===t.keyCode&&(1===e.settings.selectionLimit&&e.settings.enableSearch?(o=l("filter")(e.options,e.getFilter(n)),1===o.length&&e.setSelectedItem(o[0],!1,!0)):e.settings.enableSearch&&e.selectAll())}function x(t){var n={};return n[e.settings.searchField]=t,n}function S(t){t&&t.stopPropagation(),e.settings.enableSearch=!e.settings.enableSearch,e.settings.enableSearch||(e.input.searchFilter="")}function w(){e.settings.keyboardControls&&13===event.keyCode&&(e.toggleSearch(),e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):s())}function C(t,n){if(angular.isUndefined(n))return-1;if(angular.isUndefined(t))return 1;if("object"!==t.type||"object"!==n.type)return t.index
')}]); +var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var o=n(1),s=l(o);angular.module("angularjs-dropdown-multiselect",[]).directive("dmDropdownStaticInclude",["$compile",function(e){"ngInject";return function(t,n,l){var o=l.dmDropdownStaticInclude,s=n.html(o).contents();e(s)(t)}}]).directive("ngDropdownMultiselect",s["default"])},function(e,t,n){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}function o(){return{restrict:"AE",scope:{selectedModel:"=",options:"=",extraSettings:"=",events:"=",searchFilter:"=?",translationTexts:"=",disabled:"="},transclude:{toggleDropdown:"?toggleDropdown"},controller:i["default"],templateUrl:"app/component/angularjs-dropdown-multiselect.html"}}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=o;var s=n(2),i=l(s)},function(e,t){"use strict";function n(e,t){var n=!1;return e.some(function(e){return e===t?(n=!0,!0):!1}),n}function l(e,t,n){var l=-1;return e.some(function(e,o){return e[n]===t[n]?(l=o,!0):!1}),l}function o(e,t,o,s){"ngInject";function i(){setTimeout(function(){var e=angular.element(t)[0].querySelector(".option");angular.isDefined(e)&&null!=e&&e.focus()},0)}function r(){e.open?e.close():e.open=!0,e.settings.keyboardControls&&e.open&&(1===e.settings.selectionLimit&&e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):i()),e.settings.enableSearch&&e.open&&setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0)}function c(t,n){e.setSelectedItem(n,!1,!0),t.stopImmediatePropagation()}function a(){e.open=!1,e.input.searchFilter=e.settings.clearSearchOnClose?"":e.input.searchFilter,e.externalEvents.onClose()}function d(t){e.selectedModel.splice(0,e.selectedModel.length),e.options.forEach(function(n){n[e.settings.groupBy]===t&&e.setSelectedItem(n,!1,!1)}),e.externalEvents.onSelectionChanged()}function u(t){return null!==e.settings.groupByTextProvider?e.settings.groupByTextProvider(t):t}function g(e){var n=t.find("button"),l=document.createElement("canvas"),o=l.getContext("2d");return o.font=n.css("font-size")+n.css("font-family"),o.originalFont=n.css("font-size")+n.css("font-family"),o.fillStyle="#000000",o.measureText(e).width}function p(){if(e.settings.dynamicTitle&&e.selectedModel&&e.selectedModel.length>0){if(angular.isFunction(e.settings.smartButtonTextProvider))return e.settings.smartButtonTextProvider(e.selectedModel);if(e.settings.smartButtonMaxItems>0){var n=24,l=2,o=8,s=t[0].offsetWidth-n-l-o,i=[];angular.forEach(e.options,function(t){if(e.isChecked(t)){var n=e.getPropertyForObject(t,e.settings.displayProp),l=e.settings.smartButtonTextConverter(n,t);i.push(l||n)}}),e.selectedModel.length>e.settings.smartButtonMaxItems&&(i=i.slice(0,e.settings.smartButtonMaxItems),i.push("..."));var r=i.join(", "),c=r.length-4;if(0===t[0].offsetWidth)return r;if(s<=g("..."))return"...";for(;g(r)>s;)"..."!==i[i.length-1]&&(i.push("..."),r+="...",c=r.length-4),r=r.slice(0,c)+r.slice(c+1),c-=1;return r}var a=angular.isDefined(e.selectedModel)?e.selectedModel.length:0;return 0===a?e.texts.buttonDefaultText:e.settings.showAllSelectedText&&a===e.options.length?e.texts.allSelectedText:a+" "+e.texts.dynamicButtonTextSuffix}return e.texts.buttonDefaultText}function h(e,t){return angular.isDefined(e)&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function f(){e.deselectAll(!0),e.externalEvents.onSelectAll();var t=o("filter")(e.options,e.getFilter(e.input.searchFilter));angular.forEach(t,function(t){e.setSelectedItem(t,!0,!1)}),e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function m(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!1;t||e.externalEvents.onDeselectAll(),e.selectedModel.splice(0,e.selectedModel.length),t||e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function y(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:!1,o=arguments[2],s=void 0,i=void 0;angular.isDefined(A.idProperty)?(s=-1!==l(e.selectedModel,t,A.idProperty),i=l(e.selectedModel,t,A.idProperty)):(s=-1!==e.selectedModel.indexOf(t),i=e.selectedModel.indexOf(t)),!n&&s?(e.selectedModel.splice(i,1),e.externalEvents.onItemDeselect(t),e.settings.closeOnDeselect&&e.close()):!s&&(0===e.settings.selectionLimit||e.selectedModel.length0&&e.selectedModel.length===e.settings.selectionLimit&&e.externalEvents.onMaxSelectionReached()):1!==e.settings.selectionLimit||s||e.selectedModel.length!==e.settings.selectionLimit||(e.selectedModel.splice(0,1),e.selectedModel.push(t),o&&e.externalEvents.onItemSelect(t),e.settings.closeOnSelect&&e.close()),o&&e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function v(t){return angular.isDefined(A.idProperty)?-1!==l(e.selectedModel,t,A.idProperty):-1!==e.selectedModel.indexOf(t)}function k(t){var n=angular.element(t.target).scope(),l=void 0,o=t.target.parentNode;if(e.settings.keyboardControls)if(13===t.keyCode||32===t.keyCode)t.preventDefault(),n.option?e.setSelectedItem(n.option,!1,!0):"deselectAll"===t.target.id?e.deselectAll():"selectAll"===t.target.id&&e.selectAll();else if(38===t.keyCode){for(t.preventDefault(),o.previousElementSibling&&(l=o.previousElementSibling.querySelector("a")||o.previousElementSibling.querySelector("input"));!l&&o;)o=o.previousElementSibling,o&&(l=o.querySelector("a")||o.querySelector("input"));l&&l.focus()}else if(40===t.keyCode){for(t.preventDefault(),o.nextElementSibling&&(l=o.nextElementSibling.querySelector("a")||o.nextElementSibling.querySelector("input"));!l&&o;)o=o.nextElementSibling,o&&(l=o.querySelector("a")||o.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function b(t){var n=t.target.parentNode.parentNode,l=void 0;if(e.settings.keyboardControls)if(9===t.keyCode||40===t.keyCode)t.preventDefault(),i();else if(38===t.keyCode){for(t.preventDefault(),n.previousElementSibling&&(l=n.previousElementSibling.querySelector("a")||n.previousElementSibling.querySelector("input"));!l&&n;)n=n.previousElementSibling,n&&(l=n.querySelector("a")||n.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function x(t,n){var l=void 0;e.settings.keyboardControls&&13===t.keyCode&&(1===e.settings.selectionLimit&&e.settings.enableSearch?(l=o("filter")(e.options,e.getFilter(n)),1===l.length&&e.setSelectedItem(l[0],!1,!0)):e.settings.enableSearch&&e.selectAll())}function S(t){var n={};return n[e.settings.searchField]=t,n}function w(t){t&&t.stopPropagation(),e.settings.enableSearch=!e.settings.enableSearch,e.settings.enableSearch||(e.input.searchFilter="")}function C(){e.settings.keyboardControls&&13===event.keyCode&&(e.toggleSearch(),e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):i())}function D(t,n){if(angular.isUndefined(n))return-1;if(angular.isUndefined(t))return 1;if("object"!==t.type||"object"!==n.type)return t.index
')}]); //# sourceMappingURL=maps/angularjs-dropdown-multiselect.min.js.map diff --git a/dist/maps/angularjs-dropdown-multiselect.min.js.map b/dist/maps/angularjs-dropdown-multiselect.min.js.map index 9db65032..ce77236e 100644 --- a/dist/maps/angularjs-dropdown-multiselect.min.js.map +++ b/dist/maps/angularjs-dropdown-multiselect.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["angularjs-dropdown-multiselect.min.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_angularjsDropdownMultiselect","_angularjsDropdownMultiselect2","angular","directive","$compile","scope","element","attrs","template","dmDropdownStaticInclude","contents","html","dropdownMultiselectDirective","restrict","selectedModel","options","extraSettings","events","searchFilter","translationTexts","disabled","transclude","toggleDropdown","controller","templateUrl","Object","defineProperty","value","contains","collection","target","containsTarget","some","object","dropdownMultiselectController","$scope","$element","$filter","$document","focusFirstOption","setTimeout","elementToFocus","querySelector","isDefined","focus","open","close","settings","keyboardControls","selectionLimit","enableSearch","checkboxClick","$event","option","setSelectedItem","stopImmediatePropagation","input","clearSearchOnClose","externalEvents","onClose","selectCurrentGroup","currentGroup","splice","length","forEach","item","groupBy","onSelectionChanged","getGroupLabel","groupValue","groupByTextProvider","textWidth","text","$btn","find","canvas","document","createElement","ctx","getContext","font","css","originalFont","fillStyle","measureText","width","getButtonText","dynamicTitle","smartButtonMaxItems","paddingWidth","borderWidth","dropdownIconWidth","widthLimit","offsetWidth","itemsText","optionItem","isChecked","displayText","getPropertyForObject","displayProp","converterResponse","smartButtonTextConverter","push","slice","result","join","index","totalSelected","texts","buttonDefaultText","showAllSelectedText","allSelectedText","dynamicButtonTextSuffix","property","prototype","hasOwnProperty","undefined","selectAll","deselectAll","onSelectAll","searchResult","getFilter","selectedGroup","dontSendEvent","arguments","onDeselectAll","dontRemove","fireSelectionChange","exists","indexOf","onItemDeselect","closeOnDeselect","onItemSelect","closeOnSelect","onMaxSelectionReached","keyDownLink","event","sourceScope","nextOption","parent","parentNode","keyCode","preventDefault","previousElementSibling","nextElementSibling","keyDownSearchDefault","keyDownSearch","filter","searchField","toggleSearch","stopPropagation","keyDownToggleSearch","orderFunction","object1","object2","isUndefined","type","v1","v2","selectedToTop","$dropdownTrigger","children","noop","onInitDone","scrollable","scrollableHeight","closeOnBlur","showCheckAll","showUncheckAll","showEnableSearchButton","buttonClasses","checkBoxes","styleActive","checkAll","uncheckAll","selectionCount","selectionOf","searchPlaceholder","disableSearch","selectGroup","extend","on","e","parentElement","parentFound","className","split","$apply","$inject","run","$templateCache","put"],"mappings":"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","file":"angularjs-dropdown-multiselect.min.js","sourceRoot":"/source/","sourcesContent":[]} \ No newline at end of file +{"version":3,"sources":["angularjs-dropdown-multiselect.min.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_angularjsDropdownMultiselect","_angularjsDropdownMultiselect2","angular","directive","$compile","scope","element","attrs","template","dmDropdownStaticInclude","contents","html","dropdownMultiselectDirective","restrict","selectedModel","options","extraSettings","events","searchFilter","translationTexts","disabled","transclude","toggleDropdown","controller","templateUrl","Object","defineProperty","value","contains","collection","target","containsTarget","some","object","getIndexByProperty","objectToFind","property","index","option","ind","dropdownMultiselectController","$scope","$element","$filter","$document","focusFirstOption","setTimeout","elementToFocus","querySelector","isDefined","focus","open","close","settings","keyboardControls","selectionLimit","enableSearch","checkboxClick","$event","setSelectedItem","stopImmediatePropagation","input","clearSearchOnClose","externalEvents","onClose","selectCurrentGroup","currentGroup","splice","length","forEach","item","groupBy","onSelectionChanged","getGroupLabel","groupValue","groupByTextProvider","textWidth","text","$btn","find","canvas","document","createElement","ctx","getContext","font","css","originalFont","fillStyle","measureText","width","getButtonText","dynamicTitle","isFunction","smartButtonTextProvider","smartButtonMaxItems","paddingWidth","borderWidth","dropdownIconWidth","widthLimit","offsetWidth","itemsText","optionItem","isChecked","displayText","getPropertyForObject","displayProp","converterResponse","smartButtonTextConverter","push","slice","result","join","totalSelected","texts","buttonDefaultText","showAllSelectedText","allSelectedText","dynamicButtonTextSuffix","prototype","hasOwnProperty","undefined","selectAll","deselectAll","onSelectAll","searchResult","getFilter","selectedGroup","dontSendEvent","arguments","onDeselectAll","dontRemove","fireSelectionChange","exists","indexOfOption","idProperty","indexOf","onItemDeselect","closeOnDeselect","onItemSelect","closeOnSelect","onMaxSelectionReached","keyDownLink","event","sourceScope","nextOption","parent","parentNode","keyCode","preventDefault","previousElementSibling","nextElementSibling","keyDownSearchDefault","keyDownSearch","filter","searchField","toggleSearch","stopPropagation","keyDownToggleSearch","orderFunction","object1","object2","isUndefined","type","v1","v2","selectedToTop","$dropdownTrigger","children","noop","onInitDone","scrollable","scrollableHeight","closeOnBlur","showCheckAll","showUncheckAll","showEnableSearchButton","buttonClasses","checkBoxes","styleActive","checkAll","uncheckAll","selectionCount","selectionOf","searchPlaceholder","disableSearch","selectGroup","extend","on","e","parentElement","parentFound","className","split","$apply","$inject","run","$templateCache","put"],"mappings":"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","file":"angularjs-dropdown-multiselect.min.js","sourceRoot":"/source/","sourcesContent":[]} \ No newline at end of file diff --git a/dist/src/angularjs-dropdown-multiselect.js b/dist/src/angularjs-dropdown-multiselect.js new file mode 100644 index 00000000..0c2029a2 --- /dev/null +++ b/dist/src/angularjs-dropdown-multiselect.js @@ -0,0 +1,662 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; + +/******/ // The require function +/******/ function __webpack_require__(moduleId) { + +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; + +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; + +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + +/******/ // Flag the module as loaded +/******/ module.loaded = true; + +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } + + +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; + +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; + +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; + +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + var _angularjsDropdownMultiselect = __webpack_require__(1); + + var _angularjsDropdownMultiselect2 = _interopRequireDefault(_angularjsDropdownMultiselect); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + angular.module('angularjs-dropdown-multiselect', []).directive('dmDropdownStaticInclude', ["$compile", function ($compile) { + 'ngInject'; + + return function directive(scope, element, attrs) { + var template = attrs.dmDropdownStaticInclude; + var contents = element.html(template).contents(); + $compile(contents)(scope); + }; + }]).directive('ngDropdownMultiselect', _angularjsDropdownMultiselect2.default); + +/***/ }, +/* 1 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = dropdownMultiselectDirective; + + var _angularjsDropdownMultiselect = __webpack_require__(2); + + var _angularjsDropdownMultiselect2 = _interopRequireDefault(_angularjsDropdownMultiselect); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function dropdownMultiselectDirective() { + return { + restrict: 'AE', + scope: { + selectedModel: '=', + options: '=', + extraSettings: '=', + events: '=', + searchFilter: '=?', + translationTexts: '=', + disabled: '=' + }, + transclude: { + toggleDropdown: '?toggleDropdown' + }, + controller: _angularjsDropdownMultiselect2.default, + templateUrl: 'app/component/angularjs-dropdown-multiselect.html' + }; + } + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + 'use strict'; + + dropdownMultiselectController.$inject = ["$scope", "$element", "$filter", "$document"]; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = dropdownMultiselectController; + /* + eslint no-param-reassign: [ + "error", + { + "props": true, + "ignorePropertyModificationsFor": [ + "$scope" + ] + } + ] + */ + + function contains(collection, target) { + var containsTarget = false; + collection.some(function (object) { + if (object === target) { + containsTarget = true; + return true; + } + return false; + }); + return containsTarget; + } + + function getIndexByProperty(collection, objectToFind, property) { + var index = -1; + collection.some(function (option, ind) { + if (option[property] === objectToFind[property]) { + index = ind; + return true; + } + return false; + }); + return index; + } + + function dropdownMultiselectController($scope, $element, $filter, $document) { + 'ngInject'; + + var $dropdownTrigger = $element.children()[0]; + var externalEvents = { + onItemSelect: angular.noop, + onItemDeselect: angular.noop, + onSelectAll: angular.noop, + onDeselectAll: angular.noop, + onInitDone: angular.noop, + onMaxSelectionReached: angular.noop, + onSelectionChanged: angular.noop, + onClose: angular.noop + }; + + var settings = { + dynamicTitle: true, + scrollable: false, + scrollableHeight: '300px', + closeOnBlur: true, + displayProp: 'label', + enableSearch: false, + clearSearchOnClose: false, + selectionLimit: 0, + showCheckAll: true, + showUncheckAll: true, + showEnableSearchButton: false, + closeOnSelect: false, + buttonClasses: 'btn btn-default', + closeOnDeselect: false, + groupBy: undefined, + checkBoxes: false, + groupByTextProvider: null, + smartButtonMaxItems: 0, + smartButtonTextConverter: angular.noop, + styleActive: false, + selectedToTop: false, + keyboardControls: false, + template: '{{getPropertyForObject(option, settings.displayProp)}}', + searchField: '$', + showAllSelectedText: false + }; + + var texts = { + checkAll: 'Check All', + uncheckAll: 'Uncheck All', + selectionCount: 'checked', + selectionOf: '/', + searchPlaceholder: 'Search...', + buttonDefaultText: 'Select', + dynamicButtonTextSuffix: 'checked', + disableSearch: 'Disable search', + enableSearch: 'Enable search', + selectGroup: 'Select all:', + allSelectedText: 'All' + }; + + var input = { + searchFilter: $scope.searchFilter || '' + }; + + angular.extend(settings, $scope.extraSettings || []); + angular.extend(externalEvents, $scope.events || []); + angular.extend(texts, $scope.translationTexts); + + if (settings.closeOnBlur) { + $document.on('click', function (e) { + if ($scope.open) { + var target = e.target.parentElement; + var parentFound = false; + + while (angular.isDefined(target) && target !== null && !parentFound) { + if (!!target.className.split && contains(target.className.split(' '), 'multiselect-parent') && !parentFound) { + if (target === $dropdownTrigger) { + parentFound = true; + } + } + target = target.parentElement; + } + + if (!parentFound) { + $scope.$apply(function () { + $scope.close(); + }); + } + } + }); + } + + angular.extend($scope, { + toggleDropdown: toggleDropdown, + checkboxClick: checkboxClick, + externalEvents: externalEvents, + settings: settings, + texts: texts, + input: input, + close: close, + selectCurrentGroup: selectCurrentGroup, + getGroupLabel: getGroupLabel, + getButtonText: getButtonText, + getPropertyForObject: getPropertyForObject, + selectAll: selectAll, + deselectAll: deselectAll, + setSelectedItem: setSelectedItem, + isChecked: isChecked, + keyDownLink: keyDownLink, + keyDownSearchDefault: keyDownSearchDefault, + keyDownSearch: keyDownSearch, + getFilter: getFilter, + toggleSearch: toggleSearch, + keyDownToggleSearch: keyDownToggleSearch, + orderFunction: orderFunction + }); + + $scope.externalEvents.onInitDone(); + + function focusFirstOption() { + setTimeout(function () { + var elementToFocus = angular.element($element)[0].querySelector('.option'); + if (angular.isDefined(elementToFocus) && elementToFocus != null) { + elementToFocus.focus(); + } + }, 0); + } + + function toggleDropdown() { + if ($scope.open) { + $scope.close(); + } else { + $scope.open = true; + } + if ($scope.settings.keyboardControls) { + if ($scope.open) { + if ($scope.settings.selectionLimit === 1 && $scope.settings.enableSearch) { + setTimeout(function () { + angular.element($element)[0].querySelector('.searchField').focus(); + }, 0); + } else { + focusFirstOption(); + } + } + } + if ($scope.settings.enableSearch) { + if ($scope.open) { + setTimeout(function () { + angular.element($element)[0].querySelector('.searchField').focus(); + }, 0); + } + } + } + + function checkboxClick($event, option) { + $scope.setSelectedItem(option, false, true); + $event.stopImmediatePropagation(); + } + + function close() { + $scope.open = false; + $scope.input.searchFilter = $scope.settings.clearSearchOnClose ? '' : $scope.input.searchFilter; + $scope.externalEvents.onClose(); + } + + function selectCurrentGroup(currentGroup) { + $scope.selectedModel.splice(0, $scope.selectedModel.length); + $scope.options.forEach(function (item) { + if (item[$scope.settings.groupBy] === currentGroup) { + $scope.setSelectedItem(item, false, false); + } + }); + $scope.externalEvents.onSelectionChanged(); + } + + function getGroupLabel(groupValue) { + if ($scope.settings.groupByTextProvider !== null) { + return $scope.settings.groupByTextProvider(groupValue); + } + + return groupValue; + } + + function textWidth(text) { + var $btn = $element.find('button'); + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + ctx.font = $btn.css('font-size') + $btn.css('font-family'); + // http://stackoverflow.com/questions/38823353/chrome-canvas-2d-context-measuretext-giving-me-weird-results + ctx.originalFont = $btn.css('font-size') + $btn.css('font-family'); + ctx.fillStyle = '#000000'; + return ctx.measureText(text).width; + } + + function getButtonText() { + if ($scope.settings.dynamicTitle && $scope.selectedModel && $scope.selectedModel.length > 0) { + if (angular.isFunction($scope.settings.smartButtonTextProvider)) { + return $scope.settings.smartButtonTextProvider($scope.selectedModel); + } + + if ($scope.settings.smartButtonMaxItems > 0) { + var paddingWidth = 12 * 2; + var borderWidth = 1 * 2; + var dropdownIconWidth = 8; + var widthLimit = $element[0].offsetWidth - paddingWidth - borderWidth - dropdownIconWidth; + + var itemsText = []; + + angular.forEach($scope.options, function (optionItem) { + if ($scope.isChecked(optionItem)) { + var displayText = $scope.getPropertyForObject(optionItem, $scope.settings.displayProp); + var converterResponse = $scope.settings.smartButtonTextConverter(displayText, optionItem); + + itemsText.push(converterResponse || displayText); + } + }); + + if ($scope.selectedModel.length > $scope.settings.smartButtonMaxItems) { + itemsText = itemsText.slice(0, $scope.settings.smartButtonMaxItems); + itemsText.push('...'); + } + + var result = itemsText.join(', '); + var index = result.length - 4; + if ($element[0].offsetWidth === 0) { + return result; + } + if (widthLimit <= textWidth('...')) { + return '...'; + } + while (textWidth(result) > widthLimit) { + if (itemsText[itemsText.length - 1] !== '...') { + itemsText.push('...'); + result = result + '...'; + index = result.length - 4; + } + result = result.slice(0, index) + result.slice(index + 1); + index -= 1; + } + + return result; + } + var totalSelected = angular.isDefined($scope.selectedModel) ? $scope.selectedModel.length : 0; + + if (totalSelected === 0) { + return $scope.texts.buttonDefaultText; + } + + if ($scope.settings.showAllSelectedText && totalSelected === $scope.options.length) { + return $scope.texts.allSelectedText; + } + + return totalSelected + ' ' + $scope.texts.dynamicButtonTextSuffix; + } + return $scope.texts.buttonDefaultText; + } + + function getPropertyForObject(object, property) { + if (angular.isDefined(object) && Object.prototype.hasOwnProperty.call(object, property)) { + return object[property]; + } + + return undefined; + } + + function selectAll() { + $scope.deselectAll(true); + $scope.externalEvents.onSelectAll(); + + var searchResult = $filter('filter')($scope.options, $scope.getFilter($scope.input.searchFilter)); + angular.forEach(searchResult, function (value) { + $scope.setSelectedItem(value, true, false); + }); + $scope.externalEvents.onSelectionChanged(); + $scope.selectedGroup = null; + } + + function deselectAll() { + var dontSendEvent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!dontSendEvent) { + $scope.externalEvents.onDeselectAll(); + } + + $scope.selectedModel.splice(0, $scope.selectedModel.length); + if (!dontSendEvent) { + $scope.externalEvents.onSelectionChanged(); + } + $scope.selectedGroup = null; + } + + function setSelectedItem(option) { + var dontRemove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var fireSelectionChange = arguments[2]; + + var exists = void 0; + var indexOfOption = void 0; + if (angular.isDefined(settings.idProperty)) { + exists = getIndexByProperty($scope.selectedModel, option, settings.idProperty) !== -1; + indexOfOption = getIndexByProperty($scope.selectedModel, option, settings.idProperty); + } else { + exists = $scope.selectedModel.indexOf(option) !== -1; + indexOfOption = $scope.selectedModel.indexOf(option); + } + + if (!dontRemove && exists) { + $scope.selectedModel.splice(indexOfOption, 1); + $scope.externalEvents.onItemDeselect(option); + if ($scope.settings.closeOnDeselect) { + $scope.close(); + } + } else if (!exists && ($scope.settings.selectionLimit === 0 || $scope.selectedModel.length < $scope.settings.selectionLimit)) { + $scope.selectedModel.push(option); + if (fireSelectionChange) { + $scope.externalEvents.onItemSelect(option); + } + if ($scope.settings.closeOnSelect) { + $scope.close(); + } + if ($scope.settings.selectionLimit > 0 && $scope.selectedModel.length === $scope.settings.selectionLimit) { + $scope.externalEvents.onMaxSelectionReached(); + } + } else if ($scope.settings.selectionLimit === 1 && !exists && $scope.selectedModel.length === $scope.settings.selectionLimit) { + $scope.selectedModel.splice(0, 1); + $scope.selectedModel.push(option); + if (fireSelectionChange) { + $scope.externalEvents.onItemSelect(option); + } + if ($scope.settings.closeOnSelect) { + $scope.close(); + } + } + if (fireSelectionChange) { + $scope.externalEvents.onSelectionChanged(); + } + $scope.selectedGroup = null; + } + + function isChecked(option) { + if (angular.isDefined(settings.idProperty)) { + return getIndexByProperty($scope.selectedModel, option, settings.idProperty) !== -1; + } + return $scope.selectedModel.indexOf(option) !== -1; + } + + function keyDownLink(event) { + var sourceScope = angular.element(event.target).scope(); + var nextOption = void 0; + var parent = event.target.parentNode; + if (!$scope.settings.keyboardControls) { + return; + } + if (event.keyCode === 13 || event.keyCode === 32) { + // enter + event.preventDefault(); + if (sourceScope.option) { + $scope.setSelectedItem(sourceScope.option, false, true); + } else if (event.target.id === 'deselectAll') { + $scope.deselectAll(); + } else if (event.target.id === 'selectAll') { + $scope.selectAll(); + } + } else if (event.keyCode === 38) { + // up arrow + event.preventDefault(); + if (parent.previousElementSibling) { + nextOption = parent.previousElementSibling.querySelector('a') || parent.previousElementSibling.querySelector('input'); + } + while (!nextOption && !!parent) { + parent = parent.previousElementSibling; + if (parent) { + nextOption = parent.querySelector('a') || parent.querySelector('input'); + } + } + if (nextOption) { + nextOption.focus(); + } + } else if (event.keyCode === 40) { + // down arrow + event.preventDefault(); + if (parent.nextElementSibling) { + nextOption = parent.nextElementSibling.querySelector('a') || parent.nextElementSibling.querySelector('input'); + } + while (!nextOption && !!parent) { + parent = parent.nextElementSibling; + if (parent) { + nextOption = parent.querySelector('a') || parent.querySelector('input'); + } + } + if (nextOption) { + nextOption.focus(); + } + } else if (event.keyCode === 27) { + event.preventDefault(); + + $scope.toggleDropdown(); + } + } + + function keyDownSearchDefault(event) { + var parent = event.target.parentNode.parentNode; + var nextOption = void 0; + if (!$scope.settings.keyboardControls) { + return; + } + if (event.keyCode === 9 || event.keyCode === 40) { + // tab + event.preventDefault(); + focusFirstOption(); + } else if (event.keyCode === 38) { + event.preventDefault(); + if (parent.previousElementSibling) { + nextOption = parent.previousElementSibling.querySelector('a') || parent.previousElementSibling.querySelector('input'); + } + while (!nextOption && !!parent) { + parent = parent.previousElementSibling; + if (parent) { + nextOption = parent.querySelector('a') || parent.querySelector('input'); + } + } + if (nextOption) { + nextOption.focus(); + } + } else if (event.keyCode === 27) { + event.preventDefault(); + + $scope.toggleDropdown(); + } + } + + function keyDownSearch(event, searchFilter) { + var searchResult = void 0; + if (!$scope.settings.keyboardControls) { + return; + } + if (event.keyCode === 13) { + if ($scope.settings.selectionLimit === 1 && $scope.settings.enableSearch) { + searchResult = $filter('filter')($scope.options, $scope.getFilter(searchFilter)); + if (searchResult.length === 1) { + $scope.setSelectedItem(searchResult[0], false, true); + } + } else if ($scope.settings.enableSearch) { + $scope.selectAll(); + } + } + } + + function getFilter(searchFilter) { + var filter = {}; + filter[$scope.settings.searchField] = searchFilter; + return filter; + } + + function toggleSearch($event) { + if ($event) { + $event.stopPropagation(); + } + $scope.settings.enableSearch = !$scope.settings.enableSearch; + if (!$scope.settings.enableSearch) { + $scope.input.searchFilter = ''; + } + } + + function keyDownToggleSearch() { + if (!$scope.settings.keyboardControls) { + return; + } + if (event.keyCode === 13) { + $scope.toggleSearch(); + if ($scope.settings.enableSearch) { + setTimeout(function () { + angular.element($element)[0].querySelector('.searchField').focus(); + }, 0); + } else { + focusFirstOption(); + } + } + } + + function orderFunction(object1, object2) { + if (angular.isUndefined(object2)) { + return -1; + } + if (angular.isUndefined(object1)) { + return 1; + } + if (object1.type !== 'object' || object2.type !== 'object') { + return object1.index < object2.index ? -1 : 1; + } + var v1 = object1.value; + var v2 = object2.value; + // first order by group + if ($scope.settings.groupBy) { + if (v1[$scope.settings.groupBy] !== v2[$scope.settings.groupBy]) { + if (v1[$scope.settings.groupBy] < v2[$scope.settings.groupBy]) { + return 1; + } + return -1; + } + } + if (!$scope.settings.selectedToTop) { + return $scope.options.indexOf(v1) < $scope.options.indexOf(v2) ? -1 : 1; + } + // then order selected to top + if (!$scope.isChecked(v1) && !$scope.isChecked(v2) || $scope.isChecked(v1) && $scope.isChecked(v2)) { + return $scope.options.indexOf(v1) < $scope.options.indexOf(v2) ? -1 : 1; + } + if ($scope.isChecked(v1)) { + return -1; + } + return 1; + } + } + +/***/ } +/******/ ]); +angular.module("angularjs-dropdown-multiselect").run(["$templateCache", function($templateCache) {$templateCache.put("app/component/angularjs-dropdown-multiselect.html","
");}]); \ No newline at end of file diff --git a/dist/src/index.css b/dist/src/index.css new file mode 100644 index 00000000..e69de29b diff --git a/docs/maps/scripts/app.js.map b/docs/maps/scripts/app.js.map index a5dc84c4..6f0f1e23 100644 --- a/docs/maps/scripts/app.js.map +++ b/docs/maps/scripts/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["scripts/app.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_main","_main2","_v1docs","_v1docs2","angular","component","config","$stateProvider","$urlRouterProvider","state","name","url","template","otherwise","_angularjsDropdownMultiselect","_angularjsDropdownMultiselect2","directive","$compile","scope","element","attrs","dmDropdownStaticInclude","contents","html","dropdownMultiselectDirective","restrict","selectedModel","options","extraSettings","events","searchFilter","translationTexts","disabled","controller","templateUrl","Object","defineProperty","value","contains","collection","target","containsTarget","some","object","dropdownMultiselectController","$scope","$element","$filter","$document","focusFirstOption","setTimeout","elementToFocus","querySelector","isDefined","focus","toggleDropdown","open","close","settings","keyboardControls","selectionLimit","enableSearch","checkboxClick","$event","option","setSelectedItem","stopImmediatePropagation","input","clearSearchOnClose","externalEvents","onClose","selectCurrentGroup","currentGroup","splice","length","forEach","item","groupBy","onSelectionChanged","getGroupLabel","groupValue","groupByTextProvider","textWidth","text","$btn","find","canvas","document","createElement","ctx","getContext","font","css","originalFont","fillStyle","measureText","width","getButtonText","dynamicTitle","smartButtonMaxItems","paddingWidth","borderWidth","dropdownIconWidth","widthLimit","offsetWidth","itemsText","optionItem","isChecked","displayText","getPropertyForObject","displayProp","converterResponse","smartButtonTextConverter","push","slice","result","join","index","totalSelected","texts","buttonDefaultText","showAllSelectedText","allSelectedText","dynamicButtonTextSuffix","property","prototype","hasOwnProperty","undefined","selectAll","deselectAll","onSelectAll","searchResult","getFilter","selectedGroup","dontSendEvent","arguments","onDeselectAll","dontRemove","fireSelectionChange","exists","indexOf","onItemDeselect","closeOnDeselect","onItemSelect","closeOnSelect","onMaxSelectionReached","keyDownLink","event","sourceScope","nextOption","parent","parentNode","keyCode","preventDefault","previousElementSibling","nextElementSibling","keyDownSearchDefault","keyDownSearch","filter","searchField","toggleSearch","stopPropagation","keyDownToggleSearch","orderFunction","object1","object2","isUndefined","type","v1","v2","selectedToTop","$dropdownTrigger","children","noop","onInitDone","scrollable","scrollableHeight","closeOnBlur","showCheckAll","showUncheckAll","showEnableSearchButton","buttonClasses","checkBoxes","styleActive","checkAll","uncheckAll","selectionCount","selectionOf","searchPlaceholder","disableSearch","selectGroup","extend","on","e","parentElement","parentFound","className","split","$apply","$inject","mainComponent","_classCallCheck","instance","Constructor","TypeError","MainController","$log","this","testing","testmodel","testdata","testsettings","externalIdProp","skip","testevents","debug","example1model","example1data","label","example2model","example2data","example2settings","example5model","example5data","example5settings","example5customTexts","example6data","example6model","example6settings","example7model","example7data","example7settings","customFilter","example8model","example8data","example8settings","example9model","example9data","example9settings","example10model","example10data","example10settings","example12model","example12data","example12settings","example11model","example11data","gender","example11settings","selectByGroupModel","selectByGroupData","selectByGroupSettings","selectByGroups","example13model","example13data","example13settings","itemText","example14model","example14data","example14settings","example15model","example15data","example15settings","example16model","example16data","example16settings","example17model","example17data","example17settings","example18model","example18data","example18settings","example19model","example19data","example19settings","example20model","example20data","age","example20settings","example21model","example21data","example21settings","searchSelectAllModel","searchSelectAllData","searchSelectAllSettings","disabledModel","disabledData","selectedToTopModel","selectedToTopData","selectedToTopSettings","stringModel","stringData","stringSettings","v1Component","run","$templateCache","put"],"mappings":"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","file":"scripts/app.js","sourceRoot":"/source/","sourcesContent":[]} \ No newline at end of file +{"version":3,"sources":["scripts/app.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_main","_main2","_v1docs","_v1docs2","angular","component","config","$stateProvider","$urlRouterProvider","state","name","url","template","otherwise","_angularjsDropdownMultiselect","_angularjsDropdownMultiselect2","directive","$compile","scope","element","attrs","dmDropdownStaticInclude","contents","html","dropdownMultiselectDirective","restrict","selectedModel","options","extraSettings","events","searchFilter","translationTexts","disabled","transclude","toggleDropdown","controller","templateUrl","Object","defineProperty","value","contains","collection","target","containsTarget","some","object","getIndexByProperty","objectToFind","property","index","option","ind","dropdownMultiselectController","$scope","$element","$filter","$document","focusFirstOption","setTimeout","elementToFocus","querySelector","isDefined","focus","open","close","settings","keyboardControls","selectionLimit","enableSearch","checkboxClick","$event","setSelectedItem","stopImmediatePropagation","input","clearSearchOnClose","externalEvents","onClose","selectCurrentGroup","currentGroup","splice","length","forEach","item","groupBy","onSelectionChanged","getGroupLabel","groupValue","groupByTextProvider","textWidth","text","$btn","find","canvas","document","createElement","ctx","getContext","font","css","originalFont","fillStyle","measureText","width","getButtonText","dynamicTitle","isFunction","smartButtonTextProvider","smartButtonMaxItems","paddingWidth","borderWidth","dropdownIconWidth","widthLimit","offsetWidth","itemsText","optionItem","isChecked","displayText","getPropertyForObject","displayProp","converterResponse","smartButtonTextConverter","push","slice","result","join","totalSelected","texts","buttonDefaultText","showAllSelectedText","allSelectedText","dynamicButtonTextSuffix","prototype","hasOwnProperty","undefined","selectAll","deselectAll","onSelectAll","searchResult","getFilter","selectedGroup","dontSendEvent","arguments","onDeselectAll","dontRemove","fireSelectionChange","exists","indexOfOption","idProperty","indexOf","onItemDeselect","closeOnDeselect","onItemSelect","closeOnSelect","onMaxSelectionReached","keyDownLink","event","sourceScope","nextOption","parent","parentNode","keyCode","preventDefault","previousElementSibling","nextElementSibling","keyDownSearchDefault","keyDownSearch","filter","searchField","toggleSearch","stopPropagation","keyDownToggleSearch","orderFunction","object1","object2","isUndefined","type","v1","v2","selectedToTop","$dropdownTrigger","children","noop","onInitDone","scrollable","scrollableHeight","closeOnBlur","showCheckAll","showUncheckAll","showEnableSearchButton","buttonClasses","checkBoxes","styleActive","checkAll","uncheckAll","selectionCount","selectionOf","searchPlaceholder","disableSearch","selectGroup","extend","on","e","parentElement","parentFound","className","split","$apply","$inject","mainComponent","_classCallCheck","instance","Constructor","TypeError","MainController","$log","this","testing","testmodel","testdata","label","testsettings","testevents","debug","example1model","example1data","example2model","example2data","example2settings","example5model","example5data","example5settings","example5customTexts","example6data","example6model","example6settings","example7model","example7data","example7settings","externalIdProp","customFilter","example8model","example8data","example8settings","example9model","example9data","example9settings","example10model","example10data","example10settings","example12model","example12data","example12settings","example11model","example11data","gender","example11settings","selectByGroupModel","selectByGroupData","selectByGroupSettings","selectByGroups","example13model","example13data","example13settings","itemText","example14model","example14data","example14settings","example15model","example15data","example15settings","example16model","example16data","example16settings","example17model","example17data","example17settings","example18model","example18data","example18settings","example19model","example19data","example19settings","example20model","example20data","age","example20settings","example21model","example21data","example21settings","searchSelectAllModel","searchSelectAllData","searchSelectAllSettings","disabledModel","disabledData","selectedToTopModel","selectedToTopData","selectedToTopSettings","stringModel","stringData","stringSettings","skip","transclusionModel","transclusionData","transclusionSettings","idPropertyModel","idPropertyData","idPropertySettings","smartButtonTextProviderModel","smartButtonTextProviderData","smartButtonTextProviderSettings","selectionArray","v1Component","run","$templateCache","put"],"mappings":"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","file":"scripts/app.js","sourceRoot":"/source/","sourcesContent":[]} \ No newline at end of file diff --git a/docs/scripts/app.js b/docs/scripts/app.js index d8e4f963..71b639c7 100644 --- a/docs/scripts/app.js +++ b/docs/scripts/app.js @@ -1,5 +1,5 @@ -/******/!function(e){function t(d){if(l[d])return l[d].exports;var i=l[d]={exports:{},id:d,loaded:!1};return e[d].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}// webpackBootstrap +/******/!function(e){function t(l){if(d[l])return d[l].exports;var i=d[l]={exports:{},id:l,loaded:!1};return e[l].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}// webpackBootstrap /******/ -var l={};return t.m=e,t.c=l,t.p="",t(0)}([function(e,t,l){"use strict";function d(e){return e&&e.__esModule?e:{"default":e}}l(1);var i=l(4),o=d(i),s=l(6),a=d(s);angular.module("AngularjsDropdownMultiselectExample",["angularjs-dropdown-multiselect","hljs","ui.bootstrap","ui.router"]).component("main",(0,o["default"])()).component("v1Docs",(0,a["default"])()).config(["$stateProvider","$urlRouterProvider",function(e,t){e.state({name:"main",url:"/main",template:"
"}),e.state({name:"v1",url:"/v1",template:""}),t.otherwise("/main")}])},function(e,t,l){"use strict";function d(e){return e&&e.__esModule?e:{"default":e}}var i=l(2),o=d(i);angular.module("angularjs-dropdown-multiselect",[]).directive("dmDropdownStaticInclude",["$compile",function(e){"ngInject";return function(t,l,d){var i=d.dmDropdownStaticInclude,o=l.html(i).contents();e(o)(t)}}]).directive("ngDropdownMultiselect",o["default"])},function(e,t,l){"use strict";function d(e){return e&&e.__esModule?e:{"default":e}}function i(){return{restrict:"AE",scope:{selectedModel:"=",options:"=",extraSettings:"=",events:"=",searchFilter:"=?",translationTexts:"=",disabled:"="},controller:s["default"],templateUrl:"app/component/angularjs-dropdown-multiselect.html"}}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i;var o=l(3),s=d(o)},function(e,t){"use strict";function l(e,t){var l=!1;return e.some(function(e){return e===t?(l=!0,!0):!1}),l}function d(e,t,d,i){"ngInject";function o(){setTimeout(function(){var e=angular.element(t)[0].querySelector(".option");angular.isDefined(e)&&null!=e&&e.focus()},0)}function s(){e.open?e.close():e.open=!0,e.settings.keyboardControls&&e.open&&(1===e.settings.selectionLimit&&e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):o()),e.settings.enableSearch&&e.open&&setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0)}function a(t,l){e.setSelectedItem(l,!1,!0),t.stopImmediatePropagation()}function n(){e.open=!1,e.input.searchFilter=e.settings.clearSearchOnClose?"":e.input.searchFilter,e.externalEvents.onClose()}function r(t){e.selectedModel.splice(0,e.selectedModel.length),e.options.forEach(function(l){l[e.settings.groupBy]===t&&e.setSelectedItem(l,!1,!1)}),e.externalEvents.onSelectionChanged()}function c(t){return null!==e.settings.groupByTextProvider?e.settings.groupByTextProvider(t):t}function h(e){var l=t.find("button"),d=document.createElement("canvas"),i=d.getContext("2d");return i.font=l.css("font-size")+l.css("font-family"),i.originalFont=l.css("font-size")+l.css("font-family"),i.fillStyle="#000000",i.measureText(e).width}function p(){if(e.settings.dynamicTitle&&e.selectedModel&&e.selectedModel.length>0){if(e.settings.smartButtonMaxItems>0){var l=24,d=2,i=8,o=t[0].offsetWidth-l-d-i,s=[];angular.forEach(e.options,function(t){if(e.isChecked(t)){var l=e.getPropertyForObject(t,e.settings.displayProp),d=e.settings.smartButtonTextConverter(l,t);s.push(d||l)}}),e.selectedModel.length>e.settings.smartButtonMaxItems&&(s=s.slice(0,e.settings.smartButtonMaxItems),s.push("..."));var a=s.join(", "),n=a.length-4;if(0===t[0].offsetWidth)return a;if(o<=h("..."))return"...";for(;h(a)>o;)"..."!==s[s.length-1]&&(s.push("..."),a+="...",n=a.length-4),a=a.slice(0,n)+a.slice(n+1),n-=1;return a}var r=angular.isDefined(e.selectedModel)?e.selectedModel.length:0;return 0===r?e.texts.buttonDefaultText:e.settings.showAllSelectedText&&r===e.options.length?e.texts.allSelectedText:r+" "+e.texts.dynamicButtonTextSuffix}return e.texts.buttonDefaultText}function m(e,t){return angular.isDefined(e)&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function u(){e.deselectAll(!0),e.externalEvents.onSelectAll();var t=d("filter")(e.options,e.getFilter(e.input.searchFilter));angular.forEach(t,function(t){e.setSelectedItem(t,!0,!1)}),e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function v(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!1;t||e.externalEvents.onDeselectAll(),e.selectedModel.splice(0,e.selectedModel.length),t||e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function g(t){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:!1,d=arguments[2],i=-1!==e.selectedModel.indexOf(t);!l&&i?(e.selectedModel.splice(e.selectedModel.indexOf(t),1),e.externalEvents.onItemDeselect(t),e.settings.closeOnDeselect&&e.close()):!i&&(0===e.settings.selectionLimit||e.selectedModel.length0&&e.selectedModel.length===e.settings.selectionLimit&&e.externalEvents.onMaxSelectionReached()):1!==e.settings.selectionLimit||i||e.selectedModel.length!==e.settings.selectionLimit||(e.selectedModel.splice(0,1),e.selectedModel.push(t),d&&e.externalEvents.onItemSelect(t),e.settings.closeOnSelect&&e.close()),d&&e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function b(t){return-1!==e.selectedModel.indexOf(t)}function x(t){var l=angular.element(t.target).scope(),d=void 0,i=t.target.parentNode;if(e.settings.keyboardControls)if(13===t.keyCode||32===t.keyCode)t.preventDefault(),l.option?e.setSelectedItem(l.option,!1,!0):"deselectAll"===t.target.id?e.deselectAll():"selectAll"===t.target.id&&e.selectAll();else if(38===t.keyCode){for(t.preventDefault(),i.previousElementSibling&&(d=i.previousElementSibling.querySelector("a")||i.previousElementSibling.querySelector("input"));!d&&i;)i=i.previousElementSibling,i&&(d=i.querySelector("a")||i.querySelector("input"));d&&d.focus()}else if(40===t.keyCode){for(t.preventDefault(),i.nextElementSibling&&(d=i.nextElementSibling.querySelector("a")||i.nextElementSibling.querySelector("input"));!d&&i;)i=i.nextElementSibling,i&&(d=i.querySelector("a")||i.querySelector("input"));d&&d.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function f(t){var l=t.target.parentNode.parentNode,d=void 0;if(e.settings.keyboardControls)if(9===t.keyCode||40===t.keyCode)t.preventDefault(),o();else if(38===t.keyCode){for(t.preventDefault(),l.previousElementSibling&&(d=l.previousElementSibling.querySelector("a")||l.previousElementSibling.querySelector("input"));!d&&l;)l=l.previousElementSibling,l&&(d=l.querySelector("a")||l.querySelector("input"));d&&d.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function w(t,l){var i=void 0;e.settings.keyboardControls&&13===t.keyCode&&(1===e.settings.selectionLimit&&e.settings.enableSearch?(i=d("filter")(e.options,e.getFilter(l)),1===i.length&&e.setSelectedItem(i[0],!1,!0)):e.settings.enableSearch&&e.selectAll())}function y(t){var l={};return l[e.settings.searchField]=t,l}function S(t){t&&t.stopPropagation(),e.settings.enableSearch=!e.settings.enableSearch,e.settings.enableSearch||(e.input.searchFilter="")}function D(){e.settings.keyboardControls&&13===event.keyCode&&(e.toggleSearch(),e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):o())}function T(t,l){if(angular.isUndefined(l))return-1;if(angular.isUndefined(t))return 1;if("object"!==t.type||"object"!==l.type)return t.index{{option.name}}"},e.example20model=[],e.example20data=[{id:1,label:"David",age:23},{id:2,label:"Jhon",age:24},{id:3,label:"Danny",age:26}],e.example20settings={searchField:"age",enableSearch:!0},e.example21model=[],e.example21data=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.example21settings={showEnableSearchButton:!0},e.searchSelectAllModel=[],e.searchSelectAllData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.searchSelectAllSettings={enableSearch:!0,keyboardControls:!0},e.disabledModel=[],e.disabledData=[{id:1,label:"David",disabled:!0},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.selectedToTopModel=[],e.selectedToTopData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.selectedToTopSettings={selectedToTop:!0},e.stringModel=[],e.stringData=["David","Jhon","Danny"],e.stringSettings={template:"{{option}}",smartButtonTextConverter:function(e,t){return t}}};d.$inject=["$scope","$log"],t["default"]=d},function(e,t){"use strict";function l(){var e={templateUrl:"app/v1docs/v1docs.template.html"};return e}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=l}]),angular.module("AngularjsDropdownMultiselectExample").run(["$templateCache",function(e){e.put("app/component/angularjs-dropdown-multiselect.html",''),e.put("app/main/main.template.html",'

What is AngularJS Dropdown Multiselect?

This directive uses Bootstrap\'s Dropdown with the power of AngularJS directives and binding. Bootstrap and AngularJS are the only dependencies.

In this page you can see basic and advanced usage examples.

Download

There are several options to do that:
  1. Using bower: `bower install angular-dropdown-multiselect`
  2. Download the .zip file from here
  3. Using it from GitHub raw using this link
This is documentation for the currently still in beta v2.0.0, the documentation for v1 can be found here: V1 docs
test

Demo

The model:

{{testmodel|json}}

Demo

The model:

{{example1model|json}}

Code

// HTML
// JavaScript $scope.example1model = []; $scope.example1data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ];
This example shows the ability to select the property to display as text label.
In this case, the property the used as label is "id".

Demo

The model:

{{example2model|json}}

Code

// HTML
// JavaScript $scope.example2model = []; $scope.example2data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example2settings = {displayProp: \'id\'};
You can use the feature in order to show which items are selected instead the items count.
In order to use this feature, set the "smartButtonMaxItems" settings parameter to a number bigger than 0.
You can also provide "smartButtonTextConverter" parameter in order to add smart logic and convert the text.

Demo

The model:

{{example13model|json}}

Code

//HTML
//JS $scope.example13model = []; $scope.example13data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"} ]; $scope.example13settings = { smartButtonMaxItems: 3, smartButtonTextConverter: function(itemText, originalItem) { if (itemText === \'Jhon\') { return \'Jhonny!\'; } return itemText; } };
You can use the feature in order to make the list of items scrollable. Useful when you deal with a lot of items.

Demo

The model:

{{example14model|json}}

Code

//HTML
//JS $scope.example14model = []; $scope.example14data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"}, {id: 6, label: "Dan"}, {id: 7, label: "Dean"}, {id: 8, label: "Adam"}, {id: 9, label: "Uri"}, {id: 10, label: "Phil"} ]; $scope.example14settings = { scrollableHeight: \'100px\', scrollable: true };

Demo

The model:

{{example9model|json}}

Code

// HTML
// JavaScript $scope.example9model = []; $scope.example9data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example9settings = {enableSearch: true};
By default, search is done on all items, by specifying the searchField in the settings object one can specify on which field of the objects the filtering should be done.

Demo

The model:

{{example20model|json}}

Code

// HTML
// JavaScript $scope.example20model = []; $scope.example20data = [ { id: 1, label: "David", age: 23 }, { id: 2, label: "Jhon", age: 24 }, { id: 3, label: "Danny", age: 26 } ]; $scope.example20settings = { searchField: \'age\', enableSearch: true };
Setting showEnableSearchButton to true will add the enable/disable search button under the Select all / Deselect all buttons

Demo

The model:

{{example21model|json}}

Code

// HTML
// JavaScript $scope.example21model = []; $scope.example21data = [ { id: 1, label: "David"}, { id: 2, label: "Jhon"}, { id: 3, label: "Danny"} ]; $scope.example21settings = { showEnableSearchButton: true };

Demo

The model:

{{searchSelectAllModel|json}}

Code

// HTML
// JavaScript $scope.searchSelectAllModel = []; $scope.searchSelectAllData = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.searchSelectAllSettings = { enableSearch: true, showSelectAll: true, keyboardControls: true };
By default, there is no limit on the maximum selected items.
You can limit the selection by providing selectionLimit using the settings attribute.
Note 1: limit the selection to 0 is the default and won\'t limit the selection!
Note 2: When using this limit, the "Select All" button will not appear!

Note 3: When using single selection (limit to 1) the selection will change automaticlly if another item is clicked!

Demo

The model:

{{example10model|json}}

Code

// HTML
// JavaScript $scope.example10model = []; $scope.example10data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example10settings = {selectionLimit: 2};
Please read the notes in the "Selection Limit" example.
This example shows an example of using selection limit and single selection.

Demo

The model:

{{example12model|json}}

Code

// HTML
// JavaScript $scope.example12model = {}; // ! IMPORTANT ! $scope.example12data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.example12settings = { selectionLimit: 1, };
You can also group the items by propery that you want, in order to to that, provide the groupBy setting.
Also, you need to provide "groupByTextProvider" callback in the extra-settings attribute, in order to provide the header text for each group.
Note: If you won\'t specify the "groupByTextProvider" callback in order to get the header for each group, the value of the group will be displayed!

Demo

The model:

{{example11model|json}}

Code

// HTML
// JavaScript $scope.example11model = []; $scope.example11data = [ {id: 1, label: "David", gender: \'M\'}, {id: 2, label: "Jhon", gender: \'M\'}, {id: 3, label: "Lisa", gender: \'F\'}, {id: 4, label: "Nicole", gender: \'F\'}, {id: 5, label: "Danny", gender: \'M\'} ]; $scope.example11settings = { groupByTextProvider: function(groupValue) { if (groupValue === \'M\') { return \'Male\'; } else { return \'Female\'; } }, groupBy: \'gender\', };
When items are grouped by property you can also specify an array of groups that you can use to select the items by. The extra-settings property selectByGroups accepts an array of the values of the groups that you want to be selectable. The naming will use the groupByTextProvider function to give them an actual label.

Demo

The model:

{{selectByGroupModel|json}}

Code

// HTML
// JavaScript $scope.selectByGroupModel = []; $scope.selectByGroupData = [ { id: 1, label: "David", gender: \'M\' }, { id: 2, label: "Jhon", gender: \'M\' }, { id: 3, label: "Lisa", gender: \'F\' }, { id: 4, label: "Nicole", gender: \'F\' }, { id: 5, label: "Danny", gender: \'M\' }, { id: 6, label: "Unknown", gender: \'O\' } ]; $scope.selectByGroupSettings = { selectByGroups: [\'F\', \'M\'], groupByTextProvider: function(groupValue) { switch (groupValue) { case \'M\': return \'Male\'; case \'F\': return \'Female\'; case \'O\': return \'Other\'; } }, groupBy: \'gender\', };
You can select your own text of the button using the "defaultText" in settings.

Demo

The model:

{{example5model|json}}

Code

// HTML
// JavaScript $scope.example5model = []; $scope.example5data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example5settings = {}; $scope.example5customTexts = {buttonDefaultText: \'Select Users\'};
This example shows a demostration of using a pre-setted model.
Note:The model should have the same objects as in the options array.

Demo

The model:

{{example6model|json}}

Code

// HTML
// JavaScript $scope.example6model = [{id: 1}, {id: 3}]; $scope.example6data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example6settings = {};
This example shows a demostration of access and set the search filter from outside the directive.
This can be done by settings the "search-filter" attribute.

Demo

The model:

{{example7model|json}}

Search Filter:

{{customFilter|json}}

Code

// HTML
// JavaScript $scope.example15model = []; $scope.example15data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"} ]; $scope.example15settings = { enableSearch: true }; $scope.customFilter = \'a\';
You can also use a checkboxes list by setting checkBoxes setting to true!

Demo

The model:

{{example8model|json}}

Code

// HTML
// JavaScript $scope.example8model = []; $scope.example8data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.example8settings = { checkBoxes: true, };

Demo

You can also aplly the active class to the selected list items. This can be done by setting the styleActive setting to true

The model:

{{example16model|json}}

Code

// HTML
// JavaScript $scope.example16model = []; $scope.example16data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example16settings = {styleActive: true};

Demo

When activated the dropdown can be used with the keyboard instead of with the mouse. Up, down arrow change focused element, escape closes the dropdown, enter and space activate focused element.

The model:

{{example17model|json}}

Code

// HTML
// JavaScript $scope.example17model = []; $scope.example17data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example17settings = {keyboardControls: true};

Demo

When search is enabled and a single selection is active, wehn search returns a single match pressing enter in the search box will activate the matched option.

The model:

{{example18model|json}}

Code

// HTML
// JavaScript $scope.example18model = {}; $scope.example18data = [ { id: 1, label: "David" }, { id: 2, label: "Jhon" }, { id: 3, label: "Lisa" }, { id: 4, label: "Nicole" }, { id: 5, label: "Danny" } ]; $scope.example18settings = { keyboardControls: true, enableSearch: true, selectionLimit: 1 };

Demo

Instead of using the default template you can use an own custom temlpate.

The model:

{{example19model|json}}

Code

// HTML
// JavaScript $scope.example19model = {}; $scope.example19data = [ { id: 1, name: "David" }, { id: 2, name: "Jhon" }, { id: 3, name: "Lisa" }, { id: 4, name: "Nicole" }, { id: 5, name: "Danny" } ]; $scope.example19settings = { template: \'{{option.name}}\' };
Setting the field disabled of an option to true will disable that option, if the option was previously checked it will still stay checked and will not be able to be unchecked.

Demo

The model:

{{disabledModel|json}}

Code

// HTML
// JavaScript $scope.disabledModel = []; $scope.disabledData = [ { id: 1, label: "David", disabled: true}, { id: 2, label: "Jhon"}, { id: 3, label: "Danny"} ];
When setting "selectedToTop" to true, selected items will be ordered to the top. When group by is active, the selected items will be at the top of their group.

Demo

The model:

{{selectedToTopModel|json}}

Code

// HTML
// JavaScript $scope.selectedToTopModel = []; $scope.selectedToTopData = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' }, ]; $scope.selectedToTopSettings = { selectedToTop: true, };
Example to show that options no longer need to be an object with an id property

Demo

The model:

{{stringModel|json}}

Code

// HTML
$scope.stringModel = []; $scope.stringData = [ \'David\', \'Jhon\', \'Danny\', ]; $scope.stringSettings = { template: \'{{option}}\', smartButtonTextConverter(skip, option) { return option; }, };

Full API Documentation

Attributes

List of allowed attributes, you can find more information about them in the usage examples above.

Attribute NameTypeDescription
selected-modelObject / ArrayThe object the will contain the model for the selected items in the dropdown.
optionsObject / ArrayThe options for the dropdown.
extra-settingsObjectThe settings for the directive, more information about these settings are available below.
eventsObjectEvents callbacks, more information below.
translation-textsObjectGives the ability to modify the default texts in the directive. More information below.
search-filterStringUses for settings the search filter from outside the direcrtive.
disabledBooleanUsed for disabling the dropdown.

Settings

Available settings that effects the display or behavior of the directive.
These setting are set with the "extra-settings" attribute.

Property NameTypeDefault ValueDescription
dynamicTitleBooleantrueIndicates if the text of the button should change when selecting items from the list.
closeOnBlurBooleantrueIndicates if the dropdown should close when clicking outside of it\'s scope.
displayPropStringlabelThe name of the property that contains the text for the item.
enableSearchBooleanfalseIndicated if to show the search input or not.
clearSearchOnCloseBooleanfalseIndicated if to clear the search field when the dropdown has closed.
searchFieldString"$"Indicates on which field the search should be done
selectionLimitNumber0The max allowed selected items for the list. For more information see the examples above.
showCheckAllBooleantrueIndicates if to show the "Check All" item.
showUncheckAllBooleantrueIndicates if to show the "Uncheck All" item.
showEnableSearchButtonBooleanfalseIndicates if to show the "Enable search / Disable search" item.
closeOnSelectBooleanfalseIndicates if to close the dropdown after checking an item on the list.
closeOnDeselectBooleanfalseIndicates if to close the dropdown after unchecking an item on the list. With selectionLimit = 1 setting this to true does the same as setting closeOnSelect to true.
buttonClassesStringbtn btn-defaultThe CSS classes that used for setting the style of the button.
groupByStringundefinedThe name of the property which you like to group by your options. See grouping example.
groupByTextProviderFunctionangular.noopA callback to a function that provide that name for each group when using groupBy setting. The parameter for the function will be the value of the groupBy property.
scrollableBooleanfalseIndicates if the dropdown is scrollable, useful if you have a lot of items.
scrollableHeightNumber300pxIndicates the height of the drop down if the dropdown is scrollable.
smartButtonMaxItemsNumber0Manages the "Smart Button Text" feature, defines the maximum amount of items to on the button.
smartButtonTextConverterFunctionangular.noopRelated the "Smart Button Text" feature, if a function provided - it will called with two paramters: The item\'s text and the original item, the return value will displayed instead of the item\'s display property. This feature is useful when you want to convert the displayed text into something else.
styleActiveBooleanfalseIndicates if the list items should get a class active applied when they are selected.
keyboardControlBooleanfalseWhen activated the dropdown can be used with the keyboard instead of with the mouse.
templateString{ {getPropertyForObject(option, settings.displayProp)} }Can be used to modify the appearance of an option in the list, each option is accessible as option.
selectByGroupsArrayundefinedValues of the groupby property that you want to be selectable as group
checkBoxesBooleanfalseIndicated if to show a normal dropdown with glyphicons or HTML checkboxes.
selectedToTopBooleanfalseWhen true will put the selected options at the top of the list

Events

Available event callbacks what the directive fires. These callbacks are set with "events" attribute.

Event NameParametersDescription
onItemSelectitemFired when selecting an item.
onItemDeselectitemFired when unselecting an item.
onSelectAllFired when clicking select all.
onDeselectAllFired when clicking unselect all.
onInitDoneFired when the directive done with the "link" phase.
onMaxSelectionReachedFired when the user reaches the max allowed selected items.
onSelectionChangedFired when the selection changes.

Translation Texts

Available texts that you can override if you wan\'t to make a translation for your website. These are set with the "translation-texts" attribute.

Property NameDefault ValueDescription
checkAllCheck All"Check All" item\'s text.
uncheckAllUncheck All"Uncheck All" item\'s text.
enableSearchEnable search"enable search" item\'s text.
disableSearchDisable search"disable search" item\'s text.
selectionCountcheckedThe suffix for "X/Y" that showed when using selection limit.
selectionOf/The value between the selected values and the max values when using selection limit.
searchPlaceholderSearch...The placeholder for the search input.
buttonDefaultTextSelectThe default text that used for the button when no items selected.
dynamicButtonTextSuffixcheckedThe suffix for the button that used when using "dynamicText".
selectGroupSelect All:The prefix of the group selection.
'), -e.put("app/v1docs/v1docs.template.html",'Main docs

Full V1 API Documentation

Attributes

List of allowed attributes, you can find more information about them in the usage examples above.

Attribute NameTypeDescription
selected-modelObject / ArrayThe object the will contain the model for the selected items in the dropdown.
optionsObject / ArrayThe options for the dropdown.
extra-settingsObjectThe settings for the directive, more information about these settings are available below.
eventsObjectEvents callbacks, more information below.
translation-textsObjectGives the ability to modify the default texts in the directive. More information below.
group-byStringThe name of the property which you like to group by your options. See grouping example.
checkboxesBooleanIndicated if to show a normal dropdown with glyphicons or HTML checkboxes.
search-filterStringUses for settings the search filter from outside the direcrtive.
disabledBooleanUsed for disabling the dropdown.

Settings

Available settings that effects the display or behavior of the directive.
These setting are set with the "extra-settings" attribute.

Property NameTypeDefault ValueDescription
dynamicTitleBooleantrueIndicates if the text of the button should change when selecting items from the list.
closeOnBlurBooleantrueIndicates if the dropdown should close when clicking outside of it\'s scope.
displayPropStringlabelThe name of the property that contains the text for the item.
idPropStringidThe name of the property that contains the id for the elements.
externalIdPropStringidThe name of the property that will use for the selected items model.
enableSearchBooleanfalseIndicated if to show the search input or not.
clearSearchOnCloseBooleanfalseIndicated if to clear the search field when the dropdown has closed.
searchFieldString"$"Indicates on which field the search should be done
selectionLimitNumber0The max allowed selected items for the list. For more information see the examples above.
showCheckAllBooleantrueIndicates if to show the "Check All" item.
showUncheckAllBooleantrueIndicates if to show the "Uncheck All" item.
showEnableSearchButtonBooleanfalseIndicates if to show the "Enable search / Disable search" item.
closeOnSelectBooleanfalseIndicates if to close the dropdown after checking an item on the list.
closeOnDeselectBooleanfalseIndicates if to close the dropdown after unchecking an item on the list. With selectionLimit = 1 setting this to true does the same as setting closeOnSelect to true.
buttonClassesStringbtn btn-defaultThe CSS classes that used for setting the style of the button.
groupByTextProviderFunctionangular.noopA callback to a function that provide that name for each group when using group-by attribute. The parameter for the function will be the value of the group-by property.
scrollableBooleanfalseIndicates if the dropdown is scrollable, useful if you have a lot of items.
scrollableHeightNumber300pxIndicates the height of the drop down if the dropdown is scrollable.
smartButtonMaxItemsNumber0Manages the "Smart Button Text" feature, defines the maximum amount of items to on the button.
smartButtonTextConverterFunctionangular.noopRelated the "Smart Button Text" feature, if a function provided - it will called with two paramters: The item\'s text and the original item, the return value will displayed instead of the item\'s display property. This feature is useful when you want to convert the displayed text into something else.
styleActiveBooleanfalseIndicates if the list items should get a class active applied when they are selected.
keyboardControlBooleanfalseWhen activated the dropdown can be used with the keyboard instead of with the mouse.
templateString{ {getPropertyForObject(option, settings.displayProp)} }Can be used to modify the appearance of an option in the list, each option is accessible as option.
selectByGroupsArrayundefinedValues of the groupby property that you want to be selectable as group

Events

Available event callbacks what the directive fires. These callbacks are set with "events" attribute.

Event NameParametersDescription
onItemSelectitemFired when selecting an item.
onItemDeselectitemFired when unselecting an item.
onSelectAllFired when clicking select all.
onDeselectAllFired when clicking unselect all.
onInitDoneFired when the directive done with the "link" phase.
onMaxSelectionReachedFired when the user reaches the max allowed selected items.
onSelectionChangedFired when the selection changes.

Translation Texts

Available texts that you can override if you wan\'t to make a translation for your website. These are set with the "translation-texts" attribute.

Property NameDefault ValueDescription
checkAllCheck All"Check All" item\'s text.
uncheckAllUncheck All"Uncheck All" item\'s text.
enableSearchEnable search"enable search" item\'s text.
disableSearchDisable search"disable search" item\'s text.
selectionCountcheckedThe suffix for "X/Y" that showed when using selection limit.
selectionOf/The value between the selected values and the max values when using selection limit.
searchPlaceholderSearch...The placeholder for the search input.
buttonDefaultTextSelectThe default text that used for the button when no items selected.
dynamicButtonTextSuffixcheckedThe suffix for the button that used when using "dynamicText".
selectGroupSelect All:The prefix of the group selection.
')}]); +var d={};return t.m=e,t.c=d,t.p="",t(0)}([function(e,t,d){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}d(1);var i=d(4),o=l(i),s=d(6),a=l(s);angular.module("AngularjsDropdownMultiselectExample",["angularjs-dropdown-multiselect","hljs","ui.bootstrap","ui.router"]).component("main",(0,o["default"])()).component("v1Docs",(0,a["default"])()).config(["$stateProvider","$urlRouterProvider",function(e,t){e.state({name:"main",url:"/main",template:"
"}),e.state({name:"v1",url:"/v1",template:""}),t.otherwise("/main")}])},function(e,t,d){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}var i=d(2),o=l(i);angular.module("angularjs-dropdown-multiselect",[]).directive("dmDropdownStaticInclude",["$compile",function(e){"ngInject";return function(t,d,l){var i=l.dmDropdownStaticInclude,o=d.html(i).contents();e(o)(t)}}]).directive("ngDropdownMultiselect",o["default"])},function(e,t,d){"use strict";function l(e){return e&&e.__esModule?e:{"default":e}}function i(){return{restrict:"AE",scope:{selectedModel:"=",options:"=",extraSettings:"=",events:"=",searchFilter:"=?",translationTexts:"=",disabled:"="},transclude:{toggleDropdown:"?toggleDropdown"},controller:s["default"],templateUrl:"app/component/angularjs-dropdown-multiselect.html"}}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i;var o=d(3),s=l(o)},function(e,t){"use strict";function d(e,t){var d=!1;return e.some(function(e){return e===t?(d=!0,!0):!1}),d}function l(e,t,d){var l=-1;return e.some(function(e,i){return e[d]===t[d]?(l=i,!0):!1}),l}function i(e,t,i,o){"ngInject";function s(){setTimeout(function(){var e=angular.element(t)[0].querySelector(".option");angular.isDefined(e)&&null!=e&&e.focus()},0)}function a(){e.open?e.close():e.open=!0,e.settings.keyboardControls&&e.open&&(1===e.settings.selectionLimit&&e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):s()),e.settings.enableSearch&&e.open&&setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0)}function n(t,d){e.setSelectedItem(d,!1,!0),t.stopImmediatePropagation()}function r(){e.open=!1,e.input.searchFilter=e.settings.clearSearchOnClose?"":e.input.searchFilter,e.externalEvents.onClose()}function c(t){e.selectedModel.splice(0,e.selectedModel.length),e.options.forEach(function(d){d[e.settings.groupBy]===t&&e.setSelectedItem(d,!1,!1)}),e.externalEvents.onSelectionChanged()}function h(t){return null!==e.settings.groupByTextProvider?e.settings.groupByTextProvider(t):t}function p(e){var d=t.find("button"),l=document.createElement("canvas"),i=l.getContext("2d");return i.font=d.css("font-size")+d.css("font-family"),i.originalFont=d.css("font-size")+d.css("font-family"),i.fillStyle="#000000",i.measureText(e).width}function m(){if(e.settings.dynamicTitle&&e.selectedModel&&e.selectedModel.length>0){if(angular.isFunction(e.settings.smartButtonTextProvider))return e.settings.smartButtonTextProvider(e.selectedModel);if(e.settings.smartButtonMaxItems>0){var d=24,l=2,i=8,o=t[0].offsetWidth-d-l-i,s=[];angular.forEach(e.options,function(t){if(e.isChecked(t)){var d=e.getPropertyForObject(t,e.settings.displayProp),l=e.settings.smartButtonTextConverter(d,t);s.push(l||d)}}),e.selectedModel.length>e.settings.smartButtonMaxItems&&(s=s.slice(0,e.settings.smartButtonMaxItems),s.push("..."));var a=s.join(", "),n=a.length-4;if(0===t[0].offsetWidth)return a;if(o<=p("..."))return"...";for(;p(a)>o;)"..."!==s[s.length-1]&&(s.push("..."),a+="...",n=a.length-4),a=a.slice(0,n)+a.slice(n+1),n-=1;return a}var r=angular.isDefined(e.selectedModel)?e.selectedModel.length:0;return 0===r?e.texts.buttonDefaultText:e.settings.showAllSelectedText&&r===e.options.length?e.texts.allSelectedText:r+" "+e.texts.dynamicButtonTextSuffix}return e.texts.buttonDefaultText}function v(e,t){return angular.isDefined(e)&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function u(){e.deselectAll(!0),e.externalEvents.onSelectAll();var t=i("filter")(e.options,e.getFilter(e.input.searchFilter));angular.forEach(t,function(t){e.setSelectedItem(t,!0,!1)}),e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function g(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!1;t||e.externalEvents.onDeselectAll(),e.selectedModel.splice(0,e.selectedModel.length),t||e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function b(t){var d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:!1,i=arguments[2],o=void 0,s=void 0;angular.isDefined(C.idProperty)?(o=-1!==l(e.selectedModel,t,C.idProperty),s=l(e.selectedModel,t,C.idProperty)):(o=-1!==e.selectedModel.indexOf(t),s=e.selectedModel.indexOf(t)),!d&&o?(e.selectedModel.splice(s,1),e.externalEvents.onItemDeselect(t),e.settings.closeOnDeselect&&e.close()):!o&&(0===e.settings.selectionLimit||e.selectedModel.length0&&e.selectedModel.length===e.settings.selectionLimit&&e.externalEvents.onMaxSelectionReached()):1!==e.settings.selectionLimit||o||e.selectedModel.length!==e.settings.selectionLimit||(e.selectedModel.splice(0,1),e.selectedModel.push(t),i&&e.externalEvents.onItemSelect(t),e.settings.closeOnSelect&&e.close()),i&&e.externalEvents.onSelectionChanged(),e.selectedGroup=null}function x(t){return angular.isDefined(C.idProperty)?-1!==l(e.selectedModel,t,C.idProperty):-1!==e.selectedModel.indexOf(t)}function f(t){var d=angular.element(t.target).scope(),l=void 0,i=t.target.parentNode;if(e.settings.keyboardControls)if(13===t.keyCode||32===t.keyCode)t.preventDefault(),d.option?e.setSelectedItem(d.option,!1,!0):"deselectAll"===t.target.id?e.deselectAll():"selectAll"===t.target.id&&e.selectAll();else if(38===t.keyCode){for(t.preventDefault(),i.previousElementSibling&&(l=i.previousElementSibling.querySelector("a")||i.previousElementSibling.querySelector("input"));!l&&i;)i=i.previousElementSibling,i&&(l=i.querySelector("a")||i.querySelector("input"));l&&l.focus()}else if(40===t.keyCode){for(t.preventDefault(),i.nextElementSibling&&(l=i.nextElementSibling.querySelector("a")||i.nextElementSibling.querySelector("input"));!l&&i;)i=i.nextElementSibling,i&&(l=i.querySelector("a")||i.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function y(t){var d=t.target.parentNode.parentNode,l=void 0;if(e.settings.keyboardControls)if(9===t.keyCode||40===t.keyCode)t.preventDefault(),s();else if(38===t.keyCode){for(t.preventDefault(),d.previousElementSibling&&(l=d.previousElementSibling.querySelector("a")||d.previousElementSibling.querySelector("input"));!l&&d;)d=d.previousElementSibling,d&&(l=d.querySelector("a")||d.querySelector("input"));l&&l.focus()}else 27===t.keyCode&&(t.preventDefault(),e.toggleDropdown())}function w(t,d){var l=void 0;e.settings.keyboardControls&&13===t.keyCode&&(1===e.settings.selectionLimit&&e.settings.enableSearch?(l=i("filter")(e.options,e.getFilter(d)),1===l.length&&e.setSelectedItem(l[0],!1,!0)):e.settings.enableSearch&&e.selectAll())}function D(t){var d={};return d[e.settings.searchField]=t,d}function S(t){t&&t.stopPropagation(),e.settings.enableSearch=!e.settings.enableSearch,e.settings.enableSearch||(e.input.searchFilter="")}function T(){e.settings.keyboardControls&&13===event.keyCode&&(e.toggleSearch(),e.settings.enableSearch?setTimeout(function(){angular.element(t)[0].querySelector(".searchField").focus()},0):s())}function k(t,d){if(angular.isUndefined(d))return-1;if(angular.isUndefined(t))return 1;if("object"!==t.type||"object"!==d.type)return t.index{{option.name}}"},e.example20model=[],e.example20data=[{id:1,label:"David",age:23},{id:2,label:"Jhon",age:24},{id:3,label:"Danny",age:26}],e.example20settings={searchField:"age",enableSearch:!0},e.example21model=[],e.example21data=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.example21settings={showEnableSearchButton:!0},e.searchSelectAllModel=[],e.searchSelectAllData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.searchSelectAllSettings={enableSearch:!0,keyboardControls:!0},e.disabledModel=[],e.disabledData=[{id:1,label:"David",disabled:!0},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.selectedToTopModel=[],e.selectedToTopData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.selectedToTopSettings={selectedToTop:!0},e.stringModel=[],e.stringData=["David","Jhon","Danny"],e.stringSettings={template:"{{option}}",smartButtonTextConverter:function(e,t){return t}},e.transclusionModel=[],e.transclusionData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.transclusionSettings={},e.idPropertyModel=[{id:1}],e.idPropertyData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.idPropertySettings={idProperty:"id"},e.smartButtonTextProviderModel=[],e.smartButtonTextProviderData=[{id:1,label:"David"},{id:2,label:"Jhon"},{id:3,label:"Danny"}],e.smartButtonTextProviderSettings={smartButtonTextProvider:function(e){return e.length+2}}};l.$inject=["$scope","$log"],t["default"]=l},function(e,t){"use strict";function d(){var e={templateUrl:"app/v1docs/v1docs.template.html"};return e}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=d}]),angular.module("AngularjsDropdownMultiselectExample").run(["$templateCache",function(e){e.put("app/component/angularjs-dropdown-multiselect.html",''),e.put("app/main/main.template.html",'

What is AngularJS Dropdown Multiselect?

This directive uses Bootstrap\'s Dropdown with the power of AngularJS directives and binding. Bootstrap and AngularJS are the only dependencies.

In this page you can see basic and advanced usage examples.

Download

There are several options to do that:
  1. Using bower: `bower install angularjs-dropdown-multiselect`
  2. Using npm: `npm install angularjs-dropdown-multiselect`
  3. Download the .zip file from here
This is documentation for the currently still in beta v2.0.0, the documentation for v1 can be found here: V1 docs
test

Demo

The model:

{{testmodel|json}}

Demo

The model:

{{example1model|json}}

Code

// HTML
// JavaScript $scope.example1model = []; $scope.example1data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ];
This example shows the ability to select the property to display as text label.
In this case, the property the used as label is "id".

Demo

The model:

{{example2model|json}}

Code

// HTML
// JavaScript $scope.example2model = []; $scope.example2data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example2settings = {displayProp: \'id\'};
You can use the feature in order to show which items are selected instead the items count.
In order to use this feature, set the "smartButtonMaxItems" settings parameter to a number bigger than 0.
You can also provide "smartButtonTextConverter" parameter in order to add smart logic and convert the text.

Demo

The model:

{{example13model|json}}

Code

//HTML
//JS $scope.example13model = []; $scope.example13data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"} ]; $scope.example13settings = { smartButtonMaxItems: 3, smartButtonTextConverter: function(itemText, originalItem) { if (itemText === \'Jhon\') { return \'Jhonny!\'; } return itemText; } };
You can use the feature in order to make the list of items scrollable. Useful when you deal with a lot of items.

Demo

The model:

{{example14model|json}}

Code

//HTML
//JS $scope.example14model = []; $scope.example14data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"}, {id: 6, label: "Dan"}, {id: 7, label: "Dean"}, {id: 8, label: "Adam"}, {id: 9, label: "Uri"}, {id: 10, label: "Phil"} ]; $scope.example14settings = { scrollableHeight: \'100px\', scrollable: true };

Demo

The model:

{{example9model|json}}

Code

// HTML
// JavaScript $scope.example9model = []; $scope.example9data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example9settings = {enableSearch: true};
By default, search is done on all items, by specifying the searchField in the settings object one can specify on which field of the objects the filtering should be done.

Demo

The model:

{{example20model|json}}

Code

// HTML
// JavaScript $scope.example20model = []; $scope.example20data = [ { id: 1, label: "David", age: 23 }, { id: 2, label: "Jhon", age: 24 }, { id: 3, label: "Danny", age: 26 } ]; $scope.example20settings = { searchField: \'age\', enableSearch: true };
Setting showEnableSearchButton to true will add the enable/disable search button under the Select all / Deselect all buttons

Demo

The model:

{{example21model|json}}

Code

// HTML
// JavaScript $scope.example21model = []; $scope.example21data = [ { id: 1, label: "David"}, { id: 2, label: "Jhon"}, { id: 3, label: "Danny"} ]; $scope.example21settings = { showEnableSearchButton: true };

Demo

The model:

{{searchSelectAllModel|json}}

Code

// HTML
// JavaScript $scope.searchSelectAllModel = []; $scope.searchSelectAllData = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.searchSelectAllSettings = { enableSearch: true, showSelectAll: true, keyboardControls: true };
By default, there is no limit on the maximum selected items.
You can limit the selection by providing selectionLimit using the settings attribute.
Note 1: limit the selection to 0 is the default and won\'t limit the selection!
Note 2: When using this limit, the "Select All" button will not appear!

Note 3: When using single selection (limit to 1) the selection will change automaticlly if another item is clicked!

Demo

The model:

{{example10model|json}}

Code

// HTML
// JavaScript $scope.example10model = []; $scope.example10data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example10settings = {selectionLimit: 2};
Please read the notes in the "Selection Limit" example.
This example shows an example of using selection limit and single selection.

Demo

The model:

{{example12model|json}}

Code

// HTML
// JavaScript $scope.example12model = {}; // ! IMPORTANT ! $scope.example12data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.example12settings = { selectionLimit: 1, };
You can also group the items by propery that you want, in order to to that, provide the groupBy setting.
Also, you need to provide "groupByTextProvider" callback in the extra-settings attribute, in order to provide the header text for each group.
Note: If you won\'t specify the "groupByTextProvider" callback in order to get the header for each group, the value of the group will be displayed!

Demo

The model:

{{example11model|json}}

Code

// HTML
// JavaScript $scope.example11model = []; $scope.example11data = [ {id: 1, label: "David", gender: \'M\'}, {id: 2, label: "Jhon", gender: \'M\'}, {id: 3, label: "Lisa", gender: \'F\'}, {id: 4, label: "Nicole", gender: \'F\'}, {id: 5, label: "Danny", gender: \'M\'} ]; $scope.example11settings = { groupByTextProvider: function(groupValue) { if (groupValue === \'M\') { return \'Male\'; } else { return \'Female\'; } }, groupBy: \'gender\', };
When items are grouped by property you can also specify an array of groups that you can use to select the items by. The extra-settings property selectByGroups accepts an array of the values of the groups that you want to be selectable. The naming will use the groupByTextProvider function to give them an actual label.

Demo

The model:

{{selectByGroupModel|json}}

Code

// HTML
// JavaScript $scope.selectByGroupModel = []; $scope.selectByGroupData = [ { id: 1, label: "David", gender: \'M\' }, { id: 2, label: "Jhon", gender: \'M\' }, { id: 3, label: "Lisa", gender: \'F\' }, { id: 4, label: "Nicole", gender: \'F\' }, { id: 5, label: "Danny", gender: \'M\' }, { id: 6, label: "Unknown", gender: \'O\' } ]; $scope.selectByGroupSettings = { selectByGroups: [\'F\', \'M\'], groupByTextProvider: function(groupValue) { switch (groupValue) { case \'M\': return \'Male\'; case \'F\': return \'Female\'; case \'O\': return \'Other\'; } }, groupBy: \'gender\', };
You can select your own text of the button using the "defaultText" in settings.

Demo

The model:

{{example5model|json}}

Code

// HTML
// JavaScript $scope.example5model = []; $scope.example5data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example5settings = {}; $scope.example5customTexts = {buttonDefaultText: \'Select Users\'};
This example shows a demostration of using a pre-setted model.
Note:The model should have the same objects as in the options array.

Demo

The model:

{{example6model|json}}

Code

// HTML
// JavaScript $scope.example6data = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' } ]; $scope.example6model = [$scope.example6data[0], $scope.example6data[2]]; $scope.example6settings = {};
This example shows a demostration of access and set the search filter from outside the directive.
This can be done by settings the "search-filter" attribute.

Demo

The model:

{{example7model|json}}

Search Filter:

{{customFilter|json}}

Code

// HTML
// JavaScript $scope.example15model = []; $scope.example15data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Lisa"}, {id: 4, label: "Nicole"}, {id: 5, label: "Danny"} ]; $scope.example15settings = { enableSearch: true }; $scope.customFilter = \'a\';
You can also use a checkboxes list by setting checkBoxes setting to true!

Demo

The model:

{{example8model|json}}

Code

// HTML
// JavaScript $scope.example8model = []; $scope.example8data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"} ]; $scope.example8settings = { checkBoxes: true, };

Demo

You can also aplly the active class to the selected list items. This can be done by setting the styleActive setting to true

The model:

{{example16model|json}}

Code

// HTML
// JavaScript $scope.example16model = []; $scope.example16data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example16settings = {styleActive: true};

Demo

When activated the dropdown can be used with the keyboard instead of with the mouse. Up, down arrow change focused element, escape closes the dropdown, enter and space activate focused element.

The model:

{{example17model|json}}

Code

// HTML
// JavaScript $scope.example17model = []; $scope.example17data = [ {id: 1, label: "David"}, {id: 2, label: "Jhon"}, {id: 3, label: "Danny"}]; $scope.example17settings = {keyboardControls: true};

Demo

When search is enabled and a single selection is active, wehn search returns a single match pressing enter in the search box will activate the matched option.

The model:

{{example18model|json}}

Code

// HTML
// JavaScript $scope.example18model = {}; $scope.example18data = [ { id: 1, label: "David" }, { id: 2, label: "Jhon" }, { id: 3, label: "Lisa" }, { id: 4, label: "Nicole" }, { id: 5, label: "Danny" } ]; $scope.example18settings = { keyboardControls: true, enableSearch: true, selectionLimit: 1 };

Demo

Instead of using the default template you can use an own custom temlpate.

The model:

{{example19model|json}}

Code

// HTML
// JavaScript $scope.example19model = {}; $scope.example19data = [ { id: 1, name: "David" }, { id: 2, name: "Jhon" }, { id: 3, name: "Lisa" }, { id: 4, name: "Nicole" }, { id: 5, name: "Danny" } ]; $scope.example19settings = { template: \'{{option.name}}\' };
Setting the field disabled of an option to true will disable that option, if the option was previously checked it will still stay checked and will not be able to be unchecked.

Demo

The model:

{{disabledModel|json}}

Code

// HTML
// JavaScript $scope.disabledModel = []; $scope.disabledData = [ { id: 1, label: "David", disabled: true}, { id: 2, label: "Jhon"}, { id: 3, label: "Danny"} ];
When setting "selectedToTop" to true, selected items will be ordered to the top. When group by is active, the selected items will be at the top of their group.

Demo

The model:

{{selectedToTopModel|json}}

Code

// HTML
// JavaScript $scope.selectedToTopModel = []; $scope.selectedToTopData = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' }, ]; $scope.selectedToTopSettings = { selectedToTop: true, };
Example to show that options no longer need to be an object with an id property

Demo

The model:

{{stringModel|json}}

Code

// HTML
$scope.stringModel = []; $scope.stringData = [ \'David\', \'Jhon\', \'Danny\', ]; $scope.stringSettings = { template: \'{{option}}\', smartButtonTextConverter(skip, option) { return option; }, };
Example to show that you can replace the button with a custom element.

Demo

My Custom trigger

The model:

{{transclusionModel|json}}

Code

// HTML
My Custom trigger
$scope.transclusionModel = []; $scope.transclusionData = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' }, ]; $scope.transclusionSettings = { };
When idProperty is set the objects will be compared by that property (that should be unique) instead of by reference.

Demo

The model:

{{idPropertyModel|json}}

Code

// HTML
$scope.idPropertyModel = [{ id: 1 }]; $scope.idPropertyData = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' }, ]; $scope.idPropertySettings = { idProperty: \'id\', };
When there is a selection this method will be called with the selection as a parameter. The function is supposed to return the text that you want to display on the button.

Demo

The model:

{{smartButtonTextProviderModel|json}}

Code

// HTML
$scope.smartButtonTextProviderModel = []; $scope.smartButtonTextProviderData = [ { id: 1, label: \'David\' }, { id: 2, label: \'Jhon\' }, { id: 3, label: \'Danny\' }, ]; $scope.idPropertySettings = { smartButtonTextProvider(selectionArray) { return selectionArray.length + 2; }, };

Full API Documentation

Attributes

List of allowed attributes, you can find more information about them in the usage examples above.

Attribute NameTypeDescription
selected-modelObject / ArrayThe object the will contain the model for the selected items in the dropdown.
optionsObject / ArrayThe options for the dropdown.
extra-settingsObjectThe settings for the directive, more information about these settings are available below.
eventsObjectEvents callbacks, more information below.
translation-textsObjectGives the ability to modify the default texts in the directive. More information below.
search-filterStringUses for settings the search filter from outside the direcrtive.
disabledBooleanUsed for disabling the dropdown.

Settings

Available settings that effects the display or behavior of the directive.
These setting are set with the "extra-settings" attribute.

Property NameTypeDefault ValueDescription
dynamicTitleBooleantrueIndicates if the text of the button should change when selecting items from the list.
closeOnBlurBooleantrueIndicates if the dropdown should close when clicking outside of it\'s scope.
displayPropStringlabelThe name of the property that contains the text for the item.
enableSearchBooleanfalseIndicated if to show the search input or not.
clearSearchOnCloseBooleanfalseIndicated if to clear the search field when the dropdown has closed.
searchFieldString"$"Indicates on which field the search should be done
selectionLimitNumber0The max allowed selected items for the list. For more information see the examples above.
showCheckAllBooleantrueIndicates if to show the "Check All" item.
showUncheckAllBooleantrueIndicates if to show the "Uncheck All" item.
showEnableSearchButtonBooleanfalseIndicates if to show the "Enable search / Disable search" item.
closeOnSelectBooleanfalseIndicates if to close the dropdown after checking an item on the list.
closeOnDeselectBooleanfalseIndicates if to close the dropdown after unchecking an item on the list. With selectionLimit = 1 setting this to true does the same as setting closeOnSelect to true.
buttonClassesStringbtn btn-defaultThe CSS classes that used for setting the style of the button.
groupByStringundefinedThe name of the property which you like to group by your options. See grouping example.
groupByTextProviderFunctionangular.noopA callback to a function that provide that name for each group when using groupBy setting. The parameter for the function will be the value of the groupBy property.
scrollableBooleanfalseIndicates if the dropdown is scrollable, useful if you have a lot of items.
scrollableHeightNumber300pxIndicates the height of the drop down if the dropdown is scrollable.
smartButtonMaxItemsNumber0Manages the "Smart Button Text" feature, defines the maximum amount of items to on the button.
smartButtonTextConverterFunctionangular.noopRelated the "Smart Button Text" feature, if a function provided - it will called with two paramters: The item\'s text and the original item, the return value will displayed instead of the item\'s display property. This feature is useful when you want to convert the displayed text into something else.
styleActiveBooleanfalseIndicates if the list items should get a class active applied when they are selected.
keyboardControlsBooleanfalseWhen activated the dropdown can be used with the keyboard instead of with the mouse.
templateString{ {getPropertyForObject(option, settings.displayProp)} }Can be used to modify the appearance of an option in the list, each option is accessible as option.
selectByGroupsArrayundefinedValues of the groupby property that you want to be selectable as group
checkBoxesBooleanfalseIndicated if to show a normal dropdown with glyphicons or HTML checkboxes.
selectedToTopBooleanfalseWhen true will put the selected options at the top of the list
idPropertystringundefinedUsed to compare by property instead of by reference.

Events

Available event callbacks what the directive fires. These callbacks are set with "events" attribute.

Event NameParametersDescription
onItemSelectitemFired when selecting an item.
onItemDeselectitemFired when unselecting an item.
onSelectAllFired when clicking select all.
onDeselectAllFired when clicking unselect all.
onInitDoneFired when the directive done with the "link" phase.
onMaxSelectionReachedFired when the user reaches the max allowed selected items.
onSelectionChangedFired when the selection changes.

Translation Texts

Available texts that you can override if you wan\'t to make a translation for your website. These are set with the "translation-texts" attribute.

Property NameDefault ValueDescription
checkAllCheck All"Check All" item\'s text.
uncheckAllUncheck All"Uncheck All" item\'s text.
enableSearchEnable search"enable search" item\'s text.
disableSearchDisable search"disable search" item\'s text.
selectionCountcheckedThe suffix for "X/Y" that showed when using selection limit.
selectionOf/The value between the selected values and the max values when using selection limit.
searchPlaceholderSearch...The placeholder for the search input.
buttonDefaultTextSelectThe default text that used for the button when no items selected.
dynamicButtonTextSuffixcheckedThe suffix for the button that used when using "dynamicText".
selectGroupSelect All:The prefix of the group selection.
'), +e.put("app/v1docs/v1docs.template.html",'Main docs

Full V1 API Documentation

Attributes

List of allowed attributes, you can find more information about them in the usage examples above.

Attribute NameTypeDescription
selected-modelObject / ArrayThe object the will contain the model for the selected items in the dropdown.
optionsObject / ArrayThe options for the dropdown.
extra-settingsObjectThe settings for the directive, more information about these settings are available below.
eventsObjectEvents callbacks, more information below.
translation-textsObjectGives the ability to modify the default texts in the directive. More information below.
group-byStringThe name of the property which you like to group by your options. See grouping example.
checkboxesBooleanIndicated if to show a normal dropdown with glyphicons or HTML checkboxes.
search-filterStringUses for settings the search filter from outside the direcrtive.
disabledBooleanUsed for disabling the dropdown.

Settings

Available settings that effects the display or behavior of the directive.
These setting are set with the "extra-settings" attribute.

Property NameTypeDefault ValueDescription
dynamicTitleBooleantrueIndicates if the text of the button should change when selecting items from the list.
closeOnBlurBooleantrueIndicates if the dropdown should close when clicking outside of it\'s scope.
displayPropStringlabelThe name of the property that contains the text for the item.
idPropStringidThe name of the property that contains the id for the elements.
externalIdPropStringidThe name of the property that will use for the selected items model.
enableSearchBooleanfalseIndicated if to show the search input or not.
clearSearchOnCloseBooleanfalseIndicated if to clear the search field when the dropdown has closed.
searchFieldString"$"Indicates on which field the search should be done
selectionLimitNumber0The max allowed selected items for the list. For more information see the examples above.
showCheckAllBooleantrueIndicates if to show the "Check All" item.
showUncheckAllBooleantrueIndicates if to show the "Uncheck All" item.
showEnableSearchButtonBooleanfalseIndicates if to show the "Enable search / Disable search" item.
closeOnSelectBooleanfalseIndicates if to close the dropdown after checking an item on the list.
closeOnDeselectBooleanfalseIndicates if to close the dropdown after unchecking an item on the list. With selectionLimit = 1 setting this to true does the same as setting closeOnSelect to true.
buttonClassesStringbtn btn-defaultThe CSS classes that used for setting the style of the button.
groupByTextProviderFunctionangular.noopA callback to a function that provide that name for each group when using group-by attribute. The parameter for the function will be the value of the group-by property.
scrollableBooleanfalseIndicates if the dropdown is scrollable, useful if you have a lot of items.
scrollableHeightNumber300pxIndicates the height of the drop down if the dropdown is scrollable.
smartButtonMaxItemsNumber0Manages the "Smart Button Text" feature, defines the maximum amount of items to on the button.
smartButtonTextConverterFunctionangular.noopRelated the "Smart Button Text" feature, if a function provided - it will called with two paramters: The item\'s text and the original item, the return value will displayed instead of the item\'s display property. This feature is useful when you want to convert the displayed text into something else.
styleActiveBooleanfalseIndicates if the list items should get a class active applied when they are selected.
keyboardControlsBooleanfalseWhen activated the dropdown can be used with the keyboard instead of with the mouse.
templateString{ {getPropertyForObject(option, settings.displayProp)} }Can be used to modify the appearance of an option in the list, each option is accessible as option.
selectByGroupsArrayundefinedValues of the groupby property that you want to be selectable as group

Events

Available event callbacks what the directive fires. These callbacks are set with "events" attribute.

Event NameParametersDescription
onItemSelectitemFired when selecting an item.
onItemDeselectitemFired when unselecting an item.
onSelectAllFired when clicking select all.
onDeselectAllFired when clicking unselect all.
onInitDoneFired when the directive done with the "link" phase.
onMaxSelectionReachedFired when the user reaches the max allowed selected items.
onSelectionChangedFired when the selection changes.

Translation Texts

Available texts that you can override if you wan\'t to make a translation for your website. These are set with the "translation-texts" attribute.

Property NameDefault ValueDescription
checkAllCheck All"Check All" item\'s text.
uncheckAllUncheck All"Uncheck All" item\'s text.
enableSearchEnable search"enable search" item\'s text.
disableSearchDisable search"disable search" item\'s text.
selectionCountcheckedThe suffix for "X/Y" that showed when using selection limit.
selectionOf/The value between the selected values and the max values when using selection limit.
searchPlaceholderSearch...The placeholder for the search input.
buttonDefaultTextSelectThe default text that used for the button when no items selected.
dynamicButtonTextSuffixcheckedThe suffix for the button that used when using "dynamicText".
selectGroupSelect All:The prefix of the group selection.
')}]); //# sourceMappingURL=../maps/scripts/app.js.map diff --git a/docs/styles/app.css b/docs/styles/app.css index 927685b1..02d8a5ba 100644 --- a/docs/styles/app.css +++ b/docs/styles/app.css @@ -6,4 +6,4 @@ */ /*! 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:700}dfn{font-style:italic}h1{font-size:2em;margin:.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:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}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 silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}td,th{padding:0} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{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:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{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 td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro: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,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble: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"}*,:after,:before{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.428571429;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7}a:focus,a:hover{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.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .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 #eee}.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:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 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}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{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[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{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:after,.container:before{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:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.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,.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,.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,.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{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.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.428571429;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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{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>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.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>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box}input[type=checkbox],input[type=radio]{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=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.428571429;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.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:#eee;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=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox label,fieldset[disabled] .radio-inline,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm,.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,.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-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{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 select[multiple].form-control,.form-group-sm textarea.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-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:1;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-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-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-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-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(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 .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(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 .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(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 .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{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:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);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.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{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.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{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.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{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.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{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.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{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.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{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.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{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.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{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.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{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.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{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.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{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.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{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=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .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:.35s;transition-duration:.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}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:7;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,.15);border-radius:4px;box-shadow:0 6px 12px rgba(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:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{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.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:6}.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-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.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:after,.btn-toolbar:before{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-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .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:after,.btn-group-vertical>.btn-group:before{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-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{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:1;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:2}.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:400;line-height:1;color:#555;text-align:center;background-color:#eee;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=checkbox],.input-group-addon input[type=radio]{margin-top:0}.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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:1}.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:1;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;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.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;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:focus,.nav-pills>li.active>a:hover{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-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{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-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{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:after,.navbar:before{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{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 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{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-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:7;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:8}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .navbar-brand,.navbar>.container .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 .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{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:8px -15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@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 .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{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;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}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs{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:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{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:focus,.navbar-default .navbar-nav>.open>a:hover{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:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#5aadbb}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#5aadbb}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{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:#5aadbb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#5aadbb}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#5aadbb}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{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:#777}.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.428571429;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:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:1;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;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.3333333}.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:after,.pager:before{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:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;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:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .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:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .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-fluid .jumbotron,.container .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.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .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:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{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:700}.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 a{0%{background-position:40px 0}to{background-position:0 0}}@keyframes a{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(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;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,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-body,.media-left,.media-right{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:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{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:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:1;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: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,.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{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .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:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{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:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{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:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{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:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{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;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{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,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.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}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.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:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.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,.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: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:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.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,.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: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:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table: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,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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,.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{border-bottom-left-radius:3px}.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,.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{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 td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.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-bordered>thead>tr:first-child>td,.panel>.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,.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,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-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>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{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:#333;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:#333}.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 embed,.embed-responsive iframe,.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;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);transform:translate(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,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after,.modal-header:before{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after,.modal-footer:before{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{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:12;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.428571429;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:.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{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.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:11;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.428571429;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,.2);border-radius:6px;box-shadow:0 5px 10px rgba(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:#999;border-top-color:rgba(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:#999;border-right-color:rgba(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:#999;border-bottom-color:rgba(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:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(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:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));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,.0001),rgba(0,0,0,.5));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:3;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{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:5;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:4;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(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-next,.carousel-control .icon-prev{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:after,.clearfix:before{content:" ";display:table}.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-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-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}td.visible-xs,th.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}td.visible-sm,th.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}td.visible-md,th.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}td.visible-lg,th.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}td.visible-print,th.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}}.browsehappy{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.thumbnail{height:200px}.thumbnail img.pull-right{width:50px}body{background-color:#efefef;height:100vh}main{height:100%}main>section{padding-top:1em;background-color:#fefefe;height:calc(100% - 135px);overflow:auto}main>section h2{font-size:1.5em;color:#2e7bcf}main>section h3{font-size:1.2em;color:#2e7bcf}header{padding:40px;background:#2e7bcf;height:135px}header h1{font-size:2em;margin-top:.2em}.highlight{background:#fff}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k,.highlight .o{font-weight:700}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:700}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:700;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs,.highlight .gu{font-weight:700}.highlight .gu{color:purple}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{font-weight:700}.highlight .kt{color:#458}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:700}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne,.highlight .nf{color:#900;font-weight:700}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#099}.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc,.highlight .vg,.highlight .vi{color:teal}.highlight .il{color:#099}.type-csharp .highlight .k,.type-csharp .highlight .kt{color:#00f}.type-csharp .highlight .nf{color:#000;font-weight:400}.type-csharp .highlight .nc{color:#2b91af}.type-csharp .highlight .nn{color:#000}.type-csharp .highlight .s,.type-csharp .highlight .sc{color:#a31515}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-size:15px;line-height:1.5;background:#fafafa url(../assets/body-bg.jpg) 0 0 repeat;font-family:Helvetica Neue,Helvetica,Arial,serif;font-weight:400;color:#666}a{color:#2879d0}a:hover{color:#2268b2}header{padding-top:40px;padding-bottom:40px;font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;background:#2e7bcf url(../assets/header-bg.jpg) 0 0 repeat-x;border-bottom:1px solid #275da1;height:auto;margin-bottom:10px}header h1{letter-spacing:-1px;font-size:72px;color:#fff;line-height:1;margin-bottom:.2em;width:auto}header h2{font-size:26px;color:#9ddcff;font-weight:400;line-height:1.3;width:540px;letter-spacing:0}.inner{position:relative;width:1170px;margin:0 auto;padding-left:30px;padding-right:30px}#content-wrapper{border-top:1px solid #fff;padding-top:30px}#main-content{width:690px;float:left}#main-content img{max-width:100%}aside#sidebar{width:200px;padding-left:20px;min-height:504px;float:right;background:transparent url(../assets/sidebar-bg.jpg) 0 0 no-repeat;font-size:12px;line-height:1.3}aside#sidebar p.repo-owner,aside#sidebar p.repo-owner a{font-weight:700}#downloads{margin-bottom:40px}a.gh-button{width:134px;height:58px;line-height:1.2;font-size:23px;color:#fff;padding-left:68px;padding-top:22px;font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif}a.gh-button small{display:block;font-size:11px}header a.gh-button{position:absolute;right:0;top:0;background:transparent url(../assets/github-button.png) 0 0 no-repeat}aside a.gh-button{width:138px;padding-left:64px;display:block;background:transparent url(../assets/download-button.png) 0 0 no-repeat;margin-bottom:20px;font-size:21px}code,pre{font-family:Monaco,Bitstream Vera Sans Mono,Lucida Console,Terminal,monospace;color:#222;margin-bottom:30px;font-size:13px}code{background-color:#f2f8fc;border:1px solid #dbe7f3;padding:0 3px}pre{padding:20px;background:#fff;text-shadow:none;overflow:auto;border:1px solid #f2f2f2}pre code{color:#2879d0;background-color:#fff;border:none;padding:0}dl,ol,ul{margin-bottom:20px}hr{height:1px;line-height:1px;margin-top:1em;padding-bottom:1em;border:none}table{width:100%;border:1px solid #ebebeb}th{font-weight:500}td{border:1px solid #ebebeb;text-align:center;font-weight:300}form{background:#f2f2f2;padding:20px}#main-content h1{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:2.8em;letter-spacing:-1px;color:#474747}#main-content h1:before{content:"/";color:#9ddcff;padding-right:.3em;margin-left:-.9em}#main-content h2{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:22px;font-weight:700;margin-bottom:8px;color:#474747}#main-content h2:before{content:"//";color:#9ddcff;padding-right:.3em;margin-left:-1.5em}#main-content h3{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:18px;font-weight:700;margin-top:24px;margin-bottom:8px;color:#474747}#main-content h3:before{content:"///";color:#9ddcff;padding-right:.3em;margin-left:-2em}#main-content h4{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:15px;font-weight:700;color:#474747}h4:before{content:"////";color:#9ddcff;padding-right:.3em}#main-content h5{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:14px;color:#474747}h5:before{content:"/////";color:#9ddcff;padding-right:.3em;margin-left:-3.2em}#main-content h6{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:.8em;color:#474747}h6:before{content:"//////";color:#9ddcff;padding-right:.3em;margin-left:-3.7em}p{margin-bottom:20px}a{text-decoration:none}p a{font-weight:400}blockquote{font-size:1.6em;border-left:10px solid #e9e9e9;margin-bottom:20px;padding:0 0 0 30px}ul{list-style:disc inside;padding-left:20px}ol{list-style:decimal inside;padding-left:3px}dl dd{font-style:italic;font-weight:100}footer{margin-top:40px;padding-top:20px;padding-bottom:10px;font-size:13px;color:#aaa}footer a{color:#666}footer a:hover{color:#444}.clearfix:after{clear:both;content:".";display:block;visibility:hidden;height:0}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}@media only screen and (min-width:768px) and (max-width:959px){.inner,header h1,header h2{width:740px}header h1{font-size:60px}header h2{font-size:30px}#main-content{width:490px}#main-content h1:before,#main-content h2:before,#main-content h3:before,#main-content h4:before,#main-content h5:before,#main-content h6:before{content:none;padding-right:0;margin-left:0}}@media only screen and (max-width:767px){.inner{width:93%}header{padding:20px 0}header .inner{position:relative}header h1,header h2{width:100%}header h1{font-size:48px}header h2{font-size:24px}header a.gh-button{background-image:none;width:auto;height:auto;display:inline-block;margin-top:15px;padding:5px 10px;position:relative;text-align:center;font-size:13px;line-height:1;background-color:#9ddcff;color:#2879d0;border-radius:5px}header a.gh-button small{font-size:13px;display:inline}#main-content,aside#sidebar{float:none;width:100%!important}aside#sidebar{background-image:none;margin-top:20px;border-top:1px solid #ddd;padding:20px 0;min-height:0}aside#sidebar a.gh-button{display:none}#main-content h1:before,#main-content h2:before,#main-content h3:before,#main-content h4:before,#main-content h5:before,#main-content h6:before{content:none;padding-right:0;margin-left:0}a.option[disabled]{opacity:.5}} \ No newline at end of file +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{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:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{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 td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro: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,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble: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"}*,:after,:before{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.428571429;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7}a:focus,a:hover{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.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .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 #eee}.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:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 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}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{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[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.428571429;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{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:after,.container:before{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:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.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,.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,.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,.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{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.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.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.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.428571429;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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{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>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.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>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box}input[type=checkbox],input[type=radio]{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=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.428571429;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.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:#eee;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=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox label,fieldset[disabled] .radio-inline,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm,.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,.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-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{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 select[multiple].form-control,.form-group-sm textarea.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-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:1;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-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-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-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-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(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 .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(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 .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(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 .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{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:400;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);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.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{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.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{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.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{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.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{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.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{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.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{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.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{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.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{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.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{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.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{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.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{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.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{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=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .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:.35s;transition-duration:.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}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:7;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,.15);border-radius:4px;box-shadow:0 6px 12px rgba(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:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{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.428571429;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:6}.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-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.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:after,.btn-toolbar:before{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-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .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:after,.btn-group-vertical>.btn-group:before{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-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{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:1;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:2}.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:400;line-height:1;color:#555;text-align:center;background-color:#eee;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=checkbox],.input-group-addon input[type=radio]{margin-top:0}.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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:1}.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:1;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;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.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;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:focus,.nav-pills>li.active>a:hover{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-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{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-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{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:after,.navbar:before{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{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 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{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-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:7;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:8}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .navbar-brand,.navbar>.container .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 .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{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:8px -15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@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 .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{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;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}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs{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:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{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:focus,.navbar-default .navbar-nav>.open>a:hover{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:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#5aadbb}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#5aadbb}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{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:#5aadbb}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#5aadbb}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#5aadbb}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{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:#777}.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.428571429;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:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:1;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;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.3333333}.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:after,.pager:before{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:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;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:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .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:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .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-fluid .jumbotron,.container .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.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .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:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{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:700}.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 a{0%{background-position:40px 0}to{background-position:0 0}}@keyframes a{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(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;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,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-body,.media-left,.media-right{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:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{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:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:1;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: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,.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{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .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:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{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:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{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:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{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:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{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;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{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,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.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}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.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:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.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,.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: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:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.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,.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: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:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table: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,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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,.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{border-bottom-left-radius:3px}.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,.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{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 td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.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-bordered>thead>tr:first-child>td,.panel>.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,.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,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-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>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{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:#333;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:#333}.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 embed,.embed-responsive iframe,.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;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);transform:translate(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,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after,.modal-header:before{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after,.modal-footer:before{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{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:12;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.428571429;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:.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{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.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:11;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.428571429;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,.2);border-radius:6px;box-shadow:0 5px 10px rgba(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:#999;border-top-color:rgba(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:#999;border-right-color:rgba(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:#999;border-bottom-color:rgba(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:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(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:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));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,.0001),rgba(0,0,0,.5));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:3;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{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:5;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:4;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(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-next,.carousel-control .icon-prev{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:after,.clearfix:before{content:" ";display:table}.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-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-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}td.visible-xs,th.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}td.visible-sm,th.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}td.visible-md,th.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}td.visible-lg,th.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}td.visible-print,th.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}}.browsehappy{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.thumbnail{height:200px}.thumbnail img.pull-right{width:50px}body{background-color:#efefef;height:100vh}main{height:100%}main>section{padding-top:1em;background-color:#fefefe;height:calc(100% - 135px);overflow:auto}main>section h2{font-size:1.5em;color:#2e7bcf}main>section h3{font-size:1.2em;color:#2e7bcf}header{padding:40px;background:#2e7bcf;height:135px}header h1{font-size:2em;margin-top:.2em}.highlight{background:#fff}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k,.highlight .o{font-weight:700}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:700}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:700;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs,.highlight .gu{font-weight:700}.highlight .gu{color:purple}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{font-weight:700}.highlight .kt{color:#458}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:700}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne,.highlight .nf{color:#900;font-weight:700}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:700}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#099}.highlight .s2,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc,.highlight .vg,.highlight .vi{color:teal}.highlight .il{color:#099}.type-csharp .highlight .k,.type-csharp .highlight .kt{color:#00f}.type-csharp .highlight .nf{color:#000;font-weight:400}.type-csharp .highlight .nc{color:#2b91af}.type-csharp .highlight .nn{color:#000}.type-csharp .highlight .s,.type-csharp .highlight .sc{color:#a31515}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}body{font-size:15px;line-height:1.5;background:#fafafa url(../assets/body-bg.jpg) 0 0 repeat;font-family:Helvetica Neue,Helvetica,Arial,serif;font-weight:400;color:#666}a{color:#2879d0}a:hover{color:#2268b2}header{padding-top:40px;padding-bottom:40px;font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;background:#2e7bcf url(../assets/header-bg.jpg) 0 0 repeat-x;border-bottom:1px solid #275da1;height:auto;margin-bottom:10px}header h1{letter-spacing:-1px;font-size:72px;color:#fff;line-height:1;margin-bottom:.2em;width:auto}header h2{font-size:26px;color:#9ddcff;font-weight:400;line-height:1.3;width:540px;letter-spacing:0}.inner{position:relative;width:1170px;margin:0 auto;padding-left:30px;padding-right:30px}#content-wrapper{border-top:1px solid #fff;padding-top:30px}#main-content{width:690px;float:left}#main-content img{max-width:100%}aside#sidebar{width:200px;padding-left:20px;min-height:504px;float:right;background:transparent url(../assets/sidebar-bg.jpg) 0 0 no-repeat;font-size:12px;line-height:1.3}aside#sidebar p.repo-owner,aside#sidebar p.repo-owner a{font-weight:700}#downloads{margin-bottom:40px}a.gh-button{width:134px;height:58px;line-height:1.2;font-size:23px;color:#fff;padding-left:68px;padding-top:22px;font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif}a.gh-button small{display:block;font-size:11px}header a.gh-button{position:absolute;right:0;top:0;background:transparent url(../assets/github-button.png) 0 0 no-repeat}aside a.gh-button{width:138px;padding-left:64px;display:block;background:transparent url(../assets/download-button.png) 0 0 no-repeat;margin-bottom:20px;font-size:21px}code,pre{font-family:Monaco,Bitstream Vera Sans Mono,Lucida Console,Terminal,monospace;color:#222;margin-bottom:30px;font-size:13px}code{background-color:#f2f8fc;border:1px solid #dbe7f3;padding:0 3px}pre{padding:20px;background:#fff;text-shadow:none;overflow:auto;border:1px solid #f2f2f2}pre code{color:#2879d0;background-color:#fff;border:none;padding:0}dl,ol,ul{margin-bottom:20px}hr{height:1px;line-height:1px;margin-top:1em;padding-bottom:1em;border:none}table{width:100%;border:1px solid #ebebeb}th{font-weight:500}td{border:1px solid #ebebeb;text-align:center;font-weight:300}form{background:#f2f2f2;padding:20px}#main-content h1{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:2.8em;letter-spacing:-1px;color:#474747}#main-content h1:before{content:"/";color:#9ddcff;padding-right:.3em;margin-left:-.9em}#main-content h2{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:22px;font-weight:700;margin-bottom:8px;color:#474747}#main-content h2:before{content:"//";color:#9ddcff;padding-right:.3em;margin-left:-1.5em}#main-content h3{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:18px;font-weight:700;margin-top:24px;margin-bottom:8px;color:#474747}#main-content h3:before{content:"///";color:#9ddcff;padding-right:.3em;margin-left:-2em}#main-content h4{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:15px;font-weight:700;color:#474747}h4:before{content:"////";color:#9ddcff;padding-right:.3em}#main-content h5{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:14px;color:#474747}h5:before{content:"/////";color:#9ddcff;padding-right:.3em;margin-left:-3.2em}#main-content h6{font-family:Architects Daughter,Helvetica Neue,Helvetica,Arial,serif;font-size:.8em;color:#474747}h6:before{content:"//////";color:#9ddcff;padding-right:.3em;margin-left:-3.7em}p{margin-bottom:20px}a{text-decoration:none}p a{font-weight:400}blockquote{font-size:1.6em;border-left:10px solid #e9e9e9;margin-bottom:20px;padding:0 0 0 30px}ul{list-style:disc inside;padding-left:20px}ol{list-style:decimal inside;padding-left:3px}dl dd{font-style:italic;font-weight:100}footer{margin-top:40px;padding-top:20px;padding-bottom:10px;font-size:13px;color:#aaa}footer a{color:#666}footer a:hover{color:#444}.clearfix:after{clear:both;content:".";display:block;visibility:hidden;height:0}.clearfix{display:inline-block}* html .clearfix{height:1%}.clearfix{display:block}@media only screen and (min-width:768px) and (max-width:959px){.inner,header h1,header h2{width:740px}header h1{font-size:60px}header h2{font-size:30px}#main-content{width:490px}#main-content h1:before,#main-content h2:before,#main-content h3:before,#main-content h4:before,#main-content h5:before,#main-content h6:before{content:none;padding-right:0;margin-left:0}}@media only screen and (max-width:767px){.inner{width:93%}header{padding:20px 0}header .inner{position:relative}header h1,header h2{width:100%}header h1{font-size:48px}header h2{font-size:24px}header a.gh-button{background-image:none;width:auto;height:auto;display:inline-block;margin-top:15px;padding:5px 10px;position:relative;text-align:center;font-size:13px;line-height:1;background-color:#9ddcff;color:#2879d0;border-radius:5px}header a.gh-button small{font-size:13px;display:inline}#main-content,aside#sidebar{float:none;width:100%!important}aside#sidebar{background-image:none;margin-top:20px;border-top:1px solid #ddd;padding:20px 0;min-height:0}aside#sidebar a.gh-button{display:none}#main-content h1:before,#main-content h2:before,#main-content h3:before,#main-content h4:before,#main-content h5:before,#main-content h6:before{content:none;padding-right:0;margin-left:0}a.option[disabled]{opacity:.5}}.custom-trigger{padding:.75em;margin-top:1.5em;border:1px solid #ccc;cursor:pointer} \ No newline at end of file diff --git a/gulp/build.js b/gulp/build.js index 6ce7324c..eea22513 100644 --- a/gulp/build.js +++ b/gulp/build.js @@ -119,7 +119,7 @@ gulp.task('compile:component', ['clean:component'], function(cb) { runSequence(['scripts', 'styles', 'partials'], cb); }); -gulp.task('build:component', ['compile:component'], function() { +gulp.task('build.component.minified', ['compile:component'], function () { var jsFilter = $.filter('**/*.js', { restore: true }); var cssFilter = $.filter('**/*.css', { restore: true }); @@ -129,14 +129,35 @@ gulp.task('build:component', ['compile:component'], function() { path.join(conf.paths.tmp, 'partials/templateCacheHtml.js') ]) .pipe(jsFilter) - .pipe(concat({ path: 'angularjs-dropdown-multiselect.min.js'})) - .pipe($.sourcemaps.init()) - .pipe($.uglify({ preserveComments: $.uglifySaveLicense })).on('error', conf.errorHandler('Uglify')) - .pipe($.sourcemaps.write('maps')) + .pipe(concat({ path: 'angularjs-dropdown-multiselect.min.js' })) + .pipe($.sourcemaps.init()) + .pipe($.uglify({ preserveComments: $.uglifySaveLicense })).on('error', conf.errorHandler('Uglify')) + .pipe($.sourcemaps.write('maps')) .pipe(jsFilter.restore) .pipe(cssFilter) .pipe($.cssnano()) .pipe(cssFilter.restore) .pipe(gulp.dest(path.join(conf.paths.dist, '/'))) - .pipe($.size({ title: path.join(conf.paths.dist, '/'), showFiles: true })); + .pipe($.size({ title: path.join(conf.paths.dist, '/'), showFiles: true })); +}); + +gulp.task('build.component', ['compile:component'], function () { + var jsFilter = $.filter('**/*.js', { restore: true }); + var cssFilter = $.filter('**/*.css', { restore: true }); + + return gulp.src([ + path.join(conf.paths.tmp, 'serve/app/index.css'), + path.join(conf.paths.tmp, 'serve/app/index.module.js'), + path.join(conf.paths.tmp, 'partials/templateCacheHtml.js') + ]) + .pipe(jsFilter) + .pipe(concat({ path: 'angularjs-dropdown-multiselect.js' })) + .pipe(jsFilter.restore) + .pipe(cssFilter) + .pipe($.cssnano()) + .pipe(cssFilter.restore) + .pipe(gulp.dest(path.join(conf.paths.dist, '/src'))) + .pipe($.size({ title: path.join(conf.paths.dist, '/'), showFiles: true })); }); + +gulp.task('build:component', ['build.component.minified', 'build.component']); diff --git a/package.json b/package.json index 77f50ee5..7df0f642 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "author": "pkempenaers@myforce.be", "name": "angularjs-dropdown-multiselect", - "version": "2.0.0-beta.3", + "version": "2.0.0-beta.10", "description": "This directive gives you a Bootstrap Dropdown with the power of AngularJS directives.", "homepage": "http://dotansimha.github.io/angularjs-dropdown-multiselect/#/", "dependencies": { diff --git a/src/app/component/angularjs-dropdown-multiselect.controller.js b/src/app/component/angularjs-dropdown-multiselect.controller.js index f6324298..e837cc99 100644 --- a/src/app/component/angularjs-dropdown-multiselect.controller.js +++ b/src/app/component/angularjs-dropdown-multiselect.controller.js @@ -230,6 +230,10 @@ export default function dropdownMultiselectController( function getButtonText() { if ($scope.settings.dynamicTitle && $scope.selectedModel && $scope.selectedModel.length > 0) { + if (angular.isFunction($scope.settings.smartButtonTextProvider)) { + return $scope.settings.smartButtonTextProvider($scope.selectedModel); + } + if ($scope.settings.smartButtonMaxItems > 0) { const paddingWidth = 12 * 2; const borderWidth = 1 * 2; diff --git a/src/app/main/main.controller.js b/src/app/main/main.controller.js index c9edb050..581d4a8e 100644 --- a/src/app/main/main.controller.js +++ b/src/app/main/main.controller.js @@ -324,5 +324,18 @@ export default class MainController { $scope.idPropertySettings = { idProperty: 'id', }; + + $scope.smartButtonTextProviderModel = [ + ]; + $scope.smartButtonTextProviderData = [ + { id: 1, label: 'David' }, + { id: 2, label: 'Jhon' }, + { id: 3, label: 'Danny' }, + ]; + $scope.smartButtonTextProviderSettings = { + smartButtonTextProvider(selectionArray) { + return selectionArray.length + 2; + }, + }; } } diff --git a/src/app/main/main.template.html b/src/app/main/main.template.html index 32d4bc94..2e939cd0 100644 --- a/src/app/main/main.template.html +++ b/src/app/main/main.template.html @@ -1058,6 +1058,48 @@

Code

]; $scope.idPropertySettings = { idProperty: 'id', +}; + + + + +
+
+
+ When there is a selection this method will be called with the selection as a parameter. The function is supposed to return the text that you want to display on the button. +
+
+
+
+

Demo

+
+
+
+
+
+
+

The model:

+
{{smartButtonTextProviderModel|json}}
+
+
+
+
+

Code

+
+// HTML +
+
+ +$scope.smartButtonTextProviderModel = []; +$scope.smartButtonTextProviderData = [ + { id: 1, label: 'David' }, + { id: 2, label: 'Jhon' }, + { id: 3, label: 'Danny' }, +]; +$scope.idPropertySettings = { + smartButtonTextProvider(selectionArray) { + return selectionArray.length + 2; + }, };
@@ -1265,7 +1307,7 @@

Settings

Indicates if the list items should get a class active applied when they are selected. - keyboardControl + keyboardControls Boolean false When activated the dropdown can be used with the keyboard instead of with the mouse. diff --git a/src/app/v1docs/v1docs.template.html b/src/app/v1docs/v1docs.template.html index 92aa5256..e2dadd10 100644 --- a/src/app/v1docs/v1docs.template.html +++ b/src/app/v1docs/v1docs.template.html @@ -218,7 +218,7 @@

Settings

Indicates if the list items should get a class active applied when they are selected. - keyboardControl + keyboardControls Boolean false When activated the dropdown can be used with the keyboard instead of with the mouse.