[
  {
    "path": ".gitignore",
    "content": "# Created by .ignore support plugin (hsz.mobi)\n### JetBrains template\n# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm\n# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839\n\n## File-based project format:\n*.iws\n\n## Plugin-specific files:\n\n# IntelliJ\n.idea\n/out/\n\n# mpeltonen/sbt-idea plugin\n.idea_modules/\n\n# JIRA plugin\natlassian-ide-plugin.xml\n\n# Crashlytics plugin (for Android Studio and IntelliJ)\ncom_crashlytics_export_strings.xml\ncrashlytics.properties\ncrashlytics-build.properties\nfabric.properties\n### OSX template\n.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must end with two \\r\nIcon\n\n# Thumbnails\n._*\n\n# Files that might appear in the root of a volume\n.DocumentRevisions-V100\n.fseventsd\n.Spotlight-V100\n.TemporaryItems\n.Trashes\n.VolumeIcon.icns\n\n# Directories potentially created on remote AFP share\n.AppleDB\n.AppleDesktop\nNetwork Trash Folder\nTemporary Items\n.apdisk\n\n#Project\n/bower_components/\n/node_modules/\n/angular/\n"
  },
  {
    "path": "GruntFile.js",
    "content": "module.exports = function(grunt) {\n\tvar gtx = require('gruntfile-gtx').wrap(grunt);\n\n    gtx.loadAuto();\n\n    var gruntConfig = require('./grunt');\n    gruntConfig.package = require('./package.json');\n\n    gtx.config(gruntConfig);\n\n    // We need our bower components in order to develop\n    gtx.alias('build:dev',  ['recess:app', 'copy:dev']);\n    gtx.alias('build:angular', ['clean:angular', 'copy:angular', 'clean:angulars', 'cssmin:min', 'concat:vendor', 'concat:app', 'uglify:angular']);\n\n    gtx.finalise();\n};"
  },
  {
    "path": "README.md",
    "content": "# springboot-dubbox-web\n\nhttps://github.com/zhangxd1989/springboot-dubbox 前端管理\n![预览](https://github.com/zhangxd1989/springboot-dubbox-web/blob/master/image.jpg)\n\n- install node.js\n- go to the app root\n\n```\n>npm install -g grunt-cli\n>npm install -g bower\n>npm install\n>bower install\n>grunt build:dev\n>grunt build:angular\n>npm start\n```\n"
  },
  {
    "path": "bower.json",
    "content": "{\n  \"name\": \"springboot-dubbox-web\",\n  \"private\": true,\n  \"dependencies\": {\n    \"font-awesome\": \"^4.6.3\",\n    \"bootstrap\": \"3.3.7\",\n    \"angular\": \"1.3.20\",\n    \"angular-animate\": \"1.3.20\",\n    \"angular-cookies\": \"1.3.20\",\n    \"angular-resource\": \"1.3.20\",\n    \"angular-touch\": \"1.3.20\",\n    \"angular-sanitize\": \"1.3.20\",\n    \"angular-ui-router\": \"^0.3.2\",\n    \"ngstorage\": \"^0.3.11\",\n    \"oclazyload\": \"^1.0.9\",\n    \"angular-bootstrap\": \"0.14.3\",\n    \"angular-ui-utils\": \"~0.1.1\",\n    \"screenfull\": \"^3.0.2\",\n    \"angularjs-toaster\": \"~0.4.8\",\n    \"angular-tree-dnd\": \"^3.0.4\",\n    \"angular-dialog-service\": \"5.2.11\",\n    \"angular-file-upload\": \"^2.3.4\",\n    \"angular-ui-select\": \"^0.19.5\"\n  }\n}\n"
  },
  {
    "path": "grunt/clean.js",
    "content": "module.exports = {\n    angular: ['angular/*'],\n    angulars: [\n        'angular/css/**',\n        'angular/js/*.js',\n        'angular/vendor/angular/',\n        'angular/js/directives',\n        'angular/js/services',\n        'angular/js/filters',\n        'angular/index.min.html'\n    ]\n};"
  },
  {
    "path": "grunt/concat.js",
    "content": "module.exports = {\n    vendor: {\n        options :{\n            stripBanners: true\n        },\n        src: [\n            'src/vendor/jquery/jquery.min.js',\n            'src/vendor/jquery/jquery-ui.min.js',\n            'src/vendor/jquery/ladda/spin.min.js',\n            'src/vendor/jquery/ladda/ladda.min.js',\n            'src/vendor/angular/angular.min.js',\n            'src/vendor/angular/**/*.js'\n        ],\n        dest: 'angular/vendor/vendor.min.js'\n    },\n    app: {\n        options :{\n            stripBanners: true\n        },\n        src: [\n            'src/js/*.js',\n            'src/js/directives/*.js',\n            'src/js/filters/*.js',\n            'src/js/services/*.js'\n        ],\n        dest: 'angular/js/dist.js'\n    }\n};"
  },
  {
    "path": "grunt/copy.js",
    "content": "module.exports = {\n    dev: {\n        nonull: true,\n        files: [\n            // Include our bower JS dependencies\n\n            // angular\n            {src: \"bower_components/angular/angular.min.js\", dest: \"src/vendor/angular/angular.min.js\"},\n            {src: \"bower_components/angular/angular.min.js.map\", dest: \"src/vendor/angular/angular.min.js.map\"},\n            {src: \"bower_components/angular-animate/angular-animate.min.js\", dest: \"src/vendor/angular/angular-animate/angular-animate.min.js\"},\n            {src: \"bower_components/angular-animate/angular-animate.min.js.map\", dest: \"src/vendor/angular/angular-animate/angular-animate.min.js.map\"},\n            {src: \"bower_components/angular-cookies/angular-cookies.min.js\", dest: \"src/vendor/angular/angular-cookies/angular-cookies.min.js\"},\n            {src: \"bower_components/angular-cookies/angular-cookies.min.js.map\", dest: \"src/vendor/angular/angular-cookies/angular-cookies.min.js.map\"},\n            {src: \"bower_components/angular-resource/angular-resource.min.js\", dest: \"src/vendor/angular/angular-resource/angular-resource.min.js\"},\n            {src: \"bower_components/angular-resource/angular-resource.min.js.map\", dest: \"src/vendor/angular/angular-resource/angular-resource.min.js.map\"},\n            {src: \"bower_components/angular-sanitize/angular-sanitize.min.js\", dest: \"src/vendor/angular/angular-sanitize/angular-sanitize.min.js\"},\n            {src: \"bower_components/angular-sanitize/angular-sanitize.min.js.map\", dest: \"src/vendor/angular/angular-sanitize/angular-sanitize.min.js.map\"},\n            {src: \"bower_components/angular-touch/angular-touch.min.js\", dest: \"src/vendor/angular/angular-touch/angular-touch.min.js\"},\n            {src: \"bower_components/angular-touch/angular-touch.min.js.map\", dest: \"src/vendor/angular/angular-touch/angular-touch.min.js.map\"},\n\n            // angular-dialogs\n            {src: \"bower_components/angular-dialog-service/dist/dialogs.min.js\", dest: \"src/vendor/angular/angular-dialog/dialogs.min.js\"},\n            {src: \"bower_components/angular-dialog-service/dist/dialogs.min.css\", dest: \"src/css/dialogs.min.css\"},\n\n            // bootstrap\n            {src: \"bower_components/bootstrap/dist/css/bootstrap.css\", dest: \"src/css/bootstrap.css\"},\n            {src: \"bower_components/bootstrap/dist/css/bootstrap.css.map\", dest: \"src/css/bootstrap.css.map\"},\n            {src: \"bower_components/bootstrap/dist/js/bootstrap.js\", dest: \"src/vendor/jquery/bootstrap.js\"},\n            {src: \"**\", dest: \"src/fonts\", cwd: 'bower_components/bootstrap/fonts', expand : true},\n\n            // fontawesome\n            {src: \"bower_components/font-awesome/css/font-awesome.min.css\", dest: \"src/css/font-awesome.min.css\"},\n            {src: \"**\", dest: \"src/fonts\", cwd: 'bower_components/font-awesome/fonts', expand : true},\n\n            // libs\n            {src: \"bower_components/screenfull/dist/screenfull.min.js\", dest: \"src/vendor/libs/screenfull.min.js\"},\n\n            // core\n            {src: \"bower_components/angular-ui-router/release/angular-ui-router.min.js\", dest: \"src/vendor/angular/angular-ui-router/angular-ui-router.min.js\"},\n            {src: \"bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js\", dest: \"src/vendor/angular/angular-bootstrap/ui-bootstrap-tpls.min.js\"},\n            {src: \"bower_components/angular-ui-utils/ui-utils.min.js\", dest: \"src/vendor/angular/angular-ui-utils/ui-utils.min.js\"},\n            {src: \"bower_components/ngstorage/ngStorage.min.js\", dest: \"src/vendor/angular/ngstorage/ngStorage.min.js\"},\n            {src: \"bower_components/oclazyload/dist/ocLazyLoad.min.js\", dest: \"src/vendor/angular/oclazyload/ocLazyLoad.min.js\"},\n\n            // modules for lazy load\n            {src: \"bower_components/angular-ui-select/dist/select.min.js\", dest: \"src/vendor/modules/angular-ui-select/select.min.js\"},\n            {src: \"bower_components/angular-ui-select/dist/select.min.js.map\", dest: \"src/vendor/modules/angular-ui-select/select.min.js.map\"},\n            {src: \"bower_components/angular-ui-select/dist/select.min.css\", dest: \"src/vendor/modules/angular-ui-select/select.min.css\"},\n            {src: \"bower_components/angular-ui-select/dist/select.min.css.map\", dest: \"src/vendor/modules/angular-ui-select/select.min.css.map\"},\n\n            {src: \"bower_components/angular-file-upload/dist/angular-file-upload.min.js\", dest: \"src/vendor/modules/angular-file-upload/angular-file-upload.min.js\"},\n            {src: \"bower_components/angular-file-upload/dist/angular-file-upload.min.js.map\", dest: \"src/vendor/modules/angular-file-upload/angular-file-upload.min.js.map\"},\n\n            {src: \"bower_components/angular-tree-dnd/dist/ng-tree-dnd.min.js\", dest: \"src/vendor/modules/angular-tree-dnd/ng-tree-dnd.min.js\"},\n            {src: \"bower_components/angular-tree-dnd/dist/ng-tree-dnd.min.css\", dest: \"src/vendor/modules/angular-tree-dnd/ng-tree-dnd.min.css\"},\n\n            // toaster\n            {src: \"bower_components/angularjs-toaster/toaster.js\", dest: \"src/vendor/modules/angularjs-toaster/toaster.js\"},\n            {src: \"bower_components/angularjs-toaster/toaster.css\", dest: \"src/vendor/modules/angularjs-toaster/toaster.css\"}\n        ]\n    },\n    angular: {\n        files: [\n            {expand: true, dest: 'angular/', src:'**', cwd:'src/'},\n            {dest: 'angular/index.html', src:'src/index.min.html'}\n        ]\n    }\n};"
  },
  {
    "path": "grunt/cssmin.js",
    "content": "module.exports = {\n    min: {\n        files: {\n            'angular/css/app.min.css': [\n                'src/css/ladda.min.css',\n                'src/css/bootstrap.css',\n                'src/css/*.css'\n            ]\n        }\n    }\n};"
  },
  {
    "path": "grunt/htmlmin.js",
    "content": "module.exports = {\n    min: {\n        files: [{\n            expand: true,\n            cwd: 'src/tpl/',\n            src: ['*.html', '**/*.html'],\n            dest: 'angular/tpl/',\n            ext: '.html',\n            extDot: 'first'\n        }]\n    }\n};"
  },
  {
    "path": "grunt/index.js",
    "content": "var requireDirectory = require('require-directory');\nmodule.exports = requireDirectory(module);"
  },
  {
    "path": "grunt/recess.js",
    "content": "module.exports = {\n    app: {\n        files: {\n            'src/css/app.css': [\n                'src/css/less/app.less'\n            ]\n        },\n        options: {\n            compile: true\n        }\n    }\n};"
  },
  {
    "path": "grunt/uglify.js",
    "content": "module.exports = {\n    angular: {\n        src: [\n            'angular/js/dist.js'\n        ],\n        dest: 'angular/js/app.min.js'\n    }\n};"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"springboot-dubbox-web\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Administrator web application.\",\n  \"private\": true,\n  \"scripts\": {\n    \"start\": \"node node_modules/http-server/bin/http-server -p 8091 -o -P http://127.0.0.1:8080/\"\n  },\n  \"devDependencies\": {\n    \"grunt\": \"^0.4.5\",\n    \"grunt-bower-install-simple\": \"^1.2.3\",\n    \"grunt-contrib-clean\": \"^1.0.0\",\n    \"grunt-contrib-concat\": \"^1.0.1\",\n    \"grunt-contrib-copy\": \"^1.0.0\",\n    \"grunt-contrib-cssmin\": \"^1.0.2\",\n    \"grunt-contrib-htmlmin\": \"^2.0.0\",\n    \"grunt-contrib-uglify\": \"^2.0.0\",\n    \"grunt-recess\": \"^1.0.1\",\n    \"gruntfile-gtx\": \"^0.3.0\",\n    \"http-server\": \"^0.9.0\",\n    \"require-directory\": \"^2.1.1\"\n  }\n}\n"
  },
  {
    "path": "src/css/animate.css",
    "content": ".animated{\n\t-webkit-animation-fill-mode:both;\n\t-moz-animation-fill-mode:both;\n\t-ms-animation-fill-mode:both;\n\t-o-animation-fill-mode:both;\n\tanimation-fill-mode:both;\n\t-webkit-animation-duration:0.5s;\n\t-moz-animation-duration:0.5s;\n\t-ms-animation-duration:0.5s;\n\t-o-animation-duration:0.5s;\n\tanimation-duration:0.5s;\n}\n\n@-webkit-keyframes fadeIn {\n\t0% {opacity: 0;}\t100% {opacity: 1;}\n}\n\n@-moz-keyframes fadeIn {\n\t0% {opacity: 0;}\t\n\t100% {opacity: 1;}\n}\n\n@-o-keyframes fadeIn {\n\t0% {opacity: 0;}\t\n\t100% {opacity: 1;}\n}\n\n@keyframes fadeIn {\n\t0% {opacity: 0;}\t\n\t100% {opacity: 1;}\n}\n\n.fadeIn {\n\t-webkit-animation-name: fadeIn;\n\t-moz-animation-name: fadeIn;\n\t-o-animation-name: fadeIn;\n\tanimation-name: fadeIn;\n}\n@-webkit-keyframes fadeInUp {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n}\n\n@-moz-keyframes fadeInUp {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n}\n\n@-o-keyframes fadeInUp {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n}\n\n@keyframes fadeInUp {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateY(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n}\n\n.fadeInUp {\n\t-webkit-animation-name: fadeInUp;\n\t-moz-animation-name: fadeInUp;\n\t-o-animation-name: fadeInUp;\n\tanimation-name: fadeInUp;\n}\n@-webkit-keyframes fadeInDown {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n}\n\n@-moz-keyframes fadeInDown {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n}\n\n@-o-keyframes fadeInDown {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n}\n\n@keyframes fadeInDown {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateY(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n}\n\n.fadeInDown {\n\t-webkit-animation-name: fadeInDown;\n\t-moz-animation-name: fadeInDown;\n\t-o-animation-name: fadeInDown;\n\tanimation-name: fadeInDown;\n}\n@-webkit-keyframes fadeInLeft {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n}\n\n@-moz-keyframes fadeInLeft {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n}\n\n@-o-keyframes fadeInLeft {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n}\n\n@keyframes fadeInLeft {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateX(-20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n}\n\n.fadeInLeft {\n\t-webkit-animation-name: fadeInLeft;\n\t-moz-animation-name: fadeInLeft;\n\t-o-animation-name: fadeInLeft;\n\tanimation-name: fadeInLeft;\n}\n@-webkit-keyframes fadeInRight {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n}\n\n@-moz-keyframes fadeInRight {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n}\n\n@-o-keyframes fadeInRight {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n}\n\n@keyframes fadeInRight {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateX(20px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n}\n\n.fadeInRight {\n\t-webkit-animation-name: fadeInRight;\n\t-moz-animation-name: fadeInRight;\n\t-o-animation-name: fadeInRight;\n\tanimation-name: fadeInRight;\n}\n@-webkit-keyframes fadeInUpBig {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n}\n\n@-moz-keyframes fadeInUpBig {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n}\n\n@-o-keyframes fadeInUpBig {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n}\n\n@keyframes fadeInUpBig {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateY(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n}\n\n.fadeInUpBig {\n\t-webkit-animation-name: fadeInUpBig;\n\t-moz-animation-name: fadeInUpBig;\n\t-o-animation-name: fadeInUpBig;\n\tanimation-name: fadeInUpBig;\n}\n@-webkit-keyframes fadeInDownBig {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n}\n\n@-moz-keyframes fadeInDownBig {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n}\n\n@-o-keyframes fadeInDownBig {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n}\n\n@keyframes fadeInDownBig {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateY(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n}\n\n.fadeInDownBig {\n\t-webkit-animation-name: fadeInDownBig;\n\t-moz-animation-name: fadeInDownBig;\n\t-o-animation-name: fadeInDownBig;\n\tanimation-name: fadeInDownBig;\n}\n@-webkit-keyframes fadeInLeftBig {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n}\n@-moz-keyframes fadeInLeftBig {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n}\n@-o-keyframes fadeInLeftBig {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n}\n@keyframes fadeInLeftBig {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateX(-2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n}\n\n.fadeInLeftBig {\n\t-webkit-animation-name: fadeInLeftBig;\n\t-moz-animation-name: fadeInLeftBig;\n\t-o-animation-name: fadeInLeftBig;\n\tanimation-name: fadeInLeftBig;\n}\n@-webkit-keyframes fadeInRightBig {\n\t0% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n}\n\n@-moz-keyframes fadeInRightBig {\n\t0% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n}\n\n@-o-keyframes fadeInRightBig {\n\t0% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n}\n\n@keyframes fadeInRightBig {\n\t0% {\n\t\topacity: 0;\n\t\ttransform: translateX(2000px);\n\t}\n\t\n\t100% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n}\n\n.fadeInRightBig {\n\t-webkit-animation-name: fadeInRightBig;\n\t-moz-animation-name: fadeInRightBig;\n\t-o-animation-name: fadeInRightBig;\n\tanimation-name: fadeInRightBig;\n}\n@-webkit-keyframes fadeOut {\n\t0% {opacity: 1;}\n\t100% {opacity: 0;}\n}\n\n@-moz-keyframes fadeOut {\n\t0% {opacity: 1;}\n\t100% {opacity: 0;}\n}\n\n@-o-keyframes fadeOut {\n\t0% {opacity: 1;}\n\t100% {opacity: 0;}\n}\n\n@keyframes fadeOut {\n\t0% {opacity: 1;}\n\t100% {opacity: 0;}\n}\n\n.fadeOut {\n\t-webkit-animation-name: fadeOut;\n\t-moz-animation-name: fadeOut;\n\t-o-animation-name: fadeOut;\n\tanimation-name: fadeOut;\n}\n@-webkit-keyframes fadeOutUp {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(-20px);\n\t}\n}\n@-moz-keyframes fadeOutUp {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(-20px);\n\t}\n}\n@-o-keyframes fadeOutUp {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(-20px);\n\t}\n}\n@keyframes fadeOutUp {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateY(-20px);\n\t}\n}\n\n.fadeOutUp {\n\t-webkit-animation-name: fadeOutUp;\n\t-moz-animation-name: fadeOutUp;\n\t-o-animation-name: fadeOutUp;\n\tanimation-name: fadeOutUp;\n}\n@-webkit-keyframes fadeOutDown {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(20px);\n\t}\n}\n\n@-moz-keyframes fadeOutDown {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(20px);\n\t}\n}\n\n@-o-keyframes fadeOutDown {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(20px);\n\t}\n}\n\n@keyframes fadeOutDown {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateY(20px);\n\t}\n}\n\n.fadeOutDown {\n\t-webkit-animation-name: fadeOutDown;\n\t-moz-animation-name: fadeOutDown;\n\t-o-animation-name: fadeOutDown;\n\tanimation-name: fadeOutDown;\n}\n@-webkit-keyframes fadeOutLeft {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(-20px);\n\t}\n}\n\n@-moz-keyframes fadeOutLeft {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(-20px);\n\t}\n}\n\n@-o-keyframes fadeOutLeft {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(-20px);\n\t}\n}\n\n@keyframes fadeOutLeft {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateX(-20px);\n\t}\n}\n\n.fadeOutLeft {\n\t-webkit-animation-name: fadeOutLeft;\n\t-moz-animation-name: fadeOutLeft;\n\t-o-animation-name: fadeOutLeft;\n\tanimation-name: fadeOutLeft;\n}\n@-webkit-keyframes fadeOutRight {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(20px);\n\t}\n}\n\n@-moz-keyframes fadeOutRight {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(20px);\n\t}\n}\n\n@-o-keyframes fadeOutRight {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(20px);\n\t}\n}\n\n@keyframes fadeOutRight {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateX(20px);\n\t}\n}\n\n.fadeOutRight {\n\t-webkit-animation-name: fadeOutRight;\n\t-moz-animation-name: fadeOutRight;\n\t-o-animation-name: fadeOutRight;\n\tanimation-name: fadeOutRight;\n}\n@-webkit-keyframes fadeOutUpBig {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(-2000px);\n\t}\n}\n\n@-moz-keyframes fadeOutUpBig {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(-2000px);\n\t}\n}\n\n@-o-keyframes fadeOutUpBig {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(-2000px);\n\t}\n}\n\n@keyframes fadeOutUpBig {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateY(-2000px);\n\t}\n}\n\n.fadeOutUpBig {\n\t-webkit-animation-name: fadeOutUpBig;\n\t-moz-animation-name: fadeOutUpBig;\n\t-o-animation-name: fadeOutUpBig;\n\tanimation-name: fadeOutUpBig;\n}\n@-webkit-keyframes fadeOutDownBig {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateY(2000px);\n\t}\n}\n\n@-moz-keyframes fadeOutDownBig {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateY(2000px);\n\t}\n}\n\n@-o-keyframes fadeOutDownBig {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateY(2000px);\n\t}\n}\n\n@keyframes fadeOutDownBig {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateY(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateY(2000px);\n\t}\n}\n\n.fadeOutDownBig {\n\t-webkit-animation-name: fadeOutDownBig;\n\t-moz-animation-name: fadeOutDownBig;\n\t-o-animation-name: fadeOutDownBig;\n\tanimation-name: fadeOutDownBig;\n}\n@-webkit-keyframes fadeOutLeftBig {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(-2000px);\n\t}\n}\n\n@-moz-keyframes fadeOutLeftBig {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(-2000px);\n\t}\n}\n\n@-o-keyframes fadeOutLeftBig {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(-2000px);\n\t}\n}\n\n@keyframes fadeOutLeftBig {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateX(-2000px);\n\t}\n}\n\n.fadeOutLeftBig {\n\t-webkit-animation-name: fadeOutLeftBig;\n\t-moz-animation-name: fadeOutLeftBig;\n\t-o-animation-name: fadeOutLeftBig;\n\tanimation-name: fadeOutLeftBig;\n}\n@-webkit-keyframes fadeOutRightBig {\n\t0% {\n\t\topacity: 1;\n\t\t-webkit-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-webkit-transform: translateX(2000px);\n\t}\n}\n@-moz-keyframes fadeOutRightBig {\n\t0% {\n\t\topacity: 1;\n\t\t-moz-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-moz-transform: translateX(2000px);\n\t}\n}\n@-o-keyframes fadeOutRightBig {\n\t0% {\n\t\topacity: 1;\n\t\t-o-transform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\t-o-transform: translateX(2000px);\n\t}\n}\n@keyframes fadeOutRightBig {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: translateX(0);\n\t}\n\t\n\t100% {\n\t\topacity: 0;\n\t\ttransform: translateX(2000px);\n\t}\n}\n\n.fadeOutRightBig {\n\t-webkit-animation-name: fadeOutRightBig;\n\t-moz-animation-name: fadeOutRightBig;\n\t-o-animation-name: fadeOutRightBig;\n\tanimation-name: fadeOutRightBig;\n}\n\n\n\n\n@-webkit-keyframes flipInX {\n    0% {\n        -webkit-transform: perspective(400px) rotateX(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -webkit-transform: perspective(400px) rotateX(-10deg);\n    }\n\n    70% {\n        -webkit-transform: perspective(400px) rotateX(10deg);\n    }\n\n    100% {\n        -webkit-transform: perspective(400px) rotateX(0deg);\n        opacity: 1;\n    }\n}\n@-moz-keyframes flipInX {\n    0% {\n        -moz-transform: perspective(400px) rotateX(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -moz-transform: perspective(400px) rotateX(-10deg);\n    }\n\n    70% {\n        -moz-transform: perspective(400px) rotateX(10deg);\n    }\n\n    100% {\n        -moz-transform: perspective(400px) rotateX(0deg);\n        opacity: 1;\n    }\n}\n@-o-keyframes flipInX {\n    0% {\n        -o-transform: perspective(400px) rotateX(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -o-transform: perspective(400px) rotateX(-10deg);\n    }\n\n    70% {\n        -o-transform: perspective(400px) rotateX(10deg);\n    }\n\n    100% {\n        -o-transform: perspective(400px) rotateX(0deg);\n        opacity: 1;\n    }\n}\n@keyframes flipInX {\n    0% {\n        transform: perspective(400px) rotateX(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        transform: perspective(400px) rotateX(-10deg);\n    }\n\n    70% {\n        transform: perspective(400px) rotateX(10deg);\n    }\n\n    100% {\n        transform: perspective(400px) rotateX(0deg);\n        opacity: 1;\n    }\n}\n\n.animated.flipInX {\n\t-webkit-backface-visibility: visible !important;\n\t-webkit-animation-name: flipInX;\n\t-moz-backface-visibility: visible !important;\n\t-moz-animation-name: flipInX;\n\t-o-backface-visibility: visible !important;\n\t-o-animation-name: flipInX;\n\tbackface-visibility: visible !important;\n\tanimation-name: flipInX;\n}\n\n@-webkit-keyframes flipInY {\n    0% {\n        -webkit-transform: perspective(400px) rotateY(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -webkit-transform: perspective(400px) rotateY(-10deg);\n    }\n\n    70% {\n        -webkit-transform: perspective(400px) rotateY(10deg);\n    }\n\n    100% {\n        -webkit-transform: perspective(400px) rotateY(0deg);\n        opacity: 1;\n    }\n}\n@-moz-keyframes flipInY {\n    0% {\n        -moz-transform: perspective(400px) rotateY(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -moz-transform: perspective(400px) rotateY(-10deg);\n    }\n\n    70% {\n        -moz-transform: perspective(400px) rotateY(10deg);\n    }\n\n    100% {\n        -moz-transform: perspective(400px) rotateY(0deg);\n        opacity: 1;\n    }\n}\n@-o-keyframes flipInY {\n    0% {\n        -o-transform: perspective(400px) rotateY(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        -o-transform: perspective(400px) rotateY(-10deg);\n    }\n\n    70% {\n        -o-transform: perspective(400px) rotateY(10deg);\n    }\n\n    100% {\n        -o-transform: perspective(400px) rotateY(0deg);\n        opacity: 1;\n    }\n}\n@keyframes flipInY {\n    0% {\n        transform: perspective(400px) rotateY(90deg);\n        opacity: 0;\n    }\n\n    40% {\n        transform: perspective(400px) rotateY(-10deg);\n    }\n\n    70% {\n        transform: perspective(400px) rotateY(10deg);\n    }\n\n    100% {\n        transform: perspective(400px) rotateY(0deg);\n        opacity: 1;\n    }\n}\n\n.animated.flipInY {\n\t-webkit-backface-visibility: visible !important;\n\t-webkit-animation-name: flipInY;\n\t-moz-backface-visibility: visible !important;\n\t-moz-animation-name: flipInY;\n\t-o-backface-visibility: visible !important;\n\t-o-animation-name: flipInY;\n\tbackface-visibility: visible !important;\n\tanimation-name: flipInY;\n}"
  },
  {
    "path": "src/css/app.css",
    "content": "/* \n\n*/\n\nhtml {\n  background-color: #f0f3f4;\n}\n\nbody {\n  font-family: \"Source Sans Pro\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  -webkit-font-smoothing: antialiased;\n  line-height: 1.42857143;\n  color: #58666e;\n  background-color: transparent;\n}\n\n*:focus {\n  outline: 0 !important;\n}\n\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  margin: 0;\n}\n\na {\n  color: #363f44;\n  text-decoration: none;\n  cursor: pointer;\n}\n\na:hover,\na:focus {\n  color: #141719;\n  text-decoration: none;\n}\n\nlabel {\n  font-weight: normal;\n}\n\nsmall,\n.small {\n  font-size: 13px;\n}\n\n.badge,\n.label {\n  font-weight: bold;\n  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);\n}\n\n.badge.bg-light,\n.label.bg-light {\n  text-shadow: none;\n}\n\n.badge {\n  background-color: #cfdadd;\n}\n\n.badge.up {\n  position: relative;\n  top: -10px;\n  padding: 3px 6px;\n  margin-left: -10px;\n}\n\n.badge-sm {\n  padding: 2px 5px !important;\n  font-size: 85%;\n}\n\n.label-sm {\n  padding-top: 0;\n  padding-bottom: 1px;\n}\n\n.badge-white {\n  padding: 2px 6px;\n  background-color: transparent;\n  border: 1px solid rgba(255, 255, 255, 0.35);\n}\n\n.badge-empty {\n  color: inherit;\n  background-color: transparent;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n}\n\nblockquote {\n  border-color: #dee5e7;\n}\n\n.caret-white {\n  border-top-color: #fff;\n  border-top-color: rgba(255, 255, 255, 0.65);\n}\n\na:hover .caret-white {\n  border-top-color: #fff;\n}\n\n.thumbnail {\n  border-color: #dee5e7;\n}\n\n.progress {\n  background-color: #edf1f2;\n}\n\n.progress-xxs {\n  height: 2px;\n}\n\n.progress-xs {\n  height: 6px;\n}\n\n.progress-sm {\n  height: 12px;\n}\n\n.progress-sm .progress-bar {\n  font-size: 10px;\n  line-height: 1em;\n}\n\n.progress,\n.progress-bar {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n\n.progress-bar-primary {\n  background-color: #7266ba;\n}\n\n.progress-bar-info {\n  background-color: #23b7e5;\n}\n\n.progress-bar-success {\n  background-color: #27c24c;\n}\n\n.progress-bar-warning {\n  background-color: #fad733;\n}\n\n.progress-bar-danger {\n  background-color: #f05050;\n}\n\n.progress-bar-black {\n  background-color: #1c2b36;\n}\n\n.progress-bar-white {\n  background-color: #fff;\n}\n\n.accordion-group,\n.accordion-inner {\n  border-color: #dee5e7;\n  border-radius: 2px;\n}\n\n.alert {\n  font-size: 13px;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);\n}\n\n.alert .close i {\n  display: block;\n  font-size: 12px;\n  font-weight: normal;\n}\n\n.form-control {\n  border-color: #cfdadd;\n  border-radius: 2px;\n}\n\n.form-control,\n.form-control:focus {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n\n.form-control:focus {\n  border-color: #23b7e5;\n}\n\n.form-horizontal .control-label.text-left {\n  text-align: left;\n}\n\n.form-control-spin {\n  position: absolute;\n  top: 50%;\n  right: 10px;\n  z-index: 2;\n  margin-top: -7px;\n}\n\n.input-lg {\n  height: 45px;\n}\n\n.input-group-addon {\n  background-color: #edf1f2;\n  border-color: #cfdadd;\n}\n\n.list-group {\n  border-radius: 2px;\n}\n\n.list-group.no-radius .list-group-item {\n  border-radius: 0 !important;\n}\n\n.list-group.no-borders .list-group-item {\n  border: none;\n}\n\n.list-group.no-border .list-group-item {\n  border-width: 1px 0;\n}\n\n.list-group.no-bg .list-group-item {\n  background-color: transparent;\n}\n\n.list-group-item {\n  padding-right: 15px;\n  border-color: #e7ecee;\n}\n\na.list-group-item:hover,\na.list-group-item:focus,\na.list-group-item.hover {\n  background-color: #f6f8f8;\n}\n\n.list-group-item.media {\n  margin-top: 0;\n}\n\n.list-group-item.active {\n  color: #fff;\n  background-color: #23b7e5 !important;\n  border-color: #23b7e5 !important;\n}\n\n.list-group-item.active .text-muted {\n  color: #ace4f5 !important;\n}\n\n.list-group-item.active a {\n  color: #fff;\n}\n\n.list-group-item.focus {\n  background-color: #e4eaec !important;\n}\n\n.list-group-item.select {\n  position: relative;\n  z-index: 1;\n  background-color: #dbeef9 !important;\n  border-color: #c5e4f5;\n}\n\n.list-group-alt .list-group-item:nth-child(2n+2) {\n  background-color: rgba(0, 0, 0, 0.02) !important;\n}\n\n.list-group-lg .list-group-item {\n  padding-top: 15px;\n  padding-bottom: 15px;\n}\n\n.list-group-sm .list-group-item {\n  padding: 6px 10px;\n}\n\n.list-group-sp .list-group-item {\n  margin-bottom: 5px;\n  border-radius: 3px;\n}\n\n.list-group-item > .badge {\n  margin-right: 0;\n}\n\n.list-group-item > .fa-chevron-right {\n  float: right;\n  margin-top: 4px;\n  margin-right: -5px;\n}\n\n.list-group-item > .fa-chevron-right + .badge {\n  margin-right: 5px;\n}\n\n.nav-pills.no-radius > li > a {\n  border-radius: 0;\n}\n\n.nav-pills > li.active > a {\n  color: #fff !important;\n  background-color: #23b7e5;\n}\n\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:active {\n  background-color: #19a9d5;\n}\n\n.nav > li > a:hover,\n.nav > li > a:focus {\n  background-color: #f6f8f8;\n}\n\n.nav.nav-lg > li > a {\n  padding: 20px 20px;\n}\n\n.nav.nav-md > li > a {\n  padding: 15px 15px;\n}\n\n.nav.nav-sm > li > a {\n  padding: 6px 12px;\n}\n\n.nav.nav-xs > li > a {\n  padding: 4px 10px;\n}\n\n.nav.nav-xxs > li > a {\n  padding: 1px 10px;\n}\n\n.nav.nav-rounded > li > a {\n  border-radius: 20px;\n}\n\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #f6f8f8;\n}\n\n.nav-tabs {\n  border-color: #dee5e7;\n}\n\n.nav-tabs > li > a {\n  border-bottom-color: #dee5e7;\n  border-radius: 2px 2px 0 0;\n}\n\n.nav-tabs > li:hover > a,\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover {\n  border-color: #dee5e7;\n}\n\n.nav-tabs > li.active > a {\n  border-bottom-color: #fff !important;\n}\n\n.nav-tabs-alt .nav-tabs.nav-justified > li {\n  display: table-cell;\n  width: 1%;\n}\n\n.nav-tabs-alt .nav-tabs > li > a {\n  background: transparent !important;\n  border-color: transparent !important;\n  border-bottom-color: #dee5e7 !important;\n  border-radius: 0;\n}\n\n.nav-tabs-alt .nav-tabs > li.active > a {\n  border-bottom-color: #23b7e5 !important;\n}\n\n.tab-container {\n  margin-bottom: 15px;\n}\n\n.tab-container .tab-content {\n  padding: 15px;\n  background-color: #fff;\n  border: 1px solid #dee5e7;\n  border-top-width: 0;\n  border-radius: 0 0 2px 2px;\n}\n\n.pagination > li > a {\n  border-color: #dee5e7;\n}\n\n.pagination > li > a:hover,\n.pagination > li > a:focus {\n  background-color: #edf1f2;\n  border-color: #dee5e7;\n}\n\n.panel {\n  border-radius: 2px;\n}\n\n.panel .accordion-toggle {\n  display: block;\n  font-size: 14px;\n  cursor: pointer;\n}\n\n.panel .list-group-item {\n  border-color: #edf1f2;\n}\n\n.panel.no-borders {\n  border-width: 0;\n}\n\n.panel.no-borders .panel-heading,\n.panel.no-borders .panel-footer {\n  border-width: 0;\n}\n\n.panel-heading {\n  border-radius: 2px 2px 0 0;\n}\n\n.panel-default .panel-heading {\n  background-color: #f6f8f8;\n}\n\n.panel-heading.no-border {\n  margin: -1px -1px 0 -1px;\n  border: none;\n}\n\n.panel-heading .nav {\n  margin: -10px -15px;\n}\n\n.panel-heading .list-group {\n  background: transparent;\n}\n\n.panel-footer {\n  background-color: #ffffff;\n  border-color: #edf1f2;\n  border-radius: 0 0 2px 2px;\n}\n\n.panel-default {\n  border-color: #dee5e7;\n}\n\n.panel-default > .panel-heading,\n.panel-default > .panel-footer {\n  border-color: #edf1f2;\n}\n\n.panel-group .panel-heading + .panel-collapse .panel-body {\n  border-top: 1px solid #eaedef;\n}\n\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px 15px;\n  border-top: 1px solid #eaeff0;\n}\n\n.table > thead > tr > th {\n  padding: 8px 15px;\n  border-bottom: 1px solid #eaeff0;\n}\n\n.table-bordered {\n  border-color: #eaeff0;\n}\n\n.table-bordered > tbody > tr > td {\n  border-color: #eaeff0;\n}\n\n.table-bordered > thead > tr > th {\n  border-color: #eaeff0;\n}\n\n.table-striped > tbody > tr:nth-child(odd) > td,\n.table-striped > tbody > tr:nth-child(odd) > th {\n  background-color: #fafbfc;\n}\n\n.table-striped > thead > th {\n  background-color: #fafbfc;\n  border-right: 1px solid #eaeff0;\n}\n\n.table-striped > thead > th:last-child {\n  border-right: none;\n}\n\n.well,\npre {\n  background-color: #edf1f2;\n  border-color: #dee5e7;\n}\n\n.dropdown-menu {\n  border: 1px solid #dee5e7;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  border-radius: 2px;\n  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n}\n\n.dropdown-menu.pull-left {\n  left: 100%;\n}\n\n.dropdown-menu > .panel {\n  margin: -5px 0;\n  border: none;\n}\n\n.dropdown-menu > li > a {\n  padding: 5px 15px;\n}\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus,\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #141719;\n  background-color: #edf1f2 !important;\n  background-image: none;\n  filter: none;\n}\n\n.dropdown-header {\n  padding: 5px 15px;\n}\n\n.dropdown-submenu {\n  position: relative;\n}\n\n.dropdown-submenu:hover > a,\n.dropdown-submenu:focus > a {\n  color: #58666e;\n  background-color: #edf1f2 !important;\n}\n\n.dropdown-submenu:hover > .dropdown-menu,\n.dropdown-submenu:focus > .dropdown-menu {\n  display: block;\n}\n\n.dropdown-submenu.pull-left {\n  float: none !important;\n}\n\n.dropdown-submenu.pull-left > .dropdown-menu {\n  left: -100%;\n  margin-left: 10px;\n}\n\n.dropdown-submenu .dropdown-menu {\n  top: 0;\n  left: 100%;\n  margin-top: -6px;\n  margin-left: -1px;\n}\n\n.dropup .dropdown-submenu > .dropdown-menu {\n  top: auto;\n  bottom: 0;\n}\n\n.btn-group > .btn {\n  margin-left: -1px;\n}\n\n/*cols*/\n\n.col-lg-2-4 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col-0 {\n  clear: left;\n}\n\n.row.no-gutter {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n.no-gutter [class*=\"col\"] {\n  padding: 0;\n}\n\n.row-sm {\n  margin-right: -10px;\n  margin-left: -10px;\n}\n\n.row-sm > div {\n  padding-right: 10px;\n  padding-left: 10px;\n}\n\n.modal-backdrop {\n  background-color: #3a3f51;\n}\n\n.modal-backdrop.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n.modal-over {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n\n.modal-center {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n}\n\n/*layout*/\n\nhtml,\nbody {\n  width: 100%;\n  height: 100%;\n}\n\nbody {\n  overflow-x: hidden;\n}\n\n.app {\n  position: relative;\n  width: 100%;\n  height: auto;\n  min-height: 100%;\n}\n\n.app:before {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: -1;\n  display: block;\n  width: inherit;\n  background-color: #f0f3f4;\n  border: inherit;\n  content: \"\";\n}\n\n.app-header-fixed {\n  padding-top: 50px;\n}\n\n.app-header-fixed .app-header {\n  position: fixed;\n  top: 0;\n  width: 100%;\n}\n\n.app-header {\n  z-index: 1025;\n  border-radius: 0;\n}\n\n.app-aside {\n  float: left;\n}\n\n.app-aside:before {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: -1;\n  width: inherit;\n  background-color: inherit;\n  border: inherit;\n  content: \"\";\n}\n\n.app-aside-footer {\n  position: absolute;\n  bottom: 0;\n  z-index: 1000;\n  width: 100%;\n  max-width: 200px;\n}\n\n.app-aside-folded .app-aside-footer {\n  max-width: 60px;\n}\n\n.app-aside-footer ~ div {\n  padding-bottom: 50px;\n}\n\n.app-aside-right {\n  padding-bottom: 50px;\n}\n\n.app-content {\n  height: 100%;\n}\n\n.app-content:before,\n.app-content:after {\n  display: table;\n  content: \" \";\n}\n\n.app-content:after {\n  clear: both;\n}\n\n.app-content-full {\n  position: absolute;\n  top: 50px;\n  bottom: 50px;\n  width: auto !important;\n  height: auto;\n  padding: 0 !important;\n  overflow-y: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.app-content-full.h-full {\n  bottom: 0;\n  height: auto;\n}\n\n.app-content-body {\n  float: left;\n  width: 100%;\n  padding-bottom: 50px;\n}\n\n.app-footer {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n}\n\n.app-footer.app-footer-fixed {\n  position: fixed;\n}\n\n.hbox {\n  display: table;\n  width: 100%;\n  height: 100%;\n  border-spacing: 0;\n  table-layout: fixed;\n}\n\n.hbox .col {\n  display: table-cell;\n  float: none;\n  height: 100%;\n  vertical-align: top;\n}\n\n.v-middle {\n  vertical-align: middle !important;\n}\n\n.v-top {\n  vertical-align: top !important;\n}\n\n.v-bottom {\n  vertical-align: bottom !important;\n}\n\n.vbox {\n  position: relative;\n  display: table;\n  width: 100%;\n  height: 100%;\n  min-height: 240px;\n  border-spacing: 0;\n}\n\n.vbox .row-row {\n  display: table-row;\n  height: 100%;\n}\n\n.vbox .row-row .cell {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.ie .vbox .row-row .cell {\n  display: table-cell;\n}\n\n.vbox .row-row .cell .cell-inner {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n\n.navbar {\n  margin: 0;\n  border-width: 0;\n  border-radius: 0;\n}\n\n.navbar .navbar-form-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n\n.navbar-md {\n  min-height: 60px;\n}\n\n.navbar-md .navbar-btn {\n  margin-top: 13px;\n}\n\n.navbar-md .navbar-form {\n  margin-top: 15px;\n}\n\n.navbar-md .navbar-nav > li > a {\n  padding-top: 20px;\n  padding-bottom: 20px;\n}\n\n.navbar-md .navbar-brand {\n  line-height: 60px;\n}\n\n.navbar-header > button {\n  padding: 10px 17px;\n  font-size: 16px;\n  line-height: 30px;\n  text-decoration: none;\n  background-color: transparent;\n  border: none;\n}\n\n.navbar-brand {\n  display: inline-block;\n  float: none;\n  height: auto;\n  padding: 0 20px;\n  font-size: 20px;\n  font-weight: 700;\n  line-height: 50px;\n  text-align: center;\n}\n\n.navbar-brand:hover {\n  text-decoration: none;\n}\n\n.navbar-brand img {\n  display: inline;\n  max-height: 20px;\n  margin-top: -4px;\n  vertical-align: middle;\n}\n\n@media (min-width: 768px) {\n  .app-aside,\n  .navbar-header {\n    width: 200px;\n  }\n  .navbar-collapse,\n  .app-content,\n  .app-footer {\n    margin-left: 200px;\n  }\n  .app-aside-right {\n    position: absolute;\n    top: 50px;\n    right: 0;\n    bottom: 0;\n    z-index: 1000;\n  }\n  .app-aside-right.pos-fix {\n    z-index: 1010;\n  }\n  .visible-folded {\n    display: none;\n  }\n  .app-aside-folded .hidden-folded {\n    display: none !important;\n  }\n  .app-aside-folded .visible-folded {\n    display: inherit;\n  }\n  .app-aside-folded .text-center-folded {\n    text-align: center;\n  }\n  .app-aside-folded .pull-none-folded {\n    float: none !important;\n  }\n  .app-aside-folded .w-auto-folded {\n    width: auto;\n  }\n  .app-aside-folded .app-aside,\n  .app-aside-folded .navbar-header {\n    width: 60px;\n  }\n  .app-aside-folded .navbar-collapse,\n  .app-aside-folded .app-content,\n  .app-aside-folded .app-footer {\n    margin-left: 60px;\n  }\n  .app-aside-folded .app-header .navbar-brand {\n    display: block;\n    padding: 0;\n  }\n  .app-aside-fixed .app-header .navbar-header {\n    position: fixed;\n  }\n  .app-aside-fixed .aside-wrap {\n    position: fixed;\n    top: 50px;\n    bottom: 0;\n    left: 0;\n    z-index: 1000;\n    width: 199px;\n    overflow: hidden;\n  }\n  .app-aside-fixed .aside-wrap .navi-wrap {\n    position: relative;\n    width: 217px;\n    height: 100%;\n    overflow-x: hidden;\n    overflow-y: scroll;\n    -webkit-overflow-scrolling: touch;\n  }\n  .app-aside-fixed .aside-wrap .navi-wrap::-webkit-scrollbar {\n    -webkit-appearance: none;\n  }\n  .app-aside-fixed .aside-wrap .navi-wrap::-webkit-scrollbar:vertical {\n    width: 17px;\n  }\n  .smart .app-aside-fixed .aside-wrap .navi-wrap {\n    width: 200px;\n  }\n  .app-aside-fixed.app-aside-folded .app-aside {\n    position: fixed;\n    top: 0;\n    bottom: 0;\n    z-index: 1010;\n  }\n  .app-aside-fixed.app-aside-folded .aside-wrap {\n    width: 59px;\n  }\n  .app-aside-fixed.app-aside-folded .aside-wrap .navi-wrap {\n    width: 77px;\n  }\n  .smart .app-aside-fixed.app-aside-folded .aside-wrap .navi-wrap {\n    width: 60px;\n  }\n  .bg-auto:before {\n    position: absolute;\n    top: 0;\n    bottom: 0;\n    z-index: -1;\n    width: inherit;\n    background-color: inherit;\n    border: inherit;\n    content: \"\";\n  }\n  .bg-auto.b-l:before {\n    margin-left: -1px;\n  }\n  .bg-auto.b-r:before {\n    margin-right: -1px;\n  }\n  .col.show {\n    display: table-cell !important;\n  }\n}\n\n@media (min-width: 768px) and (max-width: 991px) {\n  .hbox-auto-sm {\n    display: block;\n  }\n  .hbox-auto-sm > .col {\n    display: block;\n    width: auto;\n    height: auto;\n  }\n  .hbox-auto-sm > .col.show {\n    display: block !important;\n  }\n}\n\n@media (max-width: 767px) {\n  .app-aside {\n    float: none;\n  }\n  .app-content-full {\n    width: 100% !important;\n  }\n  .hbox-auto-xs {\n    display: block;\n  }\n  .hbox-auto-xs > .col {\n    display: block;\n    width: auto;\n    height: auto;\n  }\n  .navbar-nav {\n    margin-top: 0;\n    margin-bottom: 0;\n  }\n  .navbar-nav > li > a {\n    box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);\n  }\n  .navbar-nav > li > a .up {\n    top: 0;\n  }\n  .navbar-nav > li > a .avatar {\n    width: 30px;\n    margin-top: -5px;\n  }\n  .navbar-nav .open .dropdown-menu {\n    background-color: #fff;\n  }\n  .navbar-form {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n    box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);\n  }\n  .navbar-form .form-group {\n    margin-bottom: 0;\n  }\n}\n\nhtml {\n  background: url('../img/bg.jpg');\n  background-attachment: fixed;\n  background-size: cover;\n}\n\n.app.container {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n@media (min-width: 768px) {\n  .app.container {\n    width: 750px;\n    -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);\n            box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);\n  }\n  .app.container .app-aside {\n    overflow-x: hidden;\n  }\n  .app.container.app-aside-folded .app-aside {\n    overflow-x: visible;\n  }\n  .app.container.app-aside-fixed .aside-wrap {\n    left: inherit;\n  }\n  .app.container.app-aside-fixed.app-aside-folded .app-aside > ul.nav {\n    position: absolute;\n  }\n  .app.container .app-header,\n  .app.container .app-aside {\n    max-width: 750px;\n  }\n  .app.container .app-footer-fixed {\n    right: auto;\n    left: auto;\n    width: 100%;\n    max-width: 550px;\n  }\n  .app.container.app-aside-folded .app-footer-fixed {\n    max-width: 690px;\n  }\n  .app.container.app-aside-dock .app-footer-fixed {\n    max-width: 750px;\n  }\n}\n\n@media (min-width: 992px) {\n  .app.container {\n    width: 970px;\n  }\n  .app.container .app-header,\n  .app.container .app-aside {\n    max-width: 970px;\n  }\n  .app.container .app-footer-fixed {\n    max-width: 770px;\n  }\n  .app.container.app-aside-folded .app-footer-fixed {\n    max-width: 910px;\n  }\n  .app.container.app-aside-dock .app-footer-fixed {\n    max-width: 970px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .app.container {\n    width: 1170px;\n  }\n  .app.container .app-header,\n  .app.container .app-aside {\n    max-width: 1170px;\n  }\n  .app.container .app-footer-fixed {\n    max-width: 970px;\n  }\n  .app.container.app-aside-folded .app-footer-fixed {\n    max-width: 1110px;\n  }\n  .app.container.app-aside-dock .app-footer-fixed {\n    max-width: 1170px;\n  }\n}\n\n.nav-sub {\n  height: 0;\n  margin-left: -20px;\n  overflow: hidden;\n  opacity: 0;\n  -webkit-transition: all 0.2s ease-in-out 0s;\n          transition: all 0.2s ease-in-out 0s;\n}\n\n.active > .nav-sub,\n.app-aside-folded li:hover > .nav-sub,\n.app-aside-folded li:focus > .nav-sub,\n.app-aside-folded li:active > .nav-sub {\n  height: auto !important;\n  margin-left: 0;\n  overflow: auto;\n  opacity: 1;\n}\n\n.nav-sub-header {\n  display: none !important;\n}\n\n.nav-sub-header a {\n  padding: 15px 20px;\n}\n\n.navi ul.nav li {\n  position: relative;\n  display: block;\n}\n\n.navi ul.nav li li a {\n  padding-left: 55px;\n}\n\n.navi ul.nav li li ul {\n  display: none;\n}\n\n.navi ul.nav li li.active > ul {\n  display: block;\n}\n\n.navi ul.nav li a {\n  position: relative;\n  display: block;\n  padding: 10px 20px;\n  font-weight: normal;\n  text-transform: none;\n  -webkit-transition: background-color 0.2s ease-in-out 0s;\n          transition: background-color 0.2s ease-in-out 0s;\n}\n\n.navi ul.nav li a .badge,\n.navi ul.nav li a .label {\n  padding: 2px 5px;\n  margin-top: 2px;\n  font-size: 11px;\n}\n\n.navi ul.nav li a > i {\n  position: relative;\n  top: 0;\n  float: left;\n  width: 40px;\n  margin: -10px -10px;\n  margin-right: 5px;\n  overflow: hidden;\n  line-height: 40px;\n  text-align: center;\n}\n\n.navi ul.nav li a > i:before {\n  position: relative;\n  z-index: 2;\n}\n\n@media (min-width: 768px) {\n  .app-aside-folded .nav-sub-header {\n    display: block !important;\n  }\n  .app-aside-folded .nav-sub-header a {\n    padding: 15px 20px !important;\n  }\n  .app-aside-folded .navi > ul > li > a {\n    position: relative;\n    height: 50px;\n    padding: 0;\n    text-align: center;\n    border: none;\n  }\n  .app-aside-folded .navi > ul > li > a span {\n    display: none;\n  }\n  .app-aside-folded .navi > ul > li > a span.pull-right {\n    display: none !important;\n  }\n  .app-aside-folded .navi > ul > li > a i {\n    display: block;\n    float: none;\n    width: auto;\n    margin: 0;\n    font-size: 16px;\n    line-height: 50px;\n    border: none !important;\n  }\n  .app-aside-folded .navi > ul > li > a i b {\n    left: 0 !important;\n  }\n  .app-aside-folded .navi > ul > li > a .badge,\n  .app-aside-folded .navi > ul > li > a .label {\n    position: absolute;\n    top: 8px;\n    right: 12px;\n    z-index: 3;\n  }\n  .app-aside-folded .navi > ul > li > ul {\n    position: absolute;\n    top: 0 !important;\n    left: 100%;\n    z-index: 1050;\n    width: 200px;\n    height: 0 !important;\n    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n  }\n  .app-aside-folded .navi li li a {\n    padding-left: 20px !important;\n  }\n  .app-aside-folded.app-aside-fixed .app-aside > ul.nav {\n    position: fixed;\n    left: 80px;\n    z-index: 1010;\n    display: block;\n    width: 260px;\n    height: auto;\n    overflow: visible;\n    overflow-y: auto;\n    opacity: 1;\n    -webkit-overflow-scrolling: touch;\n  }\n  .app-aside-folded.app-aside-fixed .app-aside > ul.nav:before {\n    position: absolute;\n    top: 0;\n    left: -60px;\n    width: 60px;\n    height: 50px;\n    content: \"\";\n  }\n  .app-aside-folded.app-aside-fixed .app-aside > ul.nav a {\n    padding-right: 20px !important;\n    padding-left: 20px !important;\n  }\n}\n\n@media (max-width: 767px) {\n  .app {\n    overflow-x: hidden;\n  }\n  .app-content {\n    -webkit-transition: -webkit-transform 0.2s ease;\n       -moz-transition: -moz-transform 0.2s ease;\n         -o-transition: -o-transform 0.2s ease;\n            transition: transform 0.2s ease;\n  }\n  .off-screen {\n    position: absolute;\n    top: 50px;\n    bottom: 0;\n    z-index: 1010;\n    display: block !important;\n    width: 75%;\n    overflow-x: hidden;\n    overflow-y: auto;\n    visibility: visible;\n    -webkit-overflow-scrolling: touch;\n  }\n  .off-screen + * {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: 1015;\n    width: 100%;\n    padding-top: 50px;\n    overflow: hidden;\n    background-color: #f0f3f4;\n    -webkit-transform: translate3d(75%, 0, 0px);\n            transform: translate3d(75%, 0, 0px);\n    -webkit-transition: -webkit-transform 0.2s ease;\n       -moz-transition: -moz-transform 0.2s ease;\n         -o-transition: -o-transform 0.2s ease;\n            transition: transform 0.2s ease;\n    -webkit-backface-visibility: hidden;\n       -moz-backface-visibility: hidden;\n            backface-visibility: hidden;\n  }\n  .off-screen + * .off-screen-toggle {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: 1020;\n    display: block !important;\n  }\n  .off-screen.pull-right {\n    right: 0;\n  }\n  .off-screen.pull-right + * {\n    -webkit-transform: translate3d(-75%, 0, 0px);\n            transform: translate3d(-75%, 0, 0px);\n  }\n}\n\n@media (min-width: 992px) {\n  .app-aside-dock .app-content,\n  .app-aside-dock .app-footer {\n    margin-left: 0;\n  }\n  .app-aside-dock .app-aside-footer ~ div {\n    padding-bottom: 0;\n  }\n  .app-aside-dock.app-aside-fixed.app-header-fixed {\n    padding-top: 115px;\n  }\n  .app-aside-dock.app-aside-fixed .app-aside {\n    position: fixed;\n    top: 50px;\n    z-index: 1000;\n    width: 100%;\n  }\n  .app-aside-dock .app-aside,\n  .app-aside-dock .aside-wrap,\n  .app-aside-dock .navi-wrap {\n    position: relative;\n    top: 0;\n    float: none;\n    width: 100% !important;\n    overflow: visible !important;\n  }\n  .app-aside-dock .app-aside {\n    bottom: auto !important;\n  }\n  .app-aside-dock .app-aside.b-r {\n    border-bottom: 1px solid #dee5e7;\n    border-right-width: 0;\n  }\n  .app-aside-dock .app-aside:before {\n    display: none;\n  }\n  .app-aside-dock .app-aside nav > .nav {\n    float: left;\n  }\n  .app-aside-dock .app-aside .hidden-folded,\n  .app-aside-dock .app-aside .line,\n  .app-aside-dock .app-aside .navi-wrap > div {\n    display: none !important;\n  }\n  .app-aside-dock .app-aside .navi > ul > li {\n    position: relative;\n    display: inline-block;\n    float: left;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a {\n    height: auto;\n    padding: 10px 15px 12px 15px;\n    text-align: center;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > .badge,\n  .app-aside-dock .app-aside .navi > ul > li > a > .label {\n    position: absolute;\n    top: 5px;\n    right: 8px;\n    padding: 1px 4px;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > i {\n    display: block;\n    float: none;\n    width: 40px;\n    margin-top: -10px;\n    margin-right: auto;\n    margin-bottom: -7px;\n    margin-left: auto;\n    font-size: 14px;\n    line-height: 40px;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > span.pull-right {\n    position: absolute;\n    bottom: 2px;\n    left: 50%;\n    display: block !important;\n    margin-left: -6px;\n    line-height: 1;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > span.pull-right i {\n    width: 12px;\n    font-size: 12px;\n    line-height: 12px;\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > span.pull-right i.text {\n    line-height: 14px;\n    -webkit-transform: rotate(90deg);\n        -ms-transform: rotate(90deg);\n            transform: rotate(90deg);\n  }\n  .app-aside-dock .app-aside .navi > ul > li > a > span {\n    display: block;\n    font-weight: normal;\n  }\n  .app-aside-dock .app-aside .navi > ul > li .nav-sub {\n    position: absolute;\n    top: auto !important;\n    left: 0;\n    z-index: 1050;\n    display: none;\n    width: 200px;\n    height: auto !important;\n    -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n  }\n  .app-aside-dock .app-aside .navi > ul > li .nav-sub-header {\n    display: none !important;\n  }\n  .app-aside-dock .app-aside .navi li li a {\n    padding-left: 15px;\n  }\n  .app-aside-dock .app-aside .navi li:hover > .nav-sub,\n  .app-aside-dock .app-aside .navi li:focus > .nav-sub,\n  .app-aside-dock .app-aside .navi li:active > .nav-sub {\n    display: block;\n    height: auto !important;\n    margin-left: 0;\n    overflow: auto;\n    opacity: 1;\n  }\n}\n\n.arrow {\n  z-index: 10;\n  border-width: 9px;\n}\n\n.arrow,\n.arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n\n.arrow:after {\n  border-width: 8px;\n  content: \"\";\n}\n\n.arrow.top {\n  top: -9px;\n  left: 50%;\n  margin-left: -9px;\n  border-bottom-color: rgba(0, 0, 0, 0.1);\n  border-top-width: 0;\n}\n\n.arrow.top:after {\n  top: 1px;\n  margin-left: -8px;\n  border-bottom-color: #ffffff;\n  border-top-width: 0;\n}\n\n.arrow.top.arrow-primary:after {\n  border-bottom-color: #7266ba;\n}\n\n.arrow.top.arrow-info:after {\n  border-bottom-color: #23b7e5;\n}\n\n.arrow.top.arrow-success:after {\n  border-bottom-color: #27c24c;\n}\n\n.arrow.top.arrow-danger:after {\n  border-bottom-color: #f05050;\n}\n\n.arrow.top.arrow-warning:after {\n  border-bottom-color: #fad733;\n}\n\n.arrow.top.arrow-light:after {\n  border-bottom-color: #edf1f2;\n}\n\n.arrow.top.arrow-dark:after {\n  border-bottom-color: #3a3f51;\n}\n\n.arrow.top.arrow-black:after {\n  border-bottom-color: #1c2b36;\n}\n\n.arrow.right {\n  top: 50%;\n  right: -9px;\n  margin-top: -9px;\n  border-left-color: rgba(0, 0, 0, 0.1);\n  border-right-width: 0;\n}\n\n.arrow.right:after {\n  right: 1px;\n  bottom: -8px;\n  border-left-color: #ffffff;\n  border-right-width: 0;\n}\n\n.arrow.right.arrow-primary:after {\n  border-left-color: #7266ba;\n}\n\n.arrow.right.arrow-info:after {\n  border-left-color: #23b7e5;\n}\n\n.arrow.right.arrow-success:after {\n  border-left-color: #27c24c;\n}\n\n.arrow.right.arrow-danger:after {\n  border-left-color: #f05050;\n}\n\n.arrow.right.arrow-warning:after {\n  border-left-color: #fad733;\n}\n\n.arrow.right.arrow-light:after {\n  border-left-color: #edf1f2;\n}\n\n.arrow.right.arrow-dark:after {\n  border-left-color: #3a3f51;\n}\n\n.arrow.right.arrow-black:after {\n  border-left-color: #1c2b36;\n}\n\n.arrow.bottom {\n  bottom: -9px;\n  left: 50%;\n  margin-left: -9px;\n  border-top-color: rgba(0, 0, 0, 0.1);\n  border-bottom-width: 0;\n}\n\n.arrow.bottom:after {\n  bottom: 1px;\n  margin-left: -8px;\n  border-top-color: #ffffff;\n  border-bottom-width: 0;\n}\n\n.arrow.bottom.arrow-primary:after {\n  border-top-color: #7266ba;\n}\n\n.arrow.bottom.arrow-info:after {\n  border-top-color: #23b7e5;\n}\n\n.arrow.bottom.arrow-success:after {\n  border-top-color: #27c24c;\n}\n\n.arrow.bottom.arrow-danger:after {\n  border-top-color: #f05050;\n}\n\n.arrow.bottom.arrow-warning:after {\n  border-top-color: #fad733;\n}\n\n.arrow.bottom.arrow-light:after {\n  border-top-color: #edf1f2;\n}\n\n.arrow.bottom.arrow-dark:after {\n  border-top-color: #3a3f51;\n}\n\n.arrow.bottom.arrow-black:after {\n  border-top-color: #1c2b36;\n}\n\n.arrow.left {\n  top: 50%;\n  left: -9px;\n  margin-top: -9px;\n  border-right-color: rgba(0, 0, 0, 0.1);\n  border-left-width: 0;\n}\n\n.arrow.left:after {\n  bottom: -8px;\n  left: 1px;\n  border-right-color: #ffffff;\n  border-left-width: 0;\n}\n\n.arrow.left.arrow-primary:after {\n  border-right-color: #7266ba;\n}\n\n.arrow.left.arrow-info:after {\n  border-right-color: #23b7e5;\n}\n\n.arrow.left.arrow-success:after {\n  border-right-color: #27c24c;\n}\n\n.arrow.left.arrow-danger:after {\n  border-right-color: #f05050;\n}\n\n.arrow.left.arrow-warning:after {\n  border-right-color: #fad733;\n}\n\n.arrow.left.arrow-light:after {\n  border-right-color: #edf1f2;\n}\n\n.arrow.left.arrow-dark:after {\n  border-right-color: #3a3f51;\n}\n\n.arrow.left.arrow-black:after {\n  border-right-color: #1c2b36;\n}\n\n.arrow.pull-left {\n  left: 19px;\n}\n\n.arrow.pull-right {\n  right: 19px;\n  left: auto;\n}\n\n.arrow.pull-up {\n  top: 19px;\n}\n\n.arrow.pull-down {\n  top: auto;\n  bottom: 19px;\n}\n\n.btn {\n  font-weight: 500;\n  border-radius: 2px;\n  outline: 0!important;\n}\n\n.btn-link {\n  color: #58666e;\n}\n\n.btn-link.active {\n  box-shadow: none;\n  webkit-box-shadow: none;\n}\n\n.btn-default {\n  color: #58666e !important;\n  background-color: #fcfdfd;\n  background-color: #fff;\n  border-color: #dee5e7;\n  border-bottom-color: #d8e1e3;\n  -webkit-box-shadow: 0 1px 1px rgba(90, 90, 90, 0.1);\n          box-shadow: 0 1px 1px rgba(90, 90, 90, 0.1);\n}\n\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  color: #58666e !important;\n  background-color: #edf1f2;\n  border-color: #c7d3d6;\n}\n\n.btn-default:active,\n.btn-default.active,\n.open .dropdown-toggle.btn-default {\n  background-image: none;\n}\n\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n  background-color: #fcfdfd;\n  border-color: #dee5e7;\n}\n\n.btn-default.btn-bg {\n  border-color: rgba(0, 0, 0, 0.1);\n  background-clip: padding-box;\n}\n\n.btn-primary {\n  color: #ffffff !important;\n  background-color: #7266ba;\n  border-color: #7266ba;\n}\n\n.btn-primary:hover,\n.btn-primary:focus,\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  color: #ffffff !important;\n  background-color: #6254b2;\n  border-color: #5a4daa;\n}\n\n.btn-primary:active,\n.btn-primary.active,\n.open .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n  background-color: #7266ba;\n  border-color: #7266ba;\n}\n\n.btn-success {\n  color: #ffffff !important;\n  background-color: #27c24c;\n  border-color: #27c24c;\n}\n\n.btn-success:hover,\n.btn-success:focus,\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  color: #ffffff !important;\n  background-color: #23ad44;\n  border-color: #20a03f;\n}\n\n.btn-success:active,\n.btn-success.active,\n.open .dropdown-toggle.btn-success {\n  background-image: none;\n}\n\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n  background-color: #27c24c;\n  border-color: #27c24c;\n}\n\n.btn-info {\n  color: #ffffff !important;\n  background-color: #23b7e5;\n  border-color: #23b7e5;\n}\n\n.btn-info:hover,\n.btn-info:focus,\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  color: #ffffff !important;\n  background-color: #19a9d5;\n  border-color: #189ec8;\n}\n\n.btn-info:active,\n.btn-info.active,\n.open .dropdown-toggle.btn-info {\n  background-image: none;\n}\n\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n  background-color: #23b7e5;\n  border-color: #23b7e5;\n}\n\n.btn-warning {\n  color: #ffffff !important;\n  background-color: #fad733;\n  border-color: #fad733;\n}\n\n.btn-warning:hover,\n.btn-warning:focus,\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  color: #ffffff !important;\n  background-color: #f9d21a;\n  border-color: #f9cf0b;\n}\n\n.btn-warning:active,\n.btn-warning.active,\n.open .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n  background-color: #fad733;\n  border-color: #fad733;\n}\n\n.btn-danger {\n  color: #ffffff !important;\n  background-color: #f05050;\n  border-color: #f05050;\n}\n\n.btn-danger:hover,\n.btn-danger:focus,\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  color: #ffffff !important;\n  background-color: #ee3939;\n  border-color: #ed2a2a;\n}\n\n.btn-danger:active,\n.btn-danger.active,\n.open .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n  background-color: #f05050;\n  border-color: #f05050;\n}\n\n.btn-dark {\n  color: #ffffff !important;\n  background-color: #3a3f51;\n  border-color: #3a3f51;\n}\n\n.btn-dark:hover,\n.btn-dark:focus,\n.btn-dark:active,\n.btn-dark.active,\n.open .dropdown-toggle.btn-dark {\n  color: #ffffff !important;\n  background-color: #2f3342;\n  border-color: #292d39;\n}\n\n.btn-dark:active,\n.btn-dark.active,\n.open .dropdown-toggle.btn-dark {\n  background-image: none;\n}\n\n.btn-dark.disabled,\n.btn-dark[disabled],\nfieldset[disabled] .btn-dark,\n.btn-dark.disabled:hover,\n.btn-dark[disabled]:hover,\nfieldset[disabled] .btn-dark:hover,\n.btn-dark.disabled:focus,\n.btn-dark[disabled]:focus,\nfieldset[disabled] .btn-dark:focus,\n.btn-dark.disabled:active,\n.btn-dark[disabled]:active,\nfieldset[disabled] .btn-dark:active,\n.btn-dark.disabled.active,\n.btn-dark[disabled].active,\nfieldset[disabled] .btn-dark.active {\n  background-color: #3a3f51;\n  border-color: #3a3f51;\n}\n\n.btn-black {\n  color: #ffffff !important;\n  background-color: #1c2b36;\n  border-color: #1c2b36;\n}\n\n.btn-black:hover,\n.btn-black:focus,\n.btn-black:active,\n.btn-black.active,\n.open .dropdown-toggle.btn-black {\n  color: #ffffff !important;\n  background-color: #131e25;\n  border-color: #0e161b;\n}\n\n.btn-black:active,\n.btn-black.active,\n.open .dropdown-toggle.btn-black {\n  background-image: none;\n}\n\n.btn-black.disabled,\n.btn-black[disabled],\nfieldset[disabled] .btn-black,\n.btn-black.disabled:hover,\n.btn-black[disabled]:hover,\nfieldset[disabled] .btn-black:hover,\n.btn-black.disabled:focus,\n.btn-black[disabled]:focus,\nfieldset[disabled] .btn-black:focus,\n.btn-black.disabled:active,\n.btn-black[disabled]:active,\nfieldset[disabled] .btn-black:active,\n.btn-black.disabled.active,\n.btn-black[disabled].active,\nfieldset[disabled] .btn-black.active {\n  background-color: #1c2b36;\n  border-color: #1c2b36;\n}\n\n.btn-icon {\n  width: 34px;\n  height: 34px;\n  padding: 0 !important;\n  text-align: center;\n}\n\n.btn-icon i {\n  position: relative;\n  top: -1px;\n  line-height: 34px;\n}\n\n.btn-icon.btn-sm {\n  width: 30px;\n  height: 30px;\n}\n\n.btn-icon.btn-sm i {\n  line-height: 30px;\n}\n\n.btn-icon.btn-lg {\n  width: 45px;\n  height: 45px;\n}\n\n.btn-icon.btn-lg i {\n  line-height: 45px;\n}\n\n.btn-rounded {\n  padding-right: 15px;\n  padding-left: 15px;\n  border-radius: 50px;\n}\n\n.btn-rounded.btn-lg {\n  padding-right: 25px;\n  padding-left: 25px;\n}\n\n.btn > i.pull-left,\n.btn > i.pull-right {\n  line-height: 1.42857143;\n}\n\n.btn-block {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 2px;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-bottom-left-radius: 2px;\n}\n\n.btn-addon i {\n  position: relative;\n  float: left;\n  width: 34px;\n  height: 34px;\n  margin: -7px -12px;\n  margin-right: 12px;\n  line-height: 34px;\n  text-align: center;\n  background-color: rgba(0, 0, 0, 0.1);\n  border-radius: 2px 0 0 2px;\n}\n\n.btn-addon i.pull-right {\n  margin-right: -12px;\n  margin-left: 12px;\n  border-radius: 0 2px 2px 0;\n}\n\n.btn-addon.btn-sm i {\n  width: 30px;\n  height: 30px;\n  margin: -6px -10px;\n  margin-right: 10px;\n  line-height: 30px;\n}\n\n.btn-addon.btn-sm i.pull-right {\n  margin-right: -10px;\n  margin-left: 10px;\n}\n\n.btn-addon.btn-lg i {\n  width: 45px;\n  height: 45px;\n  margin: -11px -16px;\n  margin-right: 16px;\n  line-height: 45px;\n}\n\n.btn-addon.btn-lg i.pull-right {\n  margin-right: -16px;\n  margin-left: 16px;\n}\n\n.btn-addon.btn-default i {\n  background-color: transparent;\n  border-right: 1px solid #dee5e7;\n}\n\n.btn-groups .btn {\n  margin-bottom: 5px;\n}\n\n.list-icon i {\n  display: inline-block;\n  width: 40px;\n  margin: 0;\n  font-size: 14px;\n  text-align: center;\n  vertical-align: middle;\n  -webkit-transition: font-size 0.2s;\n          transition: font-size 0.2s;\n}\n\n.list-icon div {\n  line-height: 40px;\n  white-space: nowrap;\n}\n\n.list-icon div:hover i {\n  font-size: 26px;\n}\n\n.settings {\n  position: fixed;\n  top: 120px;\n  right: -240px;\n  z-index: 1050;\n  width: 240px;\n  -webkit-transition: right 0.2s;\n          transition: right 0.2s;\n}\n\n.settings.active {\n  right: -1px;\n}\n\n.settings > .btn {\n  position: absolute;\n  top: -1px;\n  left: -42px;\n  padding: 10px 15px;\n  background: #f6f8f8 !important;\n  border-color: #dee5e7 !important;\n  border-right-width: 0;\n}\n\n.settings .i-checks span b {\n  display: inline-block;\n  float: left;\n  width: 50%;\n  height: 20px;\n}\n\n.settings .i-checks span b.header {\n  height: 10px;\n}\n\n.streamline {\n  position: relative;\n  border-color: #dee5e7;\n}\n\n.streamline .sl-item:after,\n.streamline:after {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  width: 9px;\n  height: 9px;\n  margin-left: -5px;\n  background-color: #fff;\n  border-color: inherit;\n  border-style: solid;\n  border-width: 1px;\n  border-radius: 10px;\n  content: '';\n}\n\n.sl-item {\n  position: relative;\n  padding-bottom: 1px;\n  border-color: #dee5e7;\n}\n\n.sl-item:before,\n.sl-item:after {\n  display: table;\n  content: \" \";\n}\n\n.sl-item:after {\n  clear: both;\n}\n\n.sl-item:after {\n  top: 6px;\n  bottom: auto;\n}\n\n.sl-item.b-l {\n  margin-left: -1px;\n}\n\n.timeline {\n  padding: 0;\n  margin: 0;\n}\n\n.tl-item {\n  display: block;\n}\n\n.tl-item:before,\n.tl-item:after {\n  display: table;\n  content: \" \";\n}\n\n.tl-item:after {\n  clear: both;\n}\n\n.visible-left {\n  display: none;\n}\n\n.tl-wrap {\n  display: block;\n  padding: 15px 0 15px 20px;\n  margin-left: 6em;\n  border-color: #dee5e7;\n  border-style: solid;\n  border-width: 0 0 0 4px;\n}\n\n.tl-wrap:before,\n.tl-wrap:after {\n  display: table;\n  content: \" \";\n}\n\n.tl-wrap:after {\n  clear: both;\n}\n\n.tl-wrap:before {\n  position: relative;\n  top: 15px;\n  float: left;\n  width: 10px;\n  height: 10px;\n  margin-left: -27px;\n  background: #edf1f2;\n  border-color: inherit;\n  border-style: solid;\n  border-width: 3px;\n  border-radius: 50%;\n  content: \"\";\n  box-shadow: 0 0 0 4px #f0f3f4;\n}\n\n.tl-wrap:hover:before {\n  background: transparent;\n  border-color: #fff;\n}\n\n.tl-date {\n  position: relative;\n  top: 10px;\n  display: block;\n  float: left;\n  width: 4.5em;\n  margin-left: -7.5em;\n  text-align: right;\n}\n\n.tl-content {\n  position: relative;\n  display: inline-block;\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n\n.tl-content.block {\n  display: block;\n  width: 100%;\n}\n\n.tl-content.panel {\n  margin-bottom: 0;\n}\n\n.tl-header {\n  display: block;\n  width: 12em;\n  margin-left: 2px;\n  text-align: center;\n}\n\n.timeline-center .tl-item {\n  margin-left: 50%;\n}\n\n.timeline-center .tl-item .tl-wrap {\n  margin-left: -2px;\n}\n\n.timeline-center .tl-header {\n  width: auto;\n  margin: 0;\n}\n\n.timeline-center .tl-left {\n  margin-right: 50%;\n  margin-left: 0;\n}\n\n.timeline-center .tl-left .hidden-left {\n  display: none !important;\n}\n\n.timeline-center .tl-left .visible-left {\n  display: inherit;\n}\n\n.timeline-center .tl-left .tl-wrap {\n  float: right;\n  padding-right: 20px;\n  padding-left: 0;\n  margin-right: -2px;\n  border-right-width: 4px;\n  border-left-width: 0;\n}\n\n.timeline-center .tl-left .tl-wrap:before {\n  float: right;\n  margin-right: -27px;\n  margin-left: 0;\n}\n\n.timeline-center .tl-left .tl-date {\n  float: right;\n  margin-right: -8.5em;\n  margin-left: 0;\n  text-align: left;\n}\n\n.i-switch {\n  position: relative;\n  display: inline-block;\n  width: 35px;\n  height: 20px;\n  margin: 0;\n  cursor: pointer;\n  background-color: #27c24c;\n  border-radius: 30px;\n}\n\n.i-switch input {\n  position: absolute;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n\n.i-switch input:checked + i:before {\n  top: 50%;\n  right: 5px;\n  bottom: 50%;\n  left: 50%;\n  border-width: 0;\n  border-radius: 5px;\n}\n\n.i-switch input:checked + i:after {\n  margin-left: 16px;\n}\n\n.i-switch i:before {\n  position: absolute;\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  left: -1px;\n  background-color: #fff;\n  border: 1px solid #f0f0f0;\n  border-radius: 30px;\n  content: \"\";\n  -webkit-transition: all 0.2s;\n          transition: all 0.2s;\n}\n\n.i-switch i:after {\n  position: absolute;\n  top: 1px;\n  bottom: 1px;\n  width: 18px;\n  background-color: #fff;\n  border-radius: 50%;\n  content: \"\";\n  -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);\n          box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);\n  -webkit-transition: margin-left 0.3s;\n          transition: margin-left 0.3s;\n}\n\n.i-switch-md {\n  width: 40px;\n  height: 24px;\n}\n\n.i-switch-md input:checked + i:after {\n  margin-left: 17px;\n}\n\n.i-switch-md i:after {\n  width: 22px;\n}\n\n.i-switch-lg {\n  width: 50px;\n  height: 30px;\n}\n\n.i-switch-lg input:checked + i:after {\n  margin-left: 21px;\n}\n\n.i-switch-lg i:after {\n  width: 28px;\n}\n\n.i-checks {\n  padding-left: 20px;\n  cursor: pointer;\n}\n\n.i-checks input {\n  position: absolute;\n  margin-left: -20px;\n  opacity: 0;\n}\n\n.i-checks input:checked + i {\n  border-color: #23b7e5;\n}\n\n.i-checks input:checked + i:before {\n  top: 4px;\n  left: 4px;\n  width: 10px;\n  height: 10px;\n  background-color: #23b7e5;\n}\n\n.i-checks input:checked + span .active {\n  display: inherit;\n}\n\n.i-checks input[type=\"radio\"] + i,\n.i-checks input[type=\"radio\"] + i:before {\n  border-radius: 50%;\n}\n\n.i-checks input[disabled] + i,\nfieldset[disabled] .i-checks input + i {\n  border-color: #dee5e7;\n}\n\n.i-checks input[disabled] + i:before,\nfieldset[disabled] .i-checks input + i:before {\n  background-color: #dee5e7;\n}\n\n.i-checks > i {\n  position: relative;\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  margin-top: -2px;\n  margin-right: 4px;\n  margin-left: -20px;\n  line-height: 1;\n  vertical-align: middle;\n  background-color: #fff;\n  border: 1px solid #cfdadd;\n}\n\n.i-checks > i:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 0;\n  height: 0;\n  background-color: transparent;\n  content: \"\";\n  -webkit-transition: all 0.2s;\n          transition: all 0.2s;\n}\n\n.i-checks > span {\n  margin-left: -20px;\n}\n\n.i-checks > span .active {\n  display: none;\n}\n\n.i-checks-sm input:checked + i:before {\n  top: 3px;\n  left: 3px;\n  width: 8px;\n  height: 8px;\n}\n\n.i-checks-sm > i {\n  width: 16px;\n  height: 16px;\n  margin-right: 6px;\n  margin-left: -18px;\n}\n\n.i-checks-lg input:checked + i:before {\n  top: 8px;\n  left: 8px;\n  width: 12px;\n  height: 12px;\n}\n\n.i-checks-lg > i {\n  width: 30px;\n  height: 30px;\n}\n\n.hide-file input[type=\"file\"] {\n  position: absolute;\n  top: 0;\n  left: 0;\n  opacity: 0;\n}\n\n.datepicker {\n  margin: 0 5px;\n}\n\n.datepicker .btn-default {\n  border-width: 0;\n  box-shadow: none;\n}\n\n.datepicker .btn[disabled] {\n  opacity: 0.4;\n}\n\n.datepicker .btn-info .text-info {\n  color: #fff !important;\n}\n\n/*Charts*/\n\n.jqstooltip {\n  padding: 5px 10px !important;\n  background-color: rgba(0, 0, 0, 0.8) !important;\n  border: solid 1px #000 !important;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n}\n\n.easyPieChart {\n  position: relative;\n  text-align: center;\n}\n\n.easyPieChart > div {\n  position: relative;\n  z-index: 1;\n}\n\n.easyPieChart > div .text {\n  position: absolute;\n  top: 60%;\n  width: 100%;\n  line-height: 1;\n}\n\n.easyPieChart > div img {\n  margin-top: -4px;\n}\n\n.easyPieChart canvas {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 0;\n}\n\n#flotTip {\n  z-index: 100;\n  padding: 4px 10px;\n  font-size: 12px;\n  color: #fff;\n  background-color: rgba(0, 0, 0, 0.8);\n  border: solid 1px #000 !important;\n  -webkit-border-radius: 3px;\n     -moz-border-radius: 3px;\n          border-radius: 3px;\n}\n\n.legendColorBox > div {\n  margin: 5px;\n  border: none !important;\n}\n\n.legendColorBox > div > div {\n  border-radius: 10px;\n}\n\n.sortable-placeholder {\n  min-height: 50px;\n  margin-bottom: 5px;\n  list-style: none;\n  border: 1px dashed #CCC;\n}\n\n.table > thead .sorting,\n.table > thead .sorting_asc,\n.table > thead .sorting_desc {\n  white-space: normal;\n  cursor: pointer;\n}\n\n.table > thead .sorting:after,\n.table > thead .sorting_asc:after,\n.table > thead .sorting_desc:after {\n  position: relative;\n  float: right;\n  font-family: FontAwesome;\n  font-weight: normal;\n  color: #ccc;\n}\n\n.table > thead .sorting:after {\n  content: \"\\f0dc\";\n}\n\n.table > thead .sorting_asc:after {\n  content: \"\\f0de\";\n}\n\n.table > thead .sorting_desc:after {\n  content: \"\\f0dd\";\n}\n\n.ibox {\n  padding: 0;\n  margin-top: 0;\n  margin-bottom: 25px;\n  clear: both;\n}\n\n.ibox.collapsed .ibox-content {\n  display: none;\n}\n\n.ibox.collapsed .fa.fa-chevron-up:before {\n  content: \"\\f078\";\n}\n\n.ibox.collapsed .fa.fa-chevron-down:before {\n  content: \"\\f077\";\n}\n\n.ibox:after,\n.ibox:before {\n  display: table;\n}\n\n.ibox-title {\n  min-height: 48px;\n  padding: 14px 15px 7px;\n  margin-bottom: 0;\n  color: inherit;\n  background-color: #f0f3f4;\n  border-color: #dee5e7;\n  border-image: none;\n  border-style: solid solid none;\n  border-width: 3px 0 0;\n  -moz-border-bottom-colors: none;\n  -moz-border-left-colors: none;\n  -moz-border-right-colors: none;\n  -moz-border-top-colors: none;\n}\n\n.ibox-content {\n  padding: 15px 20px 20px 20px;\n  color: inherit;\n  background-color: #f0f3f4;\n  border-color: #dee5e7;\n  border-image: none;\n  border-style: solid solid none;\n  border-width: 1px 0;\n}\n\n.ibox-footer {\n  padding: 10px 15px;\n  font-size: 90%;\n  color: inherit;\n  background: #ffffff;\n  border-top: 1px solid #dee5e7;\n}\n\n.item {\n  position: relative;\n}\n\n.item .top {\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n\n.item .bottom {\n  position: absolute;\n  bottom: 0;\n  left: 0;\n}\n\n.item .center {\n  position: absolute;\n  top: 50%;\n}\n\n.item-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  display: none;\n}\n\n.item-overlay.active,\n.item:hover .item-overlay {\n  display: block;\n}\n\n.loading {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 999999;\n  width: 100%;\n  height: 100%;\n  background: rgba(255, 255, 255, 0.5);\n}\n\n.loading .load {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 9999;\n  width: 160px;\n  height: 56px;\n  padding-left: 60px;\n  margin: auto;\n  font-size: 15px;\n  line-height: 56px;\n  color: #fff;\n  background: #000000 url('../img/loading.gif') no-repeat 10px 50%;\n  -webkit-border-radius: 20px;\n     -moz-border-radius: 20px;\n          border-radius: 20px;\n  opacity: 0.7;\n  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n}\n\n.form-validation .form-control.ng-dirty.ng-invalid {\n  border-color: #f05050;\n}\n\n.form-validation .form-control.ng-dirty.ng-valid,\n.form-validation .form-control.ng-dirty.ng-valid:focus {\n  border-color: #27c24c;\n}\n\n.form-validation .i-checks .ng-invalid.ng-dirty + i {\n  border-color: #f05050;\n}\n\n.ng-animate .bg-auto:before {\n  display: none;\n}\n\n[ui-view].ng-leave {\n  display: none;\n}\n\n[ui-view].ng-leave.smooth {\n  display: block;\n}\n\n.smooth.ng-animate {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n}\n\n.fade-in-right-big.ng-enter {\n  -webkit-animation: fadeInRightBig 0.5s;\n          animation: fadeInRightBig 0.5s;\n}\n\n.fade-in-right-big.ng-leave {\n  -webkit-animation: fadeOutLeftBig 0.5s;\n          animation: fadeOutLeftBig 0.5s;\n}\n\n.fade-in-left-big.ng-enter {\n  -webkit-animation: fadeInLeftBig 0.5s;\n          animation: fadeInLeftBig 0.5s;\n}\n\n.fade-in-left-big.ng-leave {\n  -webkit-animation: fadeOutRightBig 0.5s;\n          animation: fadeOutRightBig 0.5s;\n}\n\n.fade-in-up-big.ng-enter {\n  -webkit-animation: fadeInUpBig 0.5s;\n          animation: fadeInUpBig 0.5s;\n}\n\n.fade-in-up-big.ng-leave {\n  -webkit-animation: fadeOutUpBig 0.5s;\n          animation: fadeOutUpBig 0.5s;\n}\n\n.fade-in-down-big.ng-enter {\n  -webkit-animation: fadeInDownBig 0.5s;\n          animation: fadeInDownBig 0.5s;\n}\n\n.fade-in-down-big.ng-leave {\n  -webkit-animation: fadeOutDownBig 0.5s;\n          animation: fadeOutDownBig 0.5s;\n}\n\n.fade-in.ng-enter {\n  -webkit-animation: fadeIn 0.5s;\n          animation: fadeIn 0.5s;\n}\n\n.fade-in.ng-leave {\n  -webkit-animation: fadeOut 0.5s;\n          animation: fadeOut 0.5s;\n}\n\n.fade-in-right.ng-enter {\n  -webkit-animation: fadeInRight 0.5s;\n          animation: fadeInRight 0.5s;\n}\n\n.fade-in-right.ng-leave {\n  -webkit-animation: fadeOutLeft 0.5s;\n          animation: fadeOutLeft 0.5s;\n}\n\n.fade-in-left.ng-enter {\n  -webkit-animation: fadeInLeft 0.5s;\n          animation: fadeInLeft 0.5s;\n}\n\n.fade-in-left.ng-leave {\n  -webkit-animation: fadeOutRight 0.5s;\n          animation: fadeOutRight 0.5s;\n}\n\n.fade-in-up.ng-enter {\n  -webkit-animation: fadeInUp 0.5s;\n          animation: fadeInUp 0.5s;\n}\n\n.fade-in-up.ng-leave {\n  -webkit-animation: fadeOutUp 0.5s;\n          animation: fadeOutUp 0.5s;\n}\n\n.fade-in-down.ng-enter {\n  -webkit-animation: fadeInDown 0.5s;\n          animation: fadeInDown 0.5s;\n}\n\n.fade-in-down.ng-leave {\n  -webkit-animation: fadeOutDown 0.5s;\n          animation: fadeOutDown 0.5s;\n}\n\n.bg-gd {\n  background-image: -webkit-gradient(linear, left 0, left 100%, from(rgba(40, 50, 60, 0)), to(rgba(40, 50, 60, 0.075)));\n  background-image: -webkit-linear-gradient(top, rgba(40, 50, 60, 0), 0, rgba(40, 50, 60, 0.075), 100%);\n  background-image: -moz-linear-gradient(top, rgba(40, 50, 60, 0) 0, rgba(40, 50, 60, 0.075) 100%);\n  background-image: linear-gradient(to bottom, rgba(40, 50, 60, 0) 0, rgba(40, 50, 60, 0.075) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0028323c', endColorstr='#1328323c', GradientType=0);\n  filter: none;\n}\n\n.bg-gd-dk {\n  background-image: -webkit-gradient(linear, left 10%, left 100%, from(rgba(40, 50, 60, 0)), to(rgba(40, 50, 60, 0.5)));\n  background-image: -webkit-linear-gradient(top, rgba(40, 50, 60, 0), 10%, rgba(40, 50, 60, 0.5), 100%);\n  background-image: -moz-linear-gradient(top, rgba(40, 50, 60, 0) 10%, rgba(40, 50, 60, 0.5) 100%);\n  background-image: linear-gradient(to bottom, rgba(40, 50, 60, 0) 10%, rgba(40, 50, 60, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0028323c', endColorstr='#8028323c', GradientType=0);\n  filter: none;\n}\n\n.bg-light {\n  color: #58666e;\n  background-color: #edf1f2;\n}\n\n.bg-light.lt,\n.bg-light .lt {\n  background-color: #f3f5f6;\n}\n\n.bg-light.lter,\n.bg-light .lter {\n  background-color: #f6f8f8;\n}\n\n.bg-light.dk,\n.bg-light .dk {\n  background-color: #e4eaec;\n}\n\n.bg-light.dker,\n.bg-light .dker {\n  background-color: #dde6e9;\n}\n\n.bg-light.bg,\n.bg-light .bg {\n  background-color: #edf1f2;\n}\n\n.bg-dark {\n  color: #a6a8b1;\n  background-color: #3a3f51;\n}\n\n.bg-dark.lt,\n.bg-dark .lt {\n  background-color: #474c5e;\n}\n\n.bg-dark.lter,\n.bg-dark .lter {\n  background-color: #54596a;\n}\n\n.bg-dark.dk,\n.bg-dark .dk {\n  background-color: #2e3344;\n}\n\n.bg-dark.dker,\n.bg-dark .dker {\n  background-color: #232735;\n}\n\n.bg-dark.bg,\n.bg-dark .bg {\n  background-color: #3a3f51;\n}\n\n.bg-dark a {\n  color: #c1c3c9;\n}\n\n.bg-dark a:hover {\n  color: #ffffff;\n}\n\n.bg-dark a.list-group-item:hover,\n.bg-dark a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-dark .nav > li:hover > a,\n.bg-dark .nav > li:focus > a,\n.bg-dark .nav > li.active > a {\n  color: #ffffff;\n  background-color: #2e3344;\n}\n\n.bg-dark .nav > li > a {\n  color: #b4b6bd;\n}\n\n.bg-dark .nav > li > a:hover,\n.bg-dark .nav > li > a:focus {\n  background-color: #32374a;\n}\n\n.bg-dark .nav .open > a {\n  background-color: #2e3344;\n}\n\n.bg-dark .caret {\n  border-top-color: #a6a8b1;\n  border-bottom-color: #a6a8b1;\n}\n\n.bg-dark.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #2e3344;\n}\n\n.bg-dark .open > a,\n.bg-dark .open > a:hover,\n.bg-dark .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-dark .text-muted {\n  color: #8b8e99 !important;\n}\n\n.bg-dark .text-lt {\n  color: #eaebed !important;\n}\n\n.bg-dark.auto .list-group-item,\n.bg-dark .auto .list-group-item {\n  background-color: transparent;\n  border-color: #2f3342 !important;\n}\n\n.bg-dark.auto .list-group-item:hover,\n.bg-dark .auto .list-group-item:hover,\n.bg-dark.auto .list-group-item:focus,\n.bg-dark .auto .list-group-item:focus,\n.bg-dark.auto .list-group-item:active,\n.bg-dark .auto .list-group-item:active,\n.bg-dark.auto .list-group-item.active,\n.bg-dark .auto .list-group-item.active {\n  background-color: #2e3344 !important;\n}\n\n.bg-black {\n  color: #7793a7;\n  background-color: #1c2b36;\n}\n\n.bg-black.lt,\n.bg-black .lt {\n  background-color: #263845;\n}\n\n.bg-black.lter,\n.bg-black .lter {\n  background-color: #314554;\n}\n\n.bg-black.dk,\n.bg-black .dk {\n  background-color: #131e26;\n}\n\n.bg-black.dker,\n.bg-black .dker {\n  background-color: #0a1015;\n}\n\n.bg-black.bg,\n.bg-black .bg {\n  background-color: #1c2b36;\n}\n\n.bg-black a {\n  color: #96abbb;\n}\n\n.bg-black a:hover {\n  color: #ffffff;\n}\n\n.bg-black a.list-group-item:hover,\n.bg-black a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-black .nav > li:hover > a,\n.bg-black .nav > li:focus > a,\n.bg-black .nav > li.active > a {\n  color: #ffffff;\n  background-color: #131e26;\n}\n\n.bg-black .nav > li > a {\n  color: #869fb1;\n}\n\n.bg-black .nav > li > a:hover,\n.bg-black .nav > li > a:focus {\n  background-color: #16232d;\n}\n\n.bg-black .nav .open > a {\n  background-color: #131e26;\n}\n\n.bg-black .caret {\n  border-top-color: #7793a7;\n  border-bottom-color: #7793a7;\n}\n\n.bg-black.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #131e26;\n}\n\n.bg-black .open > a,\n.bg-black .open > a:hover,\n.bg-black .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-black .text-muted {\n  color: #5c798f !important;\n}\n\n.bg-black .text-lt {\n  color: #c4d0d9 !important;\n}\n\n.bg-black.auto .list-group-item,\n.bg-black .auto .list-group-item {\n  background-color: transparent;\n  border-color: #131e25 !important;\n}\n\n.bg-black.auto .list-group-item:hover,\n.bg-black .auto .list-group-item:hover,\n.bg-black.auto .list-group-item:focus,\n.bg-black .auto .list-group-item:focus,\n.bg-black.auto .list-group-item:active,\n.bg-black .auto .list-group-item:active,\n.bg-black.auto .list-group-item.active,\n.bg-black .auto .list-group-item.active {\n  background-color: #131e26 !important;\n}\n\n.bg-primary {\n  color: #f4f3f9;\n  background-color: #7266ba;\n}\n\n.bg-primary.lt,\n.bg-primary .lt {\n  background-color: #847abf;\n}\n\n.bg-primary.lter,\n.bg-primary .lter {\n  background-color: #958dc6;\n}\n\n.bg-primary.dk,\n.bg-primary .dk {\n  background-color: #6051b5;\n}\n\n.bg-primary.dker,\n.bg-primary .dker {\n  background-color: #5244a9;\n}\n\n.bg-primary.bg,\n.bg-primary .bg {\n  background-color: #7266ba;\n}\n\n.bg-primary a {\n  color: #ffffff;\n}\n\n.bg-primary a:hover {\n  color: #ffffff;\n}\n\n.bg-primary a.list-group-item:hover,\n.bg-primary a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-primary .nav > li:hover > a,\n.bg-primary .nav > li:focus > a,\n.bg-primary .nav > li.active > a {\n  color: #ffffff;\n  background-color: #6051b5;\n}\n\n.bg-primary .nav > li > a {\n  color: #f2f2f2;\n}\n\n.bg-primary .nav > li > a:hover,\n.bg-primary .nav > li > a:focus {\n  background-color: #6658b8;\n}\n\n.bg-primary .nav .open > a {\n  background-color: #6051b5;\n}\n\n.bg-primary .caret {\n  border-top-color: #f4f3f9;\n  border-bottom-color: #f4f3f9;\n}\n\n.bg-primary.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #6051b5;\n}\n\n.bg-primary .open > a,\n.bg-primary .open > a:hover,\n.bg-primary .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-primary .text-muted {\n  color: #d6d3e6 !important;\n}\n\n.bg-primary .text-lt {\n  color: #ffffff !important;\n}\n\n.bg-primary.auto .list-group-item,\n.bg-primary .auto .list-group-item {\n  background-color: transparent;\n  border-color: #6254b2 !important;\n}\n\n.bg-primary.auto .list-group-item:hover,\n.bg-primary .auto .list-group-item:hover,\n.bg-primary.auto .list-group-item:focus,\n.bg-primary .auto .list-group-item:focus,\n.bg-primary.auto .list-group-item:active,\n.bg-primary .auto .list-group-item:active,\n.bg-primary.auto .list-group-item.active,\n.bg-primary .auto .list-group-item.active {\n  background-color: #6051b5 !important;\n}\n\n.bg-success {\n  color: #c6efd0;\n  background-color: #27c24c;\n}\n\n.bg-success.lt,\n.bg-success .lt {\n  background-color: #31d257;\n}\n\n.bg-success.lter,\n.bg-success .lter {\n  background-color: #48d46a;\n}\n\n.bg-success.dk,\n.bg-success .dk {\n  background-color: #20af42;\n}\n\n.bg-success.dker,\n.bg-success .dker {\n  background-color: #1a9c39;\n}\n\n.bg-success.bg,\n.bg-success .bg {\n  background-color: #27c24c;\n}\n\n.bg-success a {\n  color: #eefaf1;\n}\n\n.bg-success a:hover {\n  color: #ffffff;\n}\n\n.bg-success a.list-group-item:hover,\n.bg-success a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-success .nav > li:hover > a,\n.bg-success .nav > li:focus > a,\n.bg-success .nav > li.active > a {\n  color: #ffffff;\n  background-color: #20af42;\n}\n\n.bg-success .nav > li > a {\n  color: #daf5e0;\n}\n\n.bg-success .nav > li > a:hover,\n.bg-success .nav > li > a:focus {\n  background-color: #22b846;\n}\n\n.bg-success .nav .open > a {\n  background-color: #20af42;\n}\n\n.bg-success .caret {\n  border-top-color: #c6efd0;\n  border-bottom-color: #c6efd0;\n}\n\n.bg-success.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #20af42;\n}\n\n.bg-success .open > a,\n.bg-success .open > a:hover,\n.bg-success .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-success .text-muted {\n  color: #9ee4af !important;\n}\n\n.bg-success .text-lt {\n  color: #ffffff !important;\n}\n\n.bg-success.auto .list-group-item,\n.bg-success .auto .list-group-item {\n  background-color: transparent;\n  border-color: #23ad44 !important;\n}\n\n.bg-success.auto .list-group-item:hover,\n.bg-success .auto .list-group-item:hover,\n.bg-success.auto .list-group-item:focus,\n.bg-success .auto .list-group-item:focus,\n.bg-success.auto .list-group-item:active,\n.bg-success .auto .list-group-item:active,\n.bg-success.auto .list-group-item.active,\n.bg-success .auto .list-group-item.active {\n  background-color: #20af42 !important;\n}\n\n.bg-info {\n  color: #dcf2f8;\n  background-color: #23b7e5;\n}\n\n.bg-info.lt,\n.bg-info .lt {\n  background-color: #3dbde5;\n}\n\n.bg-info.lter,\n.bg-info .lter {\n  background-color: #55c3e6;\n}\n\n.bg-info.dk,\n.bg-info .dk {\n  background-color: #16aad8;\n}\n\n.bg-info.dker,\n.bg-info .dker {\n  background-color: #1199c4;\n}\n\n.bg-info.bg,\n.bg-info .bg {\n  background-color: #23b7e5;\n}\n\n.bg-info a {\n  color: #ffffff;\n}\n\n.bg-info a:hover {\n  color: #ffffff;\n}\n\n.bg-info a.list-group-item:hover,\n.bg-info a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-info .nav > li:hover > a,\n.bg-info .nav > li:focus > a,\n.bg-info .nav > li.active > a {\n  color: #ffffff;\n  background-color: #16aad8;\n}\n\n.bg-info .nav > li > a {\n  color: #f2f2f2;\n}\n\n.bg-info .nav > li > a:hover,\n.bg-info .nav > li > a:focus {\n  background-color: #17b2e2;\n}\n\n.bg-info .nav .open > a {\n  background-color: #16aad8;\n}\n\n.bg-info .caret {\n  border-top-color: #dcf2f8;\n  border-bottom-color: #dcf2f8;\n}\n\n.bg-info.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #16aad8;\n}\n\n.bg-info .open > a,\n.bg-info .open > a:hover,\n.bg-info .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-info .text-muted {\n  color: #b0e1f1 !important;\n}\n\n.bg-info .text-lt {\n  color: #ffffff !important;\n}\n\n.bg-info.auto .list-group-item,\n.bg-info .auto .list-group-item {\n  background-color: transparent;\n  border-color: #19a9d5 !important;\n}\n\n.bg-info.auto .list-group-item:hover,\n.bg-info .auto .list-group-item:hover,\n.bg-info.auto .list-group-item:focus,\n.bg-info .auto .list-group-item:focus,\n.bg-info.auto .list-group-item:active,\n.bg-info .auto .list-group-item:active,\n.bg-info.auto .list-group-item.active,\n.bg-info .auto .list-group-item.active {\n  background-color: #16aad8 !important;\n}\n\n.bg-warning {\n  color: #fffefa;\n  background-color: #fad733;\n}\n\n.bg-warning.lt,\n.bg-warning .lt {\n  background-color: #f8da4e;\n}\n\n.bg-warning.lter,\n.bg-warning .lter {\n  background-color: #f7de69;\n}\n\n.bg-warning.dk,\n.bg-warning .dk {\n  background-color: #fcd417;\n}\n\n.bg-warning.dker,\n.bg-warning .dker {\n  background-color: #face00;\n}\n\n.bg-warning.bg,\n.bg-warning .bg {\n  background-color: #fad733;\n}\n\n.bg-warning a {\n  color: #ffffff;\n}\n\n.bg-warning a:hover {\n  color: #ffffff;\n}\n\n.bg-warning a.list-group-item:hover,\n.bg-warning a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-warning .nav > li:hover > a,\n.bg-warning .nav > li:focus > a,\n.bg-warning .nav > li.active > a {\n  color: #ffffff;\n  background-color: #fcd417;\n}\n\n.bg-warning .nav > li > a {\n  color: #f2f2f2;\n}\n\n.bg-warning .nav > li > a:hover,\n.bg-warning .nav > li > a:focus {\n  background-color: #fcd621;\n}\n\n.bg-warning .nav .open > a {\n  background-color: #fcd417;\n}\n\n.bg-warning .caret {\n  border-top-color: #fffefa;\n  border-bottom-color: #fffefa;\n}\n\n.bg-warning.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #fcd417;\n}\n\n.bg-warning .open > a,\n.bg-warning .open > a:hover,\n.bg-warning .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-warning .text-muted {\n  color: #fbf2cb !important;\n}\n\n.bg-warning .text-lt {\n  color: #ffffff !important;\n}\n\n.bg-warning.auto .list-group-item,\n.bg-warning .auto .list-group-item {\n  background-color: transparent;\n  border-color: #f9d21a !important;\n}\n\n.bg-warning.auto .list-group-item:hover,\n.bg-warning .auto .list-group-item:hover,\n.bg-warning.auto .list-group-item:focus,\n.bg-warning .auto .list-group-item:focus,\n.bg-warning.auto .list-group-item:active,\n.bg-warning .auto .list-group-item:active,\n.bg-warning.auto .list-group-item.active,\n.bg-warning .auto .list-group-item.active {\n  background-color: #fcd417 !important;\n}\n\n.bg-danger {\n  color: #ffffff;\n  background-color: #f05050;\n}\n\n.bg-danger.lt,\n.bg-danger .lt {\n  background-color: #f06a6a;\n}\n\n.bg-danger.lter,\n.bg-danger .lter {\n  background-color: #f18282;\n}\n\n.bg-danger.dk,\n.bg-danger .dk {\n  background-color: #f13636;\n}\n\n.bg-danger.dker,\n.bg-danger .dker {\n  background-color: #f21b1b;\n}\n\n.bg-danger.bg,\n.bg-danger .bg {\n  background-color: #f05050;\n}\n\n.bg-danger a {\n  color: #ffffff;\n}\n\n.bg-danger a:hover {\n  color: #ffffff;\n}\n\n.bg-danger a.list-group-item:hover,\n.bg-danger a.list-group-item:focus {\n  background-color: inherit;\n}\n\n.bg-danger .nav > li:hover > a,\n.bg-danger .nav > li:focus > a,\n.bg-danger .nav > li.active > a {\n  color: #ffffff;\n  background-color: #f13636;\n}\n\n.bg-danger .nav > li > a {\n  color: #f2f2f2;\n}\n\n.bg-danger .nav > li > a:hover,\n.bg-danger .nav > li > a:focus {\n  background-color: #f13f3f;\n}\n\n.bg-danger .nav .open > a {\n  background-color: #f13636;\n}\n\n.bg-danger .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n\n.bg-danger.navbar .nav > li.active > a {\n  color: #ffffff;\n  background-color: #f13636;\n}\n\n.bg-danger .open > a,\n.bg-danger .open > a:hover,\n.bg-danger .open > a:focus {\n  color: #ffffff;\n}\n\n.bg-danger .text-muted {\n  color: #e6e6e6 !important;\n}\n\n.bg-danger .text-lt {\n  color: #ffffff !important;\n}\n\n.bg-danger.auto .list-group-item,\n.bg-danger .auto .list-group-item {\n  background-color: transparent;\n  border-color: #ee3939 !important;\n}\n\n.bg-danger.auto .list-group-item:hover,\n.bg-danger .auto .list-group-item:hover,\n.bg-danger.auto .list-group-item:focus,\n.bg-danger .auto .list-group-item:focus,\n.bg-danger.auto .list-group-item:active,\n.bg-danger .auto .list-group-item:active,\n.bg-danger.auto .list-group-item.active,\n.bg-danger .auto .list-group-item.active {\n  background-color: #f13636 !important;\n}\n\n.bg-white {\n  color: #58666e;\n  background-color: #fff;\n}\n\n.bg-white a {\n  color: #363f44;\n}\n\n.bg-white a:hover {\n  color: #1f2427;\n}\n\n.bg-white .text-muted {\n  color: #98a6ad !important;\n}\n\n.bg-white .lt,\n.bg-white .lter,\n.bg-white .dk,\n.bg-white .dker {\n  background-color: #fff;\n}\n\n.bg-white-only {\n  background-color: #fff;\n}\n\n.bg-white-opacity {\n  background-color: rgba(255, 255, 255, 0.5);\n}\n\n.bg-black-opacity {\n  background-color: rgba(32, 43, 54, 0.5);\n}\n\na.bg-light:hover {\n  color: #363f44;\n}\n\na.bg-primary:hover {\n  background-color: #6254b2;\n}\n\na.text-primary:hover {\n  color: #6254b2;\n}\n\n.text-primary {\n  color: #7266ba;\n}\n\n.text-primary-lt {\n  color: #8278c2;\n}\n\n.text-primary-lter {\n  color: #9289ca;\n}\n\n.text-primary-dk {\n  color: #6254b2;\n}\n\n.text-primary-dker {\n  color: #564aa3;\n}\n\na.bg-info:hover {\n  background-color: #19a9d5;\n}\n\na.text-info:hover {\n  color: #19a9d5;\n}\n\n.text-info {\n  color: #23b7e5;\n}\n\n.text-info-lt {\n  color: #3abee8;\n}\n\n.text-info-lter {\n  color: #51c6ea;\n}\n\n.text-info-dk {\n  color: #19a9d5;\n}\n\n.text-info-dker {\n  color: #1797be;\n}\n\na.bg-success:hover {\n  background-color: #23ad44;\n}\n\na.text-success:hover {\n  color: #23ad44;\n}\n\n.text-success {\n  color: #27c24c;\n}\n\n.text-success-lt {\n  color: #2ed556;\n}\n\n.text-success-lter {\n  color: #43d967;\n}\n\n.text-success-dk {\n  color: #23ad44;\n}\n\n.text-success-dker {\n  color: #1e983b;\n}\n\na.bg-warning:hover {\n  background-color: #f9d21a;\n}\n\na.text-warning:hover {\n  color: #f9d21a;\n}\n\n.text-warning {\n  color: #fad733;\n}\n\n.text-warning-lt {\n  color: #fbdc4c;\n}\n\n.text-warning-lter {\n  color: #fbe165;\n}\n\n.text-warning-dk {\n  color: #f9d21a;\n}\n\n.text-warning-dker {\n  color: #f4ca06;\n}\n\na.bg-danger:hover {\n  background-color: #ee3939;\n}\n\na.text-danger:hover {\n  color: #ee3939;\n}\n\n.text-danger {\n  color: #f05050;\n}\n\n.text-danger-lt {\n  color: #f26767;\n}\n\n.text-danger-lter {\n  color: #f47f7f;\n}\n\n.text-danger-dk {\n  color: #ee3939;\n}\n\n.text-danger-dker {\n  color: #ec2121;\n}\n\na.bg-dark:hover {\n  background-color: #2f3342;\n}\n\na.text-dark:hover {\n  color: #2f3342;\n}\n\n.text-dark {\n  color: #3a3f51;\n}\n\n.text-dark-lt {\n  color: #454b60;\n}\n\n.text-dark-lter {\n  color: #4f566f;\n}\n\n.text-dark-dk {\n  color: #2f3342;\n}\n\n.text-dark-dker {\n  color: #252833;\n}\n\na.bg-#000000:hover {\n  background-color: #131e25;\n}\n\na.text-#000000:hover {\n  color: #131e25;\n}\n\n.text-#000000 {\n  color: #1c2b36;\n}\n\n.text-#000000-lt {\n  color: #253847;\n}\n\n.text-#000000-lter {\n  color: #2d4658;\n}\n\n.text-#000000-dk {\n  color: #131e25;\n}\n\n.text-#000000-dker {\n  color: #0b1014;\n}\n\n.text-white {\n  color: #fff;\n}\n\n.text-black {\n  color: #000;\n}\n\n.text-muted {\n  color: #98a6ad;\n}\n\n.pos-rlt {\n  position: relative;\n}\n\n.pos-stc {\n  position: static !important;\n}\n\n.pos-abt {\n  position: absolute;\n}\n\n.pos-fix {\n  position: fixed;\n}\n\n.show {\n  visibility: visible;\n}\n\n.line {\n  width: 100%;\n  height: 2px;\n  margin: 10px 0;\n  overflow: hidden;\n  font-size: 0;\n}\n\n.line-xs {\n  margin: 0;\n}\n\n.line-lg {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n\n.line-dashed {\n  background-color: transparent;\n  border-style: dashed !important;\n  border-width: 0;\n}\n\n.no-line {\n  border-width: 0;\n}\n\n.no-border,\n.no-borders {\n  border-color: transparent;\n  border-width: 0;\n}\n\n.no-radius {\n  border-radius: 0;\n}\n\n.block {\n  display: block;\n}\n\n.block.hide {\n  display: none;\n}\n\n.inline {\n  display: inline-block !important;\n}\n\n.none {\n  display: none;\n}\n\n.pull-none {\n  float: none;\n}\n\n.rounded {\n  border-radius: 500px;\n}\n\n.clear {\n  display: block;\n  overflow: hidden;\n}\n\n.no-bg {\n  color: inherit;\n  background-color: transparent;\n}\n\n.no-select {\n  -webkit-user-select: none;\n   -khtml-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-touch-callout: none;\n}\n\n.l-h {\n  line-height: 1.42857143;\n}\n\n.l-h-0x {\n  line-height: 0;\n}\n\n.l-h-1x {\n  line-height: 1.2;\n}\n\n.l-h-2x {\n  line-height: 2em;\n}\n\n.l-s-1x {\n  letter-spacing: 1;\n}\n\n.l-s-2x {\n  letter-spacing: 2;\n}\n\n.l-s-3x {\n  letter-spacing: 3;\n}\n\n.font-normal {\n  font-weight: normal;\n}\n\n.font-thin {\n  font-weight: 300;\n}\n\n.font-bold {\n  font-weight: 700;\n}\n\n.text-3x {\n  font-size: 3em;\n}\n\n.text-2x {\n  font-size: 2em;\n}\n\n.text-lg {\n  font-size: 18px;\n}\n\n.text-md {\n  font-size: 16px;\n}\n\n.text-base {\n  font-size: 14px;\n}\n\n.text-sm {\n  font-size: 13px;\n}\n\n.text-xs {\n  font-size: 12px;\n}\n\n.text-xxs {\n  text-indent: -9999px;\n}\n\n.text-ellipsis {\n  display: block;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-u-c {\n  text-transform: uppercase;\n}\n\n.text-l-t {\n  text-decoration: line-through;\n}\n\n.text-u-l {\n  text-decoration: underline;\n}\n\n.text-active,\n.active > .text,\n.active > .auto .text {\n  display: none !important;\n}\n\n.active > .text-active,\n.active > .auto .text-active {\n  display: inline-block !important;\n}\n\n.box-shadow {\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(0, 0, 0, 0.05);\n}\n\n.box-shadow-lg {\n  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);\n}\n\n.text-shadow {\n  font-size: 170px;\n  text-shadow: 0 1px 0 #dee5e7, 0 2px 0 #fcfdfd, 0 5px 10px rgba(0, 0, 0, 0.125), 0 10px 20px rgba(0, 0, 0, 0.2);\n}\n\n.no-shadow {\n  -webkit-box-shadow: none !important;\n          box-shadow: none !important;\n}\n\n.wrapper-xs {\n  padding: 5px;\n}\n\n.wrapper-sm {\n  padding: 10px;\n}\n\n.wrapper {\n  padding: 15px;\n}\n\n.wrapper-md {\n  padding: 20px;\n}\n\n.wrapper-lg {\n  padding: 30px;\n}\n\n.wrapper-xl {\n  padding: 50px;\n}\n\n.padder-lg {\n  padding-right: 30px;\n  padding-left: 30px;\n}\n\n.padder-md {\n  padding-right: 20px;\n  padding-left: 20px;\n}\n\n.padder {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.padder-v {\n  padding-top: 15px;\n  padding-bottom: 15px;\n}\n\n.no-padder {\n  padding: 0 !important;\n}\n\n.pull-in {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.pull-out {\n  margin: -10px -15px;\n}\n\n.b {\n  border: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.b-a {\n  border: 1px solid #dee5e7;\n}\n\n.b-t {\n  border-top: 1px solid #dee5e7;\n}\n\n.b-r {\n  border-right: 1px solid #dee5e7;\n}\n\n.b-b {\n  border-bottom: 1px solid #dee5e7;\n}\n\n.b-l {\n  border-left: 1px solid #dee5e7;\n}\n\n.b-light {\n  border-color: #edf1f2;\n}\n\n.b-dark {\n  border-color: #3a3f51;\n}\n\n.b-black {\n  border-color: #3a3f51;\n}\n\n.b-primary {\n  border-color: #7266ba;\n}\n\n.b-success {\n  border-color: #27c24c;\n}\n\n.b-info {\n  border-color: #23b7e5;\n}\n\n.b-warning {\n  border-color: #fad733;\n}\n\n.b-danger {\n  border-color: #f05050;\n}\n\n.b-white {\n  border-color: #ffffff;\n}\n\n.b-dashed {\n  border-style: dashed !important;\n}\n\n.b-l-light {\n  border-left-color: #edf1f2;\n}\n\n.b-l-dark {\n  border-left-color: #3a3f51;\n}\n\n.b-l-black {\n  border-left-color: #3a3f51;\n}\n\n.b-l-primary {\n  border-left-color: #7266ba;\n}\n\n.b-l-success {\n  border-left-color: #27c24c;\n}\n\n.b-l-info {\n  border-left-color: #23b7e5;\n}\n\n.b-l-warning {\n  border-left-color: #fad733;\n}\n\n.b-l-danger {\n  border-left-color: #f05050;\n}\n\n.b-l-white {\n  border-left-color: #ffffff;\n}\n\n.b-l-2x {\n  border-left-width: 2px;\n}\n\n.b-l-3x {\n  border-left-width: 3px;\n}\n\n.b-l-4x {\n  border-left-width: 4px;\n}\n\n.b-l-5x {\n  border-left-width: 5px;\n}\n\n.b-2x {\n  border-width: 2px;\n}\n\n.b-3x {\n  border-width: 3px;\n}\n\n.b-4x {\n  border-width: 4px;\n}\n\n.b-5x {\n  border-width: 5px;\n}\n\n.r {\n  border-radius: 2px 2px 2px 2px;\n}\n\n.r-2x {\n  border-radius: 4px;\n}\n\n.r-3x {\n  border-radius: 6px;\n}\n\n.r-l {\n  border-radius: 2px 0 0 2px;\n}\n\n.r-r {\n  border-radius: 0 2px 2px 0;\n}\n\n.r-t {\n  border-radius: 2px 2px 0 0;\n}\n\n.r-b {\n  border-radius: 0 0 2px 2px;\n}\n\n.m-xxs {\n  margin: 2px 4px;\n}\n\n.m-xs {\n  margin: 5px;\n}\n\n.m-sm {\n  margin: 10px;\n}\n\n.m {\n  margin: 15px;\n}\n\n.m-md {\n  margin: 20px;\n}\n\n.m-lg {\n  margin: 30px;\n}\n\n.m-xl {\n  margin: 50px;\n}\n\n.m-n {\n  margin: 0 !important;\n}\n\n.m-l-none {\n  margin-left: 0 !important;\n}\n\n.m-l-xs {\n  margin-left: 5px;\n}\n\n.m-l-sm {\n  margin-left: 10px;\n}\n\n.m-l {\n  margin-left: 15px;\n}\n\n.m-l-md {\n  margin-left: 20px;\n}\n\n.m-l-lg {\n  margin-left: 30px;\n}\n\n.m-l-xl {\n  margin-left: 40px;\n}\n\n.m-l-xxl {\n  margin-left: 50px;\n}\n\n.m-l-n-xxs {\n  margin-left: -1px;\n}\n\n.m-l-n-xs {\n  margin-left: -5px;\n}\n\n.m-l-n-sm {\n  margin-left: -10px;\n}\n\n.m-l-n {\n  margin-left: -15px;\n}\n\n.m-l-n-md {\n  margin-left: -20px;\n}\n\n.m-l-n-lg {\n  margin-left: -30px;\n}\n\n.m-l-n-xl {\n  margin-left: -40px;\n}\n\n.m-l-n-xxl {\n  margin-left: -50px;\n}\n\n.m-t-none {\n  margin-top: 0 !important;\n}\n\n.m-t-xxs {\n  margin-top: 1px;\n}\n\n.m-t-xs {\n  margin-top: 5px;\n}\n\n.m-t-sm {\n  margin-top: 10px;\n}\n\n.m-t {\n  margin-top: 15px;\n}\n\n.m-t-md {\n  margin-top: 20px;\n}\n\n.m-t-lg {\n  margin-top: 30px;\n}\n\n.m-t-xl {\n  margin-top: 40px;\n}\n\n.m-t-xxl {\n  margin-top: 50px;\n}\n\n.m-t-n-xxs {\n  margin-top: -1px;\n}\n\n.m-t-n-xs {\n  margin-top: -5px;\n}\n\n.m-t-n-sm {\n  margin-top: -10px;\n}\n\n.m-t-n {\n  margin-top: -15px;\n}\n\n.m-t-n-md {\n  margin-top: -20px;\n}\n\n.m-t-n-lg {\n  margin-top: -30px;\n}\n\n.m-t-n-xl {\n  margin-top: -40px;\n}\n\n.m-t-n-xxl {\n  margin-top: -50px;\n}\n\n.m-r-none {\n  margin-right: 0 !important;\n}\n\n.m-r-xxs {\n  margin-right: 1px;\n}\n\n.m-r-xs {\n  margin-right: 5px;\n}\n\n.m-r-sm {\n  margin-right: 10px;\n}\n\n.m-r {\n  margin-right: 15px;\n}\n\n.m-r-md {\n  margin-right: 20px;\n}\n\n.m-r-lg {\n  margin-right: 30px;\n}\n\n.m-r-xl {\n  margin-right: 40px;\n}\n\n.m-r-xxl {\n  margin-right: 50px;\n}\n\n.m-r-n-xxs {\n  margin-right: -1px;\n}\n\n.m-r-n-xs {\n  margin-right: -5px;\n}\n\n.m-r-n-sm {\n  margin-right: -10px;\n}\n\n.m-r-n {\n  margin-right: -15px;\n}\n\n.m-r-n-md {\n  margin-right: -20px;\n}\n\n.m-r-n-lg {\n  margin-right: -30px;\n}\n\n.m-r-n-xl {\n  margin-right: -40px;\n}\n\n.m-r-n-xxl {\n  margin-right: -50px;\n}\n\n.m-b-none {\n  margin-bottom: 0 !important;\n}\n\n.m-b-xxs {\n  margin-bottom: 1px;\n}\n\n.m-b-xs {\n  margin-bottom: 5px;\n}\n\n.m-b-sm {\n  margin-bottom: 10px;\n}\n\n.m-b {\n  margin-bottom: 15px;\n}\n\n.m-b-md {\n  margin-bottom: 20px;\n}\n\n.m-b-lg {\n  margin-bottom: 30px;\n}\n\n.m-b-xl {\n  margin-bottom: 40px;\n}\n\n.m-b-xxl {\n  margin-bottom: 50px;\n}\n\n.m-b-n-xxs {\n  margin-bottom: -1px;\n}\n\n.m-b-n-xs {\n  margin-bottom: -5px;\n}\n\n.m-b-n-sm {\n  margin-bottom: -10px;\n}\n\n.m-b-n {\n  margin-bottom: -15px;\n}\n\n.m-b-n-md {\n  margin-bottom: -20px;\n}\n\n.m-b-n-lg {\n  margin-bottom: -30px;\n}\n\n.m-b-n-xl {\n  margin-bottom: -40px;\n}\n\n.m-b-n-xxl {\n  margin-bottom: -50px;\n}\n\n.avatar {\n  position: relative;\n  display: block;\n  white-space: nowrap;\n  border-radius: 500px;\n}\n\n.avatar img {\n  width: 100%;\n  border-radius: 500px;\n}\n\n.avatar i {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 10px;\n  height: 10px;\n  margin: 2px;\n  border-style: solid;\n  border-width: 2px;\n  border-radius: 100%;\n}\n\n.avatar i.right {\n  right: 0;\n  left: auto;\n}\n\n.avatar i.bottom {\n  top: auto;\n  right: 0;\n  bottom: 0;\n  left: auto;\n}\n\n.avatar i.left {\n  top: auto;\n  bottom: 0;\n}\n\n.avatar i.on {\n  background-color: #27c24c;\n}\n\n.avatar i.off {\n  background-color: #98a6ad;\n}\n\n.avatar i.busy {\n  background-color: #f05050;\n}\n\n.avatar i.away {\n  background-color: #fad733;\n}\n\n.avatar.thumb-md i {\n  width: 12px;\n  height: 12px;\n  margin: 3px;\n}\n\n.avatar.thumb-sm i {\n  margin: 1px;\n}\n\n.avatar.thumb-xs i {\n  margin: 0;\n}\n\n.w-1x {\n  width: 1em;\n}\n\n.w-2x {\n  width: 2em;\n}\n\n.w-3x {\n  width: 3em;\n}\n\n.w-xxs {\n  width: 60px;\n}\n\n.w-xs {\n  width: 90px;\n}\n\n.w-sm {\n  width: 150px;\n}\n\n.w {\n  width: 200px;\n}\n\n.w-md {\n  width: 240px;\n}\n\n.w-lg {\n  width: 280px;\n}\n\n.w-xl {\n  width: 320px;\n}\n\n.w-xxl {\n  width: 360px;\n}\n\n.w-full {\n  width: 100%;\n}\n\n.w-auto {\n  width: auto;\n}\n\n.h-auto {\n  height: auto;\n}\n\n.h-full {\n  height: 100%;\n}\n\n.thumb-xl {\n  display: inline-block;\n  width: 128px;\n}\n\n.thumb-lg {\n  display: inline-block;\n  width: 96px;\n}\n\n.thumb-md {\n  display: inline-block;\n  width: 64px;\n}\n\n.thumb {\n  display: inline-block;\n  width: 50px;\n}\n\n.thumb-sm {\n  display: inline-block;\n  width: 40px;\n}\n\n.thumb-xs {\n  display: inline-block;\n  width: 34px;\n}\n\n.thumb-xxs {\n  display: inline-block;\n  width: 30px;\n}\n\n.thumb-wrapper {\n  padding: 2px;\n  border: 1px solid #dee5e7;\n}\n\n.thumb img,\n.thumb-xs img,\n.thumb-sm img,\n.thumb-md img,\n.thumb-lg img,\n.thumb-btn img {\n  height: auto;\n  max-width: 100%;\n  vertical-align: middle;\n}\n\n.img-full {\n  width: 100%;\n}\n\n.img-full img {\n  width: 100%;\n}\n\n.scrollable {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scrollable.hover {\n  overflow-y: hidden !important;\n}\n\n.scrollable.hover:hover {\n  overflow: visible !important;\n  overflow-y: auto !important;\n}\n\n.smart .scrollable {\n  overflow-y: auto !important;\n}\n\n.scroll-x,\n.scroll-y {\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scroll-y {\n  overflow-y: auto;\n}\n\n.scroll-x {\n  overflow-x: auto;\n}\n\n.hover-action {\n  display: none;\n}\n\n.hover-rotate {\n  -webkit-transition: all 0.2s ease-in-out 0.1s;\n          transition: all 0.2s ease-in-out 0.1s;\n}\n\n.hover-anchor:hover > .hover-action,\n.hover-anchor:focus > .hover-action,\n.hover-anchor:active > .hover-action {\n  display: inherit;\n}\n\n.hover-anchor:hover > .hover-rotate,\n.hover-anchor:focus > .hover-rotate,\n.hover-anchor:active > .hover-rotate {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n.backdrop {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n}\n\n.backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n\n.backdrop.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n\n/*desktop*/\n\n@media screen and (min-width: 992px) {\n  .col-lg-2-4 {\n    float: left;\n    width: 20.000%;\n  }\n}\n\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm.show {\n    display: inherit !important;\n  }\n  .no-m-sm {\n    margin: 0 !important;\n  }\n}\n\n/*phone*/\n\n@media (max-width: 767px) {\n  .w-auto-xs {\n    width: auto;\n  }\n  .shift {\n    display: none !important;\n  }\n  .shift.in {\n    display: block !important;\n  }\n  .row-2 [class*=\"col\"] {\n    float: left;\n    width: 50%;\n  }\n  .row-2 .col-0 {\n    clear: none;\n  }\n  .row-2 li:nth-child(odd) {\n    margin-left: 0;\n    clear: left;\n  }\n  .text-center-xs {\n    text-align: center;\n  }\n  .text-left-xs {\n    text-align: left;\n  }\n  .text-right-xs {\n    text-align: right;\n  }\n  .no-border-xs {\n    border-width: 0;\n  }\n  .pull-none-xs {\n    float: none !important;\n  }\n  .pull-right-xs {\n    float: right !important;\n  }\n  .pull-left-xs {\n    float: left !important;\n  }\n  .dropdown-menu.pull-none-xs {\n    left: 0;\n  }\n  .hidden-xs.show {\n    display: inherit !important;\n  }\n  .wrapper-lg,\n  .wrapper-md {\n    padding: 15px;\n  }\n  .padder-lg,\n  .padder-md {\n    padding-right: 15px;\n    padding-left: 15px;\n  }\n  .no-m-xs {\n    margin: 0 !important;\n  }\n}\n\n.butterbar {\n  position: relative;\n  height: 3px;\n  margin-bottom: -3px;\n}\n\n.butterbar .bar {\n  position: absolute;\n  width: 100%;\n  height: 0;\n  text-indent: -9999px;\n  background-color: #23b7e5;\n}\n\n.butterbar .bar:before {\n  position: absolute;\n  right: 50%;\n  left: 50%;\n  height: 3px;\n  background-color: inherit;\n  content: \"\";\n}\n\n.butterbar.active {\n  -webkit-animation: changebar 2.25s infinite 0.75s;\n     -moz-animation: changebar 2.25s infinite 0.75s;\n          animation: changebar 2.25s infinite 0.75s;\n}\n\n.butterbar.active .bar {\n  -webkit-animation: changebar 2.25s infinite;\n     -moz-animation: changebar 2.25s infinite;\n          animation: changebar 2.25s infinite;\n}\n\n.butterbar.active .bar:before {\n  -webkit-animation: movingbar 0.75s infinite;\n     -moz-animation: movingbar 0.75s infinite;\n          animation: movingbar 0.75s infinite;\n}\n\n/* Moving bar */\n\n@-webkit-keyframes movingbar {\n  0% {\n    right: 50%;\n    left: 50%;\n  }\n  99.9% {\n    right: 0;\n    left: 0;\n  }\n  100% {\n    right: 50%;\n    left: 50%;\n  }\n}\n\n@-moz-keyframes movingbar {\n  0% {\n    right: 50%;\n    left: 50%;\n  }\n  99.9% {\n    right: 0;\n    left: 0;\n  }\n  100% {\n    right: 50%;\n    left: 50%;\n  }\n}\n\n@keyframes movingbar {\n  0% {\n    right: 50%;\n    left: 50%;\n  }\n  99.9% {\n    right: 0;\n    left: 0;\n  }\n  100% {\n    right: 50%;\n    left: 50%;\n  }\n}\n\n/* change bar */\n\n@-webkit-keyframes changebar {\n  0% {\n    background-color: #23b7e5;\n  }\n  33.3% {\n    background-color: #23b7e5;\n  }\n  33.33% {\n    background-color: #fad733;\n  }\n  66.6% {\n    background-color: #fad733;\n  }\n  66.66% {\n    background-color: #7266ba;\n  }\n  99.9% {\n    background-color: #7266ba;\n  }\n}\n\n@-moz-keyframes changebar {\n  0% {\n    background-color: #23b7e5;\n  }\n  33.3% {\n    background-color: #23b7e5;\n  }\n  33.33% {\n    background-color: #fad733;\n  }\n  66.6% {\n    background-color: #fad733;\n  }\n  66.66% {\n    background-color: #7266ba;\n  }\n  99.9% {\n    background-color: #7266ba;\n  }\n}\n\n@keyframes changebar {\n  0% {\n    background-color: #23b7e5;\n  }\n  33.3% {\n    background-color: #23b7e5;\n  }\n  33.33% {\n    background-color: #fad733;\n  }\n  66.6% {\n    background-color: #fad733;\n  }\n  66.66% {\n    background-color: #7266ba;\n  }\n  99.9% {\n    background-color: #7266ba;\n  }\n}"
  },
  {
    "path": "src/css/bootstrap.css",
    "content": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n  font-family: sans-serif;\n  -webkit-text-size-adjust: 100%;\n      -ms-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n}\na:active,\na:hover {\n  outline: 0;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  margin: .67em 0;\n  font-size: 2em;\n}\nmark {\n  color: #000;\n  background: #ff0;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -.5em;\n}\nsub {\n  bottom: -.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  height: 0;\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  margin: 0;\n  font: inherit;\n  color: inherit;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n  padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box;\n     -moz-box-sizing: content-box;\n          box-sizing: content-box;\n  -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\nfieldset {\n  padding: .35em .625em .75em;\n  margin: 0 2px;\n  border: 1px solid #c0c0c0;\n}\nlegend {\n  padding: 0;\n  border: 0;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\ntd,\nth {\n  padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n  *,\n  *:before,\n  *:after {\n    color: #000 !important;\n    text-shadow: none !important;\n    background: transparent !important;\n    -webkit-box-shadow: none !important;\n            box-shadow: none !important;\n  }\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  a[href^=\"#\"]:after,\n  a[href^=\"javascript:\"]:after {\n    content: \"\";\n  }\n  pre,\n  blockquote {\n    border: 1px solid #999;\n\n    page-break-inside: avoid;\n  }\n  thead {\n    display: table-header-group;\n  }\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n  img {\n    max-width: 100% !important;\n  }\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n  .navbar {\n    display: none;\n  }\n  .btn > .caret,\n  .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .label {\n    border: 1px solid #000;\n  }\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n  .table th {\n    background-color: #fff !important;\n  }\n  .table-bordered th,\n  .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n\n  src: url('../fonts/glyphicons-halflings-regular.eot');\n  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');\n}\n.glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n  content: \"\\002a\";\n}\n.glyphicon-plus:before {\n  content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n  content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.glyphicon-music:before {\n  content: \"\\e002\";\n}\n.glyphicon-search:before {\n  content: \"\\e003\";\n}\n.glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.glyphicon-star:before {\n  content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.glyphicon-user:before {\n  content: \"\\e008\";\n}\n.glyphicon-film:before {\n  content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.glyphicon-th:before {\n  content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.glyphicon-off:before {\n  content: \"\\e017\";\n}\n.glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.glyphicon-home:before {\n  content: \"\\e021\";\n}\n.glyphicon-file:before {\n  content: \"\\e022\";\n}\n.glyphicon-time:before {\n  content: \"\\e023\";\n}\n.glyphicon-road:before {\n  content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.glyphicon-download:before {\n  content: \"\\e026\";\n}\n.glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.glyphicon-book:before {\n  content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.glyphicon-print:before {\n  content: \"\\e045\";\n}\n.glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.glyphicon-font:before {\n  content: \"\\e047\";\n}\n.glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.glyphicon-list:before {\n  content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.glyphicon-share:before {\n  content: \"\\e066\";\n}\n.glyphicon-check:before {\n  content: \"\\e067\";\n}\n.glyphicon-move:before {\n  content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.glyphicon-play:before {\n  content: \"\\e072\";\n}\n.glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.glyphicon-random:before {\n  content: \"\\e110\";\n}\n.glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.glyphicon-link:before {\n  content: \"\\e144\";\n}\n.glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.glyphicon-record:before {\n  content: \"\\e165\";\n}\n.glyphicon-save:before {\n  content: \"\\e166\";\n}\n.glyphicon-open:before {\n  content: \"\\e167\";\n}\n.glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.glyphicon-import:before {\n  content: \"\\e169\";\n}\n.glyphicon-export:before {\n  content: \"\\e170\";\n}\n.glyphicon-send:before {\n  content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.glyphicon-header:before {\n  content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.glyphicon-cd:before {\n  content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n  content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n  content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n  content: \"\\e204\";\n}\n.glyphicon-copy:before {\n  content: \"\\e205\";\n}\n.glyphicon-paste:before {\n  content: \"\\e206\";\n}\n.glyphicon-alert:before {\n  content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n  content: \"\\e210\";\n}\n.glyphicon-king:before {\n  content: \"\\e211\";\n}\n.glyphicon-queen:before {\n  content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n  content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n  content: \"\\e214\";\n}\n.glyphicon-knight:before {\n  content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n  content: \"\\e216\";\n}\n.glyphicon-tent:before {\n  content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n  content: \"\\e218\";\n}\n.glyphicon-bed:before {\n  content: \"\\e219\";\n}\n.glyphicon-apple:before {\n  content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n  content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n  content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n  content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n  content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n  content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n  content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n  content: \"\\e227\";\n}\n.glyphicon-btc:before {\n  content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n  content: \"\\e227\";\n}\n.glyphicon-yen:before {\n  content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n  content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n  content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n  content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n  content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n  content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n  content: \"\\e232\";\n}\n.glyphicon-education:before {\n  content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n  content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n  content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n  content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n  content: \"\\e237\";\n}\n.glyphicon-oil:before {\n  content: \"\\e238\";\n}\n.glyphicon-grain:before {\n  content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n  content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n  content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n  content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n  content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n  content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n  content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n  content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n  content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n  content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n  content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n  content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n  content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n  content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n  content: \"\\e253\";\n}\n.glyphicon-console:before {\n  content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n  content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n  content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n  content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n  content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n  content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n  content: \"\\e260\";\n}\n* {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\n*:before,\n*:after {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\nhtml {\n  font-size: 10px;\n\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #333;\n  background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\na {\n  color: #337ab7;\n  text-decoration: none;\n}\na:hover,\na:focus {\n  color: #23527c;\n  text-decoration: underline;\n}\na:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.img-rounded {\n  border-radius: 6px;\n}\n.img-thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n  padding: 4px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: all .2s ease-in-out;\n       -o-transition: all .2s ease-in-out;\n          transition: all .2s ease-in-out;\n}\n.img-circle {\n  border-radius: 50%;\n}\nhr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eee;\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n[role=\"button\"] {\n  cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n  font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n  font-size: 75%;\n}\nh1,\n.h1 {\n  font-size: 36px;\n}\nh2,\n.h2 {\n  font-size: 30px;\n}\nh3,\n.h3 {\n  font-size: 24px;\n}\nh4,\n.h4 {\n  font-size: 18px;\n}\nh5,\n.h5 {\n  font-size: 14px;\n}\nh6,\n.h6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .lead {\n    font-size: 21px;\n  }\n}\nsmall,\n.small {\n  font-size: 85%;\n}\nmark,\n.mark {\n  padding: .2em;\n  background-color: #fcf8e3;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #777;\n}\n.text-primary {\n  color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n  color: #286090;\n}\n.text-success {\n  color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n  color: #2b542c;\n}\n.text-info {\n  color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n  color: #245269;\n}\n.text-warning {\n  color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n  color: #66512c;\n}\n.text-danger {\n  color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n  color: #843534;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n  background-color: #286090;\n}\n.bg-success {\n  background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n  background-color: #c1e2b3;\n}\n.bg-info {\n  background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n  background-color: #afd9ee;\n}\n.bg-warning {\n  background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n  background-color: #f7ecb5;\n}\n.bg-danger {\n  background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n  background-color: #e4b9b9;\n}\n.page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eee;\n}\nul,\nol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  margin-left: -5px;\n  list-style: none;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    overflow: hidden;\n    clear: left;\n    text-align: right;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .dl-horizontal dd {\n    margin-left: 180px;\n  }\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #777;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n  content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #eee;\n  border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n  content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #333;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #333;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    width: 1170px;\n  }\n}\n.container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.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 {\n  float: left;\n}\n.col-xs-12 {\n  width: 100%;\n}\n.col-xs-11 {\n  width: 91.66666667%;\n}\n.col-xs-10 {\n  width: 83.33333333%;\n}\n.col-xs-9 {\n  width: 75%;\n}\n.col-xs-8 {\n  width: 66.66666667%;\n}\n.col-xs-7 {\n  width: 58.33333333%;\n}\n.col-xs-6 {\n  width: 50%;\n}\n.col-xs-5 {\n  width: 41.66666667%;\n}\n.col-xs-4 {\n  width: 33.33333333%;\n}\n.col-xs-3 {\n  width: 25%;\n}\n.col-xs-2 {\n  width: 16.66666667%;\n}\n.col-xs-1 {\n  width: 8.33333333%;\n}\n.col-xs-pull-12 {\n  right: 100%;\n}\n.col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.col-xs-pull-9 {\n  right: 75%;\n}\n.col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.col-xs-pull-6 {\n  right: 50%;\n}\n.col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.col-xs-pull-3 {\n  right: 25%;\n}\n.col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.col-xs-pull-0 {\n  right: auto;\n}\n.col-xs-push-12 {\n  left: 100%;\n}\n.col-xs-push-11 {\n  left: 91.66666667%;\n}\n.col-xs-push-10 {\n  left: 83.33333333%;\n}\n.col-xs-push-9 {\n  left: 75%;\n}\n.col-xs-push-8 {\n  left: 66.66666667%;\n}\n.col-xs-push-7 {\n  left: 58.33333333%;\n}\n.col-xs-push-6 {\n  left: 50%;\n}\n.col-xs-push-5 {\n  left: 41.66666667%;\n}\n.col-xs-push-4 {\n  left: 33.33333333%;\n}\n.col-xs-push-3 {\n  left: 25%;\n}\n.col-xs-push-2 {\n  left: 16.66666667%;\n}\n.col-xs-push-1 {\n  left: 8.33333333%;\n}\n.col-xs-push-0 {\n  left: auto;\n}\n.col-xs-offset-12 {\n  margin-left: 100%;\n}\n.col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n  margin-left: 75%;\n}\n.col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n  margin-left: 50%;\n}\n.col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n  margin-left: 25%;\n}\n.col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .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 {\n    float: left;\n  }\n  .col-sm-12 {\n    width: 100%;\n  }\n  .col-sm-11 {\n    width: 91.66666667%;\n  }\n  .col-sm-10 {\n    width: 83.33333333%;\n  }\n  .col-sm-9 {\n    width: 75%;\n  }\n  .col-sm-8 {\n    width: 66.66666667%;\n  }\n  .col-sm-7 {\n    width: 58.33333333%;\n  }\n  .col-sm-6 {\n    width: 50%;\n  }\n  .col-sm-5 {\n    width: 41.66666667%;\n  }\n  .col-sm-4 {\n    width: 33.33333333%;\n  }\n  .col-sm-3 {\n    width: 25%;\n  }\n  .col-sm-2 {\n    width: 16.66666667%;\n  }\n  .col-sm-1 {\n    width: 8.33333333%;\n  }\n  .col-sm-pull-12 {\n    right: 100%;\n  }\n  .col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-sm-pull-9 {\n    right: 75%;\n  }\n  .col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-sm-pull-6 {\n    right: 50%;\n  }\n  .col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-sm-pull-3 {\n    right: 25%;\n  }\n  .col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-sm-pull-0 {\n    right: auto;\n  }\n  .col-sm-push-12 {\n    left: 100%;\n  }\n  .col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .col-sm-push-9 {\n    left: 75%;\n  }\n  .col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .col-sm-push-6 {\n    left: 50%;\n  }\n  .col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .col-sm-push-3 {\n    left: 25%;\n  }\n  .col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .col-sm-push-0 {\n    left: auto;\n  }\n  .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-sm-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 992px) {\n  .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 {\n    float: left;\n  }\n  .col-md-12 {\n    width: 100%;\n  }\n  .col-md-11 {\n    width: 91.66666667%;\n  }\n  .col-md-10 {\n    width: 83.33333333%;\n  }\n  .col-md-9 {\n    width: 75%;\n  }\n  .col-md-8 {\n    width: 66.66666667%;\n  }\n  .col-md-7 {\n    width: 58.33333333%;\n  }\n  .col-md-6 {\n    width: 50%;\n  }\n  .col-md-5 {\n    width: 41.66666667%;\n  }\n  .col-md-4 {\n    width: 33.33333333%;\n  }\n  .col-md-3 {\n    width: 25%;\n  }\n  .col-md-2 {\n    width: 16.66666667%;\n  }\n  .col-md-1 {\n    width: 8.33333333%;\n  }\n  .col-md-pull-12 {\n    right: 100%;\n  }\n  .col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-md-pull-9 {\n    right: 75%;\n  }\n  .col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-md-pull-6 {\n    right: 50%;\n  }\n  .col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-md-pull-3 {\n    right: 25%;\n  }\n  .col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-md-pull-0 {\n    right: auto;\n  }\n  .col-md-push-12 {\n    left: 100%;\n  }\n  .col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .col-md-push-9 {\n    left: 75%;\n  }\n  .col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .col-md-push-6 {\n    left: 50%;\n  }\n  .col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .col-md-push-3 {\n    left: 25%;\n  }\n  .col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .col-md-push-0 {\n    left: auto;\n  }\n  .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-md-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 1200px) {\n  .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 {\n    float: left;\n  }\n  .col-lg-12 {\n    width: 100%;\n  }\n  .col-lg-11 {\n    width: 91.66666667%;\n  }\n  .col-lg-10 {\n    width: 83.33333333%;\n  }\n  .col-lg-9 {\n    width: 75%;\n  }\n  .col-lg-8 {\n    width: 66.66666667%;\n  }\n  .col-lg-7 {\n    width: 58.33333333%;\n  }\n  .col-lg-6 {\n    width: 50%;\n  }\n  .col-lg-5 {\n    width: 41.66666667%;\n  }\n  .col-lg-4 {\n    width: 33.33333333%;\n  }\n  .col-lg-3 {\n    width: 25%;\n  }\n  .col-lg-2 {\n    width: 16.66666667%;\n  }\n  .col-lg-1 {\n    width: 8.33333333%;\n  }\n  .col-lg-pull-12 {\n    right: 100%;\n  }\n  .col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .col-lg-pull-9 {\n    right: 75%;\n  }\n  .col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .col-lg-pull-6 {\n    right: 50%;\n  }\n  .col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .col-lg-pull-3 {\n    right: 25%;\n  }\n  .col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .col-lg-pull-0 {\n    right: auto;\n  }\n  .col-lg-push-12 {\n    left: 100%;\n  }\n  .col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .col-lg-push-9 {\n    left: 75%;\n  }\n  .col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .col-lg-push-6 {\n    left: 50%;\n  }\n  .col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .col-lg-push-3 {\n    left: 25%;\n  }\n  .col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .col-lg-push-0 {\n    left: auto;\n  }\n  .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .col-lg-offset-0 {\n    margin-left: 0;\n  }\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  color: #777;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\n.table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.42857143;\n  vertical-align: top;\n  border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.table > tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table .table {\n  background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n  border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n  background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n  background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n  background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n  background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n}\n.table-responsive {\n  min-height: .01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #ddd;\n  }\n  .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .table-responsive > .table > thead > tr > th,\n  .table-responsive > .table > tbody > tr > th,\n  .table-responsive > .table > tfoot > tr > th,\n  .table-responsive > .table > thead > tr > td,\n  .table-responsive > .table > tbody > tr > td,\n  .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\ninput[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n     -moz-box-sizing: border-box;\n          box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n}\n.form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n       -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n          transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n          box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #999;\n}\n.form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n  background-color: #eee;\n  opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n  cursor: not-allowed;\n}\ntextarea.form-control {\n  height: auto;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n  input[type=\"date\"].form-control,\n  input[type=\"time\"].form-control,\n  input[type=\"datetime-local\"].form-control,\n  input[type=\"month\"].form-control {\n    line-height: 34px;\n  }\n  input[type=\"date\"].input-sm,\n  input[type=\"time\"].input-sm,\n  input[type=\"datetime-local\"].input-sm,\n  input[type=\"month\"].input-sm,\n  .input-group-sm input[type=\"date\"],\n  .input-group-sm input[type=\"time\"],\n  .input-group-sm input[type=\"datetime-local\"],\n  .input-group-sm input[type=\"month\"] {\n    line-height: 30px;\n  }\n  input[type=\"date\"].input-lg,\n  input[type=\"time\"].input-lg,\n  input[type=\"datetime-local\"].input-lg,\n  input[type=\"month\"].input-lg,\n  .input-group-lg input[type=\"date\"],\n  .input-group-lg input[type=\"time\"],\n  .input-group-lg input[type=\"datetime-local\"],\n  .input-group-lg input[type=\"month\"] {\n    line-height: 46px;\n  }\n}\n.form-group {\n  margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n  position: relative;\n  display: block;\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n  min-height: 20px;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n  position: absolute;\n  margin-top: 4px \\9;\n  margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n  margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n  position: relative;\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  font-weight: normal;\n  vertical-align: middle;\n  cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n  cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n  cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n  cursor: not-allowed;\n}\n.form-control-static {\n  min-height: 34px;\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n  height: auto;\n}\n.form-group-sm .form-control {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.form-group-sm select.form-control {\n  height: 30px;\n  line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n  height: auto;\n}\n.form-group-sm .form-control-static {\n  height: 30px;\n  min-height: 32px;\n  padding: 6px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.input-lg {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-lg {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n  height: auto;\n}\n.form-group-lg .form-control {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.form-group-lg select.form-control {\n  height: 46px;\n  line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n  height: auto;\n}\n.form-group-lg .form-control-static {\n  height: 46px;\n  min-height: 38px;\n  padding: 11px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.has-feedback {\n  position: relative;\n}\n.has-feedback .form-control {\n  padding-right: 42.5px;\n}\n.form-control-feedback {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  display: block;\n  width: 34px;\n  height: 34px;\n  line-height: 34px;\n  text-align: center;\n  pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n  width: 46px;\n  height: 46px;\n  line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n  width: 30px;\n  height: 30px;\n  line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n  color: #3c763d;\n}\n.has-success .form-control {\n  border-color: #3c763d;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n  border-color: #2b542c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n  color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n  color: #8a6d3b;\n}\n.has-warning .form-control {\n  border-color: #8a6d3b;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n  border-color: #66512c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n  color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n  color: #a94442;\n}\n.has-error .form-control {\n  border-color: #a94442;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n  border-color: #843534;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #a94442;\n}\n.has-error .form-control-feedback {\n  color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n  top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n  top: 0;\n}\n.help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-static {\n    display: inline-block;\n  }\n  .form-inline .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .form-inline .input-group .input-group-addon,\n  .form-inline .input-group .input-group-btn,\n  .form-inline .input-group .form-control {\n    width: auto;\n  }\n  .form-inline .input-group > .form-control {\n    width: 100%;\n  }\n  .form-inline .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio,\n  .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .form-inline .radio label,\n  .form-inline .checkbox label {\n    padding-left: 0;\n  }\n  .form-inline .radio input[type=\"radio\"],\n  .form-inline .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .form-inline .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n  padding-top: 7px;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n  min-height: 27px;\n}\n.form-horizontal .form-group {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .control-label {\n    padding-top: 7px;\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n  right: 15px;\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-lg .control-label {\n    padding-top: 11px;\n    font-size: 18px;\n  }\n}\n@media (min-width: 768px) {\n  .form-horizontal .form-group-sm .control-label {\n    padding-top: 6px;\n    font-size: 12px;\n  }\n}\n.btn {\n  display: inline-block;\n  padding: 6px 12px;\n  margin-bottom: 0;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n  color: #333;\n  text-decoration: none;\n}\n.btn:active,\n.btn.active {\n  background-image: none;\n  outline: 0;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n  cursor: not-allowed;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n          box-shadow: none;\n  opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n  pointer-events: none;\n}\n.btn-default {\n  color: #333;\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #8c8c8c;\n}\n.btn-default:hover {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  color: #333;\n  background-color: #e6e6e6;\n  border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n  color: #333;\n  background-color: #d4d4d4;\n  border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n  background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n  background-color: #fff;\n  border-color: #ccc;\n}\n.btn-default .badge {\n  color: #fff;\n  background-color: #333;\n}\n.btn-primary {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n  background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.btn-primary .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.btn-success {\n  color: #fff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #255625;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  color: #fff;\n  background-color: #449d44;\n  border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n  color: #fff;\n  background-color: #398439;\n  border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n  background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.btn-success .badge {\n  color: #5cb85c;\n  background-color: #fff;\n}\n.btn-info {\n  color: #fff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #1b6d85;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  color: #fff;\n  background-color: #31b0d5;\n  border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n  color: #fff;\n  background-color: #269abc;\n  border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n  background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.btn-info .badge {\n  color: #5bc0de;\n  background-color: #fff;\n}\n.btn-warning {\n  color: #fff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #985f0d;\n}\n.btn-warning:hover {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  color: #fff;\n  background-color: #ec971f;\n  border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n  color: #fff;\n  background-color: #d58512;\n  border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n  background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.btn-warning .badge {\n  color: #f0ad4e;\n  background-color: #fff;\n}\n.btn-danger {\n  color: #fff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #761c19;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  color: #fff;\n  background-color: #c9302c;\n  border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n  color: #fff;\n  background-color: #ac2925;\n  border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n  background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.btn-danger .badge {\n  color: #d9534f;\n  background-color: #fff;\n}\n.btn-link {\n  font-weight: normal;\n  color: #337ab7;\n  border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n  border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n  color: #23527c;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n  color: #777;\n  text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n  width: 100%;\n}\n.fade {\n  opacity: 0;\n  -webkit-transition: opacity .15s linear;\n       -o-transition: opacity .15s linear;\n          transition: opacity .15s linear;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  display: none;\n}\n.collapse.in {\n  display: block;\n}\ntr.collapse.in {\n  display: table-row;\n}\ntbody.collapse.in {\n  display: table-row-group;\n}\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition-timing-function: ease;\n       -o-transition-timing-function: ease;\n          transition-timing-function: ease;\n  -webkit-transition-duration: .35s;\n       -o-transition-duration: .35s;\n          transition-duration: .35s;\n  -webkit-transition-property: height, visibility;\n       -o-transition-property: height, visibility;\n          transition-property: height, visibility;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px dashed;\n  border-top: 4px solid \\9;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle:focus {\n  outline: 0;\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #333;\n  white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n  color: #262626;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #337ab7;\n  outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n  display: block;\n}\n.open > a {\n  outline: 0;\n}\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n.dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.42857143;\n  color: #777;\n  white-space: nowrap;\n}\n.dropdown-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 990;\n}\n.pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n  content: \"\";\n  border-top: 0;\n  border-bottom: 4px dashed;\n  border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .navbar-right .dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.btn-toolbar {\n  margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n  float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n  margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n  float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n  -webkit-box-shadow: none;\n          box-shadow: none;\n}\n.btn .caret {\n  margin-left: 0;\n}\n.btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n  display: table-cell;\n  float: none;\n  width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n  width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n  left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n  float: none;\n  padding-right: 0;\n  padding-left: 0;\n}\n.input-group .form-control {\n  position: relative;\n  z-index: 2;\n  float: left;\n  width: 100%;\n  margin-bottom: 0;\n}\n.input-group .form-control:focus {\n  z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n  height: 46px;\n  line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n  display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555;\n  text-align: center;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n  border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n  border-left: 0;\n}\n.input-group-btn {\n  position: relative;\n  font-size: 0;\n  white-space: nowrap;\n}\n.input-group-btn > .btn {\n  position: relative;\n}\n.input-group-btn > .btn + .btn {\n  margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n  z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n  margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n  z-index: 2;\n  margin-left: -1px;\n}\n.nav {\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.nav > li {\n  position: relative;\n  display: block;\n}\n.nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.nav > li.disabled > a {\n  color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n  color: #777;\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n  background-color: #eee;\n  border-color: #337ab7;\n}\n.nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.nav > li > a > img {\n  max-width: none;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n  color: #555;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n  float: none;\n}\n.nav-tabs.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs.nav-justified > .active > a,\n  .nav-tabs.nav-justified > .active > a:hover,\n  .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.nav-pills > li {\n  float: left;\n}\n.nav-pills > li > a {\n  border-radius: 4px;\n}\n.nav-pills > li + li {\n  margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n  color: #fff;\n  background-color: #337ab7;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.nav-justified {\n  width: 100%;\n}\n.nav-justified > li {\n  float: none;\n}\n.nav-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.nav-tabs-justified {\n  border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n  border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n  .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #ddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .nav-tabs-justified > .active > a,\n  .nav-tabs-justified > .active > a:hover,\n  .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #fff;\n  }\n}\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar {\n  position: relative;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n  .navbar {\n    border-radius: 4px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-header {\n    float: left;\n  }\n}\n.navbar-collapse {\n  padding-right: 15px;\n  padding-left: 15px;\n  overflow-x: visible;\n  -webkit-overflow-scrolling: touch;\n  border-top: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n  .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-static-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n  max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n  .navbar-fixed-top .navbar-collapse,\n  .navbar-fixed-bottom .navbar-collapse {\n    max-height: 200px;\n  }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .container > .navbar-header,\n  .container-fluid > .navbar-header,\n  .container > .navbar-collapse,\n  .container-fluid > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.navbar-static-top {\n  z-index: 1000;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n@media (min-width: 768px) {\n  .navbar-fixed-top,\n  .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.navbar-fixed-top {\n  top: 0;\n  border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n  border-width: 1px 0 0;\n}\n.navbar-brand {\n  float: left;\n  height: 50px;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n  text-decoration: none;\n}\n.navbar-brand > img {\n  display: block;\n}\n@media (min-width: 768px) {\n  .navbar > .container .navbar-brand,\n  .navbar > .container-fluid .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.navbar-toggle {\n  position: relative;\n  float: right;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-right: 15px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  background-image: none;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.navbar-toggle:focus {\n  outline: 0;\n}\n.navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .navbar-toggle {\n    display: none;\n  }\n}\n.navbar-nav {\n  margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n  .navbar-nav .open .dropdown-menu > li > a,\n  .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .navbar-nav > li {\n    float: left;\n  }\n  .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n.navbar-form {\n  padding: 10px 15px;\n  margin-top: 8px;\n  margin-right: -15px;\n  margin-bottom: 8px;\n  margin-left: -15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n  .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .navbar-form .form-control-static {\n    display: inline-block;\n  }\n  .navbar-form .input-group {\n    display: inline-table;\n    vertical-align: middle;\n  }\n  .navbar-form .input-group .input-group-addon,\n  .navbar-form .input-group .input-group-btn,\n  .navbar-form .input-group .form-control {\n    width: auto;\n  }\n  .navbar-form .input-group > .form-control {\n    width: 100%;\n  }\n  .navbar-form .control-label {\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio,\n  .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .navbar-form .radio label,\n  .navbar-form .checkbox label {\n    padding-left: 0;\n  }\n  .navbar-form .radio input[type=\"radio\"],\n  .navbar-form .checkbox input[type=\"checkbox\"] {\n    position: relative;\n    margin-left: 0;\n  }\n  .navbar-form .has-feedback .form-control-feedback {\n    top: 0;\n  }\n}\n@media (max-width: 767px) {\n  .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n  .navbar-form .form-group:last-child {\n    margin-bottom: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-form {\n    width: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    margin-right: 0;\n    margin-left: 0;\n    border: 0;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n  }\n}\n.navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  margin-bottom: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n  margin-top: 14px;\n  margin-bottom: 14px;\n}\n.navbar-text {\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .navbar-text {\n    float: left;\n    margin-right: 15px;\n    margin-left: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-left {\n    float: left !important;\n  }\n  .navbar-right {\n    float: right !important;\n    margin-right: -15px;\n  }\n  .navbar-right ~ .navbar-right {\n    margin-right: 0;\n  }\n}\n.navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n  color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.navbar-default .navbar-text {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n  color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n  color: #333;\n  background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n  color: #ccc;\n  background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n  border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n  background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n  background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n  color: #555;\n  background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333;\n    background-color: transparent;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555;\n    background-color: #e7e7e7;\n  }\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #ccc;\n    background-color: transparent;\n  }\n}\n.navbar-default .navbar-link {\n  color: #777;\n}\n.navbar-default .navbar-link:hover {\n  color: #333;\n}\n.navbar-default .btn-link {\n  color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n  color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n  color: #ccc;\n}\n.navbar-inverse {\n  background-color: #222;\n  border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n  color: #fff;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444;\n  background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n  border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n  background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n  color: #fff;\n  background-color: #080808;\n}\n@media (max-width: 767px) {\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #9d9d9d;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #fff;\n    background-color: transparent;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #fff;\n    background-color: #080808;\n  }\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444;\n    background-color: transparent;\n  }\n}\n.navbar-inverse .navbar-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n  color: #fff;\n}\n.navbar-inverse .btn-link {\n  color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n  color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n  color: #444;\n}\n.breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.breadcrumb > li {\n  display: inline-block;\n}\n.breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n  color: #777;\n}\n.pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.pagination > li {\n  display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  margin-left: -1px;\n  line-height: 1.42857143;\n  color: #337ab7;\n  text-decoration: none;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n  margin-left: 0;\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n  z-index: 2;\n  color: #23527c;\n  background-color: #eee;\n  border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n  z-index: 3;\n  color: #fff;\n  cursor: default;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #fff;\n  border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n  border-top-left-radius: 6px;\n  border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n  border-top-right-radius: 6px;\n  border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n  border-top-left-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n  border-top-right-radius: 3px;\n  border-bottom-right-radius: 3px;\n}\n.pager {\n  padding-left: 0;\n  margin: 20px 0;\n  text-align: center;\n  list-style: none;\n}\n.pager li {\n  display: inline;\n}\n.pager li > a,\n.pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n  text-decoration: none;\n  background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n  float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n  float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #fff;\n}\n.label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.label:empty {\n  display: none;\n}\n.btn .label {\n  position: relative;\n  top: -1px;\n}\n.label-default {\n  background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n  background-color: #5e5e5e;\n}\n.label-primary {\n  background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n  background-color: #286090;\n}\n.label-success {\n  background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n  background-color: #449d44;\n}\n.label-info {\n  background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.label-warning {\n  background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.label-danger {\n  background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  background-color: #777;\n  border-radius: 10px;\n}\n.badge:empty {\n  display: none;\n}\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n  top: 0;\n  padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n  color: #fff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.list-group-item > .badge {\n  float: right;\n}\n.list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.jumbotron {\n  padding-top: 30px;\n  padding-bottom: 30px;\n  margin-bottom: 30px;\n  color: inherit;\n  background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n  color: inherit;\n}\n.jumbotron p {\n  margin-bottom: 15px;\n  font-size: 21px;\n  font-weight: 200;\n}\n.jumbotron > hr {\n  border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n  padding-right: 15px;\n  padding-left: 15px;\n  border-radius: 6px;\n}\n.jumbotron .container {\n  max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n  .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .jumbotron,\n  .container-fluid .jumbotron {\n    padding-right: 60px;\n    padding-left: 60px;\n  }\n  .jumbotron h1,\n  .jumbotron .h1 {\n    font-size: 63px;\n  }\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  margin-bottom: 20px;\n  line-height: 1.42857143;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  border-radius: 4px;\n  -webkit-transition: border .2s ease-in-out;\n       -o-transition: border .2s ease-in-out;\n          transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n  margin-right: auto;\n  margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n  border-color: #337ab7;\n}\n.thumbnail .caption {\n  padding: 9px;\n  color: #333;\n}\n.alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.alert .alert-link {\n  font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n  margin-bottom: 0;\n}\n.alert > p + p {\n  margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n  padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.alert-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n  color: #2b542c;\n}\n.alert-info {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n  color: #245269;\n}\n.alert-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n  color: #66512c;\n}\n.alert-danger {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n  color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@-o-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  height: 20px;\n  margin-bottom: 20px;\n  overflow: hidden;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n          box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #337ab7;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n  -webkit-transition: width .6s ease;\n       -o-transition: width .6s ease;\n          transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n          background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n       -o-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media {\n  margin-top: 15px;\n}\n.media:first-child {\n  margin-top: 0;\n}\n.media,\n.media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.media-body {\n  width: 10000px;\n}\n.media-object {\n  display: block;\n}\n.media-object.img-thumbnail {\n  max-width: none;\n}\n.media-right,\n.media > .pull-right {\n  padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n  padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n  display: table-cell;\n  vertical-align: top;\n}\n.media-middle {\n  vertical-align: middle;\n}\n.media-bottom {\n  vertical-align: bottom;\n}\n.media-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.list-group {\n  padding-left: 0;\n  margin-bottom: 20px;\n}\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n  color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n  color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n  color: #555;\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\nbutton.list-group-item {\n  width: 100%;\n  text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n  color: #777;\n  cursor: not-allowed;\n  background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n  color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n  color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n  z-index: 2;\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n  color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n  color: #c7ddef;\n}\n.list-group-item-success {\n  color: #3c763d;\n  background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n  color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n  color: #3c763d;\n  background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n  color: #fff;\n  background-color: #3c763d;\n  border-color: #3c763d;\n}\n.list-group-item-info {\n  color: #31708f;\n  background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n  color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n  color: #31708f;\n  background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n  color: #fff;\n  background-color: #31708f;\n  border-color: #31708f;\n}\n.list-group-item-warning {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n  color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n  color: #8a6d3b;\n  background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n  color: #fff;\n  background-color: #8a6d3b;\n  border-color: #8a6d3b;\n}\n.list-group-item-danger {\n  color: #a94442;\n  background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n  color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n  color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n  color: #a94442;\n  background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n  color: #fff;\n  background-color: #a94442;\n  border-color: #a94442;\n}\n.list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n  padding: 15px;\n}\n.panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n  color: inherit;\n}\n.panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n  color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n  color: inherit;\n}\n.panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n  margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group + .panel-footer {\n  border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n  margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n  border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.panel > .table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.panel-group {\n  margin-bottom: 20px;\n}\n.panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.panel-group .panel-heading {\n  border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n  border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n  border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #ddd;\n}\n.panel-default {\n  border-color: #ddd;\n}\n.panel-default > .panel-heading {\n  color: #333;\n  background-color: #f5f5f5;\n  border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n  color: #f5f5f5;\n  background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ddd;\n}\n.panel-primary {\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n  color: #337ab7;\n  background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #337ab7;\n}\n.panel-success {\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n  color: #3c763d;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n  color: #dff0d8;\n  background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.panel-info {\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n  color: #31708f;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n  color: #d9edf7;\n  background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.panel-warning {\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n  color: #8a6d3b;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n  color: #fcf8e3;\n  background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #faebcc;\n}\n.panel-danger {\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n  color: #a94442;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n  border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n  color: #f2dede;\n  background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  height: 0;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n.embed-responsive-16by9 {\n  padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n  padding-bottom: 75%;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n          box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  filter: alpha(opacity=20);\n  opacity: .2;\n}\n.close:hover,\n.close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\nbutton.close {\n  -webkit-appearance: none;\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n}\n.modal.fade .modal-dialog {\n  -webkit-transition: -webkit-transform .3s ease-out;\n       -o-transition:      -o-transform .3s ease-out;\n          transition:         transform .3s ease-out;\n  -webkit-transform: translate(0, -25%);\n      -ms-transform: translate(0, -25%);\n       -o-transform: translate(0, -25%);\n          transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n      -ms-transform: translate(0, 0);\n       -o-transform: translate(0, 0);\n          transform: translate(0, 0);\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 10px;\n}\n.modal-content {\n  position: relative;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  outline: 0;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n          box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n.modal-backdrop.in {\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.modal-body {\n  position: relative;\n  padding: 15px;\n}\n.modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n@media (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    margin: 30px auto;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n  }\n  .modal-sm {\n    width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg {\n    width: 900px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 12px;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  white-space: normal;\n  filter: alpha(opacity=0);\n  opacity: 0;\n\n  line-break: auto;\n}\n.tooltip.in {\n  filter: alpha(opacity=90);\n  opacity: .9;\n}\n.tooltip.top {\n  padding: 5px 0;\n  margin-top: -3px;\n}\n.tooltip.right {\n  padding: 0 5px;\n  margin-left: 3px;\n}\n.tooltip.bottom {\n  padding: 5px 0;\n  margin-top: 3px;\n}\n.tooltip.left {\n  padding: 0 5px;\n  margin-left: -3px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n  right: 5px;\n  bottom: 0;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  margin-bottom: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  margin-top: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  word-wrap: normal;\n  white-space: normal;\n  background-color: #fff;\n  -webkit-background-clip: padding-box;\n          background-clip: padding-box;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, .2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n          box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n  line-break: auto;\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover > .arrow {\n  border-width: 11px;\n}\n.popover > .arrow:after {\n  content: \"\";\n  border-width: 10px;\n}\n.popover.top > .arrow {\n  bottom: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-color: #999;\n  border-top-color: rgba(0, 0, 0, .25);\n  border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-color: #fff;\n  border-bottom-width: 0;\n}\n.popover.right > .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, .25);\n  border-left-width: 0;\n}\n.popover.right > .arrow:after {\n  bottom: -10px;\n  left: 1px;\n  content: \" \";\n  border-right-color: #fff;\n  border-left-width: 0;\n}\n.popover.bottom > .arrow {\n  top: -11px;\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n  right: 1px;\n  bottom: -10px;\n  content: \" \";\n  border-right-width: 0;\n  border-left-color: #fff;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.carousel-inner > .item {\n  position: relative;\n  display: none;\n  -webkit-transition: .6s ease-in-out left;\n       -o-transition: .6s ease-in-out left;\n          transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n  .carousel-inner > .item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n         -o-transition:      -o-transform .6s ease-in-out;\n            transition:         transform .6s ease-in-out;\n\n    -webkit-backface-visibility: hidden;\n            backface-visibility: hidden;\n    -webkit-perspective: 1000px;\n            perspective: 1000px;\n  }\n  .carousel-inner > .item.next,\n  .carousel-inner > .item.active.right {\n    left: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n            transform: translate3d(100%, 0, 0);\n  }\n  .carousel-inner > .item.prev,\n  .carousel-inner > .item.active.left {\n    left: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n            transform: translate3d(-100%, 0, 0);\n  }\n  .carousel-inner > .item.next.left,\n  .carousel-inner > .item.prev.right,\n  .carousel-inner > .item.active {\n    left: 0;\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 15%;\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n  background-color: rgba(0, 0, 0, 0);\n  filter: alpha(opacity=50);\n  opacity: .5;\n}\n.carousel-control.left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control.right {\n  right: 0;\n  left: auto;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  background-image:      -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n  background-image:         linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n  background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #fff;\n  text-decoration: none;\n  filter: alpha(opacity=90);\n  outline: 0;\n  opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n  margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  font-family: serif;\n  line-height: 1;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  padding-left: 0;\n  margin-left: -30%;\n  text-align: center;\n  list-style: none;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: #000 \\9;\n  background-color: rgba(0, 0, 0, 0);\n  border: 1px solid #fff;\n  border-radius: 10px;\n}\n.carousel-indicators .active {\n  width: 12px;\n  height: 12px;\n  margin: 0;\n  background-color: #fff;\n}\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -10px;\n    font-size: 30px;\n  }\n  .carousel-control .glyphicon-chevron-left,\n  .carousel-control .icon-prev {\n    margin-left: -10px;\n  }\n  .carousel-control .glyphicon-chevron-right,\n  .carousel-control .icon-next {\n    margin-right: -10px;\n  }\n  .carousel-caption {\n    right: 20%;\n    left: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n  display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  table.visible-xs {\n    display: table !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-block {\n    display: block !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline {\n    display: inline !important;\n  }\n}\n@media (max-width: 767px) {\n  .visible-xs-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  table.visible-sm {\n    display: table !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-block {\n    display: block !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  table.visible-md {\n    display: table !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-block {\n    display: block !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  table.visible-lg {\n    display: table !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-block {\n    display: block !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline {\n    display: inline !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg-inline-block {\n    display: inline-block !important;\n  }\n}\n@media (max-width: 767px) {\n  .hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  table.visible-print {\n    display: table !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n}\n.visible-print-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-block {\n    display: block !important;\n  }\n}\n.visible-print-inline {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline {\n    display: inline !important;\n  }\n}\n.visible-print-inline-block {\n  display: none !important;\n}\n@media print {\n  .visible-print-inline-block {\n    display: inline-block !important;\n  }\n}\n@media print {\n  .hidden-print {\n    display: none !important;\n  }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n"
  },
  {
    "path": "src/css/font.css",
    "content": "@font-face {\n  font-family: 'Source Sans Pro';\n  font-style: normal;\n  font-weight: 300;\n  src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('../fonts/sourcesanspro/sourcesanspro-light.woff') format('woff');\n}\n@font-face {\n  font-family: 'Source Sans Pro';\n  font-style: normal;\n  font-weight: 400;\n  src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url('../fonts/sourcesanspro/sourcesanspro.woff') format('woff');\n}\n@font-face {\n  font-family: 'Source Sans Pro';\n  font-style: normal;\n  font-weight: 700;\n  src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('../fonts/sourcesanspro/sourcesanspro-bold.woff') format('woff');\n}"
  },
  {
    "path": "src/css/less/app.arrow.less",
    "content": ".arrow {\n  border-width: @arrow-outer-width;\n  z-index: 10;\n  &,\n  &:after {\n    position: absolute;\n    display: block;\n    width: 0;\n    height: 0;\n    border-color: transparent;\n    border-style: solid;\n  }\n  &:after{\n  \tborder-width: @arrow-width;\n  \tcontent: \"\";\n  }\n\n  &.top {\n    left: 50%;\n    margin-left: -@arrow-outer-width;\n    border-top-width: 0;\n    border-bottom-color: @arrow-outer-color;\n    top: -@arrow-outer-width;\n    &:after {\n      top: 1px;\n      margin-left: -@arrow-width;\n      border-top-width: 0;\n      border-bottom-color: @arrow-color;\n    }\n    &.arrow-primary{\n      &:after{\n        border-bottom-color: @brand-primary;\n      }\n    }\n    &.arrow-info{\n      &:after{\n        border-bottom-color: @brand-info;\n      }\n    }\n    &.arrow-success{\n      &:after{\n        border-bottom-color: @brand-success;\n      }\n    }\n    &.arrow-danger{\n      &:after{\n        border-bottom-color: @brand-danger;\n      }\n    }\n    &.arrow-warning{\n      &:after{\n        border-bottom-color: @brand-warning;\n      }\n    }\n    &.arrow-light{\n      &:after{\n        border-bottom-color: @brand-light;\n      }\n    }\n    &.arrow-dark{\n      &:after{\n        border-bottom-color: @brand-dark;\n      }\n    }\n    &.arrow-black{\n      &:after{\n        border-bottom-color: @brand-black;\n      }\n    }\n  }\n\n  &.right {\n  \ttop: 50%;\n    right: -@arrow-outer-width;\n    margin-top: -@arrow-outer-width;\n    border-right-width: 0;\n    border-left-color: @arrow-outer-color;\n    &:after {\n      right: 1px;\n      bottom: -@arrow-width;\n      border-right-width: 0;\n      border-left-color: @arrow-color;      \n    }\n    &.arrow-primary{\n      &:after{\n        border-left-color: @brand-primary;\n      }\n    }\n    &.arrow-info{\n      &:after{\n        border-left-color: @brand-info;\n      }\n    }\n    &.arrow-success{\n      &:after{\n        border-left-color: @brand-success;\n      }\n    }\n    &.arrow-danger{\n      &:after{\n        border-left-color: @brand-danger;\n      }\n    }\n    &.arrow-warning{\n      &:after{\n        border-left-color: @brand-warning;\n      }\n    }\n    &.arrow-light{\n      &:after{\n        border-left-color: @brand-light;\n      }\n    }\n    &.arrow-dark{\n      &:after{\n        border-left-color: @brand-dark;\n      }\n    }\n    &.arrow-black{\n      &:after{\n        border-left-color: @brand-black;\n      }\n    }\n  }\n\n  &.bottom {\n    left: 50%;\n    bottom: -@arrow-outer-width;\n    margin-left: -@arrow-outer-width;\n    border-bottom-width: 0;\n    border-top-color: @arrow-outer-color;    \n    &:after {\n      bottom: 1px;\n      margin-left: -@arrow-width;\n      border-bottom-width: 0;\n      border-top-color: @arrow-color;\n    }\n    &.arrow-primary{\n      &:after{\n        border-top-color: @brand-primary;\n      }\n    }\n    &.arrow-info{\n      &:after{\n        border-top-color: @brand-info;\n      }\n    }\n    &.arrow-success{\n      &:after{\n        border-top-color: @brand-success;\n      }\n    }\n    &.arrow-danger{\n      &:after{\n        border-top-color: @brand-danger;\n      }\n    }\n    &.arrow-warning{\n      &:after{\n        border-top-color: @brand-warning;\n      }\n    }\n    &.arrow-light{\n      &:after{\n        border-top-color: @brand-light;\n      }\n    }\n    &.arrow-dark{\n      &:after{\n        border-top-color: @brand-dark;\n      }\n    }\n    &.arrow-black{\n      &:after{\n        border-top-color: @brand-black;\n      }\n    }\n  }\n\n  &.left {\n  \ttop: 50%;\n    left: -@arrow-outer-width;\n    margin-top: -@arrow-outer-width;\n    border-left-width: 0;\n    border-right-color: @arrow-outer-color;\n    &:after {\n      left: 1px;\n      bottom: -@arrow-width;\n      border-left-width: 0;\n      border-right-color: @arrow-color;      \n    }\n    &.arrow-primary{\n      &:after{\n        border-right-color: @brand-primary;\n      }\n    }\n    &.arrow-info{\n      &:after{\n        border-right-color: @brand-info;\n      }\n    }\n    &.arrow-success{\n      &:after{\n        border-right-color: @brand-success;\n      }\n    }\n    &.arrow-danger{\n      &:after{\n        border-right-color: @brand-danger;\n      }\n    }\n    &.arrow-warning{\n      &:after{\n        border-right-color: @brand-warning;\n      }\n    }\n    &.arrow-light{\n      &:after{\n        border-right-color: @brand-light;\n      }\n    }\n    &.arrow-dark{\n      &:after{\n        border-right-color: @brand-dark;\n      }\n    }\n    &.arrow-black{\n      &:after{\n        border-right-color: @brand-black;\n      }\n    }\n  }\n\n  &.pull-left{\n    left: @arrow-outer-width + 10;\n  }\n  &.pull-right{\n    left: auto;\n    right: @arrow-outer-width + 10;\n  }\n  &.pull-up{\n    top: @arrow-outer-width + 10;\n  }\n  &.pull-down{\n    top: auto;\n    bottom: @arrow-outer-width + 10;\n  }\n\n}"
  },
  {
    "path": "src/css/less/app.butterbar.less",
    "content": ".butterbar{\n  position: relative;\n  margin-bottom: -@butterbar-height;\n  height: @butterbar-height;\n  .bar{\n    position: absolute;\n    height: 0;\n    width: 100%;\n    text-indent: -9999px;\n    background-color: @brand-info;\n    &:before{\n      content: \"\";\n      height: @butterbar-height;\n      position: absolute;\n      left: 50%;\n      right: 50%;\n      background-color: inherit;\n    }\n  }\n}\n.butterbar.active{\n  -webkit-animation: changebar @butterbar-time*3 infinite @butterbar-time;\n  -moz-animation: changebar @butterbar-time*3 infinite @butterbar-time;\n  animation: changebar @butterbar-time*3 infinite @butterbar-time;\n  .bar{\n    -webkit-animation: changebar @butterbar-time*3 infinite;\n    -moz-animation: changebar @butterbar-time*3 infinite;\n    animation: changebar @butterbar-time*3 infinite;\n    &:before{\n      -webkit-animation: movingbar @butterbar-time infinite;\n      -moz-animation: movingbar @butterbar-time infinite;\n      animation: movingbar @butterbar-time infinite;\n    }\n  }\n}\n\n/* Moving bar */\n@-webkit-keyframes movingbar{ \n  0%    { left:50%; right:50% } \n  99.9% { left:0%; right:0% } \n  100%  { left:50%; right:50%} \n}\n\n@-moz-keyframes movingbar{ \n  0%    { left:50%; right:50% } \n  99.9% { left:0%; right:0% } \n  100%  { left:50%; right:50%} \n}\n\n@keyframes movingbar{ \n  0%    { left:50%; right:50% } \n  99.9% { left:0%; right:0% } \n  100%  { left:50%; right:50%} \n}\n\n/* change bar */\n@-webkit-keyframes changebar{ \n  0%      { background-color: @brand-info }\n  33.3%   { background-color: @brand-info }\n  33.33%  { background-color: @brand-warning } \n  66.6%   { background-color: @brand-warning } \n  66.66%  { background-color: @brand-primary } \n  99.9%    { background-color: @brand-primary } \n}\n\n@-moz-keyframes changebar{ \n  0%      { background-color: @brand-info }\n  33.3%   { background-color: @brand-info }\n  33.33%  { background-color: @brand-warning } \n  66.6%   { background-color: @brand-warning } \n  66.66%  { background-color: @brand-primary } \n  99.9%    { background-color: @brand-primary } \n}\n\n@keyframes changebar{ \n  0%      { background-color: @brand-info }\n  33.3%   { background-color: @brand-info }\n  33.33%  { background-color: @brand-warning } \n  66.6%   { background-color: @brand-warning } \n  66.66%  { background-color: @brand-primary } \n  99.9%    { background-color: @brand-primary } \n}"
  },
  {
    "path": "src/css/less/app.buttons.less",
    "content": ".btn{\n\tfont-weight: 500;\n\tborder-radius: @btn-border-radius;\n\toutline: 0!important;\n}\n.btn-link{\n\tcolor: @text-color;\n\t&.active{\n\t\twebkit-box-shadow:none;\n\t\tbox-shadow:none;\n\t}\n}\n\n.btn-default{\n\t.button-variant(@text-color, @btn-default-bg, @btn-default-border);\n\tbackground-color: #fff;\n\tborder-bottom-color: darken(@btn-default-border, 2%);\n\t.box-shadow(0 1px 1px rgba(90,90,90,0.1));\n\t&.btn-bg{\n\t\tborder-color:rgba(0,0,0,0.1);\n\t\tbackground-clip: padding-box;\n\t}\n}\n\n.btn-primary{\n\t.button-variant(#fff, @brand-primary, @brand-primary);\n}\n\n.btn-success{\n\t.button-variant(#fff, @brand-success, @brand-success);\n}\n\n.btn-info{\n\t.button-variant(#fff, @brand-info, @brand-info);\n}\n\n.btn-warning{\n\t.button-variant(#fff, @brand-warning, @brand-warning);\n}\n\n.btn-danger{\n\t.button-variant(#fff, @brand-danger, @brand-danger);\n}\n\n.btn-dark{\n\t.button-variant(#fff, @brand-dark, @brand-dark);\n}\n\n.btn-black{\n\t.button-variant(#fff, @brand-black, @brand-black);\n}\n\n.btn-icon{\n\tpadding: 0 !important;\n\ttext-align: center;\n\twidth:34px;\n\theight: 34px;\n\ti{\n\t\ttop: -1px;\n\t\tposition: relative;\n\t\tline-height: 34px;\n\t}\t\n\t&.btn-sm{\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\ti{\n\t\t\tline-height: 30px;\n\t\t}\n\t}\n\t&.btn-lg{\n\t\twidth: 45px;\n\t\theight: 45px;\n\t\ti{\n\t\t\tline-height: 45px;\n\t\t}\n\t}\n}\n\n.btn-rounded{\n\tborder-radius: 50px;\n\tpadding-left: 15px;\n\tpadding-right: 15px;\n\t&.btn-lg{\n\t\tpadding-left: 25px;\n\t\tpadding-right: 25px;\n\t}\n}\n\n.btn{\n\t> i{\n\t\t&.pull-left,\n\t\t&.pull-right{\n\t\t\tline-height: @line-height-base;\n\t\t}\n\t}\n}\n\n.btn-block {\n\tpadding-left: 12px;\n\tpadding-right: 12px;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child){\n\tborder-top-right-radius: @border-radius-base;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child){\n\tborder-bottom-left-radius: @border-radius-base;\n}\n\n.btn-addon {\n\ti{\n\t\tmargin: -7px -12px;\n\t\tmargin-right: 12px;\n\t\tbackground-color: rgba(0, 0, 0, 0.1);\n\t\twidth: 34px;\n\t\theight: 34px;\n\t\tline-height: 34px;\n\t\ttext-align: center;\n\t\tfloat: left;\n\t\tposition: relative;\n\t\tborder-radius: @btn-border-radius 0 0 @btn-border-radius;\n\t\t&.pull-right{\n\t\t\tmargin-right: -12px;\n\t\t\tmargin-left: 12px;\n\t\t\tborder-radius: 0 @btn-border-radius @btn-border-radius 0;\n\t\t}\n\t}\n\t&.btn-sm{\n\t\ti{\n\t\t\tmargin: -6px -10px;\n\t\t\tmargin-right: 10px;\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t\tline-height: 30px;\n\t\t\t&.pull-right{\n\t\t\t\tmargin-right: -10px;\n\t\t\t\tmargin-left: 10px;\n\t\t\t}\n\t\t}\n\t}\n\t&.btn-lg{\n\t\ti{\n\t\t\tmargin: -11px -16px;\n\t\t\tmargin-right: 16px;\n\t\t\twidth: 45px;\n\t\t\theight: 45px;\n\t\t\tline-height: 45px;\n\t\t\t&.pull-right{\n\t\t\t\tmargin-right: -16px;\n\t\t\t\tmargin-left: 16px;\n\t\t\t}\n\t\t}\n\t}\n\t&.btn-default{\n\t\ti{\n\t\t\tbackground-color: transparent;\n\t\t\tborder-right: 1px solid @border-color;\n\t\t}\n\t}\n}\n\n.btn-groups .btn{\n  margin-bottom: 5px;\n}"
  },
  {
    "path": "src/css/less/app.colors.less",
    "content": ".bg-gd{\n  #gradient > .vertical(rgba(40,50,60,0), rgba(40,50,60,0.075), 0, 100%);\n  filter:none;\n}\n\n.bg-gd-dk{\n  #gradient > .vertical(rgba(40,50,60,0), rgba(40,50,60,0.5), 10%, 100%);\n  filter:none;\n}\n\n.bg-light {\n\t.color-variant(@brand-light, 2%, 3%, 3%, 5%);\n\tcolor: @text-color;\n}\n\n.bg-dark {\n\t.color-variant(@brand-dark, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-dark);\t\n}\n\n.bg-black {\n\t.color-variant(@brand-black, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-black);\n}\n\n.bg-primary {\n\t.color-variant(@brand-primary, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-primary);\t\n}\n\n.bg-success {\n\t.color-variant(@brand-success, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-success);\n}\n\n.bg-info {\n\t.color-variant(@brand-info, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-info);\n}\n\n.bg-warning {\n\t.color-variant(@brand-warning, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-warning);\n}\n\n.bg-danger {\n\t.color-variant(@brand-danger, 5%, 10%, 5%, 10%);\n\t.font-variant(@brand-danger);\n}\n\n.bg-white {\n\tbackground-color: #fff;\n\tcolor: @text-color;\n\ta {\n\t\tcolor: @link-color;\n\t\t&:hover{\n\t\t\tcolor: darken(@link-color, 10%);\n\t\t}\n\t}\n\t.text-muted{color: @text-muted !important;}\n\t.lt,\n\t.lter,\n\t.dk,\n\t.dker{\n\t\tbackground-color: #fff;\n\t}\n}\n.bg-white-only{background-color:#fff;}\n.bg-white-opacity{\n\tbackground-color: rgba(255, 255, 255, 0.5);\n}\n.bg-black-opacity{\n\tbackground-color: rgba(32, 43, 54, 0.5);\n}\n\na.bg-light{\n\t&:hover{\n\t\tcolor: @link-color;\n\t}\n}\n\n.text-wariant(@brand-primary, primary);\n.text-wariant(@brand-info, info);\n.text-wariant(@brand-success, success);\n.text-wariant(@brand-warning, warning);\n.text-wariant(@brand-danger, danger);\n.text-wariant(@brand-dark, dark);\n.text-wariant(@brand-black, black);\n\n.text-white {\n  color: #fff;\n}\n.text-black {\n\tcolor: #000;\n}\n\n.text-muted {\n  color: @text-muted;\n}"
  },
  {
    "path": "src/css/less/app.components.less",
    "content": ".i-switch {\n  cursor: pointer;\n  position: relative;\n  display: inline-block;\n  width: @switch-width;\n  height: @switch-height;\n  border-radius: 30px;\n  background-color: @brand-success;\n  margin: 0;\n  input {\n    position: absolute;\n    .opacity(0);\n    &:checked {\n      + i {\n        &:before {\n          top: 50%;\n          bottom: 50%;\n          left: 50%;\n          right: 5px;\n          border-width: 0;\n          border-radius: 5px;\n        }\n        &:after {\n          margin-left: @switch-width - @switch-height + 1;\n        }\n      }\n    }\n  }\n  i {\n    &:before {\n      content: \"\";\n      position: absolute;\n      top: -1px;\n      bottom: -1px;\n      left: -1px;\n      right: -1px;\n      background-color: #fff;\n      border: 1px solid #f0f0f0;\n      border-radius: 30px;\n      .transition(all 0.2s);\n    }\n    &:after {\n      content: \"\";\n      position: absolute;\n      background-color: #fff;\n      width: @switch-height - 2;\n      top: 1px;\n      bottom: 1px;\n      border-radius: 50%;\n      .box-shadow(1px 1px 3px rgba(0, 0, 0, 0.25));\n      .transition(margin-left 0.3s);\n    }\n  }\n}\n\n.i-switch-md {\n  width: @switch-md-width;\n  height: @switch-md-height;\n  input {\n    &:checked {\n      + i {\n        &:after {\n          margin-left: @switch-md-width - @switch-md-height + 1;\n        }\n      }\n    }\n  }\n  i {\n    &:after {\n      width: @switch-md-height - 2;\n    }\n  }\n}\n\n.i-switch-lg {\n  width: @switch-lg-width;\n  height: @switch-lg-height;\n  input {\n    &:checked {\n      + i {\n        &:after {\n          margin-left: @switch-lg-width - @switch-lg-height + 1;\n        }\n      }\n    }\n  }\n  i {\n    &:after {\n      width: @switch-lg-height - 2;\n    }\n  }\n}\n\n.i-checks {\n  padding-left: 20px;\n  cursor: pointer;\n  input {\n    opacity: 0;\n    position: absolute;\n    margin-left: -20px;\n    &:checked + i {\n      border-color: @brand-info;\n      &:before {\n        left: 4px;\n        top: 4px;\n        width: 10px;\n        height: 10px;\n        background-color: @brand-info;\n      }\n    }\n    &:checked + span .active {\n      display: inherit;\n    }\n    &[type=\"radio\"] + i {\n      &,\n      &:before {\n        border-radius: 50%;\n      }\n    }\n    &[type=\"checkbox\"]:checked + i:before {\n\n    }\n    &[type=\"radio\"]:checked + i:before {\n\n    }\n    &[disabled],\n    fieldset[disabled] & {\n      & + i {\n        border-color: lighten(@input-border, 5%);\n        &:before {\n          background-color: lighten(@input-border, 5%);\n        }\n      }\n    }\n  }\n  > i {\n    width: 20px;\n    height: 20px;\n    line-height: 1;\n    border: 1px solid @input-border;\n    background-color: #fff;\n    margin-left: -20px;\n    margin-top: -2px;\n    display: inline-block;\n    vertical-align: middle;\n    margin-right: 4px;\n    position: relative;\n    &:before {\n      content: \"\";\n      position: absolute;\n      left: 50%;\n      top: 50%;\n      width: 0px;\n      height: 0px;\n      background-color: transparent;\n      .transition(all 0.2s);\n    }\n  }\n  > span {\n    margin-left: -20px;\n    .active {\n      display: none;\n    }\n  }\n}\n\n.i-checks-sm {\n  input {\n    &:checked + i {\n      &:before {\n        left: 3px;\n        top: 3px;\n        width: 8px;\n        height: 8px;\n      }\n    }\n  }\n  > i {\n    width: 16px;\n    height: 16px;\n    margin-left: -18px;\n    margin-right: 6px;\n  }\n}\n\n.i-checks-lg {\n  input {\n    &:checked + i {\n      &:before {\n        left: 8px;\n        top: 8px;\n        width: 12px;\n        height: 12px;\n      }\n    }\n  }\n  > i {\n    width: 30px;\n    height: 30px;\n  }\n}\n\n.hide-file {\n  input[type=\"file\"] {\n    position: absolute;\n    left: 0;\n    top: 0;\n    opacity: 0;\n  }\n}\n\n// ui.bootstrap datepicker\n.datepicker {\n  margin: 0 5px\n}\n\n.datepicker .btn-default {\n  border-width: 0;\n  box-shadow: none;\n}\n\n.datepicker .btn[disabled] {\n  opacity: 0.4\n}\n\n.datepicker .btn-info .text-info {\n  color: #fff !important;\n}"
  },
  {
    "path": "src/css/less/app.item.less",
    "content": ".item {\n  position: relative;\n  .top {\n    position: absolute;\n    top: 0;\n    left: 0;\n  }\n  .bottom {\n    position: absolute;\n    bottom: 0;\n    left: 0;\n  }\n  .center {\n    position: absolute;\n    top: 50%;\n  }\n}\n\n.item-overlay {\n  display: none;\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  &.active,\n  .item:hover & {\n    display: block;\n  }\n}\n\n.loading {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  background: rgba(255, 255, 255, 0.5);\n  z-index: 999999;\n  top: 0;\n  left: 0;\n\n  .load {\n    width: 160px;\n    height: 56px;\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    margin: auto;\n    line-height: 56px;\n    color: #fff;\n    padding-left: 60px;\n    font-size: 15px;\n    background: #000 url('../img/loading.gif') no-repeat 10px 50%;\n    opacity: 0.7;\n    z-index: 9999;\n    -moz-border-radius: 20px;\n    -webkit-border-radius: 20px;\n    border-radius: 20px;\n    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);\n  }\n}"
  },
  {
    "path": "src/css/less/app.layout.boxed.less",
    "content": "html{\n\tbackground: url('../img/bg.jpg');\n  background-attachment: fixed;\n  background-size: cover;\n}\n\n.app.container{\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\n@media (min-width: 768px) {\n\t.app.container{\n\t\twidth: 750px;\n\t\t.box-shadow(0 0 30px rgba(0,0,0,0.3));\n\t\t.app-aside{\n\t\t\toverflow-x: hidden;\n\t\t}\n\t\t\n\t\t&.app-aside-folded{\n\t\t\t.app-aside{\n\t\t\t\toverflow-x: visible;\n\t\t\t}\t\t\t\n\t\t}\n\t\t&.app-aside-fixed{\n\t\t\t.aside-wrap{\n\t\t\t\tleft: inherit;\n\t\t\t}\n\t\t\t&.app-aside-folded{\n\t\t\t\t.app-aside{\n\t\t\t\t\t> ul.nav{\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.app-header,\n\t\t.app-aside{\n\t\t\tmax-width: 750px;\n\t\t}\n\t\t.app-footer-fixed{\n\t\t\tleft: auto;\n\t\t\tright: auto;\n\t\t\twidth: 100%;\n\t\t\tmax-width: 750 - @app-aside-width;\n\t\t}\n\t\t&.app-aside-folded{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 750 - @app-aside-folded-width;\n\t\t\t}\n\t\t}\n\t\t&.app-aside-dock{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 750px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media (min-width: 992px) {\n\t.app.container{\n\t\twidth: 970px;\n\t\t.app-header,\n\t\t.app-aside{\n\t\t\tmax-width: 970px;\n\t\t}\n\t\t.app-footer-fixed{\n\t\t\tmax-width: 970 - @app-aside-width;\n\t\t}\n\t\t&.app-aside-folded{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 970 - @app-aside-folded-width;\n\t\t\t}\n\t\t}\n\t\t&.app-aside-dock{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 970px;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.app.container{\n\t\twidth: 1170px;\n\t\t.app-header,\n\t\t.app-aside{\n\t\t\tmax-width: 1170px;\n\t\t}\n\t\t.app-footer-fixed{\n\t\t\tmax-width: 1170 - @app-aside-width;\n\t\t}\n\t\t&.app-aside-folded{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 1170 - @app-aside-folded-width;\n\t\t\t}\n\t\t}\n\t\t&.app-aside-dock{\n\t\t\t.app-footer-fixed{\n\t\t\t\tmax-width: 1170px;\n\t\t\t}\n\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/less/app.layout.less",
    "content": "/*layout*/\nhtml, body{\n\twidth: 100%;\n\theight: 100%;\n}\nbody{\n\toverflow-x: hidden;\n}\n\n.app{\n\theight: auto;\n\tmin-height: 100%;\n\twidth: 100%;\n\tposition: relative;\n\t&:before{\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\twidth: inherit;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tz-index: -1;\n\t\tbackground-color: @body-bg;\n\t\tborder: inherit;\n\t\tdisplay: block;\n\t}\n}\n\n.app-header-fixed{\n\tpadding-top: @app-header-height;\n\t.app-header{\n\t\tposition: fixed;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t}\n}\n\n.app-header{\n\tz-index: 1025;\n\tborder-radius: 0;\n}\n\n// menu\n.app-aside{\n\tfloat: left;\n\t&:before{\n\t\tcontent: \"\";\n\t\tposition: absolute;\n\t\twidth: inherit;\n\t\ttop: 0;\n\t\tbottom: 0;\n\t\tz-index: -1;\n\t\tbackground-color: inherit;\n\t\tborder: inherit;\n\t}\n}\n\n.app-aside-footer{\n\tposition: absolute;\n\tbottom: 0;\n\twidth: 100%;\n\tz-index: 1000;\n\tmax-width: @app-aside-width;\n\t.app-aside-folded & {\n\t\tmax-width: @app-aside-folded-width;\n\t}\n\t~ div{\n\t\tpadding-bottom: 50px;\n\t}\n}\n\n.app-aside-right{\n\tpadding-bottom: @app-header-height;\n}\n\n// content\n.app-content{\n\theight: 100%;\n\t.clearfix();\n}\n\n.app-content-full{\n\tposition: absolute;\n\ttop: @app-header-height;\n\tbottom: @app-header-height;\n\theight: auto;\n\twidth: auto !important;\n\tpadding: 0 !important;\n\toverflow-y: auto;\n\t-webkit-overflow-scrolling: touch;\n\t&.h-full{\n\t\tbottom: 0;\n\t\theight: auto;\n\t}\t\n}\n\n.app-content-body{\n\tpadding-bottom: @app-header-height;\n\tfloat: left;\n\twidth: 100%;\n}\n\n// footer\n.app-footer{\n\tposition: absolute;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\tz-index: 1005;\n\t&.app-footer-fixed{\n\t\tposition: fixed;\n\t}\n}\n\n.hbox{\n\tdisplay: table;\n\ttable-layout: fixed;\n\tborder-spacing: 0;\n\twidth: 100%;\n\theight: 100%;\n\t.col{\n\t\tdisplay: table-cell;\n\t\tvertical-align: top;\n\t\theight: 100%;\n\t\tfloat: none;\n\t}\n}\n\n.v-middle{vertical-align: middle !important;}\n.v-top{vertical-align: top !important;}\n.v-bottom{vertical-align: bottom !important;}\n\n.vbox{\n\tdisplay: table;\n\tborder-spacing:0;\n\tposition: relative;\t\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 240px;\n\t.row-row {\n\t\tdisplay: table-row;\n\t\theight: 100%;\n\t\t.cell {\n\t\t\tposition: relative;\n\t\t\theight: 100%;\n\t\t\twidth: 100%;\n\t\t\t-webkit-overflow-scrolling:touch;\n\t\t\toverflow: auto;\n\t\t\t.ie & {\n\t\t\t\tdisplay: table-cell;\n\t\t\t}\n\t\t\t.cell-inner {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n// navbar\n\n.navbar{\n\t.navbar-form-sm{\n\t\tmargin-top: 10px;\n\t\tmargin-bottom: 10px;\n\t}\n\tborder-width: 0;\n\tborder-radius: 0;\n\tmargin: 0;\n}\n\n.navbar-md{\n\tmin-height: @app-header-md-height;\n\t.navbar-btn{\n\t\tmargin-top: 13px;\n\t}\n\t.navbar-form{\n\t\tmargin-top: 15px;\n\t}\n\t.navbar-nav > li > a{\n\t\tpadding-top: 20px;\n\t\tpadding-bottom: 20px;\n\t}\n\t.navbar-brand{\n\t\tline-height: 60px;\n\t}\n}\n\n.navbar-header{\n\t> button{\n\t\ttext-decoration: none;\n\t\tline-height: 30px;\n\t\tfont-size: 16px;\n\t\tpadding: 10px 17px;\n\t\tborder: none;\n\t\tbackground-color: transparent;\n\t}\n}\n\n.navbar-brand{\n\tfloat: none;\n\ttext-align: center;\n\tfont-size: 20px;\n\tfont-weight: 700;\n\theight: auto;\n\tline-height: @app-header-height;\n\tdisplay: inline-block;\n\tpadding: 0 20px;\n\t&:hover{\n\t\ttext-decoration: none;\n\t}\n\timg{\n\t\tmax-height: 20px;\n\t\tmargin-top: -4px;\n\t\tvertical-align: middle;\n\t\tdisplay: inline;\n\t}\t\n}\n\n@media (min-width: 768px) {\n\t.app-aside,\n\t.navbar-header {\n\t\twidth: @app-aside-width;\n\t}\n\t.navbar-collapse,\n\t.app-content,\n\t.app-footer{\n\t\tmargin-left: @app-aside-width;\n\t}\n\n\t.app-aside-right{\n\t\tposition: absolute;\n\t\ttop: @app-header-height;\n\t\tbottom: 0;\n\t\tright: 0;\n\t\tz-index: 1000;\n\t\t&.pos-fix{\n\t\t\tz-index: 1010;\n\t\t}\n\t}\n\n\t.visible-folded{display: none;}\n\n\t.app-aside-folded{\n\t\t.hidden-folded{\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t.visible-folded{\n\t\t\tdisplay: inherit;\n\t\t}\n\t\t.text-center-folded{\n\t\t\ttext-align: center;\n\t\t}\n\t\t.pull-none-folded{\n\t\t\tfloat: none !important;\n\t\t}\n\t\t.w-auto-folded{\n\t\t\twidth: auto;\n\t\t}\n\n\t\t.app-aside,\n\t\t.navbar-header {\n\t\t\twidth: @app-aside-folded-width;\n\t\t}\n\t\t.navbar-collapse,\n\t\t.app-content,\n\t\t.app-footer{\n\t\t\tmargin-left: @app-aside-folded-width;\n\t\t}\n\t\t.app-header{\n\t\t\t.navbar-brand{\n\t\t\t\tdisplay: block;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\n\t.app-aside-fixed{\t\t\n\t\t.app-header{\n\t\t\t.navbar-header{\n\t\t\t\tposition: fixed;\n\t\t\t}\t\t\t\n\t\t}\n\t\t.aside-wrap{\n\t\t\tposition: fixed;\n\t\t\toverflow: hidden;\n\t\t\ttop: @app-header-height;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\twidth: @app-aside-width - 1;\n\t\t\tz-index: 1000;\n\t\t\t.navi-wrap{\n\t\t\t\twidth: @app-aside-width + @scroll-bar-width;\n\t\t\t\tposition: relative;\n\t\t\t\theight: 100%;\n\t\t\t\toverflow-x:hidden;\n\t\t\t\toverflow-y: scroll;\n\t\t\t\t-webkit-overflow-scrolling: touch;\n\t\t\t\t&::-webkit-scrollbar {\n\t\t\t\t  -webkit-appearance: none;\n\t\t\t\t}\n\t\t\t\t&::-webkit-scrollbar:vertical {\n\t\t\t\t  width: @scroll-bar-width;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.smart & .navi-wrap{\n\t\t\t\twidth: @app-aside-width;\n\t\t\t}\n\t\t}\n\t\t&.app-aside-folded{\n\t\t\t.app-aside{\n\t\t\t\tposition: fixed;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tz-index: 1010;\n\t\t\t}\n\t\t\t.aside-wrap{\n\t\t\t\twidth: @app-aside-folded-width - 1;\n\t\t\t\t.navi-wrap{\n\t\t\t\t\twidth: @app-aside-folded-width + @scroll-bar-width;\n\t\t\t\t}\n\t\t\t\t.smart & .navi-wrap{\n\t\t\t\t\twidth: @app-aside-folded-width;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.bg-auto{\n\t\t&:before{\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\twidth: inherit;\n\t\t\ttop: 0;\n\t\t\tbottom: 0;\n\t\t\tz-index: -1;\n\t\t\tbackground-color: inherit;\n\t\t\tborder: inherit;\t\t\t\n\t\t}\n\t\t&.b-l:before{\n\t\t\tmargin-left: -1px;\n\t\t}\n\t\t&.b-r:before{\n\t\t\tmargin-right: -1px;\n\t\t}\n\t}\n\n\t.col.show{\n\t\tdisplay: table-cell !important;\n\t}\n}\n\n// sm\n@media (min-width: 768px) and (max-width: 991px) {\n\t.hbox-auto-sm{\n\t\tdisplay: block;\n\t\t> .col{\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tdisplay: block;\n\t\t\t&.show{\n\t\t\t\tdisplay: block !important;\n\t\t\t}\n\t\t}\n\n\t}\n}\n// xs\n@media (max-width: 767px) {\n\t.app-aside{\n\t\tfloat: none;\n\t}\n\t.app-content-full{\n\t\twidth: 100% !important;\n\t}\n\t.hbox-auto-xs{\n\t\tdisplay: block;\n\t\t> .col{\n\t\t\twidth: auto;\n\t\t\theight: auto;\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\t.navbar-nav{\n\t\tmargin-top: 0;\n\t\tmargin-bottom: 0;\n\t\t> li > a{\n\t\t\tbox-shadow:0 -1px 0 rgba(0,0,0,0.1);\n\t\t\t.up{\n\t\t\t\ttop: 0;\n\t\t\t}\n\t\t\t.avatar{\n\t\t\t\twidth: 30px;\n\t\t\t\tmargin-top: -5px;\n\t\t\t}\n\t\t}\n\t\t.open .dropdown-menu{\n\t\t\tbackground-color: #fff;\n\t\t}\n\t}\n\t.navbar-form{\n\t\tbox-shadow:0 -1px 0 rgba(0,0,0,0.1);\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t\t.form-group{\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/less/app.less",
    "content": "// Core variables and mixins\n@import \"app.variables.less\";\n@import \"app.mixins.less\";\n\n@import \"app.reset.less\";\n@import \"app.layout.less\";\n@import \"app.layout.boxed.less\";\n@import \"app.nav.less\";\n@import \"app.nav.offscreen.less\";\n@import \"app.nav.dock.less\";\n\n@import \"app.arrow.less\";\n@import \"app.buttons.less\";\n@import \"app.widgets.less\";\n\n@import \"app.components.less\";\n@import \"app.plugin.less\";\n@import \"app.item.less\";\n@import \"app.ng.less\";\n\n@import \"app.colors.less\";\n@import \"app.utilities.less\";\n\n@import \"app.butterbar.less\";"
  },
  {
    "path": "src/css/less/app.mixins.less",
    "content": ".color-variant(@bg-color: #555, @lt-percent: 10%, @lter-percent: 15%, @dk-percent: 10%, @dker-percent: 15%) {\n\tbackground-color: @bg-color;\n\t&.lt,\n\t.lt {\n\t\t.color-schema(@bg-color, -@lt-percent, -2.5%);\n\t}\n\t&.lter,\n\t.lter {\n\t\t.color-schema(@bg-color, -@lter-percent, -5%);\n\t}\n\t&.dk,\n\t.dk {\n\t\t.color-schema(@bg-color, @dk-percent, 2.5%);\n\t}\n\t&.dker,\n\t.dker {\n\t\t.color-schema(@bg-color, @dker-percent, 5%);\n\t}\n  &.bg,\n  .bg{\n    background-color: @bg-color;\n  }\n}\n\n.color-schema(@bg-color: #555, @percent: 15%, @sat-percent){\n  background-color: saturate(darken(@bg-color, @percent), @sat-percent);\n}\n\n.font-variant(@bg-color){\n\t@font-color:  desaturate(lighten(@bg-color,40%), 10%);\n  @link-color:  desaturate(lighten(@bg-color,50%), 10%);\n  @hover-color: #fff;\n  color: @font-color;\n\ta {\n\t\tcolor: @link-color;\n\t\t&:hover{\n\t\t\tcolor: @hover-color;\n\t\t}\n\t\t&.list-group-item{\n\t\t\t&:hover,\n\t\t\t&:focus{\n\t\t\t\tbackground-color: inherit;\n\t\t\t}\n\t\t}\n\t}\n\t.nav {\n\t\t> li {\n      &:hover,\n      &:focus,\n      &.active{\n        > a{\n          color: @hover-color;\n          .color-schema(@bg-color, 5%, 2.5%);\n        }\n      }\n\t\t\t> a{\n\t\t\t\tcolor: darken(@link-color, 5%);\n        &:hover,\n        &:focus{\n          .color-schema(@bg-color, 3%, 2.5%);\n        }\n\t\t\t}\n\t\t}\n    .open > a{\n      .color-schema(@bg-color, 5%, 2.5%);\n    }\n\t}\n  .caret{\n    border-top-color: @font-color;\n    border-bottom-color: @font-color;\n  }\n  &.navbar .nav{\n    > li.active > a{\n      color: @hover-color;\n      .color-schema(@bg-color, 5%, 2.5%);\n    }\n  }\n\t.open > a {\n    &,\n    &:hover,\n    &:focus{\n      color: @hover-color;\n    }\n\t}\n\t.text-muted {\n\t\tcolor: darken(@font-color, 10%) !important;\n\t}\n  .text-lt {\n    color: lighten(@font-color, 25%) !important;\n  }\n  &.auto,\n  .auto{\n    .list-group-item{\n      border-color: darken(@bg-color, 5%) !important;\n      background-color: transparent;\n      &:hover,\n      &:focus,\n      &:active,\n      &.active{\n        .color-schema(@bg-color, 5%, 2.5%) !important;\n      }\n    }\n  }\n}\n\n.text-wariant(@bg-color, @name){\n  a.bg-@{name}:hover{\n    background-color: darken(@bg-color, 5%);\n  }\n  a.text-@{name}:hover{\n    color: darken(@bg-color, 5%);\n  }\n  .text-@{name}{\n    color: @bg-color;\n  }\n  .text-@{name}-lt{\n    color: lighten(@bg-color, 5%);\n  }\n  .text-@{name}-lter{\n    color: lighten(@bg-color, 10%);\n  }\n  .text-@{name}-dk{\n    color: darken(@bg-color, 5%);\n  }\n  .text-@{name}-dker{\n    color: darken(@bg-color, 10%);\n  }\n}\n\n\n.clearfix() {\n  &:before,\n  &:after {\n    content: \" \";\n    display: table;\n  }\n  &:after {\n    clear: both;\n  }\n}\n\n// Button variants\n// -------------------------\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n.button-variant(@color; @background; @border) {\n  color: @color !important;\n  background-color: @background;\n  border-color: @border;\n\n  &:hover,\n  &:focus,\n  &:active,\n  &.active,\n  .open .dropdown-toggle& {\n    color: @color !important;\n    background-color: darken(@background, 5%);\n        border-color: darken(@border, 8%);\n  }\n  &:active,\n  &.active,\n  .open .dropdown-toggle& {\n    background-image: none;\n  }\n  &.disabled,\n  &[disabled],\n  fieldset[disabled] & {\n    &,\n    &:hover,\n    &:focus,\n    &:active,\n    &.active {\n      background-color: @background;\n          border-color: @border\n    }\n  }\n}\n\n.translateZ(@z) {\n\t-webkit-transform: translateZ(@z);\n\t\t-ms-transform: translateZ(@z);\n\t\t -o-transform: translateZ(@z);\n\t\t\ttransform: translateZ(@z);\n}\n\n// CSS3 PROPERTIES\n// --------------------------------------------------\n\n// Single side border-radius\n.border-top-radius(@radius) {\n  border-top-right-radius: @radius;\n   border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n  border-bottom-right-radius: @radius;\n     border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n  border-bottom-right-radius: @radius;\n   border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n  border-bottom-left-radius: @radius;\n     border-top-left-radius: @radius;\n}\n\n// Drop shadows\n.box-shadow(@shadow) {\n  -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n          box-shadow: @shadow;\n}\n\n// Transitions\n.transition(@transition) {\n  -webkit-transition: @transition;\n          transition: @transition;\n}\n.transition-delay(@transition-delay) {\n  -webkit-transition-delay: @transition-delay;\n          transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n  -webkit-transition-duration: @transition-duration;\n          transition-duration: @transition-duration;\n}\n.transition-transform(@transition) {\n  -webkit-transition: -webkit-transform @transition;\n     -moz-transition: -moz-transform @transition;\n       -o-transition: -o-transform @transition;\n          transition: transform @transition;\n}\n\n// Transformations\n.rotate(@degrees) {\n  -webkit-transform: rotate(@degrees);\n      -ms-transform: rotate(@degrees); // IE9+\n          transform: rotate(@degrees);\n}\n.scale(@ratio) {\n  -webkit-transform: scale(@ratio);\n      -ms-transform: scale(@ratio); // IE9+\n          transform: scale(@ratio);\n}\n.translate(@x, @y) {\n  -webkit-transform: translate(@x, @y);\n      -ms-transform: translate(@x, @y); // IE9+\n          transform: translate(@x, @y);\n}\n.skew(@x, @y) {\n  -webkit-transform: skew(@x, @y);\n      -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n          transform: skew(@x, @y);\n}\n.translate3d(@x, @y, @z) {\n  -webkit-transform: translate3d(@x, @y, @z);\n          transform: translate3d(@x, @y, @z);\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples\n.backface-visibility(@visibility){\n  -webkit-backface-visibility: @visibility;\n     -moz-backface-visibility: @visibility;\n          backface-visibility: @visibility;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n  -webkit-box-sizing: @boxmodel;\n     -moz-box-sizing: @boxmodel;\n          box-sizing: @boxmodel;\n}\n\n// User select\n// For selecting text on the page\n.user-select(@select) {\n  -webkit-user-select: @select;\n     -moz-user-select: @select;\n      -ms-user-select: @select; // IE10+\n       -o-user-select: @select;\n          user-select: @select;\n}\n\n// Resize anything\n.resizable(@direction) {\n  resize: @direction; // Options: horizontal, vertical, both\n  overflow: auto; // Safari fix\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count, @column-gap: @grid-gutter-width) {\n  -webkit-column-count: @column-count;\n     -moz-column-count: @column-count;\n          column-count: @column-count;\n  -webkit-column-gap: @column-gap;\n     -moz-column-gap: @column-gap;\n          column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n  word-wrap: break-word;\n  -webkit-hyphens: @mode;\n     -moz-hyphens: @mode;\n      -ms-hyphens: @mode; // IE10+\n       -o-hyphens: @mode;\n          hyphens: @mode;\n}\n\n// Opacity\n.opacity(@opacity) {\n  opacity: @opacity;\n  // IE8 filter\n  @opacity-ie: (@opacity * 100);\n  filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n\n\n\n// GRADIENTS\n// --------------------------------------------------\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .horizontal(@start-color: #555, @end-color: #333, @start-percent: 0%, @end-percent: 100%) {\n    background-image: -webkit-gradient(linear, @start-percent top, @end-percent top, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+\n    background-image: -webkit-linear-gradient(left, color-stop(@start-color @start-percent), color-stop(@end-color @end-percent)); // Safari 5.1+, Chrome 10+\n    background-image: -moz-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // FF 3.6+\n    background-image:  linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  // Vertical gradient, from top to bottom\n  //\n  // Creates two color stops, start and end, by specifying a color and position for each color stop.\n  // Color stops are not available in IE9 and below.\n  .vertical(@start-color: #555, @end-color: #333, @start-percent: 0%, @end-percent: 100%) {\n    background-image: -webkit-gradient(linear, left @start-percent, left @end-percent, from(@start-color), to(@end-color)); // Safari 4+, Chrome 2+\n    background-image: -webkit-linear-gradient(top, @start-color, @start-percent, @end-color, @end-percent); // Safari 5.1+, Chrome 10+\n    background-image:  -moz-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // FF 3.6+\n    background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10\n    background-repeat: repeat-x;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n  }\n\n  .directional(@start-color: #555, @end-color: #333, @deg: 45deg) {\n    background-repeat: repeat-x;\n    background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1+, Chrome 10+\n    background-image: -moz-linear-gradient(@deg, @start-color, @end-color); // FF 3.6+\n    background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10\n  }\n  .horizontal-three-colors(@start-color: #00b3ee, @mid-color: #7a43b6, @color-stop: 50%, @end-color: #c3325f) {\n    background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));\n    background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: -moz-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .vertical-three-colors(@start-color: #00b3ee, @mid-color: #7a43b6, @color-stop: 50%, @end-color: #c3325f) {\n    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@start-color), color-stop(@color-stop, @mid-color), to(@end-color));\n    background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-image: -moz-linear-gradient(top, @start-color, @mid-color @color-stop, @end-color);\n    background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n    background-repeat: no-repeat;\n    filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n  }\n  .radial(@inner-color: #555, @outer-color: #333) {\n    background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@inner-color), to(@outer-color));\n    background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: -moz-radial-gradient(circle, @inner-color, @outer-color);\n    background-image: radial-gradient(circle, @inner-color, @outer-color);\n    background-repeat: no-repeat;\n  }\n  .striped(@color: #555, @angle: 45deg) {\n    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));\n    background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);\n    background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);\n    background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);\n  }\n}\n\n// Reset filters for IE\n//\n// When you need to remove a gradient background, don't forget to use this to reset\n// the IE filter for IE9 and below.\n.reset-filter() {\n  filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"
  },
  {
    "path": "src/css/less/app.nav.dock.less",
    "content": "@media (min-width: @app-aside-dock-media) {\n\t.app-aside-dock{\n\t\t.app-content,\n\t\t.app-footer{\n\t\t\tmargin-left: 0;\n\t\t}\n\t\t.app-aside-footer ~ div{\n\t\t\tpadding-bottom: 0;\n\t\t}\n\t\t&.app-aside-fixed{\n\t\t\t&.app-header-fixed{\n\t\t\t\tpadding-top: 115px;\n\t\t\t}\n\t\t\t.app-aside{\n\t\t\t\tposition: fixed;\n\t\t\t\ttop: 50px;\n\t\t\t\twidth: 100%;\n\t\t\t\tz-index: 1000;\n\t\t\t}\n\t\t}\n\t\t.app-aside,\n\t\t.aside-wrap,\n\t\t.navi-wrap{\n\t\t\tfloat: none;\n\t\t\twidth: 100% !important;\n\t\t\tposition: relative;\n\t\t\ttop: 0;\n\t\t\toverflow: visible !important;\n\t\t}\n\n\t\t.app-aside{\n\t\t\tbottom: auto !important;\n\t\t\t&.b-r{\n\t\t\t\tborder-right-width: 0;\n\t\t\t\tborder-bottom:1px solid @border-color;\n\t\t\t}\n\t\t\t&:before {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\tnav > .nav{\n\t\t\t\tfloat: left;\n\t\t\t}\t\t\t\n\t\t\t.hidden-folded,\n\t\t\t.line,\n\t\t\t.navi-wrap > div{\n\t\t\t\tdisplay: none !important;\n\t\t\t}\n\t\t\t.navi > ul > li{\n\t\t\t\tposition: relative;\n\t\t\t\tfloat: left;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\t> a{\n\t\t\t\t\tpadding: 10px 15px 12px 15px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\theight: auto;\n\t\t\t\t\t> .badge,\n\t\t\t\t\t> .label{\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: 5px;\n\t\t\t\t\t\tright: 8px;\n\t\t\t\t\t\tpadding: 1px 4px;\n\t\t\t\t\t}\n\t\t\t\t\t> i{\n\t\t\t\t\t\tmargin-left: auto;\n\t\t\t\t\t\tmargin-right: auto;\n\t\t\t\t\t\tmargin-bottom: -7px;\n\t\t\t\t\t\tmargin-top: -10px;\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\tfloat: none;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tline-height: 40px;\n\t\t\t\t\t\twidth: 40px;\n\t\t\t\t\t}\n\t\t\t\t\t> span.pull-right{\t\t\t\t\t\t\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tbottom: 2px;\n\t\t\t\t\t\tleft: 50%;\n\t\t\t\t\t\tmargin-left: -6px;\n\t\t\t\t\t\tdisplay: block !important;\n\t\t\t\t\t\tline-height: 1;\n\t\t\t\t\t\ti {\n\t\t\t\t\t\t\t&.text{\n\t\t\t\t\t\t\t\t.rotate(90deg);\n\t\t\t\t\t\t\t\tline-height: 14px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tline-height: 12px;\n\t\t\t\t\t\t\twidth: 12px;\n\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t> span{\n\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.nav-sub{\n\t\t\t\t\theight: auto !important;\n\t\t\t\t\tdisplay: none;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\ttop: auto !important;\n\t\t\t\t\tz-index: 1050;\n\t\t\t\t\twidth: @app-aside-width;\n\t\t\t\t\t.box-shadow(0 2px 6px rgba(0,0,0,0.1));\n\t\t\t\t}\n\t\t\t\t.nav-sub-header{\n\t\t\t\t\tdisplay: none !important;\n\t\t\t\t}\t\n\t\t\t}\n\t\t\t.navi li li a{\n\t\t\t\tpadding-left: 15px;\n\t\t\t}\n\t\t\t.navi li:hover,\n\t\t  .navi li:focus,\n\t\t  .navi li:active{\n\t\t  \t> .nav-sub{\n\t\t\t  \tdisplay: block;\n\t\t\t  \topacity: 1;\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\theight: auto !important;\n\t\t\t\t\toverflow: auto;\n\t\t\t\t}\n\t\t  }\n\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/less/app.nav.less",
    "content": ".nav-sub{\n\topacity: 0;\n\theight: 0;\n\toverflow: hidden;\n\tmargin-left: -20px;\n\t.transition(all .2s ease-in-out 0s);\n\n  .active > &,\n  .app-aside-folded li:hover > &,\n  .app-aside-folded li:focus > &,\n  .app-aside-folded li:active > &{\n  \topacity: 1;\n\t\tmargin-left: 0;\n\t\theight: auto !important;\n\t\toverflow: auto;\n  }\n}\n\n.nav-sub-header {\n\tdisplay: none !important;\n\ta{\n\t\tpadding: floor((@app-aside-folded-nav-height - @line-height-computed)/2) 20px;\n\t}\n}\n\n.navi {\n\tul.nav {\n\t\tli {\n\t\t\tdisplay: block;\n\t\t\tposition: relative;\n\t\t\tli {\n\t\t\t\ta {\n\t\t\t\t\tpadding-left: @app-aside-nav-height + 15px;\n\t\t\t\t}\n\t\t\t\tul{\n\t\t\t\t\tdisplay:none;\n\t\t\t\t}\n\t\t\t\t&.active > ul{\n\t\t\t\t\tdisplay:block;\n\t\t\t\t}\n\t\t\t}\n\t\t\ta {\n\t\t\t\tfont-weight: normal;\n\t\t\t\ttext-transform: none;\n\t\t\t\tdisplay: block;\n\t\t\t\tpadding: floor((@app-aside-nav-height - @line-height-computed)/2) 20px;\n\t\t\t\tposition: relative;\n\t\t\t\t.transition(background-color .2s ease-in-out 0s);\n\t\t\t\t.badge,\n\t\t\t\t.label {\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tpadding: 2px 5px;\n\t\t\t\t\tmargin-top: 2px;\n\t\t\t\t}\n\t\t\t\t> i {\n\t\t\t\t\tmargin: floor(-(@app-aside-nav-height - @line-height-computed)/2) -10px;\n\t\t\t\t\tline-height: @app-aside-nav-height;\n\t\t\t\t\twidth: @app-aside-nav-height;\n\t\t\t\t\tfloat: left;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tposition: relative;\n                    top: 0;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\t&:before {\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\tz-index: 2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n@media (min-width: 768px) {\n\t.app-aside-folded{\n\t\t.nav-sub-header{\n\t\t\tdisplay: block !important;\n\t\t\ta{\n\t\t\t\tpadding: floor((@app-aside-folded-nav-height - @line-height-computed)/2) 20px !important;\n\t\t\t}\n\t\t}\n\t\t.navi{\n\t\t\t> ul {\n\t\t\t\t> li {\n\t\t\t\t\t> a {\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\theight: @app-aside-folded-nav-height;\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t\tspan {\n\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t\t&.pull-right{\n\t\t\t\t\t\t\t\tdisplay: none !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti{\n\t\t\t\t\t\t\twidth: auto;\n\t\t\t\t\t\t\tfloat: none;\n\t\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\tline-height: @app-aside-folded-nav-height;\n\t\t\t\t\t\t\tborder: none !important;\n\t\t\t\t\t\t\tb{\n\t\t\t\t\t\t\t\tleft: 0 !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.badge,\n\t\t\t\t\t\t.label{\n\t\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\t\tright: 12px;\n\t\t\t\t\t\t\ttop: 8px;\n\t\t\t\t\t\t\tz-index: 3;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t> li > ul{\n\t\t\t\t\theight: 0 !important;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 100%;\n\t\t\t\t\ttop: 0 !important;\n\t\t\t\t\tz-index: 1050;\n\t\t\t\t\twidth: @app-aside-width;\n\t\t\t\t\t.box-shadow(0 2px 6px rgba(0,0,0,0.1));\n\t\t\t\t}\n\t\t\t}\n\t\t\tli {\n\t\t\t\tli{\n\t\t\t\t\ta{\n\t\t\t\t\t\tpadding-left: 20px !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.app-aside-folded.app-aside-fixed .app-aside{\n\t\t> ul.nav {\n\t\t\t&:before{\n\t\t\t\tcontent:\"\";\n\t\t\t\twidth: @app-aside-folded-width;\n\t\t\t\theight: @app-aside-folded-nav-height;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: -@app-aside-folded-width;\n\t\t\t\ttop: 0;\n\t\t\t}\n\t\t\tz-index: 1010;\n\t\t\topacity: 1;\n\t\t\theight: auto;\n\t\t\toverflow: visible;\n\t\t\toverflow-y: auto;\n\t\t\tdisplay: block;\n\t\t\twidth: @app-aside-width + @app-aside-folded-width;\n\t\t\tleft: @app-aside-folded-width + 20;\n\t\t\tposition: fixed;\n\t\t\t-webkit-overflow-scrolling: touch;\n\t\t\ta{\n\t\t\t\tpadding-left:  20px !important;\n\t\t\t\tpadding-right: 20px !important;\n\t\t\t}\n\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/less/app.nav.offscreen.less",
    "content": "@media (max-width: 767px) {\n\t.app{\n\t\toverflow-x: hidden;\n\t}\n\t.app-content{\n\t\t.transition-transform(0.2s ease);\n\t}\n\t.off-screen{\n\t\t\tposition: absolute;\n\t\t\ttop: 50px;\n\t\t\tbottom: 0;\n\t\t\twidth: @off-screen-width;\n\t\t\tdisplay: block !important;\n\t\t\tvisibility: visible;\n\t\t\toverflow-x: hidden;\n\t\t\toverflow-y: auto;\n\t\t  -webkit-overflow-scrolling: touch;\n\t\t  z-index: 1010;\n\t\t  + *{\n\t\t\t\tbackground-color: @body-bg;\n\t\t\t\t.transition-transform(0.2s ease);\n\t\t\t\t.backface-visibility(hidden);\n\t\t\t\t.translate3d(@off-screen-width, 0px, 0px);\n\t\t\t\toverflow: hidden;\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 100%;\n\t\t\t\ttop: 0;\n\t\t\t\tbottom: 0;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\tz-index: 1015;\n\t\t\t\tpadding-top: 50px;\n\t\t\t\t.off-screen-toggle {\n\t\t\t\t\tdisplay:block !important;\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\ttop: 0;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tz-index: 1020;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.pull-right{\n\t\t\t\tright: 0;\n\t\t\t\t+ *{\n\t\t\t\t\t.translate3d(-@off-screen-width, 0px, 0px);\n\t\t\t\t}\n\t\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/less/app.ng.less",
    "content": ".form-validation{\n  .form-control{\n    &.ng-dirty.ng-invalid{\n      border-color: @brand-danger;\n    }\n    &.ng-dirty.ng-valid{\n      &,\n      &:focus{\n        border-color: @brand-success;\n      }\n    }  \n  }\n\n  .i-checks{\n    .ng-invalid.ng-dirty + i{\n      border-color: @brand-danger;\n    }\n  }\n}\n\n.ng-animate .bg-auto:before{\n  display: none;\n}\n\n[ui-view].ng-leave {\n  display: none;\n}\n\n[ui-view].ng-leave.smooth {\n  display: block;\n}\n\n.smooth.ng-animate{\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n}\n\n// big animation\n.fade-in-right-big.ng-enter {\n  -webkit-animation: fadeInRightBig 0.5s;\n  animation: fadeInRightBig 0.5s;\n}\n.fade-in-right-big.ng-leave {\n  -webkit-animation: fadeOutLeftBig 0.5s;\n  animation: fadeOutLeftBig 0.5s;\n}\n\n.fade-in-left-big.ng-enter {\n  -webkit-animation: fadeInLeftBig 0.5s;\n  animation: fadeInLeftBig 0.5s;\n}\n.fade-in-left-big.ng-leave {\n  -webkit-animation: fadeOutRightBig 0.5s;\n  animation: fadeOutRightBig 0.5s;\n}\n\n.fade-in-up-big.ng-enter {\n  -webkit-animation: fadeInUpBig 0.5s;\n  animation: fadeInUpBig 0.5s;\n}\n.fade-in-up-big.ng-leave {\n  -webkit-animation: fadeOutUpBig 0.5s;\n  animation: fadeOutUpBig 0.5s;\n}\n\n.fade-in-down-big.ng-enter {\n  -webkit-animation: fadeInDownBig 0.5s;\n  animation: fadeInDownBig 0.5s;\n}\n.fade-in-down-big.ng-leave {\n  -webkit-animation: fadeOutDownBig 0.5s;\n  animation: fadeOutDownBig 0.5s;\n}\n\n// small\n.fade-in.ng-enter {\n  -webkit-animation: fadeIn 0.5s;\n  animation: fadeIn 0.5s;\n}\n.fade-in.ng-leave {\n  -webkit-animation: fadeOut 0.5s;\n  animation: fadeOut 0.5s;\n}\n\n.fade-in-right.ng-enter {\n  -webkit-animation: fadeInRight 0.5s;\n  animation: fadeInRight 0.5s;\n}\n.fade-in-right.ng-leave {\n  -webkit-animation: fadeOutLeft 0.5s;\n  animation: fadeOutLeft 0.5s;\n}\n\n.fade-in-left.ng-enter {\n  -webkit-animation: fadeInLeft 0.5s;\n  animation: fadeInLeft 0.5s;\n}\n.fade-in-left.ng-leave {\n  -webkit-animation: fadeOutRight 0.5s;\n  animation: fadeOutRight 0.5s;\n}\n\n.fade-in-up.ng-enter {\n  -webkit-animation: fadeInUp 0.5s;\n  animation: fadeInUp 0.5s;\n}\n.fade-in-up.ng-leave {\n  -webkit-animation: fadeOutUp 0.5s;\n  animation: fadeOutUp 0.5s;\n}\n\n.fade-in-down.ng-enter {\n  -webkit-animation: fadeInDown 0.5s;\n  animation: fadeInDown 0.5s;\n}\n.fade-in-down.ng-leave {\n  -webkit-animation: fadeOutDown 0.5s;\n  animation: fadeOutDown 0.5s;\n}"
  },
  {
    "path": "src/css/less/app.plugin.less",
    "content": "/*Charts*/\n.jqstooltip {\n  background-color: rgba(0, 0, 0, 0.8) !important;\n  border: solid 1px #000 !important;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n  padding: 5px 10px !important;\n  .box-sizing(content-box);\n}\n\n// easypie\n.easyPieChart {\n  position: relative;\n  text-align: center;\n  > div {\n    position: relative;\n    z-index: 1;\n    .text {\n      position: absolute;\n      width: 100%;\n      top: 60%;\n      line-height: 1;\n    }\n    img {\n      margin-top: -4px;\n    }\n  }\n  canvas {\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: 0\n  }\n}\n\n// flot tip\n#flotTip {\n  padding: 4px 10px;\n  background-color: rgba(0, 0, 0, 0.8);\n  border: solid 1px #000 !important;\n  z-index: 100;\n  font-size: 12px;\n  color: #fff;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\n\n// flot lengend\n.legendColorBox {\n  > div {\n    border: none !important;\n    margin: 5px;\n    > div {\n      border-radius: 10px;\n    }\n  }\n}\n\n// sortable\n.sortable-placeholder {\n  list-style: none;\n  border: 1px dashed #CCC;\n  min-height: 50px;\n  margin-bottom: 5px\n}\n\n.table {\n  > thead {\n    .sorting,\n    .sorting_asc,\n    .sorting_desc {\n      cursor: pointer;\n      white-space: normal;\n    }\n\n    .sorting:after,\n    .sorting_asc:after,\n    .sorting_desc:after {\n      font-family: FontAwesome;\n      color: #ccc;\n      position: relative;\n      font-weight: normal;\n      float: right;\n    }\n\n    .sorting:after {\n      content: \"\\f0dc\";\n    }\n    .sorting_asc:after {\n      content: \"\\f0de\";\n    }\n    .sorting_desc:after {\n      content: \"\\f0dd\";\n    }\n  }\n}\n\n.ibox {\n  clear: both;\n  margin-bottom: 25px;\n  margin-top: 0;\n  padding: 0;\n}\n\n.ibox.collapsed .ibox-content {\n  display: none;\n}\n\n.ibox.collapsed .fa.fa-chevron-up:before {\n  content: \"\\f078\";\n}\n\n.ibox.collapsed .fa.fa-chevron-down:before {\n  content: \"\\f077\";\n}\n\n.ibox:after, .ibox:before {\n  display: table;\n}\n\n.ibox-title {\n  -moz-border-bottom-colors: none;\n  -moz-border-left-colors: none;\n  -moz-border-right-colors: none;\n  -moz-border-top-colors: none;\n  background-color: @ibox-title-bg;\n  border-color: @border-color;\n  border-image: none;\n  border-style: solid solid none;\n  border-width: 3px 0 0;\n  color: inherit;\n  margin-bottom: 0;\n  padding: 14px 15px 7px;\n  min-height: 48px;\n}\n\n.ibox-content {\n  background-color: @ibox-content-bg;\n  color: inherit;\n  padding: 15px 20px 20px 20px;\n\n  border-color: @border-color;\n  border-image: none;\n  border-style: solid solid none;\n  border-width: 1px 0;\n}\n\n.ibox-footer {\n  color: inherit;\n  border-top: 1px solid @border-color;\n  font-size: 90%;\n  background: #ffffff;\n  padding: 10px 15px;\n}\n"
  },
  {
    "path": "src/css/less/app.reset.less",
    "content": "// reset\nhtml {\n  background-color: @body-bg;  \n}\nbody {\n  font-family: @font-family-base;\n  font-size: @font-size-base;\n  color: @text-color;\n  background-color: transparent;\n  -webkit-font-smoothing: antialiased;\n  line-height: @line-height-base;\n}\n\n*:focus {\n  outline: 0 !important;\n}\n\n.h1, .h2, .h3, .h4, .h5, .h6{\n  margin: 0;\n}\n\n// Links\n// -------------------------\n\na {\n  color: @link-color;\n  text-decoration: none;\n  cursor: pointer;\n}\na:hover,\na:focus {\n  color: @link-hover-color;\n  text-decoration: none;\n}\n\nlabel{font-weight: normal;}\nsmall, .small{font-size: @font-size-sm;}\n.badge, .label{font-weight: bold; text-shadow: 0 1px 0 rgba(0, 0, 0, .2)}\n.badge.bg-light, .label.bg-light{text-shadow:none;}\n.badge{\n  background-color: @badge-bg;\n  &.up{\n    position: relative;\n    top: -10px;\n    padding:3px 6px;\n    margin-left: -10px;\n  }\n}\n\n.badge-sm{\n  font-size: 85%;\n  padding: 2px 5px !important;\n}\n\n.label-sm{\n  padding-top: 0;\n  padding-bottom: 1px;\n}\n\n.badge-white {\n  background-color: transparent;\n  border: 1px solid rgba(255,255,255,0.35);\n  padding: 2px 6px;\n}\n\n.badge-empty {\n  background-color: transparent;\n  border: 1px solid rgba(0,0,0,0.15);\n  color: inherit;\n}\n\nblockquote{\n  border-color: @border-color;\n}\n\n.caret-white{\n  border-top-color: #fff;\n  border-top-color: rgba(255,255,255,.65);\n  a:hover & {\n    border-top-color: #fff;\n  }\n}\n\n.thumbnail{\n  border-color: @border-color;\n}\n\n.progress{\n  background-color: @brand-light;\n}\n.progress-xxs{\n  height: 2px\n}\n.progress-xs{\n  height: 6px\n}\n.progress-sm{\n  height: 12px;\n  .progress-bar{\n    font-size: 10px;\n    line-height: 1em;\n  }\n}\n\n.progress, .progress-bar{\n  .box-shadow(none);\n}\n\n.progress-bar-primary{\n  background-color: @brand-primary;\n}\n.progress-bar-info{\n  background-color: @brand-info;\n}\n.progress-bar-success{\n  background-color: @brand-success;\n}\n.progress-bar-warning{\n  background-color: @brand-warning;\n}\n.progress-bar-danger{\n  background-color: @brand-danger;\n}\n.progress-bar-black{\n  background-color: @brand-black;\n}\n.progress-bar-white{\n  background-color: #fff;\n}\n\n\n.accordion-group,\n.accordion-inner{\n  border-color: @border-color;\n  border-radius: @border-radius-base;\n}\n\n.alert{\n  font-size: @font-size-sm;\n  box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);\n  .close i{\n    font-size: 12px;\n    font-weight: normal;\n    display: block;\n  }\n}\n\n.form-control{\n  border-color: @input-border;\n  border-radius: @input-border-radius;\n  &,\n  &:focus {    \n    .box-shadow(none);\n  }\n  &:focus{\n    border-color: @input-border-focus;\n  }\n}\n\n.form-horizontal{\n   .control-label.text-left{\n      text-align: left;\n   }\n}\n\n.form-control-spin{\n  position: absolute;\n  z-index: 2;\n  right: 10px;\n  top: 50%;\n  margin-top: -7px;\n}\n\n.input-lg{\n  height: 45px;\n}\n\n.input-group-addon{\n  border-color: @input-border;\n  background-color: @brand-light;\n}\n\n.list-group{\n  border-radius: @border-radius-base;  \n  &.no-radius {\n    .list-group-item{\n      border-radius: 0 !important;\n    }\n  }\n  &.no-borders {\n    .list-group-item{\n      border: none;\n    }\n  }\n  &.no-border{\n    .list-group-item{\n      border-width: 1px 0;\n    }\n  }\n  &.no-bg{\n    .list-group-item{\n      background-color: transparent;\n    }\n  }\n}\n\n.list-group-item{\n  border-color: @list-group-item-border;\n  padding-right: 15px;\n  a&{\n    &:hover,\n    &:focus,\n    &.hover{\n      background-color: @list-group-item-hover;\n    }\n  }\n  &.media {\n    margin-top: 0;\n  }\n  &.active {\n    color: #fff;\n    border-color: @list-group-active-color !important;\n    background-color: @list-group-active-color !important;\n    .text-muted{\n      color: lighten(@list-group-active-color, 30%) !important;\n    }\n    a{\n      color: #fff;\n    }\n  }\n  &.focus{\n    background-color: @list-group-item-focus !important;\n  }\n  &.select{\n    position: relative;\n    z-index: 1;\n    background-color: @list-group-select-color !important;\n    border-color: darken( @list-group-select-color , 5%);\n  }\n  \n  .list-group-alt & {\n    &:nth-child(2n+2){\n      background-color: rgba(0,0,0,0.02) !important;\n    }\n  }\n  .list-group-lg & {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n  .list-group-sm & {\n    padding: 6px 10px;\n  }\n  .list-group-sp & {\n    margin-bottom: 5px;\n    border-radius: 3px;\n  }\n  > .badge{\n    margin-right: 0;\n  }\n  > .fa-chevron-right {\n    float: right;\n    margin-top: 4px;\n    margin-right: -5px;\n    & + .badge{\n      margin-right: 5px;\n    }\n  }\n}\n\n.nav-pills{\n  &.no-radius {\n    > li{\n      > a {\n        border-radius: 0;\n      }\n    }\n  }\n  > li{\n    &.active {\n      > a{\n        color: #fff !important;\n        background-color: @brand-info;\n        &:hover,\n        &:active{\n          background-color: darken(@brand-info, 5%);\n        }\n      }\n    }\n  }\n}\n\n.nav{\n  > li{\n    > a{\n      &:hover,\n      &:focus{\n        background-color: @nav-bg;\n      }\n    }\n  }\n  &.nav-lg{\n    > li > a{\n      padding: 20px 20px;\n    }\n  }\n  &.nav-md{\n    > li > a{\n      padding: 15px 15px;\n    }\n  }\n  &.nav-sm{\n    > li > a{\n      padding: 6px 12px;\n    }\n  }\n  &.nav-xs{\n    > li > a{\n      padding: 4px 10px;\n    }\n  }\n  &.nav-xxs{\n    > li > a{\n      padding: 1px 10px;\n    }\n  }\n  &.nav-rounded{\n    > li > a{\n      border-radius: 20px;\n    }\n  }\n  .open{\n    > a{\n      &,\n      &:hover,\n      &:focus{\n        background-color: @nav-bg;\n      }\n    }\n  }\n}\n\n.nav-tabs{\n  border-color: @border-color;\n  > li{\n    > a{\n      border-radius: @panel-border-radius @panel-border-radius 0 0;      \n      border-bottom-color: @border-color;\n    }\n    &:hover > a,\n    &.active > a,\n    &.active > a:hover{\n      border-color: @border-color;      \n    }\n    &.active > a{\n      border-bottom-color: #fff !important;\n    }\n  }\n  .nav-tabs-alt & {\n    &.nav-justified{\n      > li{\n        display: table-cell;\n        width: 1%;\n      }\n    }\n    > li{\n      > a {\n        border-radius: 0;\n        border-color: transparent !important;\n        background: transparent !important;\n        border-bottom-color: @border-color !important;\n      }\n      &.active{\n        > a {\n          border-bottom-color: @brand-info !important;          \n        }\n      }      \n    }\n  }\n}\n\n.tab-container{\n  margin-bottom: 15px;\n  .tab-content{\n    padding:15px;\n    background-color: #fff;\n    border: 1px solid @border-color;\n    border-top-width: 0; \n    border-radius: 0 0 @panel-border-radius @panel-border-radius;\n  }\n}\n\n.pagination{\n  > li{\n    > a{\n      border-color: @border-color;\n      &:hover,\n      &:focus{\n        border-color: @border-color;\n        background-color: @brand-light;\n      }\n    }\n  }\n}\n\n.panel{\n  border-radius: @panel-border-radius;\n  .accordion-toggle{\n    font-size: 14px;\n    display: block;\n    cursor: pointer;\n  }\n  .list-group-item{\n    border-color: @panel-list-group-border;\n  }\n  &.no-borders{\n    border-width: 0;\n    .panel-heading,\n    .panel-footer{\n      border-width: 0;\n    }\n  }\n}\n\n.panel-heading{\n  .panel-default &{\n    background-color: @panel-heading-bg;\n  }\n  border-radius: @panel-border-radius @panel-border-radius 0 0;\n  &.no-border{\n    margin:-1px -1px 0 -1px;\n    border: none;\n  }\n  .nav{\n    margin: -10px  -15px;\n  }\n  .list-group{\n    background: transparent;\n  }\n}\n\n.panel-footer{\n  border-color: @panel-heading-border;\n  border-radius: 0 0 @panel-border-radius @panel-border-radius;\n  background-color: @panel-footer-bg;\n}\n\n.panel-default{\n  border-color: @panel-border;\n  > .panel-heading,\n  > .panel-footer {\n    border-color: @panel-heading-border;\n  }\n}\n\n.panel-group .panel-heading + .panel-collapse .panel-body{\n  border-top: 1px solid #eaedef;\n}\n\n.table{\n  > tbody,\n  > tfoot {\n    > tr {\n      > td {\n        padding:8px 15px;\n        border-top: 1px solid @table-border-color;\n      }\n    }\n  }\n  > thead > tr > th{\n    padding:8px 15px;\n    border-bottom: 1px solid @table-border-color;\n  }\n}\n.table-bordered{\n  border-color: @table-border-color;\n  > tbody{\n    > tr{\n      > td{\n        border-color: @table-border-color;\n      }\n    }\n  }\n  > thead > tr > th{\n    border-color: @table-border-color;\n  }\n}\n.table-striped{\n  > tbody {\n    > tr{\n      &:nth-child(odd){\n        > td,\n        > th{\n          background-color: @table-striped-color;\n        }\n      }\n    }\n  }\n  > thead {\n    > th{\n      background-color: @table-striped-color;\n      border-right: 1px solid @table-border-color;\n      &:last-child{\n        border-right: none\n      }\n    }\n  }\n}\n\n.well, pre {\n  background-color: @brand-light;\n  border-color: @border-color;\n}\n\n.dropdown-menu{\n  border-radius: @border-radius-base;\n  .box-shadow(0 2px 6px rgba(0, 0, 0, 0.1));\n  border: 1px solid @border-color;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  &.pull-left{\n    left:100%;\n  }\n  > .panel{\n    border: none;\n    margin: -5px 0;\n  }\n  > li > a{\n    padding: 5px 15px;\n  }\n  > li > a:hover,\n  > li > a:focus,\n  > .active > a,\n  > .active > a:hover, \n  > .active > a:focus{\n    background-image: none;\n    filter:none;\n    background-color: @brand-light !important;\n    color: @link-hover-color;\n  }\n}\n\n.dropdown-header{\n  padding: 5px 15px;\n}\n\n.dropdown-submenu{\n  position: relative;\n  &:hover,\n  &:focus{\n    > a{\n      background-color: @brand-light !important;\n      color: @text-color;\n    }    \n    > .dropdown-menu {\n      display: block;\n    }\n  }\n  &.pull-left{\n    float: none !important;\n    > .dropdown-menu{\n      left: -100%;\n      margin-left: 10px;\n    }\n  }\n  .dropdown-menu{\n    left:100%;\n    top:0;\n    margin-top: -6px;\n    margin-left: -1px\n  }\n\n  .dropup & {\n    > .dropdown-menu{\n      top: auto;\n      bottom: 0;\n    }\n  }\n}\n\n.btn-group > .btn{\n  margin-left: -1px;\n}\n\n/*cols*/\n.col-lg-2-4 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n\n.col-0{clear:left;}\n\n.row.no-gutter{\n  margin-left: 0;\n  margin-right: 0;\n}\n\n.no-gutter [class*=\"col\"]{\n  padding: 0;\n}\n\n.row-sm{\n  margin-left: -10px;\n  margin-right: -10px;\n  > div{\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n}\n\n.modal-backdrop{\n  background-color: @brand-dark;\n  &.in{\n    opacity: 0.8;\n    filter: alpha(opacity=80);\n  }\n}\n\n.modal-over{\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  position: fixed;\n}\n\n.modal-center{\n  position: absolute;\n  left:50%;\n  top:50%;\n}"
  },
  {
    "path": "src/css/less/app.utilities.less",
    "content": ".pos-rlt{position: relative;}\n.pos-stc{position: static !important;}\n.pos-abt{position: absolute;}\n.pos-fix{position: fixed;}\n\n.show{visibility: visible;}\n.line {width: 100%;height: 2px;margin: 10px 0;font-size:0;overflow: hidden;}\n.line-xs{margin: 0}\n.line-lg{margin-top:15px;margin-bottom: 15px}\n.line-dashed{border-style: dashed !important;background-color: transparent;border-width:0;}\n.no-line{border-width: 0}\n.no-border, .no-borders{border-color:transparent;border-width:0}\n.no-radius{border-radius: 0}\n.block{display:block;}\n.block.hide{display: none;}\n.inline{display:inline-block !important;}\n.none{display: none;}\n.pull-none{float: none;}\n.rounded{border-radius: 500px;}\n.clear{display:block;overflow: hidden;}\n.no-bg{background-color: transparent; color: inherit;}\n.no-select{\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.l-h{line-height: @line-height-base;}\n.l-h-0x{line-height: 0;}\n.l-h-1x{line-height: 1.2;}\n.l-h-2x{line-height: 2em;}\n\n.l-s-1x{letter-spacing: 1}\n.l-s-2x{letter-spacing: 2}\n.l-s-3x{letter-spacing: 3}\n\n.font-normal{font-weight: normal;}\n.font-thin{font-weight: 300;}\n.font-bold{font-weight: 700;}\n\n.text-3x{font-size: 3em;}\n.text-2x{font-size: 2em;}\n.text-lg{font-size: @font-size-lg;}\n.text-md{font-size: @font-size-md;}\n.text-base{font-size: @font-size-base;}\n.text-sm{font-size: @font-size-sm;}\n.text-xs{font-size: @font-size-xs;}\n.text-xxs{text-indent: -9999px}\n.text-ellipsis{\n  display: block;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow:ellipsis;\n}\n.text-u-c{text-transform: uppercase;}\n.text-l-t{text-decoration: line-through;}\n.text-u-l{text-decoration: underline;}\n.text-active, .active > .text, .active > .auto .text{display: none !important;}\n.active > .text-active, .active > .auto .text-active{display: inline-block !important;}\n.box-shadow{\n  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(0, 0, 0, 0.05);\n}\n.box-shadow-lg{\n  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);\n}\n.text-shadow{\n  font-size: 170px;\n  text-shadow: 0 1px 0 @border-color,0 2px 0 lighten(@border-color, 10%),0 5px 10px rgba(0,0,0,.125),0 10px 20px rgba(0,0,0,.2);\n}\n.no-shadow{\n  -webkit-box-shadow: none !important;\n  box-shadow: none !important;\n}\n\n.wrapper-xs{padding: 5px;}\n.wrapper-sm{padding: 10px;}\n.wrapper{padding: 15px;}\n.wrapper-md{padding: 20px;}\n.wrapper-lg{padding: 30px;}\n.wrapper-xl{padding: 50px;}\n.padder-lg{padding-left:30px;padding-right: 30px}\n.padder-md{padding-left:20px;padding-right: 20px}\n.padder{padding-left:15px;padding-right: 15px}\n.padder-v{padding-top:15px;padding-bottom: 15px}\n.no-padder{padding: 0 !important;}\n.pull-in{margin-left: -15px;margin-right: -15px;}\n.pull-out{margin:-10px -15px;}\n\n.b{border: 1px solid rgba(0, 0, 0, 0.05)}\n.b-a{border: 1px solid @border-color}\n.b-t{border-top: 1px solid @border-color}\n.b-r{border-right: 1px solid @border-color}\n.b-b{border-bottom: 1px solid @border-color}\n.b-l{border-left: 1px solid @border-color}\n.b-light{border-color: @brand-light}\n.b-dark{border-color: @brand-dark}\n.b-black{border-color: @brand-dark}\n.b-primary{border-color: @brand-primary}\n.b-success{border-color: @brand-success}\n.b-info{border-color: @brand-info}\n.b-warning{border-color: @brand-warning}\n.b-danger{border-color: @brand-danger}\n.b-white{border-color: #fff}\n.b-dashed{border-style: dashed !important;}\n\n.b-l-light{border-left-color: @brand-light}\n.b-l-dark{border-left-color: @brand-dark}\n.b-l-black{border-left-color: @brand-dark}\n.b-l-primary{border-left-color: @brand-primary}\n.b-l-success{border-left-color: @brand-success}\n.b-l-info{border-left-color: @brand-info}\n.b-l-warning{border-left-color: @brand-warning}\n.b-l-danger{border-left-color: @brand-danger}\n.b-l-white{border-left-color: #fff}\n\n.b-l-2x{border-left-width: 2px}\n.b-l-3x{border-left-width: 3px}\n.b-l-4x{border-left-width: 4px}\n.b-l-5x{border-left-width: 5px}\n\n.b-2x{border-width: 2px}\n.b-3x{border-width: 3px}\n.b-4x{border-width: 4px}\n.b-5x{border-width: 5px}\n\n.r{\n  border-radius: @border-radius-base @border-radius-base @border-radius-base @border-radius-base;\n}\n\n.r-2x{\n  border-radius:  @border-radius-base * 2;\n}\n\n.r-3x{\n  border-radius:  @border-radius-base * 3;\n}\n\n.r-l{\n  border-radius: @border-radius-base 0 0 @border-radius-base;\n}\n\n.r-r{\n  border-radius: 0 @border-radius-base @border-radius-base 0;\n}\n\n.r-t{\n  border-radius: @border-radius-base @border-radius-base 0 0;\n}\n\n.r-b{\n  border-radius: 0 0 @border-radius-base @border-radius-base;\n}\n\n.m-xxs{margin: 2px 4px}\n.m-xs{margin: 5px;}\n.m-sm{margin: 10px;}\n.m{margin: 15px;}\n.m-md{margin: 20px;}\n.m-lg{margin: 30px;}\n.m-xl{margin: 50px;}\n.m-n{margin: 0 !important}\n\n.m-l-none{margin-left: 0 !important}\n.m-l-xs{margin-left: 5px;}\n.m-l-sm{margin-left: 10px;}\n.m-l{margin-left: 15px}\n.m-l-md{margin-left: 20px;}\n.m-l-lg{margin-left: 30px;}\n.m-l-xl{margin-left: 40px;}\n.m-l-xxl{margin-left: 50px;}\n\n.m-l-n-xxs{margin-left: -1px}\n.m-l-n-xs{margin-left: -5px}\n.m-l-n-sm{margin-left: -10px}\n.m-l-n{margin-left: -15px}\n.m-l-n-md{margin-left: -20px}\n.m-l-n-lg{margin-left: -30px}\n.m-l-n-xl{margin-left: -40px}\n.m-l-n-xxl{margin-left: -50px}\n\n.m-t-none{margin-top:0 !important}\n.m-t-xxs{margin-top: 1px;}\n.m-t-xs{margin-top: 5px;}\n.m-t-sm{margin-top: 10px;}\n.m-t{margin-top: 15px}\n.m-t-md{margin-top: 20px;}\n.m-t-lg{margin-top: 30px;}\n.m-t-xl{margin-top: 40px;}\n.m-t-xxl{margin-top: 50px;}\n\n.m-t-n-xxs{margin-top: -1px}\n.m-t-n-xs{margin-top: -5px}\n.m-t-n-sm{margin-top: -10px}\n.m-t-n{margin-top: -15px}\n.m-t-n-md{margin-top: -20px}\n.m-t-n-lg{margin-top: -30px}\n.m-t-n-xl{margin-top: -40px}\n.m-t-n-xxl{margin-top: -50px}\n\n.m-r-none{margin-right: 0 !important}\n.m-r-xxs{margin-right: 1px}\n.m-r-xs{margin-right: 5px}\n.m-r-sm{margin-right: 10px}\n.m-r{margin-right: 15px}\n.m-r-md{margin-right: 20px}\n.m-r-lg{margin-right: 30px}\n.m-r-xl{margin-right: 40px}\n.m-r-xxl{margin-right: 50px}\n\n.m-r-n-xxs{margin-right: -1px}\n.m-r-n-xs{margin-right: -5px}\n.m-r-n-sm{margin-right: -10px}\n.m-r-n{margin-right: -15px}\n.m-r-n-md{margin-right: -20px}\n.m-r-n-lg{margin-right: -30px}\n.m-r-n-xl{margin-right: -40px}\n.m-r-n-xxl{margin-right: -50px}\n\n.m-b-none{margin-bottom: 0 !important}\n.m-b-xxs{margin-bottom: 1px;}\n.m-b-xs{margin-bottom: 5px;}\n.m-b-sm{margin-bottom: 10px;}\n.m-b{margin-bottom: 15px;}\n.m-b-md{margin-bottom: 20px;}\n.m-b-lg{margin-bottom: 30px;}\n.m-b-xl{margin-bottom: 40px;}\n.m-b-xxl{margin-bottom: 50px;}\n\n.m-b-n-xxs{margin-bottom: -1px}\n.m-b-n-xs{margin-bottom: -5px}\n.m-b-n-sm{margin-bottom: -10px}\n.m-b-n{margin-bottom: -15px}\n.m-b-n-md{margin-bottom: -20px}\n.m-b-n-lg{margin-bottom: -30px}\n.m-b-n-xl{margin-bottom: -40px}\n.m-b-n-xxl{margin-bottom: -50px}\n\n.avatar{\n  position: relative;\n  display: block;\n  border-radius: 500px;\n  white-space: nowrap;\n  img{\n    border-radius: 500px;\n    width: 100%;\n  }\n  i{    \n    position: absolute;\n    left: 0;\n    top: 0;\n    width: 10px;\n    height: 10px;\n    margin: 2px;\n    border-width: 2px;\n    border-style: solid;\n    border-radius: 100%;\n    &.right{\n      left: auto;\n      right: 0;\n    }\n    &.bottom{\n      left: auto;\n      top: auto;\n      bottom: 0;\n      right: 0;\n    }\n    &.left{\n      top: auto;\n      bottom: 0;\n    }\n    &.on{\n      background-color: @brand-success;\n    }\n    &.off{\n      background-color: @text-muted;\n    }\n    &.busy{\n      background-color: @brand-danger;\n    }\n    &.away{\n      background-color: @brand-warning;\n    }\n  }\n\n  &.thumb-md i {\n    width: 12px;\n    height: 12px;\n    margin: 3px;\n  }\n  &.thumb-sm i {\n    margin: 1px;\n  }\n  &.thumb-xs i {\n    margin: 0;\n  }\n}\n.w-1x{\n  width: 1em;\n}\n.w-2x{\n  width: 2em;\n}\n.w-3x{\n  width: 3em;\n}\n.w-xxs{\n  width: 60px;\n}\n.w-xs{\n  width: 90px;\n}\n.w-sm{\n  width: 150px;\n}\n.w{\n  width: 200px;\n}\n.w-md{\n  width: 240px;\n}\n.w-lg{\n  width: 280px;\n}\n.w-xl{\n  width: 320px;\n}\n.w-xxl{\n  width: 360px;\n}\n.w-full{\n  width: 100%;\n}\n.w-auto{\n  width: auto;\n}\n.h-auto{\n  height: auto;\n}\n.h-full{\n  height: 100%;\n}\n\n.thumb-xl{width: 128px;display: inline-block}\n.thumb-lg{width: 96px;display: inline-block}\n.thumb-md{width: 64px;display: inline-block}\n.thumb{width: 50px;display: inline-block}\n.thumb-sm{width: 40px;display: inline-block}\n.thumb-xs{width: 34px;display: inline-block}\n.thumb-xxs{width: 30px;display: inline-block}\n.thumb-wrapper{padding: 2px; border: 1px solid @border-color}\n.thumb, \n.thumb-xs, \n.thumb-sm, \n.thumb-md, \n.thumb-lg,\n.thumb-btn{\n  img{\n    height: auto;\n    max-width: 100%;\n    vertical-align: middle;\n  }\n}\n.img-full{\n  width: 100%;\n  img{\n    width: 100%;\n  }\n}\n\n.scrollable{\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-overflow-scrolling: touch;\n  &.hover {\n    overflow-y: hidden !important;\n    &:hover\n    {\n      overflow: visible !important;\n      overflow-y: auto !important;\n    }\n  }\n\n  .smart & {\n    overflow-y: auto !important;\n  }\n\n}\n\n.scroll-x, .scroll-y{overflow:hidden;-webkit-overflow-scrolling:touch;}\n.scroll-y{overflow-y:auto;}\n.scroll-x{overflow-x:auto;}\n\n.hover-action{\n  display: none;    \n}\n.hover-rotate{\n  .transition(all .2s ease-in-out .1s)\n}\n.hover-anchor:hover,\n.hover-anchor:focus,\n.hover-anchor:active{\n  > .hover-action{\n    display: inherit;\n  }\n  > .hover-rotate{\n    .rotate(90deg)\n  }\n}\n\n.backdrop {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1050;\n  &.fade{\n    opacity: 0;\n    filter: alpha(opacity=0);\n  }\n  &.in{\n    opacity: 0.8;\n    filter: alpha(opacity=80);\n  }\n}\n\n/*desktop*/\n@media screen and (min-width: 992px) {\n  .col-lg-2-4{width: 20.000%;float: left;}\n}\n\n// sm\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm.show{display: inherit !important;}\n  .no-m-sm{margin:0 !important;}\n}\n\n/*phone*/\n@media (max-width: 767px) {\n  .w-auto-xs{width: auto;}\n  .shift{display: none !important;}\n  .shift.in{display: block !important;}\n  .row-2 [class*=\"col\"]{width: 50%;float: left}\n  .row-2 .col-0{clear: none}\n  .row-2 li:nth-child(odd) { clear: left;margin-left: 0}\n  .text-center-xs{text-align: center;}\n  .text-left-xs{text-align: left;}\n  .text-right-xs{text-align: right;}\n  .no-border-xs{border-width: 0;}\n  .pull-none-xs{float: none !important;}\n  .pull-right-xs{float: right !important;}\n  .pull-left-xs{float: left !important;}\n  .dropdown-menu.pull-none-xs{left: 0;}\n  .hidden-xs.show{display: inherit !important;}\n  .wrapper-lg, .wrapper-md{padding: 15px;}\n  .padder-lg, .padder-md{padding-left: 15px;padding-right: 15px;}\n  .no-m-xs{margin:0 !important;}\n}"
  },
  {
    "path": "src/css/less/app.variables.less",
    "content": "/* \n\n*/\n\n@brand-primary:         #7266ba;\n@brand-info:            #23b7e5;\n@brand-success:         #27c24c;\n@brand-warning:         #fad733;\n@brand-danger:          #f05050;\n@brand-light:           #edf1f2;\n@brand-dark:            #3a3f51;\n@brand-black:           #1c2b36;\n\n@body-bg:               lighten(@brand-light, 1%);\n@text-color:            #58666e;\n@text-muted:            lighten(@text-color, 25%);\n\n@font-family-sans-serif:  \"Source Sans Pro\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n@font-family-serif:       Georgia, \"Times New Roman\", Times, serif;\n@font-family-base:        @font-family-sans-serif;\n\n@font-size-base:          14px;\n@font-size-lg:            ceil(@font-size-base * 1.23); // ~20px\n@font-size-md:            ceil(@font-size-base * 1.14); // ~16px\n@font-size-sm:            ceil(@font-size-base * 0.92); // ~13px\n@font-size-xs:            ceil(@font-size-base * 0.85); // ~12px\n\n@link-color:              darken(@text-color, 15%);\n@link-hover-color:        darken(@text-color, 30%);\n\n@border-radius-base:      2px;\n@border-color:\t\t  \t    darken(@brand-light, 5%);\n\n@line-height-base:        1.42857143; // 20/14\n@line-height-computed:    floor(@font-size-base * @line-height-base); // ~20px\n@icon-css-prefix:         i;\n\n// Buttons\n// -------------------------\n\n@btn-default-color:              @text-color;\n@btn-default-bg:                 lighten(@brand-light, 5%);\n@btn-default-border:             @border-color;\n@btn-border-radius:              @border-radius-base;\n\n@input-border:                   darken(@border-color, 5%);\n@input-border-focus:             @brand-info;\n@input-border-radius:            @border-radius-base;\n\n@panel-bg:                    \t #fff;\n@panel-border:                \t @border-color;\n@panel-heading-border:           lighten(@border-color, 5%);\n@panel-list-group-border:        lighten(@border-color, 5%);\n@panel-border-radius:         \t @border-radius-base;\n@panel-heading-bg:            \t lighten(@brand-light, 3%);\n@panel-footer-bg:             \t #fff;\n\n@nav-bg:                         lighten(@brand-light, 3%);\n@badge-bg:                       darken(@brand-light, 10%);\n\n@list-group-item-border:         lighten(@border-color, 3%);\n@list-group-item-hover:          lighten(@brand-light, 3%);\n@list-group-item-focus:          darken(@brand-light, 3%);\n@list-group-select-color:        #dbeef9;\n@list-group-active-color:        @brand-info;\n\n@table-border-color:             lighten(@border-color, 4%);\n@table-striped-color:            lighten(@brand-light, 4.5%);;\n\n@arrow-width:         \t\t\t     8px;\n@arrow-color:         \t\t\t     #fff;\n@arrow-outer-width:   \t\t\t     (@arrow-width + 1);\n@arrow-outer-color:   \t\t\t     rgba(0,0,0,.1);\n\n@switch-width:                   35px;\n@switch-height:                  20px;\n@switch-md-width:                40px;\n@switch-md-height:               24px;\n@switch-lg-width:                50px;\n@switch-lg-height:               30px;\n\n@app-aside-width:                200px;\n@app-aside-nav-height:           40px;\n@app-aside-folded-width:         60px;\n@app-aside-folded-nav-height:    50px;\n@app-aside-dock-media:           992px;\n\n@app-header-height:              50px;\n@app-header-md-height:\t\t\t  \t 60px;\n\n@scroll-bar-width:               17px;\n@butterbar-height:               3px;\n@butterbar-time:                 0.75s;\n\n@off-screen-width:               75%;\n\n@ibox-title-bg:                  lighten(@brand-light, 1%);\n@ibox-content-bg:                lighten(@brand-light, 1%);\n"
  },
  {
    "path": "src/css/less/app.widgets.less",
    "content": "// icon list\n.list-icon i{font-size: 14px;width:40px;vertical-align:middle;margin:0;display: inline-block;text-align: center;.transition(font-size .2s);}\n.list-icon div{line-height: 40px;white-space: nowrap;}\n.list-icon div:hover i{font-size:26px;}\n\n// settings\n.settings{\n\tz-index: 1050;\n\tposition: fixed;\n\ttop: 120px;\n\tright: -240px;\n\twidth: 240px;\n\t.transition(right 0.2s);\n}\n.settings.active{\n\tright: -1px;\n}\n\n.settings > .btn{\n\tbackground: @panel-heading-bg !important;\n\tborder-right-width: 0;\n\tborder-color: @border-color !important;\n\tposition: absolute;\n\tleft: -42px;\n\ttop: -1px;\n\tpadding: 10px 15px;\n}\n\n.settings .i-checks span b{\n\twidth: 50%;\n\theight: 20px;\n\tdisplay: inline-block;\n\tfloat: left;\n}\n.settings .i-checks span b.header{\n\theight: 10px;\n}\n\n// streamline\n.streamline {\n\tposition: relative;\n\tborder-color: @border-color;\n\t.sl-item:after,\n\t&:after{\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\tbackground-color: #fff;\n\t\tborder-color: inherit;\n\t\tborder-width: 1px;\n\t\tborder-style: solid;\n\t\tborder-radius: 10px;\n\t\twidth: 9px;\n\t\theight: 9px;\t\t\n\t\tmargin-left: -5px;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t}\n}\n\n.sl-item{\n\tborder-color: @border-color;\n\tposition: relative;\n\tpadding-bottom: 1px;\n\t.clearfix();\n\t&:after{\n\t\ttop: 6px;\n\t\tbottom: auto;\n\t}\n\t&.b-l{\n\t\tmargin-left: -1px;\n\t}\n}\n\n// timeline\n.timeline{\n\tmargin: 0;\n\tpadding: 0;\n}\n.tl-item{\n\tdisplay: block;\n\t.clearfix();\n}\n.visible-left{\n\tdisplay: none;\n}\n.tl-wrap{\n\tdisplay: block;\n\tmargin-left: 6em;\n\tpadding: 15px 0 15px 20px;\n\tborder-style: solid;\n\tborder-color: @border-color;\n\tborder-width: 0 0 0 4px;\n\t.clearfix();\n\t&:before{\n\t\tposition: relative;\n\t\tcontent: \"\";\n\t\tfloat: left;\n\t\ttop: 15px;\n\t\tmargin-left: -27px;\n\t\twidth: 10px;\n\t\theight: 10px;\n\t\tborder-color: inherit;\n\t\tborder-width: 3px;\n\t\tborder-radius: 50%;\n\t\tborder-style: solid;\n\t\tbackground: @brand-light;\n\t\tbox-shadow: 0 0 0 4px @body-bg;\t\t\n\t}\n\t&:hover:before{\n\t\tbackground: transparent;\n\t\tborder-color: #fff;\n\t}\t\n}\n\n.tl-date{\n\tposition: relative;\n\ttop: 10px;\n\tfloat: left;\n\tmargin-left: -7.5em;\n\tdisplay: block;\n\twidth: 4.5em;\n\ttext-align: right;\n}\n\n.tl-content{\n\tdisplay: inline-block;\n\tposition: relative;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n\t&.block{\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\t&.panel{\n\t\tmargin-bottom: 0;\n\t}\n}\n\n.tl-header{\n\tdisplay: block;\n\twidth: 12em;\n\ttext-align: center;\n\tmargin-left: 2px;\n}\n\n.timeline-center{\n\t.tl-item{\n\t\tmargin-left: 50%;\n\t\t.tl-wrap{\n\t\t\tmargin-left: -2px;\n\t\t}\n\t}\n\t.tl-header{\n\t\twidth: auto;\n\t\tmargin: 0;\n\t}\n\t.tl-left{\n\t\tmargin-left: 0;\n\t\tmargin-right: 50%;\n\t\t.hidden-left{\n\t\t\tdisplay: none !important;\n\t\t}\n\t\t.visible-left{\n\t\t\tdisplay: inherit;\n\t\t}\t\t\n\t\t.tl-wrap{\n\t\t\tfloat: right;\n\t\t\tmargin-right: -2px;\n\t\t\tborder-left-width: 0;\n\t\t\tborder-right-width: 4px;\n\t\t\tpadding-left: 0;\n\t\t\tpadding-right: 20px;\n\t\t\t&:before{\n\t\t\t\tfloat: right;\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-right: -27px;\n\t\t\t}\n\t\t}\n\t\t.tl-date{\n\t\t\tfloat: right;\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: -8.5em;\n\t\t\ttext-align: left;\t\n\t\t}\n\t}\n}"
  },
  {
    "path": "src/css/simple-line-icons.css",
    "content": "@font-face {\n\tfont-family: 'Simple-Line-Icons';\n\tsrc:url('../fonts/Simple-Line-Icons.eot');\n\tsrc:url('../fonts/Simple-Line-Icons.eot?#iefix') format('embedded-opentype'),\n\t\turl('../fonts/Simple-Line-Icons.woff') format('woff'),\n\t\turl('../fonts/Simple-Line-Icons.ttf') format('truetype'),\n\t\turl('../fonts/Simple-Line-Icons.svg#Simple-Line-Icons') format('svg');\n\tfont-weight: normal;\n\tfont-style: normal;\n}\n\n/* Use the following CSS code if you want to use data attributes for inserting your icons */\n[data-icon]:before {\n\tfont-family: 'Simple-Line-Icons';\n\tcontent: attr(data-icon);\n\tspeak: none;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n}\n\n/* Use the following CSS code if you want to have a class per icon */\n/*\nInstead of a list of all class selectors,\nyou can use the generic selector below, but it's slower:\n[class*=\"icon-\"] {\n*/\n.icon-user-female, .icon-user-follow, .icon-user-following, .icon-user-unfollow, .icon-trophy, .icon-screen-smartphone, .icon-screen-desktop, .icon-plane, .icon-notebook, .icon-moustache, .icon-mouse, .icon-magnet, .icon-energy, .icon-emoticon-smile, .icon-disc, .icon-cursor-move, .icon-crop, .icon-credit-card, .icon-chemistry, .icon-user, .icon-speedometer, .icon-social-youtube, .icon-social-twitter, .icon-social-tumblr, .icon-social-facebook, .icon-social-dropbox, .icon-social-dribbble, .icon-shield, .icon-screen-tablet, .icon-magic-wand, .icon-hourglass, .icon-graduation, .icon-ghost, .icon-game-controller, .icon-fire, .icon-eyeglasses, .icon-envelope-open, .icon-envelope-letter, .icon-bell, .icon-badge, .icon-anchor, .icon-wallet, .icon-vector, .icon-speech, .icon-puzzle, .icon-printer, .icon-present, .icon-playlist, .icon-pin, .icon-picture, .icon-map, .icon-layers, .icon-handbag, .icon-globe-alt, .icon-globe, .icon-frame, .icon-folder-alt, .icon-film, .icon-feed, .icon-earphones-alt, .icon-earphones, .icon-drop, .icon-drawer, .icon-docs, .icon-directions, .icon-direction, .icon-diamond, .icon-cup, .icon-compass, .icon-call-out, .icon-call-in, .icon-call-end, .icon-calculator, .icon-bubbles, .icon-briefcase, .icon-book-open, .icon-basket-loaded, .icon-basket, .icon-bag, .icon-action-undo, .icon-action-redo, .icon-wrench, .icon-umbrella, .icon-trash, .icon-tag, .icon-support, .icon-size-fullscreen, .icon-size-actual, .icon-shuffle, .icon-share-alt, .icon-share, .icon-rocket, .icon-question, .icon-pie-chart, .icon-pencil, .icon-note, .icon-music-tone-alt, .icon-music-tone, .icon-microphone, .icon-loop, .icon-logout, .icon-login, .icon-list, .icon-like, .icon-home, .icon-grid, .icon-graph, .icon-equalizer, .icon-dislike, .icon-cursor, .icon-control-start, .icon-control-rewind, .icon-control-play, .icon-control-pause, .icon-control-forward, .icon-control-end, .icon-calendar, .icon-bulb, .icon-bar-chart, .icon-arrow-up, .icon-arrow-right, .icon-arrow-left, .icon-arrow-down, .icon-ban, .icon-bubble, .icon-camcorder, .icon-camera, .icon-check, .icon-clock, .icon-close, .icon-cloud-download, .icon-cloud-upload, .icon-doc, .icon-envelope, .icon-eye, .icon-flag, .icon-folder, .icon-heart, .icon-info, .icon-key, .icon-link, .icon-lock, .icon-lock-open, .icon-magnifier, .icon-magnifier-add, .icon-magnifier-remove, .icon-paper-clip, .icon-paper-plane, .icon-plus, .icon-pointer, .icon-power, .icon-refresh, .icon-reload, .icon-settings, .icon-star, .icon-symbol-female, .icon-symbol-male, .icon-target, .icon-volume-1, .icon-volume-2, .icon-volume-off, .icon-users {\n\tfont-family: 'Simple-Line-Icons';\n\tspeak: none;\n\tfont-style: normal;\n\tfont-weight: normal;\n\tfont-variant: normal;\n\ttext-transform: none;\n\tline-height: 1;\n\t-webkit-font-smoothing: antialiased;\n}\n.icon-user-female:before {\n\tcontent: \"\\e000\";\n}\n.icon-user-follow:before {\n\tcontent: \"\\e002\";\n}\n.icon-user-following:before {\n\tcontent: \"\\e003\";\n}\n.icon-user-unfollow:before {\n\tcontent: \"\\e004\";\n}\n.icon-trophy:before {\n\tcontent: \"\\e006\";\n}\n.icon-screen-smartphone:before {\n\tcontent: \"\\e010\";\n}\n.icon-screen-desktop:before {\n\tcontent: \"\\e011\";\n}\n.icon-plane:before {\n\tcontent: \"\\e012\";\n}\n.icon-notebook:before {\n\tcontent: \"\\e013\";\n}\n.icon-moustache:before {\n\tcontent: \"\\e014\";\n}\n.icon-mouse:before {\n\tcontent: \"\\e015\";\n}\n.icon-magnet:before {\n\tcontent: \"\\e016\";\n}\n.icon-energy:before {\n\tcontent: \"\\e020\";\n}\n.icon-emoticon-smile:before {\n\tcontent: \"\\e021\";\n}\n.icon-disc:before {\n\tcontent: \"\\e022\";\n}\n.icon-cursor-move:before {\n\tcontent: \"\\e023\";\n}\n.icon-crop:before {\n\tcontent: \"\\e024\";\n}\n.icon-credit-card:before {\n\tcontent: \"\\e025\";\n}\n.icon-chemistry:before {\n\tcontent: \"\\e026\";\n}\n.icon-user:before {\n\tcontent: \"\\e005\";\n}\n.icon-speedometer:before {\n\tcontent: \"\\e007\";\n}\n.icon-social-youtube:before {\n\tcontent: \"\\e008\";\n}\n.icon-social-twitter:before {\n\tcontent: \"\\e009\";\n}\n.icon-social-tumblr:before {\n\tcontent: \"\\e00a\";\n}\n.icon-social-facebook:before {\n\tcontent: \"\\e00b\";\n}\n.icon-social-dropbox:before {\n\tcontent: \"\\e00c\";\n}\n.icon-social-dribbble:before {\n\tcontent: \"\\e00d\";\n}\n.icon-shield:before {\n\tcontent: \"\\e00e\";\n}\n.icon-screen-tablet:before {\n\tcontent: \"\\e00f\";\n}\n.icon-magic-wand:before {\n\tcontent: \"\\e017\";\n}\n.icon-hourglass:before {\n\tcontent: \"\\e018\";\n}\n.icon-graduation:before {\n\tcontent: \"\\e019\";\n}\n.icon-ghost:before {\n\tcontent: \"\\e01a\";\n}\n.icon-game-controller:before {\n\tcontent: \"\\e01b\";\n}\n.icon-fire:before {\n\tcontent: \"\\e01c\";\n}\n.icon-eyeglasses:before {\n\tcontent: \"\\e01d\";\n}\n.icon-envelope-open:before {\n\tcontent: \"\\e01e\";\n}\n.icon-envelope-letter:before {\n\tcontent: \"\\e01f\";\n}\n.icon-bell:before {\n\tcontent: \"\\e027\";\n}\n.icon-badge:before {\n\tcontent: \"\\e028\";\n}\n.icon-anchor:before {\n\tcontent: \"\\e029\";\n}\n.icon-wallet:before {\n\tcontent: \"\\e02a\";\n}\n.icon-vector:before {\n\tcontent: \"\\e02b\";\n}\n.icon-speech:before {\n\tcontent: \"\\e02c\";\n}\n.icon-puzzle:before {\n\tcontent: \"\\e02d\";\n}\n.icon-printer:before {\n\tcontent: \"\\e02e\";\n}\n.icon-present:before {\n\tcontent: \"\\e02f\";\n}\n.icon-playlist:before {\n\tcontent: \"\\e030\";\n}\n.icon-pin:before {\n\tcontent: \"\\e031\";\n}\n.icon-picture:before {\n\tcontent: \"\\e032\";\n}\n.icon-map:before {\n\tcontent: \"\\e033\";\n}\n.icon-layers:before {\n\tcontent: \"\\e034\";\n}\n.icon-handbag:before {\n\tcontent: \"\\e035\";\n}\n.icon-globe-alt:before {\n\tcontent: \"\\e036\";\n}\n.icon-globe:before {\n\tcontent: \"\\e037\";\n}\n.icon-frame:before {\n\tcontent: \"\\e038\";\n}\n.icon-folder-alt:before {\n\tcontent: \"\\e039\";\n}\n.icon-film:before {\n\tcontent: \"\\e03a\";\n}\n.icon-feed:before {\n\tcontent: \"\\e03b\";\n}\n.icon-earphones-alt:before {\n\tcontent: \"\\e03c\";\n}\n.icon-earphones:before {\n\tcontent: \"\\e03d\";\n}\n.icon-drop:before {\n\tcontent: \"\\e03e\";\n}\n.icon-drawer:before {\n\tcontent: \"\\e03f\";\n}\n.icon-docs:before {\n\tcontent: \"\\e040\";\n}\n.icon-directions:before {\n\tcontent: \"\\e041\";\n}\n.icon-direction:before {\n\tcontent: \"\\e042\";\n}\n.icon-diamond:before {\n\tcontent: \"\\e043\";\n}\n.icon-cup:before {\n\tcontent: \"\\e044\";\n}\n.icon-compass:before {\n\tcontent: \"\\e045\";\n}\n.icon-call-out:before {\n\tcontent: \"\\e046\";\n}\n.icon-call-in:before {\n\tcontent: \"\\e047\";\n}\n.icon-call-end:before {\n\tcontent: \"\\e048\";\n}\n.icon-calculator:before {\n\tcontent: \"\\e049\";\n}\n.icon-bubbles:before {\n\tcontent: \"\\e04a\";\n}\n.icon-briefcase:before {\n\tcontent: \"\\e04b\";\n}\n.icon-book-open:before {\n\tcontent: \"\\e04c\";\n}\n.icon-basket-loaded:before {\n\tcontent: \"\\e04d\";\n}\n.icon-basket:before {\n\tcontent: \"\\e04e\";\n}\n.icon-bag:before {\n\tcontent: \"\\e04f\";\n}\n.icon-action-undo:before {\n\tcontent: \"\\e050\";\n}\n.icon-action-redo:before {\n\tcontent: \"\\e051\";\n}\n.icon-wrench:before {\n\tcontent: \"\\e052\";\n}\n.icon-umbrella:before {\n\tcontent: \"\\e053\";\n}\n.icon-trash:before {\n\tcontent: \"\\e054\";\n}\n.icon-tag:before {\n\tcontent: \"\\e055\";\n}\n.icon-support:before {\n\tcontent: \"\\e056\";\n}\n.icon-size-fullscreen:before {\n\tcontent: \"\\e057\";\n}\n.icon-size-actual:before {\n\tcontent: \"\\e058\";\n}\n.icon-shuffle:before {\n\tcontent: \"\\e059\";\n}\n.icon-share-alt:before {\n\tcontent: \"\\e05a\";\n}\n.icon-share:before {\n\tcontent: \"\\e05b\";\n}\n.icon-rocket:before {\n\tcontent: \"\\e05c\";\n}\n.icon-question:before {\n\tcontent: \"\\e05d\";\n}\n.icon-pie-chart:before {\n\tcontent: \"\\e05e\";\n}\n.icon-pencil:before {\n\tcontent: \"\\e05f\";\n}\n.icon-note:before {\n\tcontent: \"\\e060\";\n}\n.icon-music-tone-alt:before {\n\tcontent: \"\\e061\";\n}\n.icon-music-tone:before {\n\tcontent: \"\\e062\";\n}\n.icon-microphone:before {\n\tcontent: \"\\e063\";\n}\n.icon-loop:before {\n\tcontent: \"\\e064\";\n}\n.icon-logout:before {\n\tcontent: \"\\e065\";\n}\n.icon-login:before {\n\tcontent: \"\\e066\";\n}\n.icon-list:before {\n\tcontent: \"\\e067\";\n}\n.icon-like:before {\n\tcontent: \"\\e068\";\n}\n.icon-home:before {\n\tcontent: \"\\e069\";\n}\n.icon-grid:before {\n\tcontent: \"\\e06a\";\n}\n.icon-graph:before {\n\tcontent: \"\\e06b\";\n}\n.icon-equalizer:before {\n\tcontent: \"\\e06c\";\n}\n.icon-dislike:before {\n\tcontent: \"\\e06d\";\n}\n.icon-cursor:before {\n\tcontent: \"\\e06e\";\n}\n.icon-control-start:before {\n\tcontent: \"\\e06f\";\n}\n.icon-control-rewind:before {\n\tcontent: \"\\e070\";\n}\n.icon-control-play:before {\n\tcontent: \"\\e071\";\n}\n.icon-control-pause:before {\n\tcontent: \"\\e072\";\n}\n.icon-control-forward:before {\n\tcontent: \"\\e073\";\n}\n.icon-control-end:before {\n\tcontent: \"\\e074\";\n}\n.icon-calendar:before {\n\tcontent: \"\\e075\";\n}\n.icon-bulb:before {\n\tcontent: \"\\e076\";\n}\n.icon-bar-chart:before {\n\tcontent: \"\\e077\";\n}\n.icon-arrow-up:before {\n\tcontent: \"\\e078\";\n}\n.icon-arrow-right:before {\n\tcontent: \"\\e079\";\n}\n.icon-arrow-left:before {\n\tcontent: \"\\e07a\";\n}\n.icon-arrow-down:before {\n\tcontent: \"\\e07b\";\n}\n.icon-ban:before {\n\tcontent: \"\\e07c\";\n}\n.icon-bubble:before {\n\tcontent: \"\\e07d\";\n}\n.icon-camcorder:before {\n\tcontent: \"\\e07e\";\n}\n.icon-camera:before {\n\tcontent: \"\\e07f\";\n}\n.icon-check:before {\n\tcontent: \"\\e080\";\n}\n.icon-clock:before {\n\tcontent: \"\\e081\";\n}\n.icon-close:before {\n\tcontent: \"\\e082\";\n}\n.icon-cloud-download:before {\n\tcontent: \"\\e083\";\n}\n.icon-cloud-upload:before {\n\tcontent: \"\\e084\";\n}\n.icon-doc:before {\n\tcontent: \"\\e085\";\n}\n.icon-envelope:before {\n\tcontent: \"\\e086\";\n}\n.icon-eye:before {\n\tcontent: \"\\e087\";\n}\n.icon-flag:before {\n\tcontent: \"\\e088\";\n}\n.icon-folder:before {\n\tcontent: \"\\e089\";\n}\n.icon-heart:before {\n\tcontent: \"\\e08a\";\n}\n.icon-info:before {\n\tcontent: \"\\e08b\";\n}\n.icon-key:before {\n\tcontent: \"\\e08c\";\n}\n.icon-link:before {\n\tcontent: \"\\e08d\";\n}\n.icon-lock:before {\n\tcontent: \"\\e08e\";\n}\n.icon-lock-open:before {\n\tcontent: \"\\e08f\";\n}\n.icon-magnifier:before {\n\tcontent: \"\\e090\";\n}\n.icon-magnifier-add:before {\n\tcontent: \"\\e091\";\n}\n.icon-magnifier-remove:before {\n\tcontent: \"\\e092\";\n}\n.icon-paper-clip:before {\n\tcontent: \"\\e093\";\n}\n.icon-paper-plane:before {\n\tcontent: \"\\e094\";\n}\n.icon-plus:before {\n\tcontent: \"\\e095\";\n}\n.icon-pointer:before {\n\tcontent: \"\\e096\";\n}\n.icon-power:before {\n\tcontent: \"\\e097\";\n}\n.icon-refresh:before {\n\tcontent: \"\\e098\";\n}\n.icon-reload:before {\n\tcontent: \"\\e099\";\n}\n.icon-settings:before {\n\tcontent: \"\\e09a\";\n}\n.icon-star:before {\n\tcontent: \"\\e09b\";\n}\n.icon-symbol-female:before {\n\tcontent: \"\\e09c\";\n}\n.icon-symbol-male:before {\n\tcontent: \"\\e09d\";\n}\n.icon-target:before {\n\tcontent: \"\\e09e\";\n}\n.icon-volume-1:before {\n\tcontent: \"\\e09f\";\n}\n.icon-volume-2:before {\n\tcontent: \"\\e0a0\";\n}\n.icon-volume-off:before {\n\tcontent: \"\\e0a1\";\n}\n.icon-users:before {\n\tcontent: \"\\e001\";\n}"
  },
  {
    "path": "src/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" data-ng-app=\"app\">\n<head>\n    <meta charset=\"utf-8\"/>\n    <title>后台管理平台</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\"/>\n    <link rel=\"icon\" href=\"img/favicon.png\"/>\n    <link rel=\"stylesheet\" href=\"css/bootstrap.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/animate.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/font-awesome.min.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/dialogs.min.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/simple-line-icons.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/font.css\" type=\"text/css\"/>\n    <link rel=\"stylesheet\" href=\"css/app.css\" type=\"text/css\"/>\n</head>\n<body ng-controller=\"AppCtrl\">\n<div class=\"app\" id=\"app\"\n     ng-class=\"{'app-header-fixed':app.settings.headerFixed, 'app-aside-fixed':app.settings.asideFixed, 'app-aside-folded':app.settings.asideFolded, 'app-aside-dock':app.settings.asideDock, 'container':app.settings.container}\"\n     ui-view></div>\n\n\n<!-- jQuery -->\n<script src=\"vendor/jquery/jquery.min.js\"></script>\n<script src=\"vendor/jquery/jquery-ui.min.js\"></script>\n\n<!-- Angular -->\n<script src=\"vendor/angular/angular.min.js\"></script>\n\n<script src=\"vendor/angular/angular-animate/angular-animate.min.js\"></script>\n<script src=\"vendor/angular/angular-cookies/angular-cookies.min.js\"></script>\n<script src=\"vendor/angular/angular-resource/angular-resource.min.js\"></script>\n<script src=\"vendor/angular/angular-sanitize/angular-sanitize.min.js\"></script>\n<script src=\"vendor/angular/angular-touch/angular-touch.min.js\"></script>\n<script src=\"vendor/angular/angular-dialog/dialogs.min.js\"></script>\n<!-- Vendor -->\n<script src=\"vendor/angular/angular-ui-router/angular-ui-router.min.js\"></script>\n<script src=\"vendor/angular/ngstorage/ngStorage.min.js\"></script>\n<script src=\"vendor/angular/angular-ui-utils/ui-utils.min.js\"></script>\n\n<!-- bootstrap -->\n<script src=\"vendor/angular/angular-bootstrap/ui-bootstrap-tpls.min.js\"></script>\n<!-- lazyload -->\n<script src=\"vendor/angular/oclazyload/ocLazyLoad.min.js\"></script>\n\n<!-- App -->\n<script src=\"js/app.js\"></script>\n<script src=\"js/config.js\"></script>\n<script src=\"js/config.lazyload.js\"></script>\n<script src=\"js/config.module.js\"></script>\n<script src=\"js/config.router.js\"></script>\n<script src=\"js/main.js\"></script>\n<script src=\"js/constants.js\"></script>\n<script src=\"js/services/ui-load.js\"></script>\n<script src=\"js/services/auth-service.js\"></script>\n<script src=\"js/directives/setnganimate.js\"></script>\n<script src=\"js/directives/ui-butterbar.js\"></script>\n<script src=\"js/directives/ui-focus.js\"></script>\n<script src=\"js/directives/ui-fullscreen.js\"></script>\n<script src=\"js/directives/ui-jq.js\"></script>\n<script src=\"js/directives/ui-module.js\"></script>\n<script src=\"js/directives/ui-nav.js\"></script>\n<script src=\"js/directives/ui-ordercolumn.js\"></script>\n<script src=\"js/directives/ui-scroll.js\"></script>\n<script src=\"js/directives/ui-shift.js\"></script>\n<script src=\"js/directives/ui-toggleclass.js\"></script>\n<script src=\"js/filters/dict.js\"></script>\n<script src=\"js/filters/props-filter.js\"></script>\n<!-- Lazy loading -->\n</body>\n</html>"
  },
  {
    "path": "src/index.min.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\" data-ng-app=\"app\">\n<head>\n    <meta charset=\"utf-8\"/>\n    <title>环球旅行管理平台</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\"/>\n    <link rel=\"icon\" href=\"img/favicon.png\"/>\n    <link rel=\"stylesheet\" href=\"css/app.min.css\" type=\"text/css\"/>\n\n    <script type=\"text/javascript\">\n        window.bughd = window.bughd || function(){};\n        bughd(\"create\",{key:\"46d5eb9556d8e8421b6d3479ef92e2fd\"})\n    </script>\n</head>\n<body ng-controller=\"AppCtrl\">\n<div class=\"app\" id=\"app\"\n     ng-class=\"{'app-header-fixed':app.settings.headerFixed, 'app-aside-fixed':app.settings.asideFixed, 'app-aside-folded':app.settings.asideFolded, 'app-aside-dock':app.settings.asideDock, 'container':app.settings.container}\"\n     ui-view></div>\n\n<script src=\"vendor/vendor.min.js\"></script>\n\n<script src=\"js/app.min.js\"></script>\n</body>\n</html>"
  },
  {
    "path": "src/js/app.js",
    "content": "'use strict';\n\nangular.module('app', [\n    'ngAnimate',\n    'ngCookies',\n    'ngResource',\n    'ngSanitize',\n    'ngTouch',\n    'ngStorage',\n    'ui.router',\n    'ui.bootstrap',\n    'ui.utils',\n    'ui.load',\n    'ui.jq',\n    'oc.lazyLoad',\n    'dialogs.main'\n]);"
  },
  {
    "path": "src/js/config.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .config(appConfig)\n    ;\n\n    appConfig.$inject = ['$controllerProvider', '$compileProvider', '$filterProvider', '$provide'];\n    function appConfig($controllerProvider, $compileProvider, $filterProvider, $provide) {\n\n        var app =\n            angular.module('app');\n\n        // lazy controller, directive and service\n        app.controller = $controllerProvider.register;\n        app.directive = $compileProvider.directive;\n        app.filter = $filterProvider.register;\n        app.factory = $provide.factory;\n        app.service = $provide.service;\n        app.constant = $provide.constant;\n        app.value = $provide.value;\n    }\n\n})();"
  },
  {
    "path": "src/js/config.lazyload.js",
    "content": "(function () {\n    'use strict';\n// lazyload config\n\n    angular.module('app')\n\n        .constant('JQ_CONFIG', {\n                easyPieChart: ['vendor/jquery/charts/easypiechart/jquery.easy-pie-chart.js'],\n                sparkline: ['vendor/jquery/charts/sparkline/jquery.sparkline.min.js'],\n                plot: ['vendor/jquery/charts/flot/jquery.flot.min.js',\n                    'vendor/jquery/charts/flot/jquery.flot.resize.js',\n                    'vendor/jquery/charts/flot/jquery.flot.tooltip.min.js',\n                    'vendor/jquery/charts/flot/jquery.flot.spline.js',\n                    'vendor/jquery/charts/flot/jquery.flot.orderBars.js',\n                    'vendor/jquery/charts/flot/jquery.flot.pie.min.js']\n            }\n        )\n        // oclazyload config\n        .config(lazyLoadConfig)\n    ;\n\n    lazyLoadConfig.$inject = ['$ocLazyLoadProvider'];\n    function lazyLoadConfig($ocLazyLoadProvider) {\n        // We configure ocLazyLoad to use the lib script.js as the async loader\n        $ocLazyLoadProvider.config({\n            debug: false,\n            events: true,\n            modules: [\n                {\n                    name: 'ntt.TreeDnD',\n                    files: [\n                        'vendor/modules/angular-tree-dnd/ng-tree-dnd.min.js',\n                        'vendor/modules/angular-tree-dnd/ng-tree-dnd.min.css'\n                    ]\n                },\n                {\n                    name: 'ivh.treeview',\n                    files: [\n                        'vendor/modules/angular-ivh-treeview/ivh-treeview.min.js',\n                        'vendor/modules/angular-ivh-treeview/ivh-treeview.min.css',\n                        'vendor/modules/angular-ivh-treeview/ivh-treeview-theme-basic.css'\n                    ]\n                },\n                {\n                    name: 'ui.select',\n                    files: [\n                        'vendor/modules/angular-ui-select/select.min.js',\n                        'vendor/modules/angular-ui-select/select.min.css'\n                    ]\n                },\n                {\n                    name: 'angularFileUpload',\n                    files: [\n                        'vendor/modules/angular-file-upload/angular-file-upload.min.js',\n                        'vendor/modules/angular-file-upload/ngThumb.js'\n                    ]\n                },\n                {\n                    name: 'toaster',\n                    files: [\n                        'vendor/modules/angularjs-toaster/toaster.js',\n                        'vendor/modules/angularjs-toaster/toaster.css'\n                    ]\n                }\n            ]\n        });\n    }\n})();"
  },
  {
    "path": "src/js/config.module.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .config(httpConfig)\n        .config(dialogConfig)\n    ;\n\n    httpConfig.$inject = ['$httpProvider'];\n    function httpConfig($httpProvider) {\n\n        $httpProvider.interceptors.push(httpInterceptor);\n\n    }\n\n    httpInterceptor.$inject = ['$q', '$injector', '$localStorage', '$sessionStorage', 'APP_CONST'];\n    function httpInterceptor($q, $injector, $localStorage, $sessionStorage, APP_CONST) {\n        return {\n            'request': function (request) {\n\n                var authToken = $sessionStorage[APP_CONST.STORAGE.AUTH_TOKEN] || $localStorage[APP_CONST.STORAGE.AUTH_TOKEN] || '';\n                if (authToken) {\n                    request.headers['Authorization'] = 'Bearer ' + authToken;\n                }\n\n                return request;\n            },\n            'response': function (response) {\n                return response;\n            },\n            'responseError': function (rejection) {\n\n                var state = $injector.get('$state');\n                var toaster = $injector.get('toaster');\n                switch (rejection.status) {\n                    case 400: {\n                        toaster.pop('error', '参数错误', rejection.data.message);\n                        break;\n                    }\n                    case 403: {\n                        toaster.pop('error', '访问未授权', rejection.data.message);\n                        break;\n                    }\n                    case 500: {\n                        toaster.pop('error', '服务端错误', rejection.data.message);\n                        break;\n                    }\n                    case 401: {\n                        state.go('access.login');\n                        break;\n                    }\n                    case 404: {\n                        state.go('access.404');\n                        break;\n                    }\n                    default : {\n\n                        break;\n                    }\n                }\n\n                return $q.reject(rejection);\n            }\n        };\n    }\n\n    dialogConfig.$inject = ['$translateProvider'];\n    function dialogConfig($translateProvider) {\n        // This will set default modal buttons, header and message text\n        $translateProvider.translations('en-US', {\n            DIALOGS_ERROR: \"错误\",\n            DIALOGS_ERROR_MSG: \"未知错误。\",\n            DIALOGS_CLOSE: \"关闭\",\n            DIALOGS_PLEASE_WAIT: \"请等待\",\n            DIALOGS_PLEASE_WAIT_ELIPS: \"请稍等...\",\n            DIALOGS_PLEASE_WAIT_MSG: \"等待操作完成\",\n            DIALOGS_PERCENT_COMPLETE: \"% 完成\",\n            DIALOGS_NOTIFICATION: \"通知\",\n            DIALOGS_NOTIFICATION_MSG: \"未知通知。\",\n            DIALOGS_CONFIRMATION: \"确认\",\n            DIALOGS_CONFIRMATION_MSG: \"操作需要确认\",\n            DIALOGS_OK: \"OK\",\n            DIALOGS_YES: \"是\",\n            DIALOGS_NO: \"否\"\n        });\n    }\n\n})();"
  },
  {
    "path": "src/js/config.router.js",
    "content": "(function () {\n    'use strict';\n\n    /**\n     * Config for the router\n     */\n    angular.module('app')\n        .run(appInit)\n        .config(routerConfig);\n\n    appInit.$inject = ['$rootScope', '$state', '$stateParams', '$localStorage', 'APP_CONST'];\n    function appInit($rootScope, $state, $stateParams, $localStorage, APP_CONST) {\n        $rootScope.$state = $state;\n        $rootScope.$stateParams = $stateParams;\n        $rootScope.sysuser = $localStorage[APP_CONST.STORAGE.USER];\n        $rootScope.menu = $localStorage[APP_CONST.STORAGE.MENU];\n\n        $rootScope.$on('$stateChangeStart', function (event, to) {\n            var isNotLogin = $.inArray(to.name, ['access.login']) === -1;\n\n            if (isNotLogin && !$rootScope.sysuser) {\n                event.preventDefault();\n                $state.go(\"access.login\");\n            }\n        });\n    }\n\n    routerConfig.$inject = ['$stateProvider', '$urlRouterProvider'];\n    function routerConfig($stateProvider, $urlRouterProvider) {\n\n        $urlRouterProvider\n            .otherwise('/app/dashboard');\n        $stateProvider\n            .state('app', {\n                abstract: true,\n                url: '/app',\n                templateUrl: 'tpl/app.html',\n                resolve: {\n                    deps: ['$ocLazyLoad',\n                        function ($ocLazyLoad) {\n                            return $ocLazyLoad.load('toaster');\n                        }]\n                }\n            })\n\n            .state('app.dashboard', {\n                url: '/dashboard',\n                templateUrl: 'tpl/custom/framework/dashboard.html',\n                controller: 'DashboardCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load([\n                                'vendor/jquery/charts/sparkline/jquery.sparkline.min.js',\n                                'vendor/jquery/charts/flot/jquery.flot.min.js',\n                                'vendor/jquery/charts/flot/jquery.flot.resize.js',\n                                'vendor/jquery/charts/flot/jquery.flot.tooltip.min.js',\n                                'vendor/jquery/charts/flot/jquery.flot.spline.js',\n                                'vendor/jquery/charts/flot/jquery.flot.orderBars.js',\n                                'js/custom/framework/dashboard.js',\n                                'js/custom/framework/dashboard-service.js'\n                            ]);\n                        }]\n                }\n            })\n\n            .state('app.password', {\n                url: '/password',\n                controller: 'ResetPwdCtrl',\n                templateUrl: 'tpl/custom/framework/reset-password.html',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/framework/reset-password.js',\n                                'js/custom/sys/user/user-service.js'\n                            ]);\n                        }]\n                }\n            })\n\n            .state('app.sys', {\n                url: '/sys',\n                template: '<div ui-view></div>'\n            })\n            .state('app.sys.menu', {\n                url: '/menu',\n                template: '<div ui-view></div>'\n            })\n            .state('app.sys.menu.list', {\n                url: '/list',\n                templateUrl: 'tpl/custom/sys/menu/menu-list.html',\n                controller: 'SysMenuListCtrl',\n                resolve: {\n                    deps: ['uiLoad', '$ocLazyLoad',\n                        function (uiLoad, $ocLazyLoad) {\n                            return uiLoad.load(['js/custom/sys/menu/menu-list.js',\n                                'js/custom/sys/menu/menu-service.js'\n                            ]).then(\n                                function () {\n                                    return $ocLazyLoad.load('ntt.TreeDnD');\n                                }\n                            );\n                        }]\n                }\n            })\n            .state('app.sys.menu.form', {\n                url: '/form/{id}?pid={parentId}',\n                templateUrl: 'tpl/custom/sys/menu/menu-form.html',\n                controller: 'SysMenuFormCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/sys/menu/menu-form.js',\n                                'js/custom/sys/menu/menu-service.js'\n                            ]);\n                        }]\n                }\n            })\n\n            .state('app.sys.user', {\n                url: '/user',\n                template: '<div ui-view></div>'\n            })\n            .state('app.sys.user.list', {\n                url: '/list',\n                templateUrl: 'tpl/custom/sys/user/user-list.html',\n                controller: 'SysUserListCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/sys/user/user-list.js',\n                                'js/custom/sys/user/user-service.js'\n                            ]);\n                        }]\n                }\n            })\n            .state('app.sys.user.form', {\n                url: '/form/{id}',\n                templateUrl: 'tpl/custom/sys/user/user-form.html',\n                controller: 'SysUserFormCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/sys/user/user-form.js',\n                                'js/custom/sys/user/user-service.js',\n                                'js/custom/sys/role/role-service.js'\n                            ]);\n                        }]\n                }\n            })\n            .state('app.sys.user.info', {\n                url: '/info',\n                templateUrl: 'tpl/custom/sys/user/user-info.html',\n                controller: 'SysUserInfoCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/sys/user/user-info.js',\n                                'js/custom/sys/user/user-service.js'\n                            ]);\n                        }]\n                }\n            })\n\n            .state('app.sys.role', {\n                url: '/role',\n                template: '<div ui-view></div>'\n            })\n            .state('app.sys.role.list', {\n                url: '/list',\n                templateUrl: 'tpl/custom/sys/role/role-list.html',\n                controller: 'SysRoleListCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/sys/role/role-list.js',\n                                'js/custom/sys/role/role-service.js'\n                            ]);\n                        }]\n                }\n            })\n            .state('app.sys.role.form', {\n                url: '/form/{id}',\n                templateUrl: 'tpl/custom/sys/role/role-form.html',\n                controller: 'SysRoleFormCtrl',\n                resolve: {\n                    deps: ['uiLoad', '$ocLazyLoad',\n                        function (uiLoad, $ocLazyLoad) {\n                            return uiLoad.load(['js/custom/sys/role/role-form.js',\n                                'js/custom/sys/role/role-service.js',\n                                'js/custom/sys/menu/menu-service.js'\n                            ]).then(function () {\n                                return $ocLazyLoad.load('ivh.treeview');\n                            });\n                        }]\n                }\n            })\n\n            .state('access', {\n                url: '/access',\n                template: '<div ui-view class=\"fade-in-right-big smooth\"></div>'\n            })\n            .state('access.login', {\n                url: '/login',\n                templateUrl: 'tpl/custom/framework/login.html',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/framework/login.js',\n                                'js/custom/sys/user/user-service.js',\n                                'js/custom/sys/menu/menu-service.js'\n                            ]);\n                        }]\n                }\n            })\n            .state('access.404', {\n                url: '/404',\n                templateUrl: 'tpl/404.html'\n            })\n\n            .state('app.trip', {\n                url: '/trip',\n                template: '<div ui-view></div>'\n            })\n            .state('app.trip.user', {\n                url: '/user',\n                template: '<div ui-view></div>'\n            })\n            .state('app.trip.user.list', {\n                url: '/list',\n                templateUrl: 'tpl/custom/trip/user/user-list.html',\n                controller: 'TripUserListCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/trip/user/user-list.js',\n                                'js/custom/trip/user/user-service.js'\n                            ]);\n                        }]\n                }\n            })\n            .state('app.trip.user.form', {\n                url: '/form/{id}',\n                templateUrl: 'tpl/custom/trip/user/user-form.html',\n                controller: 'TripUserFormCtrl',\n                resolve: {\n                    deps: ['uiLoad',\n                        function (uiLoad) {\n                            return uiLoad.load(['js/custom/trip/user/user-form.js',\n                                'js/custom/trip/user/user-service.js'\n                            ]);\n                        }]\n                }\n            })\n        ;\n\n    }\n})();"
  },
  {
    "path": "src/js/constants.js",
    "content": "'use strict';\n\nangular.module('app')\n    .constant('APP_CONST', {\n        PROPERTY: {\n            API_URL: ''\n        },\n        STORAGE: {\n            USER: 'user',\n            MENU: 'menu',\n            AUTH_TOKEN: 'authToken'\n        }\n    })\n    .constant('DICT_CONST', {\n        YES_NO: [{\n            key: true,\n            value: '是'\n        }, {\n            key: false,\n            value: '否'\n        }],\n        GENDER: [{\n            key: '0',\n            value: '未知'\n        }, {\n            key: '1',\n            value: '男'\n        }, {\n            key: '2',\n            value: '女'\n        }]\n    })\n;"
  },
  {
    "path": "src/js/custom/framework/dashboard-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('DashboardService', DashboardService);\n\n    DashboardService.$inject = ['$http', '$q', 'APP_CONST'];\n    function DashboardService($http, $q, APP_CONST) {\n\n        this.get = function get() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/dashboard')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n    }\n})();"
  },
  {
    "path": "src/js/custom/framework/dashboard.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('DashboardCtrl', DashboardCtrl);\n\n    DashboardCtrl.$inject = ['$rootScope', '$scope', '$filter', 'DashboardService'];\n    function DashboardCtrl($rootScope, $scope, $filter, dashboardService) {\n\n        $rootScope.loading = true;\n        dashboardService.get()\n            .then(function (data) {\n                $scope.data = data;\n\n                $(\"#consumePie\").sparkline(\n                    [30, 70],\n                    {\n                        type: 'pie',\n                        height: 40,\n                        sliceColors: ['#fad733', '#fff'],\n                        tooltipFormat: '<span style=\"color: {{color}}\">&#9679;</span> {{offset:names}} ({{value}}/{{percent.1}}%)',\n                        tooltipValueLookups: {\n                            names: {\n                                0: '消费1',\n                                1: '消费2'\n                            }\n                        }\n                    }\n                );\n\n                var everyDayConsumeArray = [];\n                var everyDayConsume1Array = [];\n                var everyDayConsume2Array = [];\n                var everyDayUserArray = [];\n                var everyDayRevenueArray = [];\n                var myDate = new Date(); //获取今天日期\n                myDate.setDate(myDate.getDate() - 6);\n                var days = {};\n                var showDays = [];\n                for (var i = 1; i <= 7; i++) {\n                    var date = $filter('date')(myDate, 'yyyy-MM-dd');\n                    var key = i * 5;\n\n                    var showDay = [];\n                    var showDate = $filter('date')(myDate, 'MM-dd');\n                    showDay.push(key);\n                    showDay.push(showDate);\n                    showDays.push(showDay);\n\n                    days[key] = showDate;\n\n                    myDate.setDate(myDate.getDate() + 1);\n\n                    everyDayConsumeArray.push([key, Math.random() * 1234]);\n                    everyDayConsume1Array.push([key, Math.random() * 123]);\n                    everyDayConsume2Array.push([key, Math.random() * 123]);\n                    everyDayUserArray.push([key, Math.random() * 1000]);\n                    everyDayRevenueArray.push([key, Math.random() * 4321]);\n                }\n\n                $.plot($(\"#lastConsume\"),\n                    [\n                        {label: '总消费', data: everyDayConsumeArray},\n                        {label: '消费1', data: everyDayConsume1Array},\n                        {label: '消费2', data: everyDayConsume2Array}\n                    ],\n                    {\n                        bars: {\n                            show: true,\n                            fill: true,\n                            lineWidth: 1,\n                            order: 1,\n                            fillColor: {colors: [{opacity: 0.5}, {opacity: 0.9}]}\n                        },\n                        colors: ['#23b7e5', '#27c24c', '#7266ba'],\n                        series: {shadowSize: 1},\n                        xaxis: {\n                            ticks: showDays,\n                            font: {color: '#ccc'}\n                        },\n                        yaxis: {font: {color: '#ccc'}},\n                        grid: {hoverable: true, clickable: true, borderWidth: 0, color: '#ccc'},\n                        tooltip: true,\n                        tooltipOpts: {\n                            content: function (label, xval, yval) {\n                                return label + \" | 日期: \" + days[xval] + \" | 金额: \" + yval;\n                            }, defaultTheme: false, shifts: {x: 10, y: -25}\n                        }\n                    }\n                );\n\n                $.plot($(\"#lastUser\"),\n                    [\n                        {\n                            data: everyDayUserArray,\n                            label: '用户数',\n                            points: {show: true},\n                            lines: {\n                                show: true,\n                                fill: true,\n                                fillColor: {colors: [{opacity: 0.1}, {opacity: 0.1}]}\n                            }\n                        }\n                    ],\n                    {\n                        colors: ['#23b7e5', '#fad733'],\n                        series: {shadowSize: 2},\n                        xaxis: {\n                            ticks: showDays,\n                            font: {color: '#ccc'}\n                        },\n                        yaxis: {tickDecimals: 0, font: {color: '#ccc'}},\n                        grid: {hoverable: true, clickable: true, borderWidth: 0, color: '#ccc'},\n                        tooltip: true,\n                        tooltipOpts: {\n                            content: '%s | 日期: %x | 人数: %y.0',\n                            defaultTheme: false,\n                            shifts: {x: 10, y: -25}\n                        }\n                    }\n                );\n\n                $.plot($(\"#lastRevenue\"),\n                    [\n                        {\n                            data: everyDayRevenueArray,\n                            label: '充值金额(元)',\n                            points: {show: true},\n                            lines: {\n                                show: true,\n                                fill: true,\n                                fillColor: {colors: [{opacity: 0.1}, {opacity: 0.1}]}\n                            }\n                        }\n                    ],\n                    {\n                        colors: ['#23b7e5', '#fad733'],\n                        series: {shadowSize: 2},\n                        xaxis: {\n                            ticks: showDays,\n                            font: {color: '#ccc'}\n                        },\n                        yaxis: {font: {color: '#ccc'}},\n                        grid: {hoverable: true, clickable: true, borderWidth: 0, color: '#ccc'},\n                        tooltip: true,\n                        tooltipOpts: {\n                            content: '%s | 日期: %x | 金额: %y.4',\n                            defaultTheme: false,\n                            shifts: {x: 10, y: -25}\n                        }\n                    }\n                );\n\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            });\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/framework/login.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('LoginCtrl', LoginCtrl);\n\n    LoginCtrl.$inject = ['$rootScope', '$scope', '$state', '$localStorage', '$sessionStorage', 'AuthService', 'SysUserService', 'SysMenuService', 'APP_CONST'];\n    function LoginCtrl($rootScope, $scope, $state, $localStorage, $sessionStorage, authService, sysUserService, sysMenuService, APP_CONST) {\n        $scope.user = {};\n        $scope.authError = null;\n        $scope.usernameFocus = true;\n\n        $scope.login = function () {\n            $scope.authError = null;\n            $rootScope.loading = true;\n\n            authService.login($scope.user)\n                .then(function (data) {\n                    if ($scope.rememberPwd) {\n                        $localStorage[APP_CONST.STORAGE.AUTH_TOKEN] = data.access_token;\n                    }\n                    $sessionStorage[APP_CONST.STORAGE.AUTH_TOKEN] = data.access_token;\n                    sysUserService.retrieve()\n                        .then(function (data) {\n                            $localStorage[APP_CONST.STORAGE.USER] = data;\n                            $rootScope.sysuser = data;\n                            $state.go('app.dashboard');\n                        });\n                    sysMenuService.nav()\n                        .then(function (data) {\n                            $localStorage[APP_CONST.STORAGE.MENU] = data;\n                            $rootScope.menu = data;\n                        });\n                })\n                .catch(function () {\n                    $scope.authError = '登录失败,请重试';\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                });\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/framework/reset-password.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('ResetPwdCtrl', ResetPwdCtrl);\n\n    ResetPwdCtrl.$inject = ['$rootScope', '$scope', '$state', 'SysUserService'];\n    function ResetPwdCtrl($rootScope, $scope, $state, sysUserService) {\n\n        $scope.title = '重置密码';\n        $scope.user = {};\n\n        $scope.saveData = function () {\n            $rootScope.loading = true;\n            sysUserService.resetPwd($scope.user)\n                .then(function () {\n                    $state.go('access.login');\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        }\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/menu/menu-form.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysMenuFormCtrl', SysMenuFormCtrl);\n\n    SysMenuFormCtrl.$inject = ['$rootScope', '$scope', '$state', 'toaster', 'SysMenuService', 'DICT_CONST'];\n    function SysMenuFormCtrl($rootScope, $scope, $state, toaster, sysMenuService, DICT_CONST) {\n\n        var id = $state.params.id;\n        var parentId = $state.params.parentId;\n\n        $scope.yes_no = DICT_CONST.YES_NO;\n\n        if (!!id) { //编辑\n            $scope.title = '菜单详情';\n            $rootScope.loading = true;\n            sysMenuService.getById(id)\n                .then(function (data) {\n                    $scope.menu = data;\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        } else if (!id && !parentId) { //新建\n            $scope.title = '新建菜单';\n            $scope.menu = {\n                id: '',\n                parentId: '',\n                icon: 'icon-star',\n                sort: 0,\n                show: true\n            };\n        } else if (!id && !!parentId) { //添加子菜单\n            $scope.title = '添加子菜单';\n            $scope.menu = {\n                id: '',\n                parentId: parentId,\n                sort: 0,\n                show: false\n            };\n        }\n\n\n        $scope.saveData = function () {\n            $rootScope.loading = true;\n            sysMenuService.saveData($scope.menu)\n                .then(function (data) {\n                    $state.go('app.sys.menu.form', {\n                        id: data.id\n                    });\n                    toaster.pop('success', '', '保存成功');\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        }\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/menu/menu-list.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysMenuListCtrl', SysMenuListCtrl);\n\n    SysMenuListCtrl.$inject = ['$rootScope', '$scope', '$state', '$TreeDnDConvert', 'dialogs', 'SysMenuService'];\n    function SysMenuListCtrl($rootScope, $scope, $state, $TreeDnDConvert, dialogs, sysMenuService) {\n\n        $scope.title = '菜单管理';\n\n        var tree;\n        $scope.tree_data = {};\n        $scope.my_tree = tree = {};\n\n        $scope.filter = {};\n\n        $scope.my_tree.update = function (node) {\n            $state.go('app.sys.menu.form', {\n                id: node.id,\n                parentId: node.parentId\n            });\n        };\n\n        $scope.my_tree.delete = function (node) {\n\n            dialogs.confirm('确认', '要删除该菜单及所有子菜单项吗？', {\n                size: 'md'\n            })\n                .result.then(function () {\n                sysMenuService.deleteById(node.id)\n                    .then(function () {\n                        $state.reload();\n                    })\n                ;\n            });\n        };\n\n        $scope.my_tree.addChild = function (node) {\n            $state.go('app.sys.menu.form', {\n                parentId: node.id,\n                level: node.__level__\n            });\n        };\n\n        $scope.expanding_property = {\n            field: 'name',\n            displayName: '名称'\n        };\n        $scope.col_defs = [\n            {\n                field: 'href',\n                displayName: '链接'\n            }, {\n                field: 'sort',\n                displayName: '排序',\n                titleClass: 'text-center',\n                cellClass: 'text-center'\n            }, {\n                field: 'show',\n                titleClass: 'text-center',\n                cellClass: 'text-center',\n                displayName: '可见',\n                cellTemplate: '<span>{{node.show | dict: \"YES_NO\" }}</span>'\n            }, {\n                field: 'permission',\n                displayName: '权限标识'\n            }, {\n                displayName: '操作',\n                cellTemplate: '<button ng-click=\"tree.update(node)\" class=\"btn btn-default btn-sm\">详情</button>'\n                + '<button ng-click=\"tree.delete(node)\" class=\"btn btn-default btn-sm m-l-xs\" ng-if=\"hasAuthority(\\'sys:menu:edit\\')\">删除</button>'\n                + '<button ng-click=\"tree.addChild(node)\" class=\"btn btn-default btn-sm m-l-xs\" ng-if=\"hasAuthority(\\'sys:menu:edit\\')\">添加子菜单</button>'\n            }];\n\n        $rootScope.loading = true;\n        sysMenuService.list()\n            .then(function (data) {\n                $scope.tree_data = $TreeDnDConvert.line2tree(data, 'id', 'parentId');\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            })\n        ;\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/menu/menu-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('SysMenuService', SysMenuService);\n\n    SysMenuService.$inject = ['$http', '$q', 'APP_CONST'];\n    function SysMenuService($http, $q, APP_CONST) {\n\n        this.nav = function tree() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/menu/nav')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.tree = function tree() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/menu/tree')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.list = function list() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/menu/list')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.deleteById = function deleteById(id) {\n            var d = $q.defer();\n\n            $http.delete(APP_CONST.PROPERTY.API_URL + '/sys/menu/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.getById = function getById(id) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/menu/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.saveData = function saveData(data) {\n            var d = $q.defer();\n\n            $http.post(APP_CONST.PROPERTY.API_URL + '/sys/menu', data)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        }\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/role/role-form.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysRoleFormCtrl', SysRoleFormCtrl);\n\n    SysRoleFormCtrl.$inject = ['$rootScope', '$scope', '$state', '$filter', 'toaster', 'SysRoleService', 'SysMenuService', 'DICT_CONST'];\n    function SysRoleFormCtrl($rootScope, $scope, $state, $filter, toaster, sysRoleService, sysMenuService, DICT_CONST) {\n\n        var id = $state.params.id;\n\n        $scope.treeOpts = {\n            labelAttribute: 'name',\n            expandToDepth: 2,\n            twistieCollapsedTpl: '<span class=\"fa fa-fw fa-angle-right\"></span>',\n            twistieExpandedTpl: '<span class=\"fa fa-fw fa-angle-down\"></span>',\n            twistieLeafTpl: '<span class=\"fa fa-fw\"></span>'\n        };\n\n        $scope.yes_no = DICT_CONST.YES_NO;\n\n        if (!!id) { //编辑\n            $scope.title = '角色详情';\n        } else { //新建\n            $scope.title = '新建角色';\n            $scope.role = {\n                enabled: true\n            };\n        }\n\n        $rootScope.loading = true;\n        sysMenuService.tree()\n            .then(function (data) {\n                var sortOrder = function (nodes) {\n                    nodes = $filter('orderBy')(nodes, ['sort'], false);\n                    angular.forEach(nodes, function (node) {\n                        if (node.children && node.children.length > 0) {\n                            node.children = sortOrder(node.children);\n                        }\n                    });\n                    return nodes;\n                };\n\n                $scope.menus = sortOrder(data);\n\n                if (!!id) {\n                    sysRoleService.getById(id)\n                        .then(function (data) {\n                            $scope.role = data;\n\n                            var roleMenus = [];\n                            angular.forEach(data.menus, function (roleMenu) {\n                                roleMenus.push(roleMenu.id);\n                            });\n\n                            $scope.selectNode($scope.menus, roleMenus);\n                        });\n                }\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            })\n        ;\n\n        $scope.selectNode = function (menus, data) {\n            angular.forEach(menus, function (menu) {\n                menu.selected = $.inArray(menu.id, data) >= 0;\n                if (menu.children && menu.children.length > 0) {\n                    $scope.selectNode(menu.children, data);\n                }\n            });\n        };\n\n\n        $scope.saveData = function () {\n            $rootScope.loading = true;\n\n            var selected = [];\n            $scope.getSelected(selected, $scope.menus);\n\n            $scope.role.menus = selected;\n\n            sysRoleService.saveData($scope.role)\n                .then(function (data) {\n                    $state.go('app.sys.role.form', {\n                        id: data.id\n                    });\n                    toaster.pop('success', '', '保存成功');\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        };\n\n        $scope.getSelected = function (selected, menus) {\n            angular.forEach(menus, function (menu) {\n                if (menu.selected) selected.push({id: menu.id});\n                if (menu.children && menu.children.length > 0) {\n                    $scope.getSelected(selected, menu.children);\n                }\n            });\n        };\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/role/role-list.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysRoleListCtrl', SysRoleListCtrl);\n\n    SysRoleListCtrl.$inject = ['$rootScope', '$scope', '$state', 'dialogs', 'SysRoleService'];\n    function SysRoleListCtrl($rootScope, $scope, $state, dialogs, sysRoleService) {\n\n        $scope.title = '角色管理';\n        $scope.params = {\n            pageNum: 1,\n            pageSize: 20,\n            orderBy: ''\n        };\n\n        $scope.search = function () {\n            $rootScope.loading = true;\n            sysRoleService.list($scope.params)\n                .then(function (data) {\n                    $scope.pageInfo = data;\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        };\n\n        $scope.search();\n\n        $scope.pageChanged = function () {\n            $scope.params.pageNum = $scope.pageInfo.pageNum;\n            $scope.search();\n        };\n\n        $scope.delete = function (id) {\n\n            dialogs.confirm('确认', '要删除该角色吗？', {\n                size: 'md'\n            })\n                .result.then(function () {\n                sysRoleService.deleteById(id)\n                    .then(function () {\n                        $state.reload();\n                    })\n                ;\n            });\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/role/role-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('SysRoleService', SysRoleService);\n\n    SysRoleService.$inject = ['$http', '$q', 'APP_CONST'];\n    function SysRoleService($http, $q, APP_CONST) {\n\n        this.list = function list(params) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/role/list', {\n                params: params\n            })\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.listAll = function list() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/role/all')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.deleteById = function deleteById(id) {\n            var d = $q.defer();\n\n            $http.delete(APP_CONST.PROPERTY.API_URL + '/sys/role/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.getById = function getById(id) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/role/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.saveData = function saveData(data) {\n            var d = $q.defer();\n\n            $http.post(APP_CONST.PROPERTY.API_URL + '/sys/role', data)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/user/user-form.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysUserFormCtrl', SysUserFormCtrl);\n\n    SysUserFormCtrl.$inject = ['$rootScope', '$scope', '$state', '$filter', 'toaster', 'SysUserService', 'SysRoleService', 'DICT_CONST'];\n    function SysUserFormCtrl($rootScope, $scope, $state, $filter, toaster, sysUserService, sysRoleService, DICT_CONST) {\n\n        var id = $state.params.id;\n\n        $scope.yes_no = DICT_CONST.YES_NO;\n\n        $rootScope.loading = true;\n        if (!!id) { //编辑\n            $scope.title = '用户详情';\n        } else { //新建\n            $scope.title = '新建用户';\n            $scope.user = {\n                enabled: true\n            };\n        }\n\n        sysRoleService.listAll()\n            .then(function (data) {\n                $scope.roles = data;\n                if (!!id) {\n                    sysUserService.getById(id)\n                        .then(function (data) {\n                            $scope.user = data;\n                            var userRoles = [];\n                            angular.forEach(data.roles, function (userRole) {\n                                userRoles.push(userRole.id);\n                            });\n                            angular.forEach($scope.roles, function (role) {\n                                role.checked = $.inArray(role.id, userRoles) >= 0;\n                            });\n                            $scope.selectedRoles();\n                        })\n                    ;\n                }\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            });\n\n        $scope.selectedRoles = function () {\n            $scope.selected = $filter('filter')($scope.roles, {checked: true});\n        };\n\n        $scope.saveData = function () {\n            $rootScope.loading = true;\n\n            var selected = [];\n            angular.forEach($scope.selected, function (role) {\n                selected.push({id: role.id});\n            });\n            $scope.user.roles = selected;\n\n            sysUserService.saveData($scope.user)\n                .then(function (data) {\n                    $state.go('app.sys.user.form', {\n                        id: data.id\n                    });\n                    toaster.pop('success', '', '保存成功');\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        }\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/user/user-info.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysUserInfoCtrl', SysUserInfoCtrl);\n\n    SysUserInfoCtrl.$inject = ['$rootScope', '$scope', 'toaster', 'SysUserService'];\n    function SysUserInfoCtrl($rootScope, $scope, toaster, sysUserService) {\n\n        $scope.title = '个人信息';\n        var id = $rootScope.sysuser.id;\n\n        $rootScope.loading = true;\n        sysUserService.getById(id)\n            .then(function (data) {\n                $scope.user = data;\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            })\n        ;\n\n        $scope.saveData = function () {\n            $rootScope.loading = true;\n            sysUserService.saveInfo($scope.user)\n                .then(function () {\n                    toaster.pop('success', '', '保存成功');\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        }\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/user/user-list.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('SysUserListCtrl', SysUserListCtrl);\n\n    SysUserListCtrl.$inject = ['$rootScope', '$scope', '$state', 'dialogs', 'SysUserService'];\n    function SysUserListCtrl($rootScope, $scope, $state, dialogs, sysUserService) {\n\n        $scope.title = '用户管理';\n        $scope.params = {\n            pageNum: 1,\n            pageSize: 20,\n            orderBy: ''\n        };\n\n        $scope.search = function () {\n            $rootScope.loading = true;\n            sysUserService.list($scope.params)\n                .then(function (data) {\n                    $scope.pageInfo = data;\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        };\n\n        $scope.search();\n\n        $scope.pageChanged = function () {\n            $scope.params.pageNum = $scope.pageInfo.pageNum;\n            $scope.search();\n        };\n\n        $scope.delete = function (id) {\n\n            dialogs.confirm('确认', '要删除该用户吗？', {\n                size: 'md'\n            })\n                .result.then(function () {\n                sysUserService.deleteById(id)\n                    .then(function () {\n                        $state.reload();\n                    })\n                ;\n            });\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/sys/user/user-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('SysUserService', SysUserService);\n\n    SysUserService.$inject = ['$http', '$q', 'APP_CONST'];\n    function SysUserService($http, $q, APP_CONST) {\n\n        this.retrieve = function retrieve() {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/user/info')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.list = function list(params) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/user/list', {\n                params: params\n            })\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.deleteById = function deleteById(id) {\n            var d = $q.defer();\n\n            $http.delete(APP_CONST.PROPERTY.API_URL + '/sys/user/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.getById = function getById(id) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/sys/user/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.saveData = function saveData(data) {\n            var d = $q.defer();\n\n            $http.post(APP_CONST.PROPERTY.API_URL + '/sys/user', data)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.saveInfo = function saveData(data) {\n            var d = $q.defer();\n\n            $http.post(APP_CONST.PROPERTY.API_URL + '/sys/user/info', data)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.resetPwd = function saveData(data) {\n            var d = $q.defer();\n\n            $http.put(APP_CONST.PROPERTY.API_URL + '/sys/user/password', data)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/trip/user/user-form.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('TripUserFormCtrl', TripUserFormCtrl);\n\n    TripUserFormCtrl.$inject = ['$rootScope', '$scope', '$state', 'TripUserService'];\n    function TripUserFormCtrl($rootScope, $scope, $state, tripUserService) {\n\n        var id = $state.params.id;\n\n        $scope.title = '用户详情';\n        $rootScope.loading = true;\n        tripUserService.getById(id)\n            .then(function (data) {\n                $scope.data = data;\n            })\n            .finally(function () {\n                $rootScope.loading = false;\n            })\n        ;\n\n    }\n})();"
  },
  {
    "path": "src/js/custom/trip/user/user-list.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('TripUserListCtrl', TripUserListCtrl);\n\n    TripUserListCtrl.$inject = ['$rootScope', '$scope', 'TripUserService', 'DICT_CONST'];\n    function TripUserListCtrl($rootScope, $scope, tripUserService, DICT_CONST) {\n\n        $scope.title = '用户信息';\n        $scope.gender = DICT_CONST.GENDER;\n        $scope.yes_no = DICT_CONST.YES_NO;\n        $scope.params = {\n            pageNum: 1,\n            pageSize: 20,\n            orderBy: ''\n        };\n\n        $scope.search = function () {\n            $rootScope.loading = true;\n            tripUserService.list($scope.params)\n                .then(function (data) {\n                    $scope.pageInfo = data;\n                })\n                .finally(function () {\n                    $rootScope.loading = false;\n                })\n            ;\n        };\n\n        $scope.search();\n\n        $scope.pageChanged = function () {\n            $scope.params.pageNum = $scope.pageInfo.pageNum;\n            $scope.search();\n        };\n    }\n})();"
  },
  {
    "path": "src/js/custom/trip/user/user-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('TripUserService', TripUserService);\n\n    TripUserService.$inject = ['$http', '$q', 'APP_CONST'];\n    function TripUserService($http, $q, APP_CONST) {\n\n        this.list = function list(params) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/trip/user/list', {\n                params: params\n            })\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.getById = function getById(id) {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/trip/user/' + id)\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n    }\n})();"
  },
  {
    "path": "src/js/directives/setnganimate.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('setNgAnimate', setNgAnimate);\n\n    setNgAnimate.$inject = ['$animate'];\n    function setNgAnimate($animate) {\n        return {\n            link: function ($scope, $element, $attrs) {\n                $scope.$watch(function () {\n                    return $scope.$eval($attrs.setNgAnimate, $scope);\n                }, function (valnew) {\n                    $animate.enabled(!!valnew, $element);\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-butterbar.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiButterbar', uiButterbar);\n\n    uiButterbar.$inject = ['$anchorScroll'];\n    function uiButterbar($anchorScroll) {\n        return {\n            restrict: 'AC',\n            template: '<span class=\"bar\"></span>',\n            link: function (scope, el) {\n                el.addClass('butterbar hide');\n                scope.$on('$stateChangeStart', function () {\n                    $anchorScroll();\n                    el.removeClass('hide').addClass('active');\n                });\n                scope.$on('$stateChangeSuccess', function (event) {\n                    event.targetScope.$watch('$viewContentLoaded', function () {\n                        el.addClass('hide').removeClass('active');\n                    })\n                });\n            }\n        };\n    }\n\n})();"
  },
  {
    "path": "src/js/directives/ui-focus.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiFocus', uiFocus);\n\n    uiFocus.$inject = ['$timeout', '$parse'];\n    function uiFocus($timeout, $parse) {\n        return {\n            link: function (scope, element, attr) {\n                var model = $parse(attr.uiFocus);\n                scope.$watch(model, function (value) {\n                    if (value === true) {\n                        $timeout(function () {\n                            element[0].focus();\n                        });\n                    }\n                });\n                element.bind('blur', function () {\n                    scope.$apply(model.assign(scope, false));\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-fullscreen.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiFullscreen', uiFullscreen);\n\n    uiFullscreen.$inject = ['uiLoad', '$document'];\n    function uiFullscreen(uiLoad, $document) {\n        return {\n            restrict: 'AC',\n            template: '<i class=\"fa fa-expand fa-fw text\"></i><i class=\"fa fa-compress fa-fw text-active\"></i>',\n            link: function (scope, el, attr) {\n                el.addClass('hide');\n                uiLoad.load('vendor/libs/screenfull.min.js').then(function () {\n                    // disable on ie11\n                    if (screenfull.enabled && !navigator.userAgent.match(/Trident.*rv:11\\./)) {\n                        el.removeClass('hide');\n                    }\n                    el.on('click', function () {\n                        var target;\n                        attr.target && ( target = $(attr.target)[0] );\n                        screenfull.toggle(target);\n                    });\n                    $document.on(screenfull.raw.fullscreenchange, function () {\n                        if (screenfull.isFullscreen) {\n                            el.addClass('active');\n                        } else {\n                            el.removeClass('active');\n                        }\n                    });\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-jq.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('ui.jq', ['ui.load']).value('uiJqConfig', {})\n        .directive('uiJq', uiJqInjectingFunction);\n\n    uiJqInjectingFunction.$inject = ['uiJqConfig', 'JQ_CONFIG', 'uiLoad', '$timeout'];\n    function uiJqInjectingFunction(uiJqConfig, JQ_CONFIG, uiLoad, $timeout) {\n\n        return {\n            restrict: 'A',\n            compile: function uiJqCompilingFunction(tElm, tAttrs) {\n\n                if (!angular.isFunction(tElm[tAttrs.uiJq]) && !JQ_CONFIG[tAttrs.uiJq]) {\n                    throw new Error('ui-jq: The \"' + tAttrs.uiJq + '\" function does not exist');\n                }\n                var options = uiJqConfig && uiJqConfig[tAttrs.uiJq];\n\n                return function uiJqLinkingFunction(scope, elm, attrs) {\n\n                    function getOptions() {\n                        var linkOptions = [];\n\n                        // If ui-options are passed, merge (or override) them onto global defaults and pass to the jQuery method\n                        if (attrs.uiOptions) {\n                            linkOptions = scope.$eval('[' + attrs.uiOptions + ']');\n                            if (angular.isObject(options) && angular.isObject(linkOptions[0])) {\n                                linkOptions[0] = angular.extend({}, options, linkOptions[0]);\n                            }\n                        } else if (options) {\n                            linkOptions = [options];\n                        }\n                        return linkOptions;\n                    }\n\n                    // If change compatibility is enabled, the form input's \"change\" event will trigger an \"input\" event\n                    if (attrs.ngModel && elm.is('select,input,textarea')) {\n                        elm.bind('change', function () {\n                            elm.trigger('input');\n                        });\n                    }\n\n                    // Call jQuery method and pass relevant options\n                    function callPlugin() {\n                        $timeout(function () {\n                            elm[attrs.uiJq].apply(elm, getOptions());\n                        }, 0, false);\n                    }\n\n                    function refresh() {\n                        // If ui-refresh is used, re-fire the the method upon every change\n                        if (attrs.uiRefresh) {\n                            scope.$watch(attrs.uiRefresh, function () {\n                                callPlugin();\n                            });\n                        }\n                    }\n\n                    if (JQ_CONFIG[attrs.uiJq]) {\n                        uiLoad.load(JQ_CONFIG[attrs.uiJq]).then(function () {\n                            callPlugin();\n                            refresh();\n                        }).catch(function () {\n\n                        });\n                    } else {\n                        callPlugin();\n                        refresh();\n                    }\n                };\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-module.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiModule', uiModule);\n\n    uiModule.$inject = ['MODULE_CONFIG', 'uiLoad', '$compile'];\n    function uiModule(MODULE_CONFIG, uiLoad, $compile) {\n        return {\n            restrict: 'A',\n            compile: function (el) {\n                var contents = el.contents().clone();\n                return function (scope, el, attrs) {\n                    el.contents().remove();\n                    uiLoad.load(MODULE_CONFIG[attrs.uiModule])\n                        .then(function () {\n                            $compile(contents)(scope, function (clonedElement) {\n                                el.append(clonedElement);\n                            });\n                        });\n                }\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-nav.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiNav', uiNav);\n\n    function uiNav() {\n        return {\n            restrict: 'AC',\n            link: function (scope, el) {\n                var _window = $(window),\n                    _mb = 768,\n                    wrap = $('.app-aside'),\n                    next,\n                    backdrop = '.dropdown-backdrop';\n                // unfolded\n                el.on('click', 'a', function (e) {\n                    next && next.trigger('mouseleave.nav');\n                    var _this = $(this);\n                    _this.parent().siblings(\".active\").toggleClass('active');\n                    _this.next().is('ul') && _this.parent().toggleClass('active') && e.preventDefault();\n                    // mobile\n                    _this.next().is('ul') || ( ( _window.width() < _mb ) && $('.app-aside').removeClass('show off-screen') );\n                });\n\n                // folded & fixed\n                el.on('mouseenter', 'a', function (e) {\n                    next && next.trigger('mouseleave.nav');\n                    $('> .nav', wrap).remove();\n                    if (!$('.app-aside-fixed.app-aside-folded').length || ( _window.width() < _mb ) || $('.app-aside-dock').length) return;\n                    var _this = $(e.target)\n                        , top\n                        , w_h = $(window).height()\n                        , offset = 50\n                        , min = 150;\n\n                    !_this.is('a') && (_this = _this.closest('a'));\n                    if (_this.next().is('ul')) {\n                        next = _this.next();\n                    } else {\n                        return;\n                    }\n\n                    _this.parent().addClass('active');\n                    top = _this.parent().position().top + offset;\n                    next.css('top', top);\n                    if (top + next.height() > w_h) {\n                        next.css('bottom', 0);\n                    }\n                    if (top + min > w_h) {\n                        next.css('bottom', w_h - top - offset).css('top', 'auto');\n                    }\n                    next.appendTo(wrap);\n\n                    next.on('mouseleave.nav', function (e) {\n                        $(backdrop).remove();\n                        next.appendTo(_this.parent());\n                        next.off('mouseleave.nav').css('top', 'auto').css('bottom', 'auto');\n                        _this.parent().removeClass('active');\n                    });\n\n                    $('.smart').length && $('<div class=\"dropdown-backdrop\"/>').insertAfter('.app-aside').on('click', function (next) {\n                        next && next.trigger('mouseleave.nav');\n                    });\n\n                });\n\n                wrap.on('mouseleave', function (e) {\n                    next && next.trigger('mouseleave.nav');\n                    $('> .nav', wrap).remove();\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-ordercolumn.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiOrderColumn', uiOrderColumn);\n\n    function uiOrderColumn() {\n        \"use strict\";\n\n        return {\n            restrict: 'A',\n            link: function (scope, el, attrs) {\n\n                if (!attrs.uiOrderColumn) {\n                    throw (\"configuration object must be specified\");\n                }\n\n                var property = attrs.uiOrderColumn;\n\n                el.addClass('sorting');\n\n                el.on('click', function () {\n                    var sort = '';\n                    if (el.hasClass('sorting_asc')) {\n                        sort = 'asc';\n                    } else if (el.hasClass('sorting_desc')) {\n                        sort = 'desc';\n                    }\n                    angular.forEach($(\"th[ui-order-column]\"), function (el) {\n                        $(el).removeClass('sorting_asc').removeClass('sorting_desc');\n                    });\n                    if (sort == '') {\n                        el.addClass('sorting_asc');\n                        scope.params.orderBy = property + ' ASC';\n                    } else if (sort == 'asc') {\n                        el.addClass('sorting_desc');\n                        scope.params.orderBy = property + ' DESC';\n                    } else {\n                        scope.params.orderBy = '';\n                    }\n                    scope.search();\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-scroll.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiScroll', uiScroll);\n\n    uiScroll.$inject = ['$location', '$anchorScroll'];\n    function uiScroll($location, $anchorScroll) {\n        return {\n            restrict: 'AC',\n            link: function (scope, el, attr) {\n                el.on('click', function () {\n                    $location.hash(attr.uiScroll);\n                    $anchorScroll();\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-shift.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiShift', uiShift);\n\n    uiShift.$inject = ['$timeout'];\n    function uiShift($timeout) {\n        return {\n            restrict: 'A',\n            link: function (scope, el, attr) {\n                // get the $prev or $parent of this el\n                var _el = $(el),\n                    _window = $(window),\n                    prev = _el.prev(),\n                    parent,\n                    width = _window.width()\n                    ;\n\n                !prev.length && (parent = _el.parent());\n\n                function sm() {\n                    $timeout(function () {\n                        var method = attr.uiShift;\n                        var target = attr.target;\n                        _el.hasClass('in') || _el[method](target).addClass('in');\n                    });\n                }\n\n                function md() {\n                    parent && parent['prepend'](el);\n                    !parent && _el['insertAfter'](prev);\n                    _el.removeClass('in');\n                }\n\n                (width < 768 && sm()) || md();\n\n                _window.resize(function () {\n                    if (width !== _window.width()) {\n                        $timeout(function () {\n                            (_window.width() < 768 && sm()) || md();\n                            width = _window.width();\n                        });\n                    }\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/directives/ui-toggleclass.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .directive('uiToggleClass', uiToggleClass);\n\n    function uiToggleClass() {\n        return {\n            restrict: 'AC',\n            link: function (scope, el, attr) {\n                el.on('click', function (e) {\n                    e.preventDefault();\n                    var classes = attr.uiToggleClass.split(','),\n                        targets = (attr.target && attr.target.split(',')) || Array(el),\n                        key = 0;\n                    angular.forEach(classes, function (_class) {\n                        var target = targets[(targets.length && key)];\n                        ( _class.indexOf('*') !== -1 ) && magic(_class, target);\n                        $(target).toggleClass(_class);\n                        key++;\n                    });\n                    $(el).toggleClass('active');\n\n                    function magic(_class, target) {\n                        var patt = new RegExp('\\\\s' +\n                            _class.replace(/\\*/g, '[A-Za-z0-9-_]+').split(' ').join('\\\\s|\\\\s') +\n                            '\\\\s', 'g');\n                        var cn = ' ' + $(target)[0].className + ' ';\n                        while (patt.test(cn)) {\n                            cn = cn.replace(patt, ' ');\n                        }\n                        $(target)[0].className = $.trim(cn);\n                    }\n                });\n            }\n        };\n    }\n})();"
  },
  {
    "path": "src/js/filters/dict.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .filter('dict', dict);\n\n    dict.$inject = ['DICT_CONST'];\n    function dict(DICT_CONST) {\n        return function (key, type) {\n\n            return getDict(key, type);\n        };\n\n        function getDict(key, type) {\n            var value = key;\n\n            var dictList;\n            if (dictList = DICT_CONST[type]) {\n                angular.forEach(dictList, function (dict) {\n                    if (dict['key'] === key) {\n                        value = dict['value'];\n                    }\n                })\n            }\n\n            return value;\n        }\n    }\n})();\n"
  },
  {
    "path": "src/js/filters/props-filter.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .filter('propsFilter', propsFilter);\n\n    function propsFilter() {\n        return function (items, props) {\n            var out = [];\n\n            if (angular.isArray(items)) {\n                var keys = Object.keys(props);\n\n                items.forEach(function (item) {\n                    var itemMatches = false;\n\n                    for (var i = 0; i < keys.length; i++) {\n                        var prop = keys[i];\n                        var text = props[prop].toLowerCase();\n                        if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {\n                            itemMatches = true;\n                            break;\n                        }\n                    }\n\n                    if (itemMatches) {\n                        out.push(item);\n                    }\n                });\n            } else {\n                // Let the output be the input untouched\n                out = items;\n            }\n\n            return out;\n        };\n    }\n})();"
  },
  {
    "path": "src/js/main.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .controller('AppCtrl', AppCtrl);\n\n    AppCtrl.$inject = ['$rootScope', '$scope', '$state', '$localStorage', '$sessionStorage', '$window', 'dialogs', 'AuthService', 'APP_CONST'];\n    function AppCtrl($rootScope, $scope, $state, $localStorage, $sessionStorage, $window, dialogs, authService, APP_CONST) {\n        // add 'ie' classes to html\n        var isIE = !!navigator.userAgent.match(/MSIE/i);\n        isIE && angular.element($window.document.body).addClass('ie');\n        isSmartDevice($window) && angular.element($window.document.body).addClass('smart');\n\n        // config\n        $scope.app = {\n            name: '管理平台',\n            version: '1.0.0',\n            settings: {\n                themeID: 1,\n                navbarHeaderColor: 'bg-black',\n                navbarCollapseColor: 'bg-white-only',\n                asideColor: 'bg-black',\n                headerFixed: true,\n                asideFixed: true,\n                asideFolded: false,\n                asideDock: false,\n                container: false\n            }\n        };\n\n        // save settings to local storage\n        if (angular.isDefined($localStorage.settings)) {\n            $scope.app.settings = $localStorage.settings;\n        } else {\n            $localStorage.settings = $scope.app.settings;\n        }\n        $scope.$watch('app.settings', function () {\n            if ($scope.app.settings.asideDock && $scope.app.settings.asideFixed) {\n                // aside dock and fixed must set the header fixed.\n                $scope.app.settings.headerFixed = true;\n            }\n            // save to local storage\n            $localStorage.settings = $scope.app.settings;\n        }, true);\n\n        function isSmartDevice($window) {\n            // Adapted from http://www.detectmobilebrowsers.com\n            var ua = $window['navigator']['userAgent'] || $window['navigator']['vendor'] || $window['opera'];\n            // Checks for iOs, Android, Blackberry, Opera Mini, and Windows mobile devices\n            return (/iPhone|iPod|iPad|Silk|Android|BlackBerry|Opera Mini|IEMobile/).test(ua);\n        }\n\n        $rootScope.logout = function () {\n            dialogs.confirm('确认', '确认退出登录?', {\n                size: 'md'\n            })\n                .result.then(function () {\n                authService.logout()\n                    .finally(function () {\n                        $sessionStorage[APP_CONST.STORAGE.AUTH_TOKEN] = '';\n                        $localStorage[APP_CONST.STORAGE.AUTH_TOKEN] = '';\n                        $localStorage[APP_CONST.STORAGE.USER] = {};\n                        $localStorage[APP_CONST.STORAGE.MENU] = [];\n\n                        delete $rootScope[APP_CONST.STORAGE.USER];\n                        $state.go(\"access.login\");\n                    })\n                ;\n            });\n        };\n\n        $rootScope.hasAuthority = function (authority) {\n            var user = $localStorage[APP_CONST.STORAGE.USER];\n            var authorities = [];\n            angular.forEach(user.authorities, function (data) {\n                authorities.push(data.authority)\n            });\n            return $.inArray(authority, authorities) >= 0;\n        };\n    }\n\n})();"
  },
  {
    "path": "src/js/services/auth-service.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('app')\n        .service('AuthService', AuthService);\n\n    AuthService.$inject = ['$http', '$q', 'APP_CONST'];\n    function AuthService($http, $q, APP_CONST) {\n\n        this.login = function (credentials) {\n            var d = $q.defer();\n\n            $http.post(APP_CONST.PROPERTY.API_URL + '/auth/token', {\n                loginName: credentials.username,\n                password: credentials.password\n            })\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.refresh = function () {\n            var d = $q.defer();\n\n            $http.get(APP_CONST.PROPERTY.API_URL + '/auth/refresh')\n                .success(function (data) {\n                    d.resolve(data);\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n\n        this.logout = function () {\n            var d = $q.defer();\n\n            $http.delete(APP_CONST.PROPERTY.API_URL + '/auth/token', null)\n                .success(function () {\n\n                    d.resolve();\n                })\n                .error(function () {\n                    d.reject();\n                });\n\n            return d.promise;\n        };\n    }\n})();"
  },
  {
    "path": "src/js/services/ui-load.js",
    "content": "(function () {\n    'use strict';\n\n    angular.module('ui.load', [])\n        .service('uiLoad', uiLoad);\n\n    uiLoad.$inject = ['$document', '$q', '$timeout'];\n    function uiLoad($document, $q, $timeout) {\n\n        var loaded = [];\n        var promise = false;\n        var deferred = $q.defer();\n\n        /**\n         * Chain loads the given sources\n         * @param srcs array, script or css\n         * @returns {*} Promise that will be resolved once the sources has been loaded.\n         */\n        this.load = function (srcs) {\n            srcs = angular.isArray(srcs) ? srcs : srcs.split(/\\s+/);\n            var self = this;\n            if (!promise) {\n                promise = deferred.promise;\n            }\n            angular.forEach(srcs, function (src) {\n                promise = promise.then(function () {\n                    return src.indexOf('.css') >= 0 ? self.loadCSS(src) : self.loadScript(src);\n                });\n            });\n            deferred.resolve();\n            return promise;\n        };\n\n        /**\n         * Dynamically loads the given script\n         * @param src The url of the script to load dynamically\n         * @returns {*} Promise that will be resolved once the script has been loaded.\n         */\n        this.loadScript = function (src) {\n            if (loaded[src]) return loaded[src].promise;\n\n            var deferred = $q.defer();\n            var script = $document[0].createElement('script');\n            script.src = src;\n            script.onload = function (e) {\n                $timeout(function () {\n                    deferred.resolve(e);\n                });\n            };\n            script.onerror = function (e) {\n                $timeout(function () {\n                    deferred.reject(e);\n                });\n            };\n            $document[0].body.appendChild(script);\n            loaded[src] = deferred;\n\n            return deferred.promise;\n        };\n\n        /**\n         * Dynamically loads the given CSS file\n         * @param href The url of the CSS to load dynamically\n         * @returns {*} Promise that will be resolved once the CSS file has been loaded.\n         */\n        this.loadCSS = function (href) {\n            if (loaded[href]) return loaded[href].promise;\n\n            var deferred = $q.defer();\n            var style = $document[0].createElement('link');\n            style.rel = 'stylesheet';\n            style.type = 'text/css';\n            style.href = href;\n            style.onload = function (e) {\n                $timeout(function () {\n                    deferred.resolve(e);\n                });\n            };\n            style.onerror = function (e) {\n                $timeout(function () {\n                    deferred.reject(e);\n                });\n            };\n            $document[0].head.appendChild(style);\n            loaded[href] = deferred;\n\n            return deferred.promise;\n        };\n    }\n})();"
  },
  {
    "path": "src/tpl/404.html",
    "content": "<div class=\"container w-xxl w-auto-xs\" ng-init=\"app.settings.container = false;\">\n    <div class=\"text-center m-b-lg\">\n        <h1 class=\"text-shadow text-white\">404</h1>\n    </div>\n    <div class=\"list-group bg-info auto m-b-sm m-b-lg\">\n        <a href=\"#/\" class=\"list-group-item\">\n            <i class=\"fa fa-chevron-right text-muted\"></i>\n            <i class=\"fa fa-fw fa-mail-forward m-r-xs\"></i> 回到应用\n        </a>\n        <a ui-sref=\"access.login\" class=\"list-group-item\">\n            <i class=\"fa fa-chevron-right text-muted\"></i>\n            <i class=\"fa fa-fw fa-sign-in m-r-xs\"></i> 登录\n        </a>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/app.html",
    "content": "<!-- navbar -->\n<div data-ng-include=\" 'tpl/blocks/header.html' \" class=\"app-header navbar\">\n</div>\n<!-- / navbar -->\n\n<!-- toaster directive -->\n<toaster-container toaster-options=\"{'position-class': 'toast-top-right', 'close-button':true}\"></toaster-container>\n<!-- / toaster directive -->\n\n<!-- menu -->\n<div data-ng-include=\" 'tpl/blocks/aside.html' \" class=\"app-aside hidden-xs {{app.settings.asideColor}}\">\n</div>\n<!-- / menu -->\n<div class='loading' ng-if=\"loading\">\n    <div class='load'>加载中...</div>\n</div>\n<!-- content -->\n<div class=\"app-content\">\n    <div ui-butterbar></div>\n    <a href class=\"off-screen-toggle hide\" ui-toggle-class=\"off-screen\" data-target=\".app-aside\"></a>\n    <div class=\"app-content-body fade-in-up\" ui-view></div>\n</div>\n<!-- /content -->\n\n<!-- footer -->\n<div class=\"app-footer wrapper b-t bg-light\">\n    <span class=\"pull-right\">\n        <a href ui-scroll=\"app\" class=\"m-l-sm text-muted\"><i class=\"fa fa-long-arrow-up\"></i></a>\n    </span>\n    Copyright &copy; 2016 {{app.name}} {{app.version}}\n</div>\n<!-- / footer -->\n\n<div data-ng-include=\" 'tpl/blocks/settings.html' \" class=\"settings panel panel-default\">\n</div>"
  },
  {
    "path": "src/tpl/blocks/aside.html",
    "content": "<div class=\"aside-wrap\">\n    <div class=\"navi-wrap\">\n\n        <!-- nav -->\n        <nav ui-nav class=\"navi clearfix\" ng-include=\"'tpl/blocks/nav.html'\"></nav>\n        <!-- nav -->\n\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/blocks/header.html",
    "content": "<!-- navbar header -->\n<div class=\"navbar-header {{app.settings.navbarHeaderColor}}\">\n    <button class=\"pull-right visible-xs dk\" ui-toggle-class=\"show\" data-target=\".navbar-collapse\">\n        <i class=\"glyphicon glyphicon-cog\"></i>\n    </button>\n    <button class=\"pull-right visible-xs\" ui-toggle-class=\"off-screen\" data-target=\".app-aside\" ui-scroll=\"app\">\n        <i class=\"glyphicon glyphicon-align-justify\"></i>\n    </button>\n    <!-- brand -->\n    <a href=\"#/\" class=\"navbar-brand text-lt\">\n        <i class=\"fa fa-ioxhost\"></i>\n        <span class=\"hidden-folded m-l-xs\">{{app.name}}</span>\n    </a>\n    <!-- / brand -->\n</div>\n<!-- / navbar header -->\n\n<!-- navbar collapse -->\n<div class=\"collapse pos-rlt navbar-collapse box-shadow {{app.settings.navbarCollapseColor}}\">\n    <!-- buttons -->\n    <div class=\"nav navbar-nav hidden-xs\">\n        <a href class=\"btn no-shadow navbar-btn\" ng-click=\"app.settings.asideFolded = !app.settings.asideFolded\">\n            <i class=\"fa {{app.settings.asideFolded ? 'fa-indent' : 'fa-dedent'}} fa-fw\"></i>\n        </a>\n    </div>\n    <!-- / buttons -->\n\n    <!-- nabar right -->\n    <ul class=\"nav navbar-nav navbar-right\">\n        <li class=\"hidden-xs\">\n            <a ui-fullscreen></a>\n        </li>\n        <li class=\"dropdown\" uib-dropdown>\n            <a href class=\"dropdown-toggle clear\" uib-dropdown-toggle>\n                <span class=\"thumb-sm avatar pull-right m-t-n-sm m-b-n-sm m-l-sm\">\n                <img src=\"img/a0.jpg\" alt=\"...\">\n                <i class=\"on md b-white bottom\"></i>\n                </span>\n                <span>\n                    {{sysuser.name}}\n                </span>\n                <b class=\"caret\"></b>\n            </a>\n            <!-- dropdown -->\n            <ul class=\"dropdown-menu animated fadeInRight w\">\n                <li>\n                    <a ui-sref=\"app.sys.user.info\">\n                        <span>个人信息</span>\n                    </a>\n                </li>\n                <li>\n                    <a ui-sref=\"app.password\">\n                        <span>重置密码</span>\n                    </a>\n                </li>\n                <li class=\"divider\"></li>\n                <li>\n                    <a href ng-click=\"logout()\">\n                        <span>退出登录</span>\n                    </a>\n                </li>\n            </ul>\n            <!-- / dropdown -->\n        </li>\n    </ul>\n    <!-- / navbar right -->\n\n</div>\n<!-- / navbar collapse -->"
  },
  {
    "path": "src/tpl/blocks/nav.html",
    "content": "<!-- list -->\n<ul class=\"nav\">\n    <li class=\"hidden-folded padder m-t m-b-sm text-muted text-xs\">\n        <span>导航</span>\n    </li>\n    <li ng-repeat=\"item in menu | orderBy:'sort'\" ui-sref-active=\"active\">\n        <a ng-if=\"!item.leaf\" href class=\"auto\">\n            <span class=\"pull-right text-muted\">\n                <i class=\"fa fa-fw fa-angle-right text\"></i>\n                <i class=\"fa fa-fw fa-angle-down text-active\"></i>\n            </span>\n            <i ng-class=\"item.icon\"></i>\n            <span>{{item.name}}</span>\n        </a>\n        <ul ng-if=\"!item.leaf\" class=\"nav nav-sub dk\">\n            <li ng-repeat=\"child in item.children | orderBy:'sort'\" ui-sref-active=\"active\">\n                <a ui-sref=\"{{child.href}}\">\n                    <i class=\"{{child.icon}}\"></i>\n                    <span>{{child.name}}</span>\n                </a>\n            </li>\n        </ul>\n        <a ng-if=\"item.leaf\" ui-sref=\"{{item.href}}\">\n            <i class=\"{{item.icon}}\"></i>\n            <span>{{item.name}}</span>\n        </a>\n    </li>\n</ul>\n<!-- / list -->"
  },
  {
    "path": "src/tpl/blocks/pagination.html",
    "content": "<footer class=\"panel-footer\">\n    <div class=\"row\">\n        <div class=\"col-sm-6 text-left text-center-xs\">\n            <small class=\"text-muted inline m-t-none m-b-none\">\n                当前 {{pageInfo.pageNum}}/{{pageInfo.pages}} 页，共 {{pageInfo.total}} 条\n            </small>\n        </div>\n        <div class=\"col-sm-6 text-right text-center-xs\">\n            <uib-pagination boundary-links=\"true\" total-items=\"pageInfo.total\" ng-model=\"pageInfo.pageNum\"\n                        items-per-page=\"pageInfo.pageSize\" max-size=\"5\" rotate=\"false\"\n                        class=\"pagination-sm m-t-none m-b-none\" previous-text=\"&lsaquo;\" next-text=\"&rsaquo;\"\n                        first-text=\"&laquo;\" last-text=\"&raquo;\" ng-change=\"pageChanged()\"></uib-pagination>\n        </div>\n    </div>\n</footer>"
  },
  {
    "path": "src/tpl/blocks/settings.html",
    "content": "<!-- settings -->\n<button class=\"btn btn-default no-shadow pos-abt\" ui-toggle-class=\"active\" target=\".settings\">\n    <i class=\"fa fa-spin fa-gear\"></i>\n</button>\n<div class=\"panel-heading\">\n    设置\n</div>\n<div class=\"panel-body\">\n    <div class=\"m-b-sm\">\n        <label class=\"i-switch bg-info pull-right\">\n            <input type=\"checkbox\" ng-model=\"app.settings.headerFixed\">\n            <i></i>\n        </label>\n        固定头部\n    </div>\n    <div class=\"m-b-sm hidden-xs\">\n        <label class=\"i-switch bg-info pull-right\">\n            <input type=\"checkbox\" ng-model=\"app.settings.asideFixed\">\n            <i></i>\n        </label>\n        固定边栏\n    </div>\n    <div class=\"m-b-sm hidden-xs\">\n        <label class=\"i-switch bg-info pull-right\">\n            <input type=\"checkbox\" ng-model=\"app.settings.asideFolded\">\n            <i></i>\n        </label>\n        折叠边栏\n    </div>\n    <div class=\"m-b-sm hidden-xs\">\n        <label class=\"i-switch bg-info pull-right\">\n            <input type=\"checkbox\" ng-model=\"app.settings.asideDock\">\n            <i></i>\n        </label>\n        置顶边栏\n    </div>\n    <div class=\"hidden-xs\">\n        <label class=\"i-switch bg-info pull-right\">\n            <input type=\"checkbox\" ng-model=\"app.settings.container\">\n            <i></i>\n        </label>\n        盒式布局\n    </div>\n</div>\n<div class=\"wrapper b-t b-light bg-light lter r-b\">\n    <div class=\"row row-sm\">\n        <div class=\"col-xs-6\">\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='1';app.settings.navbarHeaderColor='bg-black'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-black';\">\n                <input type=\"radio\" name=\"a\" ng-model=\"app.settings.themeID\" value=\"1\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-black header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-black\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='13';app.settings.navbarHeaderColor='bg-dark'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" name=\"a\" ng-model=\"app.settings.themeID\" value=\"13\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-dark header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='2';app.settings.navbarHeaderColor='bg-white-only'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-black';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"2\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-black\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='3';app.settings.navbarHeaderColor='bg-primary'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"3\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-primary header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='4';app.settings.navbarHeaderColor='bg-info'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-black';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"4\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-info header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-black\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='5';app.settings.navbarHeaderColor='bg-success'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"5\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-success header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block\"\n                   ng-click=\"app.settings.themeID='6';app.settings.navbarHeaderColor='bg-danger'; app.settings.navbarCollapseColor='bg-white-only'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"6\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-danger header\"></b>\n                    <b class=\"bg-white header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n        </div>\n        <div class=\"col-xs-6\">\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='7';app.settings.navbarHeaderColor='bg-black'; app.settings.navbarCollapseColor='bg-black'; app.settings.asideColor='bg-white b-r';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"7\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-black header\"></b>\n                    <b class=\"bg-black header\"></b>\n                    <b class=\"bg-white\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='14';app.settings.navbarHeaderColor='bg-dark'; app.settings.navbarCollapseColor='bg-dark'; app.settings.asideColor='bg-light';\">\n                <input type=\"radio\" name=\"a\" ng-model=\"app.settings.themeID\" value=\"14\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-dark header\"></b>\n                    <b class=\"bg-dark header\"></b>\n                    <b class=\"bg-light\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='8';app.settings.navbarHeaderColor='bg-info dker'; app.settings.navbarCollapseColor='bg-info dker'; app.settings.asideColor='bg-light dker b-r';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"8\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-info dker header\"></b>\n                    <b class=\"bg-info dker header\"></b>\n                    <b class=\"bg-light dker\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='9';app.settings.navbarHeaderColor='bg-primary'; app.settings.navbarCollapseColor='bg-primary'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"9\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-primary header\"></b>\n                    <b class=\"bg-primary header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='10';app.settings.navbarHeaderColor='bg-info dker'; app.settings.navbarCollapseColor='bg-info dk'; app.settings.asideColor='bg-black';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"10\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-info dker header\"></b>\n                    <b class=\"bg-info dk header\"></b>\n                    <b class=\"bg-black\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block m-b\"\n                   ng-click=\"app.settings.themeID='11';app.settings.navbarHeaderColor='bg-success'; app.settings.navbarCollapseColor='bg-success';app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"11\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-success header\"></b>\n                    <b class=\"bg-success header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n\n            <label class=\"i-checks block\"\n                   ng-click=\"app.settings.themeID='12';app.settings.navbarHeaderColor='bg-danger dker bg-gd'; app.settings.navbarCollapseColor='bg-danger dker bg-gd'; app.settings.asideColor='bg-dark';\">\n                <input type=\"radio\" ng-model=\"app.settings.themeID\" value=\"12\">\n                <span class=\"block bg-light clearfix pos-rlt\">\n                    <span class=\"active pos-abt w-full h-full bg-black-opacity text-center\">\n                        <i class=\"glyphicon glyphicon-ok text-white m-t-xs\"></i>\n                    </span>\n                    <b class=\"bg-danger dker header\"></b>\n                    <b class=\"bg-danger dker header\"></b>\n                    <b class=\"bg-dark\"></b>\n                </span>\n            </label>\n        </div>\n    </div>\n</div>\n<!-- /settings -->"
  },
  {
    "path": "src/tpl/custom/framework/dashboard.html",
    "content": "<div class=\"hbox hbox-auto-xs hbox-auto-sm\">\n    <!-- main -->\n    <div class=\"col\">\n        <!-- main header -->\n        <div class=\"bg-light lter b-b wrapper-md\">\n            <div class=\"row\">\n                <div class=\"col-sm-6 col-xs-12\">\n                    <h1 class=\"m-n font-thin h3 text-black\">首页</h1>\n                    <small class=\"text-muted\">{{sysuser.name}}, 欢迎访问{{app.name}}</small>\n                </div>\n            </div>\n        </div>\n        <!-- / main header -->\n        <div class=\"wrapper-md\">\n            <!-- stats -->\n            <div class=\"row\">\n                <div class=\"col-md-6\">\n                    <div class=\"row row-sm text-center\">\n                        <div class=\"col-xs-6\">\n                            <div class=\"panel padder-v item\">\n                                <div class=\"text-info font-thin h1\">&nbsp;78</div>\n                                <span class=\"text-muted text-xs\">待处理问题</span>\n                            </div>\n                        </div>\n                        <div class=\"col-xs-6\">\n                            <div class=\"panel padder-v bg-primary item\">\n                                <div class=\"text-white font-thin h1\">&nbsp;86</div>\n                                <span class=\"text-muted text-xs\">待审核认证</span>\n                            </div>\n                        </div>\n                        <div class=\"col-xs-6\">\n                            <div class=\"panel padder-v bg-info item\">\n                                <div class=\"text-white font-thin h1\">&nbsp;10022</div>\n                                <span class=\"text-muted text-xs\">用户总数</span>\n                            </div>\n                        </div>\n                        <div class=\"col-xs-6\">\n                            <div class=\"panel padder-v item\">\n                                <div class=\"font-thin h1\">&nbsp;￥1239234.20</div>\n                                <span class=\"text-muted text-xs\">总收入</span>\n                            </div>\n                        </div>\n                        <div class=\"col-xs-12 m-b-md\">\n                            <div class=\"r bg-light dker item hbox no-border\">\n                                <div class=\"col w-xs v-middle\">\n                                    <div id=\"consumePie\" class=\"sparkline inline\"></div>\n                                </div>\n                                <div class=\"col dk padder-v r-r\">\n                                    <div class=\"text-primary-dk font-thin h1\"><span>&nbsp;￥1232323.12</span>\n                                    </div>\n                                    <span class=\"text-muted text-xs\">总消费</span>\n                                </div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-md-6\">\n                    <div class=\"panel panel-default\">\n                        <div class=\"panel-heading font-bold\">每日注册用户</div>\n                        <div class=\"panel-body\">\n                            <div id=\"lastUser\" style=\"height:238px\"></div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n\n            <div class=\"row\">\n                <div class=\"col-md-6\">\n                    <div class=\"panel panel-default\">\n                        <div class=\"panel-heading font-bold\">最近消费</div>\n                        <div class=\"panel-body\">\n                            <div id=\"lastConsume\" style=\"height:240px\"></div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"col-md-6\">\n                    <div class=\"panel panel-default\">\n                        <div class=\"panel-heading font-bold\">每日充值</div>\n                        <div class=\"panel-body\">\n                            <div id=\"lastRevenue\" style=\"height:240px\"></div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n        <!-- / stats -->\n\n    </div>\n    <!-- / main -->\n</div>"
  },
  {
    "path": "src/tpl/custom/framework/login.html",
    "content": "<div class='loading' ng-if=\"loading\">\n    <div class='load'>正在登录...</div>\n</div>\n<div class=\"container w-xxl w-auto-xs\" ng-controller=\"LoginCtrl\" ng-init=\"app.settings.container = false;\">\n    <a href class=\"navbar-brand block m-t\">{{app.name}}</a>\n    <div class=\"m-b-lg\">\n        <div class=\"line line-dashed\"></div>\n        <form name=\"form\" class=\"form-validation\">\n            <div class=\"text-danger wrapper text-center\" ng-show=\"authError\">\n                {{authError}}\n            </div>\n            <div class=\"list-group list-group-sm\">\n                <div class=\"list-group-item\">\n                    <input placeholder=\"用户名\" class=\"form-control no-border\" ng-model=\"user.username\"\n                           ui-focus=\"usernameFocus\" required>\n                </div>\n                <div class=\"list-group-item\">\n                    <input type=\"password\" placeholder=\"密码\" class=\"form-control no-border\"\n                           ng-model=\"user.password\" required>\n                </div>\n                <div class=\"checkbox\">\n                    <label class=\"i-checks\">\n                        <input type=\"checkbox\" ng-model=\"rememberPwd\"><i></i> 记住密码（公共环境慎用）\n                    </label>\n                </div>\n            </div>\n            <button type=\"submit\" class=\"btn btn-lg btn-primary btn-block\" ng-click=\"login()\"\n                    data-style=\"expand-left\" data-spinner-size=\"30\" data-spinner-color=\"#fff\" ng-disabled='form.$invalid'>登录\n            </button>\n        </form>\n    </div>\n    <div class=\"text-center\">\n        <p>\n            <small class=\"text-muted\">环球旅行 &copy; 2016</small>\n        </p>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/framework/reset-password.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <form name=\"form\" class=\"form-horizontal form-validation\">\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>旧密码</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"password\" ng-model=\"user.oldPassword\" class=\"form-control w-md\"\n                               ng-maxlength=\"50\" required>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>新密码</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"password\" ng-model=\"user.newPassword\" name=\"newPassword\" class=\"form-control w-md\"\n                               ui-validate=\" '$value!=user.oldPassword' \" ui-validate-watch=\" 'user.oldPassword' \"\n                               ng-maxlength=\"50\" ng-minlength=\"8\" required>\n                        <span class=\"help-block m-b-none\" ng-show='form.newPassword.$error.validator'>新旧密码相同</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">确认密码</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"password\" ng-model=\"user.confirmPassword\" name=\"confirmPassword\"\n                               ui-validate=\" '$value==user.newPassword' \" ui-validate-watch=\" 'user.newPassword' \"\n                               class=\"form-control w-md\">\n                        <span class=\"help-block m-b-none\" ng-show='form.confirmPassword.$error.validator'>密码不匹配</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4 col-sm-offset-2\">\n                        <button type=\"button\" class=\"btn btn-default\" ng-disabled=\"form.$invalid\"\n                                ng-click=\"saveData()\">\n                            保存\n                        </button>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/menu/menu-form.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li><a ui-sref=\"app.sys.menu.list\">菜单管理</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <form name=\"form\" class=\"form-horizontal form-validation\">\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>名称</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"menu.name\" class=\"form-control w-md\" ng-maxlength=\"100\" required>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">链接</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"menu.href\" class=\"form-control w-md\" ng-maxlength=\"2000\">\n                        <span class=\"help-block m-b-none\">点击菜单跳转的页面</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">图标</label>\n                    <div class=\"col-sm-10\">\n                        <div class=\"input-group w-xl w-auto-xs\">\n                            <input type=\"text\" ng-model=\"menu.icon\" class=\"form-control\" ng-maxlength=\"100\">\n                            <span class=\"input-group-addon\"><i ng-class=\"menu.icon\"></i>&nbsp;</span>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>排序</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"menu.sort\" class=\"form-control w-xxs\"\n                               ui-validate=\"{ a:'$value >= 0', b:'$value <= 9999' }\" required>\n                        <span class=\"help-block m-b-none\">排列顺序，升序。</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>可见</label>\n                    <div class=\"col-sm-10\">\n                        <label class=\"radio-inline\" ng-repeat=\"item in yes_no\">\n                            <input type=\"radio\" name=\"show\" ng-model=\"menu.show\" ng-value=\"item.key\"> {{item.value}}\n                        </label>\n                        <span class=\"help-block m-b-none\">该菜单或操作是否显示到系统菜单中</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">权限标识</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"menu.permission\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                        <span class=\"help-block m-b-none\">控制器中定义的权限标识，如：@PreAuthorize(\"hasAuthority('权限标识')\")</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">备注</label>\n                    <div class=\"col-sm-10\">\n                        <textarea ng-model=\"menu.remarks\" rows=\"6\" class=\"form-control\" ng-maxlength=\"255\"></textarea>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4 col-sm-offset-2\">\n                        <button type=\"button\" class=\"btn btn-default\" ng-disabled=\"form.$invalid\"\n                                ng-if=\"hasAuthority('sys:menu:edit')\" ng-click=\"saveData()\">\n                            保存\n                        </button>\n                        <a class=\"btn btn-primary\" ui-sref=\"app.sys.menu.list\">取消</a>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/menu/menu-list.html",
    "content": "<script type=\"text/ng-template\" id=\"tree-dnd-template-render.html\">\n    <table ng-class=\"$tree_class\">\n        <thead>\n        <tr>\n            <th ng-class=\"expandingProperty.titleClass\" ng-style=\"expandingProperty.titleStyle\"\n\n                compile=\"expandingProperty.titleTemplate\">\n                {{expandingProperty.displayName || expandingProperty.field || expandingProperty}}\n            </th>\n            <th ng-repeat=\"col in colDefinitions\" ng-class=\"col.titleClass\" ng-style=\"col.titleStyle\"\n                compile=\"col.titleTemplate\">\n                {{col.displayName || col.field}}\n            </th>\n        </tr>\n        </thead>\n        <tbody tree-dnd-nodes>\n        <tr tree-dnd-node=\"node\" ng-repeat=\"node in tree_nodes track by node.__hashKey__ \"\n            ng-show=\"enabledFilter ? node.__filtered_visible__ === true && node.__visible__ : node.__visible__\"\n            ng-class=\"enabledFilter ? (node.__filtered__ === true? 'success': '') : (node.__selected__ ? ' active':'')\"\n            ng-click=\"onSelect(node)\">\n            <td tree-dnd-node-handle\n                ng-style=\"expandingProperty.cellStyle ? expandingProperty.cellStyle : {'padding-left': $callbacks.calsIndent(node.__level__)}\"\n                ng-class=\"expandingProperty.cellClass\" compile=\"expandingProperty.cellTemplate\">\n                <a data-nodrag> <i ng-class=\"$icon_class\"\n                                   ng-click=\"toggleExpand(node)\"\n                                   class=\"tree-icon\"></i>\n                </a> <i ng-class=\"node.icon\" class=\"m-r-sm\"></i>{{node[expandingProperty.field] ||\n                node[expandingProperty]}}\n            </td>\n            <td ng-repeat=\"col in colDefinitions\" ng-class=\"col.cellClass\" ng-style=\"col.cellStyle\"\n                compile=\"col.cellTemplate\">\n                {{node[col.field]}}\n            </td>\n        </tr>\n        </tbody>\n    </table>\n</script>\n\n<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"row wrapper\">\n            <div class=\"col-sm-7 m-b-xs\">\n                <form class=\"form-inline\" role=\"form\">\n                    <div class=\"form-group m-r-xs\">\n                        <input class=\"form-control input-sm\" placeholder=\"名称\" ng-model=\"filter.name\">\n                    </div>\n                </form>\n            </div>\n            <div class=\"col-sm-5\">\n                <button class=\"btn btn-sm btn-default pull-right  m-r-md\" ng-click=\"my_tree.collapse_all()\">折叠全部\n                </button>\n                <button class=\"btn btn-sm btn-default pull-right m-l-xs m-r-xs\" ng-click=\"my_tree.expand_all()\">展开全部\n                </button>\n                <button ui-sref=\"app.sys.menu.form\" class=\"btn btn-sm btn-default pull-right\"\n                        ng-if=\"hasAuthority('sys:menu:edit')\">新建菜单\n                </button>\n            </div>\n        </div>\n\n        <div class=\"table-responsive\">\n            <tree-dnd\n                    tree-class=\"tree-dnd table table-striped table-bordered table-condensed text-nowrap\"\n                    tree-data=\"tree_data\"\n                    tree-control=\"my_tree\"\n\n                    filter=\"filter\"\n                    template-url=\"tree-dnd-template-render.html\"\n\n                    icon-leaf=\"fa fa-fw\"\n                    icon-collapse=\"fa fa-fw fa-angle-right\"\n                    icon-expand=\"fa fa-fw fa-angle-down\"\n                    primary-key=\"id\"\n                    column-defs=\"col_defs\"\n                    expand-on=\"expanding_property\"\n                    expand-level=\"2\"\n            ></tree-dnd>\n        </div>\n\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/role/role-form.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li><a ui-sref=\"app.sys.role.list\">角色管理</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <form name=\"form\" class=\"form-horizontal form-validation\">\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>名称</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"role.name\" class=\"form-control w-md\" ng-maxlength=\"100\" required>\n                        <span class=\"help-block m-b-none\">角色名称必须以 ROLE_ 开头</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>是否可用</label>\n                    <div class=\"col-sm-10\">\n                        <label class=\"radio-inline\" ng-repeat=\"item in yes_no\">\n                            <input type=\"radio\" name=\"enabled\" ng-model=\"role.enabled\" ng-value=\"item.key\"> {{item.value}}\n                        </label>\n                        <span class=\"help-block m-b-none\">“是”代表此角色可用，“否”则表示此角色被锁定</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">角色授权</label>\n                    <div class=\"col-sm-10\">\n                        <div\n                                ivh-treeview=\"menus\"\n                                ivh-treeview-options=\"treeOpts\">\n                        </div>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">备注</label>\n                    <div class=\"col-sm-10\">\n                        <textarea ng-model=\"role.remarks\" rows=\"6\" class=\"form-control\" ng-maxlength=\"255\"></textarea>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4 col-sm-offset-2\">\n                        <button type=\"button\" class=\"btn btn-default\" ng-disabled=\"form.$invalid\"\n                                ng-if=\"hasAuthority('sys:role:edit')\" ng-click=\"saveData()\">\n                            保存\n                        </button>\n                        <a class=\"btn btn-primary\" ui-sref=\"app.sys.role.list\">取消</a>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/role/role-list.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"row wrapper\">\n            <div class=\"col-sm-10 m-b-xs\">\n                <form class=\"form-inline\" role=\"form\">\n                    <div class=\"form-group m-r-xs\">\n                        <input class=\"form-control input-sm\" placeholder=\"名称\" ng-model=\"params.name\">\n                    </div>\n                    <div class=\"form-group\">\n                        <input class=\"form-control input-sm\" placeholder=\"描述\" ng-model=\"params.remarks\">\n                    </div>\n                    <button type=\"submit\" class=\"btn btn-sm btn-default\" ng-click=\"search()\">搜索</button>\n                </form>\n            </div>\n            <div class=\"col-sm-2\">\n                <button ui-sref=\"app.sys.role.form\" class=\"btn btn-sm btn-default pull-right m-r-md\"\n                        ng-if=\"hasAuthority('sys:role:edit')\">新建\n                </button>\n            </div>\n        </div>\n\n        <div class=\"table-responsive\">\n            <table class=\"table table-striped table-bordered table-condensed text-nowrap\">\n                <thead>\n                <tr class=\"b-t b-light\">\n                    <th ui-order-column=\"a.name\">名称</th>\n                    <th>描述</th>\n                    <th class=\"text-center\">可用</th>\n                    <th>操作</th>\n                </tr>\n                </thead>\n                <tbody>\n                <tr ng-repeat=\"item in pageInfo.list\">\n                    <td>{{item.name}}</td>\n                    <td>{{item.remarks}}</td>\n                    <td class=\"text-center\">\n                        {{item.enabled | dict: 'YES_NO' }}\n                    </td>\n                    <td>\n                        <button ui-sref=\"app.sys.role.form({id: item.id})\" class=\"btn btn-default btn-sm\">详情</button>\n                        <button ng-click=\"delete(item.id)\" class=\"btn btn-default btn-sm\"\n                                ng-if=\"hasAuthority('sys:user:edit')\">删除\n                        </button>\n                    </td>\n                </tr>\n                </tbody>\n            </table>\n        </div>\n\n        <!-- 底部分页 -->\n        <span data-ng-include=\" 'tpl/blocks/pagination.html' \"></span>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/user/user-form.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li><a ui-sref=\"app.sys.user.list\">用户管理</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <form name=\"form\" class=\"form-horizontal form-validation\">\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>姓名</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.name\" class=\"form-control w-md\" ng-maxlength=\"100\" required>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>登录名</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.loginName\" class=\"form-control w-md\" ng-maxlength=\"100\"\n                               required>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\" ng-if=\"!user.id\">*</span>密码</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"password\" ng-model=\"user.password\" class=\"form-control w-md\"\n                               ng-maxlength=\"50\" ng-required=\"!user.id\">\n                        <span class=\"help-block m-b-none\">若不修改密码，请留空。</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">确认密码</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"password\" ng-model=\"user.confirm_password\" name=\"confirm_password\"\n                               ui-validate=\" '$value==user.password' \" ui-validate-watch=\" 'user.password' \"\n                               class=\"form-control w-md\">\n                        <span class=\"help-block m-b-none\" ng-show='form.confirm_password.$error.validator'>密码不匹配</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">邮箱</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"email\" ng-model=\"user.email\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">电话</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.phone\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">手机</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.mobile\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>允许登录</label>\n                    <div class=\"col-sm-10\">\n                        <label class=\"radio-inline\" ng-repeat=\"item in yes_no\">\n                            <input type=\"radio\" name=\"enabled\" ng-model=\"user.enabled\" ng-value=\"item.key\"> {{item.value}}\n                        </label>\n                        <span class=\"help-block m-b-none\">“是”代表此账号允许登录，“否”则表示此账号不允许登录</span>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">用户角色</label>\n                    <div class=\"col-sm-10\">\n                        <label class=\"checkbox-inline\" ng-repeat=\"role in roles\">\n                            <input type=\"checkbox\" ng-value=\"role.id\" ng-model=\"role.checked\"\n                                   ng-change=\"selectedRoles()\"> {{role.remarks}}\n                        </label>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">备注</label>\n                    <div class=\"col-sm-10\">\n                        <textarea ng-model=\"user.remarks\" rows=\"6\" class=\"form-control\" ng-maxlength=\"255\"></textarea>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4 col-sm-offset-2\">\n                        <button type=\"button\" class=\"btn btn-default\" ng-disabled=\"form.$invalid\"\n                                ng-if=\"hasAuthority('sys:user:edit')\" ng-click=\"saveData()\">\n                            保存\n                        </button>\n                        <a class=\"btn btn-primary\" ui-sref=\"app.sys.user.list\">取消</a>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/user/user-info.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <form name=\"form\" class=\"form-horizontal form-validation\">\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\"><span class=\"text-danger wrapper-sm\">*</span>姓名</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.name\" class=\"form-control w-md\" ng-maxlength=\"100\" required>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">邮箱</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"email\" ng-model=\"user.email\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">电话</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.phone\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">手机</label>\n                    <div class=\"col-sm-10\">\n                        <input type=\"text\" ng-model=\"user.mobile\" class=\"form-control w-md\" ng-maxlength=\"200\">\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <label class=\"col-sm-2 control-label\">备注</label>\n                    <div class=\"col-sm-10\">\n                        <textarea ng-model=\"user.remarks\" rows=\"6\" class=\"form-control\" ng-maxlength=\"255\"></textarea>\n                    </div>\n                </div>\n                <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                <div class=\"form-group\">\n                    <div class=\"col-sm-4 col-sm-offset-2\">\n                        <button type=\"button\" class=\"btn btn-default\" ng-disabled=\"form.$invalid\" ng-click=\"saveData()\">\n                            保存\n                        </button>\n                    </div>\n                </div>\n            </form>\n        </div>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/sys/user/user-list.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"row wrapper\">\n            <div class=\"col-sm-10 m-b-xs\">\n                <form class=\"form-inline\" role=\"form\">\n                    <div class=\"form-group m-r-xs\">\n                        <input class=\"form-control input-sm\" placeholder=\"登录名\" ng-model=\"params.loginName\">\n                    </div>\n                    <div class=\"form-group\">\n                        <input class=\"form-control input-sm\" placeholder=\"姓名\" ng-model=\"params.name\">\n                    </div>\n                    <button type=\"submit\" class=\"btn btn-sm btn-default\" ng-click=\"search()\">搜索</button>\n                </form>\n            </div>\n            <div class=\"col-sm-2\">\n                <button ui-sref=\"app.sys.user.form\" class=\"btn btn-sm btn-default pull-right m-r-md\"\n                        ng-if=\"hasAuthority('sys:user:edit')\">新建\n                </button>\n            </div>\n        </div>\n\n        <div class=\"table-responsive\">\n            <table class=\"table table-striped table-bordered table-condensed text-nowrap\">\n                <thead>\n                <tr class=\"b-t b-light\">\n                    <th ui-order-column=\"a.login_name\">登录名</th>\n                    <th ui-order-column=\"a.name\">姓名</th>\n                    <th>邮箱</th>\n                    <th>电话</th>\n                    <th>手机</th>\n                    <th class=\"text-center\">可用</th>\n                    <th>操作</th>\n                </tr>\n                </thead>\n                <tbody>\n                <tr ng-repeat=\"item in pageInfo.list\">\n                    <td>{{item.loginName}}</td>\n                    <td>{{item.name}}</td>\n                    <td>{{item.email}}</td>\n                    <td>{{item.phone}}</td>\n                    <td>{{item.mobile}}</td>\n                    <td class=\"text-center\">\n                        {{item.enabled | dict: 'YES_NO' }}\n                    </td>\n                    <td>\n                        <button ui-sref=\"app.sys.user.form({id: item.id})\" class=\"btn btn-default btn-sm\">详情</button>\n                        <button ng-click=\"delete(item.id)\" class=\"btn btn-default btn-sm\"\n                                ng-if=\"hasAuthority('sys:user:edit')\">删除\n                        </button>\n                    </td>\n                </tr>\n                </tbody>\n            </table>\n        </div>\n\n        <!-- 底部分页 -->\n        <span data-ng-include=\" 'tpl/blocks/pagination.html' \"></span>\n    </div>\n</div>"
  },
  {
    "path": "src/tpl/custom/trip/user/user-form.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li><a ui-sref=\"app.trip.user.list\">用户信息</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"panel-body\">\n            <div class=\"panel-heading\">\n                <div class=\"clearfix\">\n                    <a href class=\"pull-left thumb-lg avatar b-3x m-r m-l-xxl\">\n                        <img ng-src=\"{{data.photo || 'img/a0.jpg'}}\">\n                    </a>\n                    <div class=\"clear\">\n                        <div class=\"h2 m-t-md m-b-xs\">\n                            {{data.nickname}}&nbsp;\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"panel-body\">\n                <form name=\"form\" class=\"form-horizontal form-validation\">\n                    <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\">手机号</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.mobile}}</p>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\">性别</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.gender | dict : 'GENDER'}}</p>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\">年龄</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.age}}</p>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\">注册时间</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.createDate | date : 'yyyy-MM-dd H:mm:ss'}}</p>\n                        </div>\n                    </div>\n                    <div class=\"form-group\">\n                        <label class=\"col-sm-2 control-label\">可用</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.enabled | dict : 'YES_NO'}}</p>\n                        </div>\n                    </div>\n                    <div class=\"form-group\" ng-if=\"!data.enabled\">\n                        <label class=\"col-sm-2 control-label\">备注</label>\n                        <div class=\"col-sm-10\">\n                            <p class=\"form-control-static\">{{data.remarks}}</p>\n                        </div>\n                    </div>\n                    <div class=\"line line-dashed b-b line-lg pull-in\"></div>\n                    <div class=\"form-group\">\n                        <div class=\"col-sm-4 col-sm-offset-2\">\n                            <a class=\"btn btn-primary\" ui-sref=\"app.trip.user.list\">取消</a>\n                        </div>\n                    </div>\n                </form>\n            </div>\n        </div>\n    </div>\n</div>\n</div>"
  },
  {
    "path": "src/tpl/custom/trip/user/user-list.html",
    "content": "<!-- 导航条 -->\n<div class=\"bg-white bread-crumb\">\n    <ul class=\"breadcrumb b-a m-b-n-xs lter b-b wrapper-md\">\n        <li><a ui-sref=\"app.dashboard\"><i class=\"fa fa-home\"></i> 首页</a></li>\n        <li class=\"active\" ng-bind=\"title\"></li>\n        <button class=\"btn btn-sm btn-icon btn-default pull-right\" ng-click=\"$state.reload()\"><i\n                class=\"icon icon-refresh\"></i></button>\n    </ul>\n\n</div>\n<div class=\"wrapper-md\">\n    <div class=\"panel panel-default\">\n        <div class=\"row wrapper\">\n            <div class=\"col-sm-12 m-b-xs\">\n                <form class=\"form-inline\" role=\"form\">\n                    <div class=\"form-group m-r-xs\">\n                        <select ng-model=\"params.gender\" ng-options=\"m.key as m.value for m in gender\"\n                                class=\"form-control input-sm\">\n                            <option value=\"\">性别</option>\n                        </select>\n                    </div>\n                    <div class=\"form-group m-r-xs\">\n                        <div class=\"input-group\">\n                            <input type=\"text\" class=\"form-control input-sm\"\n                                   uib-datepicker-popup=\"yyyy-MM-dd\"\n                                   ng-model=\"params.beginTime\"\n                                   is-open=\"beginOpened\"\n                                   placeholder=\"开始日期\"\n                                   readonly\n                                   ng-click=\"beginOpened = true\"\n                            />\n                            <span class=\"input-group-btn\">\n                                <button type=\"button\" class=\"btn btn-sm btn-default\"\n                                        ng-click=\"$event.preventDefault();$event.stopPropagation();beginOpened = true\">\n                                    <i class=\"glyphicon glyphicon-calendar\"></i>\n                                </button>\n                            </span>\n                        </div>\n                    </div>\n                    <div class=\"form-group m-r-xs\">\n                        <div class=\"input-group\">\n                            <input type=\"text\" class=\"form-control input-sm\"\n                                   uib-datepicker-popup=\"yyyy-MM-dd\"\n                                   ng-model=\"params.endTime\"\n                                   is-open=\"endOpened\"\n                                   placeholder=\"结束日期\"\n                                   readonly\n                                   ng-click=\"endOpened = true\"\n                            />\n                            <span class=\"input-group-btn\">\n                                <button type=\"button\" class=\"btn btn-sm btn-default\"\n                                        ng-click=\"$event.preventDefault();$event.stopPropagation();endOpened = true\">\n                                    <i class=\"glyphicon glyphicon-calendar\"></i>\n                                </button>\n                            </span>\n                        </div>\n                    </div>\n                    <div class=\"form-group m-r-xs\">\n                        <input class=\"form-control input-sm\" placeholder=\"手机号、昵称\" ng-model=\"params.search\">\n                    </div>\n                    <button type=\"submit\" class=\"btn btn-sm btn-default\" ng-click=\"search()\">搜索</button>\n                </form>\n            </div>\n        </div>\n\n        <div class=\"table-responsive\">\n            <table class=\"table table-striped table-bordered table-condensed text-nowrap\">\n                <thead>\n                <tr class=\"b-t b-light\">\n                    <th ui-order-column=\"a.mobile\">手机号</th>\n                    <th>昵称</th>\n                    <th class=\"text-center\">性别</th>\n                    <th>年龄</th>\n                    <th>注册时间</th>\n                    <th class=\"text-center\">可用</th>\n                    <th>操作</th>\n                </tr>\n                </thead>\n                <tbody>\n                <tr ng-repeat=\"item in pageInfo.list\">\n                    <td>{{item.mobile}}</td>\n                    <td>{{item.nickname}}</td>\n                    <td class=\"text-center\">{{item.gender | dict : 'GENDER'}}</td>\n                    <td>{{item.age}}</td>\n                    <td>{{item.createDate | date : 'yyyy-MM-dd H:mm:ss'}}</td>\n                    <td class=\"text-center\">{{item.enabled | dict : 'YES_NO'}}</td>\n                    <td>\n                        <button ui-sref=\"app.trip.user.form({id: item.id})\" class=\"btn btn-default btn-sm\">详情\n                        </button>\n                    </td>\n                </tr>\n                </tbody>\n            </table>\n        </div>\n\n        <!-- 底部分页 -->\n        <span data-ng-include=\" 'tpl/blocks/pagination.html' \"></span>\n    </div>\n</div>"
  },
  {
    "path": "src/vendor/jquery/bootstrap.js",
    "content": "/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under the MIT license\n */\n\nif (typeof jQuery === 'undefined') {\n  throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n  'use strict';\n  var version = $.fn.jquery.split(' ')[0].split('.')\n  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\n  }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.3.7\n * http://getbootstrap.com/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\n  // ============================================================\n\n  function transitionEnd() {\n    var el = document.createElement('bootstrap')\n\n    var transEndEventNames = {\n      WebkitTransition : 'webkitTransitionEnd',\n      MozTransition    : 'transitionend',\n      OTransition      : 'oTransitionEnd otransitionend',\n      transition       : 'transitionend'\n    }\n\n    for (var name in transEndEventNames) {\n      if (el.style[name] !== undefined) {\n        return { end: transEndEventNames[name] }\n      }\n    }\n\n    return false // explicit for ie8 (  ._.)\n  }\n\n  // http://blog.alexmaccaw.com/css-transitions\n  $.fn.emulateTransitionEnd = function (duration) {\n    var called = false\n    var $el = this\n    $(this).one('bsTransitionEnd', function () { called = true })\n    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n    setTimeout(callback, duration)\n    return this\n  }\n\n  $(function () {\n    $.support.transition = transitionEnd()\n\n    if (!$.support.transition) return\n\n    $.event.special.bsTransitionEnd = {\n      bindType: $.support.transition.end,\n      delegateType: $.support.transition.end,\n      handle: function (e) {\n        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n      }\n    }\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.3.7\n * http://getbootstrap.com/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // ALERT CLASS DEFINITION\n  // ======================\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n  var Alert   = function (el) {\n    $(el).on('click', dismiss, this.close)\n  }\n\n  Alert.VERSION = '3.3.7'\n\n  Alert.TRANSITION_DURATION = 150\n\n  Alert.prototype.close = function (e) {\n    var $this    = $(this)\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var $parent = $(selector === '#' ? [] : selector)\n\n    if (e) e.preventDefault()\n\n    if (!$parent.length) {\n      $parent = $this.closest('.alert')\n    }\n\n    $parent.trigger(e = $.Event('close.bs.alert'))\n\n    if (e.isDefaultPrevented()) return\n\n    $parent.removeClass('in')\n\n    function removeElement() {\n      // detach from parent, fire event then clean up data\n      $parent.detach().trigger('closed.bs.alert').remove()\n    }\n\n    $.support.transition && $parent.hasClass('fade') ?\n      $parent\n        .one('bsTransitionEnd', removeElement)\n        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\n      removeElement()\n  }\n\n\n  // ALERT PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.alert')\n\n      if (!data) $this.data('bs.alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.alert\n\n  $.fn.alert             = Plugin\n  $.fn.alert.Constructor = Alert\n\n\n  // ALERT NO CONFLICT\n  // =================\n\n  $.fn.alert.noConflict = function () {\n    $.fn.alert = old\n    return this\n  }\n\n\n  // ALERT DATA-API\n  // ==============\n\n  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.3.7\n * http://getbootstrap.com/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // BUTTON PUBLIC CLASS DEFINITION\n  // ==============================\n\n  var Button = function (element, options) {\n    this.$element  = $(element)\n    this.options   = $.extend({}, Button.DEFAULTS, options)\n    this.isLoading = false\n  }\n\n  Button.VERSION  = '3.3.7'\n\n  Button.DEFAULTS = {\n    loadingText: 'loading...'\n  }\n\n  Button.prototype.setState = function (state) {\n    var d    = 'disabled'\n    var $el  = this.$element\n    var val  = $el.is('input') ? 'val' : 'html'\n    var data = $el.data()\n\n    state += 'Text'\n\n    if (data.resetText == null) $el.data('resetText', $el[val]())\n\n    // push to event loop to allow forms to submit\n    setTimeout($.proxy(function () {\n      $el[val](data[state] == null ? this.options[state] : data[state])\n\n      if (state == 'loadingText') {\n        this.isLoading = true\n        $el.addClass(d).attr(d, d).prop(d, true)\n      } else if (this.isLoading) {\n        this.isLoading = false\n        $el.removeClass(d).removeAttr(d).prop(d, false)\n      }\n    }, this), 0)\n  }\n\n  Button.prototype.toggle = function () {\n    var changed = true\n    var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n    if ($parent.length) {\n      var $input = this.$element.find('input')\n      if ($input.prop('type') == 'radio') {\n        if ($input.prop('checked')) changed = false\n        $parent.find('.active').removeClass('active')\n        this.$element.addClass('active')\n      } else if ($input.prop('type') == 'checkbox') {\n        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\n        this.$element.toggleClass('active')\n      }\n      $input.prop('checked', this.$element.hasClass('active'))\n      if (changed) $input.trigger('change')\n    } else {\n      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\n      this.$element.toggleClass('active')\n    }\n  }\n\n\n  // BUTTON PLUGIN DEFINITION\n  // ========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.button')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  var old = $.fn.button\n\n  $.fn.button             = Plugin\n  $.fn.button.Constructor = Button\n\n\n  // BUTTON NO CONFLICT\n  // ==================\n\n  $.fn.button.noConflict = function () {\n    $.fn.button = old\n    return this\n  }\n\n\n  // BUTTON DATA-API\n  // ===============\n\n  $(document)\n    .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      var $btn = $(e.target).closest('.btn')\n      Plugin.call($btn, 'toggle')\n      if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\n        // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\n        e.preventDefault()\n        // The target component still receive the focus\n        if ($btn.is('input,button')) $btn.trigger('focus')\n        else $btn.find('input:visible,button:visible').first().trigger('focus')\n      }\n    })\n    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\n    })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.3.7\n * http://getbootstrap.com/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CAROUSEL CLASS DEFINITION\n  // =========================\n\n  var Carousel = function (element, options) {\n    this.$element    = $(element)\n    this.$indicators = this.$element.find('.carousel-indicators')\n    this.options     = options\n    this.paused      = null\n    this.sliding     = null\n    this.interval    = null\n    this.$active     = null\n    this.$items      = null\n\n    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\n\n    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\n      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n  }\n\n  Carousel.VERSION  = '3.3.7'\n\n  Carousel.TRANSITION_DURATION = 600\n\n  Carousel.DEFAULTS = {\n    interval: 5000,\n    pause: 'hover',\n    wrap: true,\n    keyboard: true\n  }\n\n  Carousel.prototype.keydown = function (e) {\n    if (/input|textarea/i.test(e.target.tagName)) return\n    switch (e.which) {\n      case 37: this.prev(); break\n      case 39: this.next(); break\n      default: return\n    }\n\n    e.preventDefault()\n  }\n\n  Carousel.prototype.cycle = function (e) {\n    e || (this.paused = false)\n\n    this.interval && clearInterval(this.interval)\n\n    this.options.interval\n      && !this.paused\n      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n    return this\n  }\n\n  Carousel.prototype.getItemIndex = function (item) {\n    this.$items = item.parent().children('.item')\n    return this.$items.index(item || this.$active)\n  }\n\n  Carousel.prototype.getItemForDirection = function (direction, active) {\n    var activeIndex = this.getItemIndex(active)\n    var willWrap = (direction == 'prev' && activeIndex === 0)\n                || (direction == 'next' && activeIndex == (this.$items.length - 1))\n    if (willWrap && !this.options.wrap) return active\n    var delta = direction == 'prev' ? -1 : 1\n    var itemIndex = (activeIndex + delta) % this.$items.length\n    return this.$items.eq(itemIndex)\n  }\n\n  Carousel.prototype.to = function (pos) {\n    var that        = this\n    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n    if (pos > (this.$items.length - 1) || pos < 0) return\n\n    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n    if (activeIndex == pos) return this.pause().cycle()\n\n    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\n  }\n\n  Carousel.prototype.pause = function (e) {\n    e || (this.paused = true)\n\n    if (this.$element.find('.next, .prev').length && $.support.transition) {\n      this.$element.trigger($.support.transition.end)\n      this.cycle(true)\n    }\n\n    this.interval = clearInterval(this.interval)\n\n    return this\n  }\n\n  Carousel.prototype.next = function () {\n    if (this.sliding) return\n    return this.slide('next')\n  }\n\n  Carousel.prototype.prev = function () {\n    if (this.sliding) return\n    return this.slide('prev')\n  }\n\n  Carousel.prototype.slide = function (type, next) {\n    var $active   = this.$element.find('.item.active')\n    var $next     = next || this.getItemForDirection(type, $active)\n    var isCycling = this.interval\n    var direction = type == 'next' ? 'left' : 'right'\n    var that      = this\n\n    if ($next.hasClass('active')) return (this.sliding = false)\n\n    var relatedTarget = $next[0]\n    var slideEvent = $.Event('slide.bs.carousel', {\n      relatedTarget: relatedTarget,\n      direction: direction\n    })\n    this.$element.trigger(slideEvent)\n    if (slideEvent.isDefaultPrevented()) return\n\n    this.sliding = true\n\n    isCycling && this.pause()\n\n    if (this.$indicators.length) {\n      this.$indicators.find('.active').removeClass('active')\n      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n      $nextIndicator && $nextIndicator.addClass('active')\n    }\n\n    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n    if ($.support.transition && this.$element.hasClass('slide')) {\n      $next.addClass(type)\n      $next[0].offsetWidth // force reflow\n      $active.addClass(direction)\n      $next.addClass(direction)\n      $active\n        .one('bsTransitionEnd', function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () {\n            that.$element.trigger(slidEvent)\n          }, 0)\n        })\n        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\n    } else {\n      $active.removeClass('active')\n      $next.addClass('active')\n      this.sliding = false\n      this.$element.trigger(slidEvent)\n    }\n\n    isCycling && this.cycle()\n\n    return this\n  }\n\n\n  // CAROUSEL PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.carousel')\n      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n      var action  = typeof option == 'string' ? option : options.slide\n\n      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (action) data[action]()\n      else if (options.interval) data.pause().cycle()\n    })\n  }\n\n  var old = $.fn.carousel\n\n  $.fn.carousel             = Plugin\n  $.fn.carousel.Constructor = Carousel\n\n\n  // CAROUSEL NO CONFLICT\n  // ====================\n\n  $.fn.carousel.noConflict = function () {\n    $.fn.carousel = old\n    return this\n  }\n\n\n  // CAROUSEL DATA-API\n  // =================\n\n  var clickHandler = function (e) {\n    var href\n    var $this   = $(this)\n    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n    if (!$target.hasClass('carousel')) return\n    var options = $.extend({}, $target.data(), $this.data())\n    var slideIndex = $this.attr('data-slide-to')\n    if (slideIndex) options.interval = false\n\n    Plugin.call($target, options)\n\n    if (slideIndex) {\n      $target.data('bs.carousel').to(slideIndex)\n    }\n\n    e.preventDefault()\n  }\n\n  $(document)\n    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\n    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\n\n  $(window).on('load', function () {\n    $('[data-ride=\"carousel\"]').each(function () {\n      var $carousel = $(this)\n      Plugin.call($carousel, $carousel.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.3.7\n * http://getbootstrap.com/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n/* jshint latedef: false */\n\n+function ($) {\n  'use strict';\n\n  // COLLAPSE PUBLIC CLASS DEFINITION\n  // ================================\n\n  var Collapse = function (element, options) {\n    this.$element      = $(element)\n    this.options       = $.extend({}, Collapse.DEFAULTS, options)\n    this.$trigger      = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\n                           '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\n    this.transitioning = null\n\n    if (this.options.parent) {\n      this.$parent = this.getParent()\n    } else {\n      this.addAriaAndCollapsedClass(this.$element, this.$trigger)\n    }\n\n    if (this.options.toggle) this.toggle()\n  }\n\n  Collapse.VERSION  = '3.3.7'\n\n  Collapse.TRANSITION_DURATION = 350\n\n  Collapse.DEFAULTS = {\n    toggle: true\n  }\n\n  Collapse.prototype.dimension = function () {\n    var hasWidth = this.$element.hasClass('width')\n    return hasWidth ? 'width' : 'height'\n  }\n\n  Collapse.prototype.show = function () {\n    if (this.transitioning || this.$element.hasClass('in')) return\n\n    var activesData\n    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\n\n    if (actives && actives.length) {\n      activesData = actives.data('bs.collapse')\n      if (activesData && activesData.transitioning) return\n    }\n\n    var startEvent = $.Event('show.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    if (actives && actives.length) {\n      Plugin.call(actives, 'hide')\n      activesData || actives.data('bs.collapse', null)\n    }\n\n    var dimension = this.dimension()\n\n    this.$element\n      .removeClass('collapse')\n      .addClass('collapsing')[dimension](0)\n      .attr('aria-expanded', true)\n\n    this.$trigger\n      .removeClass('collapsed')\n      .attr('aria-expanded', true)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse in')[dimension]('')\n      this.transitioning = 0\n      this.$element\n        .trigger('shown.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n    this.$element\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\n  }\n\n  Collapse.prototype.hide = function () {\n    if (this.transitioning || !this.$element.hasClass('in')) return\n\n    var startEvent = $.Event('hide.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    var dimension = this.dimension()\n\n    this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n    this.$element\n      .addClass('collapsing')\n      .removeClass('collapse in')\n      .attr('aria-expanded', false)\n\n    this.$trigger\n      .addClass('collapsed')\n      .attr('aria-expanded', false)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.transitioning = 0\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse')\n        .trigger('hidden.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    this.$element\n      [dimension](0)\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\n  }\n\n  Collapse.prototype.toggle = function () {\n    this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  }\n\n  Collapse.prototype.getParent = function () {\n    return $(this.options.parent)\n      .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\n      .each($.proxy(function (i, element) {\n        var $element = $(element)\n        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\n      }, this))\n      .end()\n  }\n\n  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\n    var isOpen = $element.hasClass('in')\n\n    $element.attr('aria-expanded', isOpen)\n    $trigger\n      .toggleClass('collapsed', !isOpen)\n      .attr('aria-expanded', isOpen)\n  }\n\n  function getTargetFromTrigger($trigger) {\n    var href\n    var target = $trigger.attr('data-target')\n      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n\n    return $(target)\n  }\n\n\n  // COLLAPSE PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.collapse')\n      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\n      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.collapse\n\n  $.fn.collapse             = Plugin\n  $.fn.collapse.Constructor = Collapse\n\n\n  // COLLAPSE NO CONFLICT\n  // ====================\n\n  $.fn.collapse.noConflict = function () {\n    $.fn.collapse = old\n    return this\n  }\n\n\n  // COLLAPSE DATA-API\n  // =================\n\n  $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n    var $this   = $(this)\n\n    if (!$this.attr('data-target')) e.preventDefault()\n\n    var $target = getTargetFromTrigger($this)\n    var data    = $target.data('bs.collapse')\n    var option  = data ? 'toggle' : $this.data()\n\n    Plugin.call($target, option)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.3.7\n * http://getbootstrap.com/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // DROPDOWN CLASS DEFINITION\n  // =========================\n\n  var backdrop = '.dropdown-backdrop'\n  var toggle   = '[data-toggle=\"dropdown\"]'\n  var Dropdown = function (element) {\n    $(element).on('click.bs.dropdown', this.toggle)\n  }\n\n  Dropdown.VERSION = '3.3.7'\n\n  function getParent($this) {\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var $parent = selector && $(selector)\n\n    return $parent && $parent.length ? $parent : $this.parent()\n  }\n\n  function clearMenus(e) {\n    if (e && e.which === 3) return\n    $(backdrop).remove()\n    $(toggle).each(function () {\n      var $this         = $(this)\n      var $parent       = getParent($this)\n      var relatedTarget = { relatedTarget: this }\n\n      if (!$parent.hasClass('open')) return\n\n      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\n\n      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this.attr('aria-expanded', 'false')\n      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\n    })\n  }\n\n  Dropdown.prototype.toggle = function (e) {\n    var $this = $(this)\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    clearMenus()\n\n    if (!isActive) {\n      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n        // if mobile we use a backdrop because click events don't delegate\n        $(document.createElement('div'))\n          .addClass('dropdown-backdrop')\n          .insertAfter($(this))\n          .on('click', clearMenus)\n      }\n\n      var relatedTarget = { relatedTarget: this }\n      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this\n        .trigger('focus')\n        .attr('aria-expanded', 'true')\n\n      $parent\n        .toggleClass('open')\n        .trigger($.Event('shown.bs.dropdown', relatedTarget))\n    }\n\n    return false\n  }\n\n  Dropdown.prototype.keydown = function (e) {\n    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\n\n    var $this = $(this)\n\n    e.preventDefault()\n    e.stopPropagation()\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    if (!isActive && e.which != 27 || isActive && e.which == 27) {\n      if (e.which == 27) $parent.find(toggle).trigger('focus')\n      return $this.trigger('click')\n    }\n\n    var desc = ' li:not(.disabled):visible a'\n    var $items = $parent.find('.dropdown-menu' + desc)\n\n    if (!$items.length) return\n\n    var index = $items.index(e.target)\n\n    if (e.which == 38 && index > 0)                 index--         // up\n    if (e.which == 40 && index < $items.length - 1) index++         // down\n    if (!~index)                                    index = 0\n\n    $items.eq(index).trigger('focus')\n  }\n\n\n  // DROPDOWN PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.dropdown')\n\n      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.dropdown\n\n  $.fn.dropdown             = Plugin\n  $.fn.dropdown.Constructor = Dropdown\n\n\n  // DROPDOWN NO CONFLICT\n  // ====================\n\n  $.fn.dropdown.noConflict = function () {\n    $.fn.dropdown = old\n    return this\n  }\n\n\n  // APPLY TO STANDARD DROPDOWN ELEMENTS\n  // ===================================\n\n  $(document)\n    .on('click.bs.dropdown.data-api', clearMenus)\n    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\n    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.3.7\n * http://getbootstrap.com/javascript/#modals\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // MODAL CLASS DEFINITION\n  // ======================\n\n  var Modal = function (element, options) {\n    this.options             = options\n    this.$body               = $(document.body)\n    this.$element            = $(element)\n    this.$dialog             = this.$element.find('.modal-dialog')\n    this.$backdrop           = null\n    this.isShown             = null\n    this.originalBodyPad     = null\n    this.scrollbarWidth      = 0\n    this.ignoreBackdropClick = false\n\n    if (this.options.remote) {\n      this.$element\n        .find('.modal-content')\n        .load(this.options.remote, $.proxy(function () {\n          this.$element.trigger('loaded.bs.modal')\n        }, this))\n    }\n  }\n\n  Modal.VERSION  = '3.3.7'\n\n  Modal.TRANSITION_DURATION = 300\n  Modal.BACKDROP_TRANSITION_DURATION = 150\n\n  Modal.DEFAULTS = {\n    backdrop: true,\n    keyboard: true,\n    show: true\n  }\n\n  Modal.prototype.toggle = function (_relatedTarget) {\n    return this.isShown ? this.hide() : this.show(_relatedTarget)\n  }\n\n  Modal.prototype.show = function (_relatedTarget) {\n    var that = this\n    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n    this.$element.trigger(e)\n\n    if (this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = true\n\n    this.checkScrollbar()\n    this.setScrollbar()\n    this.$body.addClass('modal-open')\n\n    this.escape()\n    this.resize()\n\n    this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n    this.$dialog.on('mousedown.dismiss.bs.modal', function () {\n      that.$element.one('mouseup.dismiss.bs.modal', function (e) {\n        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\n      })\n    })\n\n    this.backdrop(function () {\n      var transition = $.support.transition && that.$element.hasClass('fade')\n\n      if (!that.$element.parent().length) {\n        that.$element.appendTo(that.$body) // don't move modals dom position\n      }\n\n      that.$element\n        .show()\n        .scrollTop(0)\n\n      that.adjustDialog()\n\n      if (transition) {\n        that.$element[0].offsetWidth // force reflow\n      }\n\n      that.$element.addClass('in')\n\n      that.enforceFocus()\n\n      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n      transition ?\n        that.$dialog // wait for modal to slide in\n          .one('bsTransitionEnd', function () {\n            that.$element.trigger('focus').trigger(e)\n          })\n          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n        that.$element.trigger('focus').trigger(e)\n    })\n  }\n\n  Modal.prototype.hide = function (e) {\n    if (e) e.preventDefault()\n\n    e = $.Event('hide.bs.modal')\n\n    this.$element.trigger(e)\n\n    if (!this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = false\n\n    this.escape()\n    this.resize()\n\n    $(document).off('focusin.bs.modal')\n\n    this.$element\n      .removeClass('in')\n      .off('click.dismiss.bs.modal')\n      .off('mouseup.dismiss.bs.modal')\n\n    this.$dialog.off('mousedown.dismiss.bs.modal')\n\n    $.support.transition && this.$element.hasClass('fade') ?\n      this.$element\n        .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n      this.hideModal()\n  }\n\n  Modal.prototype.enforceFocus = function () {\n    $(document)\n      .off('focusin.bs.modal') // guard against infinite focus loop\n      .on('focusin.bs.modal', $.proxy(function (e) {\n        if (document !== e.target &&\n            this.$element[0] !== e.target &&\n            !this.$element.has(e.target).length) {\n          this.$element.trigger('focus')\n        }\n      }, this))\n  }\n\n  Modal.prototype.escape = function () {\n    if (this.isShown && this.options.keyboard) {\n      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\n        e.which == 27 && this.hide()\n      }, this))\n    } else if (!this.isShown) {\n      this.$element.off('keydown.dismiss.bs.modal')\n    }\n  }\n\n  Modal.prototype.resize = function () {\n    if (this.isShown) {\n      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\n    } else {\n      $(window).off('resize.bs.modal')\n    }\n  }\n\n  Modal.prototype.hideModal = function () {\n    var that = this\n    this.$element.hide()\n    this.backdrop(function () {\n      that.$body.removeClass('modal-open')\n      that.resetAdjustments()\n      that.resetScrollbar()\n      that.$element.trigger('hidden.bs.modal')\n    })\n  }\n\n  Modal.prototype.removeBackdrop = function () {\n    this.$backdrop && this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  Modal.prototype.backdrop = function (callback) {\n    var that = this\n    var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown && this.options.backdrop) {\n      var doAnimate = $.support.transition && animate\n\n      this.$backdrop = $(document.createElement('div'))\n        .addClass('modal-backdrop ' + animate)\n        .appendTo(this.$body)\n\n      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n        if (this.ignoreBackdropClick) {\n          this.ignoreBackdropClick = false\n          return\n        }\n        if (e.target !== e.currentTarget) return\n        this.options.backdrop == 'static'\n          ? this.$element[0].focus()\n          : this.hide()\n      }, this))\n\n      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n      this.$backdrop.addClass('in')\n\n      if (!callback) return\n\n      doAnimate ?\n        this.$backdrop\n          .one('bsTransitionEnd', callback)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callback()\n\n    } else if (!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n      var callbackRemove = function () {\n        that.removeBackdrop()\n        callback && callback()\n      }\n      $.support.transition && this.$element.hasClass('fade') ?\n        this.$backdrop\n          .one('bsTransitionEnd', callbackRemove)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callbackRemove()\n\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // these following methods are used to handle overflowing modals\n\n  Modal.prototype.handleUpdate = function () {\n    this.adjustDialog()\n  }\n\n  Modal.prototype.adjustDialog = function () {\n    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\n\n    this.$element.css({\n      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\n      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n    })\n  }\n\n  Modal.prototype.resetAdjustments = function () {\n    this.$element.css({\n      paddingLeft: '',\n      paddingRight: ''\n    })\n  }\n\n  Modal.prototype.checkScrollbar = function () {\n    var fullWindowWidth = window.innerWidth\n    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\n      var documentElementRect = document.documentElement.getBoundingClientRect()\n      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\n    }\n    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\n    this.scrollbarWidth = this.measureScrollbar()\n  }\n\n  Modal.prototype.setScrollbar = function () {\n    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n    this.originalBodyPad = document.body.style.paddingRight || ''\n    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\n  }\n\n  Modal.prototype.resetScrollbar = function () {\n    this.$body.css('padding-right', this.originalBodyPad)\n  }\n\n  Modal.prototype.measureScrollbar = function () { // thx walsh\n    var scrollDiv = document.createElement('div')\n    scrollDiv.className = 'modal-scrollbar-measure'\n    this.$body.append(scrollDiv)\n    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n    this.$body[0].removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n\n  // MODAL PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option, _relatedTarget) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.modal')\n      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option](_relatedTarget)\n      else if (options.show) data.show(_relatedTarget)\n    })\n  }\n\n  var old = $.fn.modal\n\n  $.fn.modal             = Plugin\n  $.fn.modal.Constructor = Modal\n\n\n  // MODAL NO CONFLICT\n  // =================\n\n  $.fn.modal.noConflict = function () {\n    $.fn.modal = old\n    return this\n  }\n\n\n  // MODAL DATA-API\n  // ==============\n\n  $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n    var $this   = $(this)\n    var href    = $this.attr('href')\n    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n    if ($this.is('a')) e.preventDefault()\n\n    $target.one('show.bs.modal', function (showEvent) {\n      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n      $target.one('hidden.bs.modal', function () {\n        $this.is(':visible') && $this.trigger('focus')\n      })\n    })\n    Plugin.call($target, option, this)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.3.7\n * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // TOOLTIP PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Tooltip = function (element, options) {\n    this.type       = null\n    this.options    = null\n    this.enabled    = null\n    this.timeout    = null\n    this.hoverState = null\n    this.$element   = null\n    this.inState    = null\n\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.VERSION  = '3.3.7'\n\n  Tooltip.TRANSITION_DURATION = 150\n\n  Tooltip.DEFAULTS = {\n    animation: true,\n    placement: 'top',\n    selector: false,\n    template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n    trigger: 'hover focus',\n    title: '',\n    delay: 0,\n    html: false,\n    container: false,\n    viewport: {\n      selector: 'body',\n      padding: 0\n    }\n  }\n\n  Tooltip.prototype.init = function (type, element, options) {\n    this.enabled   = true\n    this.type      = type\n    this.$element  = $(element)\n    this.options   = this.getOptions(options)\n    this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\n    this.inState   = { click: false, hover: false, focus: false }\n\n    if (this.$element[0] instanceof document.constructor && !this.options.selector) {\n      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\n    }\n\n    var triggers = this.options.trigger.split(' ')\n\n    for (var i = triggers.length; i--;) {\n      var trigger = triggers[i]\n\n      if (trigger == 'click') {\n        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n      } else if (trigger != 'manual') {\n        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'\n        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n      }\n    }\n\n    this.options.selector ?\n      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n      this.fixTitle()\n  }\n\n  Tooltip.prototype.getDefaults = function () {\n    return Tooltip.DEFAULTS\n  }\n\n  Tooltip.prototype.getOptions = function (options) {\n    options = $.extend({}, this.getDefaults(), this.$element.data(), options)\n\n    if (options.delay && typeof options.delay == 'number') {\n      options.delay = {\n        show: options.delay,\n        hide: options.delay\n      }\n    }\n\n    return options\n  }\n\n  Tooltip.prototype.getDelegateOptions = function () {\n    var options  = {}\n    var defaults = this.getDefaults()\n\n    this._options && $.each(this._options, function (key, value) {\n      if (defaults[key] != value) options[key] = value\n    })\n\n    return options\n  }\n\n  Tooltip.prototype.enter = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\n    }\n\n    if (self.tip().hasClass('in') || self.hoverState == 'in') {\n      self.hoverState = 'in'\n      return\n    }\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'in'\n\n    if (!self.options.delay || !self.options.delay.show) return self.show()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'in') self.show()\n    }, self.options.delay.show)\n  }\n\n  Tooltip.prototype.isInStateTrue = function () {\n    for (var key in this.inState) {\n      if (this.inState[key]) return true\n    }\n\n    return false\n  }\n\n  Tooltip.prototype.leave = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\n    }\n\n    if (self.isInStateTrue()) return\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'out'\n\n    if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'out') self.hide()\n    }, self.options.delay.hide)\n  }\n\n  Tooltip.prototype.show = function () {\n    var e = $.Event('show.bs.' + this.type)\n\n    if (this.hasContent() && this.enabled) {\n      this.$element.trigger(e)\n\n      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\n      if (e.isDefaultPrevented() || !inDom) return\n      var that = this\n\n      var $tip = this.tip()\n\n      var tipId = this.getUID(this.type)\n\n      this.setContent()\n      $tip.attr('id', tipId)\n      this.$element.attr('aria-describedby', tipId)\n\n      if (this.options.animation) $tip.addClass('fade')\n\n      var placement = typeof this.options.placement == 'function' ?\n        this.options.placement.call(this, $tip[0], this.$element[0]) :\n        this.options.placement\n\n      var autoToken = /\\s?auto?\\s?/i\n      var autoPlace = autoToken.test(placement)\n      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n      $tip\n        .detach()\n        .css({ top: 0, left: 0, display: 'block' })\n        .addClass(placement)\n        .data('bs.' + this.type, this)\n\n      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n      this.$element.trigger('inserted.bs.' + this.type)\n\n      var pos          = this.getPosition()\n      var actualWidth  = $tip[0].offsetWidth\n      var actualHeight = $tip[0].offsetHeight\n\n      if (autoPlace) {\n        var orgPlacement = placement\n        var viewportDim = this.getPosition(this.$viewport)\n\n        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :\n                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :\n                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :\n                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :\n                    placement\n\n        $tip\n          .removeClass(orgPlacement)\n          .addClass(placement)\n      }\n\n      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n      this.applyPlacement(calculatedOffset, placement)\n\n      var complete = function () {\n        var prevHoverState = that.hoverState\n        that.$element.trigger('shown.bs.' + that.type)\n        that.hoverState = null\n\n        if (prevHoverState == 'out') that.leave(that)\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        $tip\n          .one('bsTransitionEnd', complete)\n          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n        complete()\n    }\n  }\n\n  Tooltip.prototype.applyPlacement = function (offset, placement) {\n    var $tip   = this.tip()\n    var width  = $tip[0].offsetWidth\n    var height = $tip[0].offsetHeight\n\n    // manually read margins because getBoundingClientRect includes difference\n    var marginTop = parseInt($tip.css('margin-top'), 10)\n    var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n    // we must check for NaN for ie 8/9\n    if (isNaN(marginTop))  marginTop  = 0\n    if (isNaN(marginLeft)) marginLeft = 0\n\n    offset.top  += marginTop\n    offset.left += marginLeft\n\n    // $.fn.offset doesn't round pixel values\n    // so we use setOffset directly with our own function B-0\n    $.offset.setOffset($tip[0], $.extend({\n      using: function (props) {\n        $tip.css({\n          top: Math.round(props.top),\n          left: Math.round(props.left)\n        })\n      }\n    }, offset), 0)\n\n    $tip.addClass('in')\n\n    // check to see if placing tip in new offset caused the tip to resize itself\n    var actualWidth  = $tip[0].offsetWidth\n    var actualHeight = $tip[0].offsetHeight\n\n    if (placement == 'top' && actualHeight != height) {\n      offset.top = offset.top + height - actualHeight\n    }\n\n    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n    if (delta.left) offset.left += delta.left\n    else offset.top += delta.top\n\n    var isVertical          = /top|bottom/.test(placement)\n    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\n\n    $tip.offset(offset)\n    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\n  }\n\n  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\n    this.arrow()\n      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\n      .css(isVertical ? 'top' : 'left', '')\n  }\n\n  Tooltip.prototype.setContent = function () {\n    var $tip  = this.tip()\n    var title = this.getTitle()\n\n    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\n    $tip.removeClass('fade in top bottom left right')\n  }\n\n  Tooltip.prototype.hide = function (callback) {\n    var that = this\n    var $tip = $(this.$tip)\n    var e    = $.Event('hide.bs.' + this.type)\n\n    function complete() {\n      if (that.hoverState != 'in') $tip.detach()\n      if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\n        that.$element\n          .removeAttr('aria-describedby')\n          .trigger('hidden.bs.' + that.type)\n      }\n      callback && callback()\n    }\n\n    this.$element.trigger(e)\n\n    if (e.isDefaultPrevented()) return\n\n    $tip.removeClass('in')\n\n    $.support.transition && $tip.hasClass('fade') ?\n      $tip\n        .one('bsTransitionEnd', complete)\n        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n      complete()\n\n    this.hoverState = null\n\n    return this\n  }\n\n  Tooltip.prototype.fixTitle = function () {\n    var $e = this.$element\n    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\n      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n    }\n  }\n\n  Tooltip.prototype.hasContent = function () {\n    return this.getTitle()\n  }\n\n  Tooltip.prototype.getPosition = function ($element) {\n    $element   = $element || this.$element\n\n    var el     = $element[0]\n    var isBody = el.tagName == 'BODY'\n\n    var elRect    = el.getBoundingClientRect()\n    if (elRect.width == null) {\n      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\n      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\n    }\n    var isSvg = window.SVGElement && el instanceof window.SVGElement\n    // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\n    // See https://github.com/twbs/bootstrap/issues/20280\n    var elOffset  = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\n    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\n    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\n\n    return $.extend({}, elRect, scroll, outerDims, elOffset)\n  }\n\n  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n  }\n\n  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n    var delta = { top: 0, left: 0 }\n    if (!this.$viewport) return delta\n\n    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n    var viewportDimensions = this.getPosition(this.$viewport)\n\n    if (/right|left/.test(placement)) {\n      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll\n      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n      if (topEdgeOffset < viewportDimensions.top) { // top overflow\n        delta.top = viewportDimensions.top - topEdgeOffset\n      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n      }\n    } else {\n      var leftEdgeOffset  = pos.left - viewportPadding\n      var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n      if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n        delta.left = viewportDimensions.left - leftEdgeOffset\n      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\n        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n      }\n    }\n\n    return delta\n  }\n\n  Tooltip.prototype.getTitle = function () {\n    var title\n    var $e = this.$element\n    var o  = this.options\n\n    title = $e.attr('data-original-title')\n      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n    return title\n  }\n\n  Tooltip.prototype.getUID = function (prefix) {\n    do prefix += ~~(Math.random() * 1000000)\n    while (document.getElementById(prefix))\n    return prefix\n  }\n\n  Tooltip.prototype.tip = function () {\n    if (!this.$tip) {\n      this.$tip = $(this.options.template)\n      if (this.$tip.length != 1) {\n        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\n      }\n    }\n    return this.$tip\n  }\n\n  Tooltip.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n  }\n\n  Tooltip.prototype.enable = function () {\n    this.enabled = true\n  }\n\n  Tooltip.prototype.disable = function () {\n    this.enabled = false\n  }\n\n  Tooltip.prototype.toggleEnabled = function () {\n    this.enabled = !this.enabled\n  }\n\n  Tooltip.prototype.toggle = function (e) {\n    var self = this\n    if (e) {\n      self = $(e.currentTarget).data('bs.' + this.type)\n      if (!self) {\n        self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n        $(e.currentTarget).data('bs.' + this.type, self)\n      }\n    }\n\n    if (e) {\n      self.inState.click = !self.inState.click\n      if (self.isInStateTrue()) self.enter(self)\n      else self.leave(self)\n    } else {\n      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n    }\n  }\n\n  Tooltip.prototype.destroy = function () {\n    var that = this\n    clearTimeout(this.timeout)\n    this.hide(function () {\n      that.$element.off('.' + that.type).removeData('bs.' + that.type)\n      if (that.$tip) {\n        that.$tip.detach()\n      }\n      that.$tip = null\n      that.$arrow = null\n      that.$viewport = null\n      that.$element = null\n    })\n  }\n\n\n  // TOOLTIP PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.tooltip')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tooltip\n\n  $.fn.tooltip             = Plugin\n  $.fn.tooltip.Constructor = Tooltip\n\n\n  // TOOLTIP NO CONFLICT\n  // ===================\n\n  $.fn.tooltip.noConflict = function () {\n    $.fn.tooltip = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.3.7\n * http://getbootstrap.com/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // POPOVER PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Popover = function (element, options) {\n    this.init('popover', element, options)\n  }\n\n  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n  Popover.VERSION  = '3.3.7'\n\n  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n    placement: 'right',\n    trigger: 'click',\n    content: '',\n    template: '<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n  })\n\n\n  // NOTE: POPOVER EXTENDS tooltip.js\n  // ================================\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n  Popover.prototype.constructor = Popover\n\n  Popover.prototype.getDefaults = function () {\n    return Popover.DEFAULTS\n  }\n\n  Popover.prototype.setContent = function () {\n    var $tip    = this.tip()\n    var title   = this.getTitle()\n    var content = this.getContent()\n\n    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\n    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events\n      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\n    ](content)\n\n    $tip.removeClass('fade top bottom left right in')\n\n    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n    // this manually by checking the contents.\n    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n  }\n\n  Popover.prototype.hasContent = function () {\n    return this.getTitle() || this.getContent()\n  }\n\n  Popover.prototype.getContent = function () {\n    var $e = this.$element\n    var o  = this.options\n\n    return $e.attr('data-content')\n      || (typeof o.content == 'function' ?\n            o.content.call($e[0]) :\n            o.content)\n  }\n\n  Popover.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n  }\n\n\n  // POPOVER PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.popover')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.popover\n\n  $.fn.popover             = Plugin\n  $.fn.popover.Constructor = Popover\n\n\n  // POPOVER NO CONFLICT\n  // ===================\n\n  $.fn.popover.noConflict = function () {\n    $.fn.popover = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.3.7\n * http://getbootstrap.com/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // SCROLLSPY CLASS DEFINITION\n  // ==========================\n\n  function ScrollSpy(element, options) {\n    this.$body          = $(document.body)\n    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\n    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)\n    this.selector       = (this.options.target || '') + ' .nav li > a'\n    this.offsets        = []\n    this.targets        = []\n    this.activeTarget   = null\n    this.scrollHeight   = 0\n\n    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.VERSION  = '3.3.7'\n\n  ScrollSpy.DEFAULTS = {\n    offset: 10\n  }\n\n  ScrollSpy.prototype.getScrollHeight = function () {\n    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n  }\n\n  ScrollSpy.prototype.refresh = function () {\n    var that          = this\n    var offsetMethod  = 'offset'\n    var offsetBase    = 0\n\n    this.offsets      = []\n    this.targets      = []\n    this.scrollHeight = this.getScrollHeight()\n\n    if (!$.isWindow(this.$scrollElement[0])) {\n      offsetMethod = 'position'\n      offsetBase   = this.$scrollElement.scrollTop()\n    }\n\n    this.$body\n      .find(this.selector)\n      .map(function () {\n        var $el   = $(this)\n        var href  = $el.data('target') || $el.attr('href')\n        var $href = /^#./.test(href) && $(href)\n\n        return ($href\n          && $href.length\n          && $href.is(':visible')\n          && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n      })\n      .sort(function (a, b) { return a[0] - b[0] })\n      .each(function () {\n        that.offsets.push(this[0])\n        that.targets.push(this[1])\n      })\n  }\n\n  ScrollSpy.prototype.process = function () {\n    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset\n    var scrollHeight = this.getScrollHeight()\n    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()\n    var offsets      = this.offsets\n    var targets      = this.targets\n    var activeTarget = this.activeTarget\n    var i\n\n    if (this.scrollHeight != scrollHeight) {\n      this.refresh()\n    }\n\n    if (scrollTop >= maxScroll) {\n      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n    }\n\n    if (activeTarget && scrollTop < offsets[0]) {\n      this.activeTarget = null\n      return this.clear()\n    }\n\n    for (i = offsets.length; i--;) {\n      activeTarget != targets[i]\n        && scrollTop >= offsets[i]\n        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\n        && this.activate(targets[i])\n    }\n  }\n\n  ScrollSpy.prototype.activate = function (target) {\n    this.activeTarget = target\n\n    this.clear()\n\n    var selector = this.selector +\n      '[data-target=\"' + target + '\"],' +\n      this.selector + '[href=\"' + target + '\"]'\n\n    var active = $(selector)\n      .parents('li')\n      .addClass('active')\n\n    if (active.parent('.dropdown-menu').length) {\n      active = active\n        .closest('li.dropdown')\n        .addClass('active')\n    }\n\n    active.trigger('activate.bs.scrollspy')\n  }\n\n  ScrollSpy.prototype.clear = function () {\n    $(this.selector)\n      .parentsUntil(this.options.target, '.active')\n      .removeClass('active')\n  }\n\n\n  // SCROLLSPY PLUGIN DEFINITION\n  // ===========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.scrollspy')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.scrollspy\n\n  $.fn.scrollspy             = Plugin\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n\n  // SCROLLSPY NO CONFLICT\n  // =====================\n\n  $.fn.scrollspy.noConflict = function () {\n    $.fn.scrollspy = old\n    return this\n  }\n\n\n  // SCROLLSPY DATA-API\n  // ==================\n\n  $(window).on('load.bs.scrollspy.data-api', function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      Plugin.call($spy, $spy.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.3.7\n * http://getbootstrap.com/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // TAB CLASS DEFINITION\n  // ====================\n\n  var Tab = function (element) {\n    // jscs:disable requireDollarBeforejQueryAssignment\n    this.element = $(element)\n    // jscs:enable requireDollarBeforejQueryAssignment\n  }\n\n  Tab.VERSION = '3.3.7'\n\n  Tab.TRANSITION_DURATION = 150\n\n  Tab.prototype.show = function () {\n    var $this    = this.element\n    var $ul      = $this.closest('ul:not(.dropdown-menu)')\n    var selector = $this.data('target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    if ($this.parent('li').hasClass('active')) return\n\n    var $previous = $ul.find('.active:last a')\n    var hideEvent = $.Event('hide.bs.tab', {\n      relatedTarget: $this[0]\n    })\n    var showEvent = $.Event('show.bs.tab', {\n      relatedTarget: $previous[0]\n    })\n\n    $previous.trigger(hideEvent)\n    $this.trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\n\n    var $target = $(selector)\n\n    this.activate($this.closest('li'), $ul)\n    this.activate($target, $target.parent(), function () {\n      $previous.trigger({\n        type: 'hidden.bs.tab',\n        relatedTarget: $this[0]\n      })\n      $this.trigger({\n        type: 'shown.bs.tab',\n        relatedTarget: $previous[0]\n      })\n    })\n  }\n\n  Tab.prototype.activate = function (element, container, callback) {\n    var $active    = container.find('> .active')\n    var transition = callback\n      && $.support.transition\n      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\n\n    function next() {\n      $active\n        .removeClass('active')\n        .find('> .dropdown-menu > .active')\n          .removeClass('active')\n        .end()\n        .find('[data-toggle=\"tab\"]')\n          .attr('aria-expanded', false)\n\n      element\n        .addClass('active')\n        .find('[data-toggle=\"tab\"]')\n          .attr('aria-expanded', true)\n\n      if (transition) {\n        element[0].offsetWidth // reflow for transition\n        element.addClass('in')\n      } else {\n        element.removeClass('fade')\n      }\n\n      if (element.parent('.dropdown-menu').length) {\n        element\n          .closest('li.dropdown')\n            .addClass('active')\n          .end()\n          .find('[data-toggle=\"tab\"]')\n            .attr('aria-expanded', true)\n      }\n\n      callback && callback()\n    }\n\n    $active.length && transition ?\n      $active\n        .one('bsTransitionEnd', next)\n        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\n      next()\n\n    $active.removeClass('in')\n  }\n\n\n  // TAB PLUGIN DEFINITION\n  // =====================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.tab')\n\n      if (!data) $this.data('bs.tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tab\n\n  $.fn.tab             = Plugin\n  $.fn.tab.Constructor = Tab\n\n\n  // TAB NO CONFLICT\n  // ===============\n\n  $.fn.tab.noConflict = function () {\n    $.fn.tab = old\n    return this\n  }\n\n\n  // TAB DATA-API\n  // ============\n\n  var clickHandler = function (e) {\n    e.preventDefault()\n    Plugin.call($(this), 'show')\n  }\n\n  $(document)\n    .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\n    .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: affix.js v3.3.7\n * http://getbootstrap.com/javascript/#affix\n * ========================================================================\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // AFFIX CLASS DEFINITION\n  // ======================\n\n  var Affix = function (element, options) {\n    this.options = $.extend({}, Affix.DEFAULTS, options)\n\n    this.$target = $(this.options.target)\n      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))\n\n    this.$element     = $(element)\n    this.affixed      = null\n    this.unpin        = null\n    this.pinnedOffset = null\n\n    this.checkPosition()\n  }\n\n  Affix.VERSION  = '3.3.7'\n\n  Affix.RESET    = 'affix affix-top affix-bottom'\n\n  Affix.DEFAULTS = {\n    offset: 0,\n    target: window\n  }\n\n  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\n    var scrollTop    = this.$target.scrollTop()\n    var position     = this.$element.offset()\n    var targetHeight = this.$target.height()\n\n    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\n\n    if (this.affixed == 'bottom') {\n      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\n      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\n    }\n\n    var initializing   = this.affixed == null\n    var colliderTop    = initializing ? scrollTop : position.top\n    var colliderHeight = initializing ? targetHeight : height\n\n    if (offsetTop != null && scrollTop <= offsetTop) return 'top'\n    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\n\n    return false\n  }\n\n  Affix.prototype.getPinnedOffset = function () {\n    if (this.pinnedOffset) return this.pinnedOffset\n    this.$element.removeClass(Affix.RESET).addClass('affix')\n    var scrollTop = this.$target.scrollTop()\n    var position  = this.$element.offset()\n    return (this.pinnedOffset = position.top - scrollTop)\n  }\n\n  Affix.prototype.checkPositionWithEventLoop = function () {\n    setTimeout($.proxy(this.checkPosition, this), 1)\n  }\n\n  Affix.prototype.checkPosition = function () {\n    if (!this.$element.is(':visible')) return\n\n    var height       = this.$element.height()\n    var offset       = this.options.offset\n    var offsetTop    = offset.top\n    var offsetBottom = offset.bottom\n    var scrollHeight = Math.max($(document).height(), $(document.body).height())\n\n    if (typeof offset != 'object')         offsetBottom = offsetTop = offset\n    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)\n    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\n\n    if (this.affixed != affix) {\n      if (this.unpin != null) this.$element.css('top', '')\n\n      var affixType = 'affix' + (affix ? '-' + affix : '')\n      var e         = $.Event(affixType + '.bs.affix')\n\n      this.$element.trigger(e)\n\n      if (e.isDefaultPrevented()) return\n\n      this.affixed = affix\n      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n      this.$element\n        .removeClass(Affix.RESET)\n        .addClass(affixType)\n        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\n    }\n\n    if (affix == 'bottom') {\n      this.$element.offset({\n        top: scrollHeight - height - offsetBottom\n      })\n    }\n  }\n\n\n  // AFFIX PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.affix')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.affix\n\n  $.fn.affix             = Plugin\n  $.fn.affix.Constructor = Affix\n\n\n  // AFFIX NO CONFLICT\n  // =================\n\n  $.fn.affix.noConflict = function () {\n    $.fn.affix = old\n    return this\n  }\n\n\n  // AFFIX DATA-API\n  // ==============\n\n  $(window).on('load', function () {\n    $('[data-spy=\"affix\"]').each(function () {\n      var $spy = $(this)\n      var data = $spy.data()\n\n      data.offset = data.offset || {}\n\n      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\n      if (data.offsetTop    != null) data.offset.top    = data.offsetTop\n\n      Plugin.call($spy, data)\n    })\n  })\n\n}(jQuery);\n"
  },
  {
    "path": "src/vendor/jquery/charts/easypiechart/jquery.easy-pie-chart.js",
    "content": "// Generated by CoffeeScript 1.6.3\n/*\nEasy pie chart is a jquery plugin to display simple animated pie charts for only one value\n\nDual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\nand GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\n\nBuilt on top of the jQuery library (http://jquery.com)\n\n@source: http://github.com/rendro/easy-pie-chart/\n@autor: Robert Fleischmann\n@version: 1.2.5\n\nInspired by: http://dribbble.com/shots/631074-Simple-Pie-Charts-II?list=popular&offset=210\nThanks to Philip Thrasher for the jquery plugin boilerplate for coffee script\n*/\n\n(function($) {\n  $.easyPieChart = function(el, options) {\n    var addScaleLine, animateLine, drawLine, easeInOutQuad, rAF, renderBackground, renderScale, renderTrack,\n      _this = this;\n    this.el = el;\n    this.$el = $(el);\n    this.$el.data(\"easyPieChart\", this);\n    this.init = function() {\n      var percent, scaleBy;\n      _this.options = $.extend({}, $.easyPieChart.defaultOptions, options);\n      percent = _this.options.percent || parseInt(_this.$el.data('percent'), 10);\n      _this.percentage = 0;\n      _this.canvas = $(\"<canvas width='\" + _this.options.size + \"' height='\" + _this.options.size + \"'></canvas>\").get(0);\n      _this.$el.append(_this.canvas);\n      if (typeof G_vmlCanvasManager !== \"undefined\" && G_vmlCanvasManager !== null) {\n        G_vmlCanvasManager.initElement(_this.canvas);\n      }\n      _this.ctx = _this.canvas.getContext('2d');\n      if (window.devicePixelRatio > 1) {\n        scaleBy = window.devicePixelRatio;\n        $(_this.canvas).css({\n          width: _this.options.size,\n          height: _this.options.size\n        });\n        _this.canvas.width *= scaleBy;\n        _this.canvas.height *= scaleBy;\n        _this.ctx.scale(scaleBy, scaleBy);\n      }\n      _this.ctx.translate(_this.options.size / 2, _this.options.size / 2);\n      _this.ctx.rotate(_this.options.rotate * Math.PI / 180);\n      _this.$el.addClass('easyPieChart');\n      _this.$el.css({\n        width: _this.options.size,\n        height: _this.options.size,\n        lineHeight: \"\" + _this.options.size + \"px\"\n      });\n      _this.update(percent);\n      return _this;\n    };\n    this.update = function(percent) {\n      percent = parseFloat(percent) || 0;\n      if (_this.options.animate === false) {\n        drawLine(percent);\n      } else {\n        if (_this.options.delay) {\n          animateLine(_this.percentage, 0);\n          setTimeout(function() {\n            return animateLine(_this.percentage, percent);\n          }, _this.options.delay);\n        } else {\n          animateLine(_this.percentage, percent);\n        }\n      }\n      return _this;\n    };\n    renderScale = function() {\n      var i, _i, _results;\n      _this.ctx.fillStyle = _this.options.scaleColor;\n      _this.ctx.lineWidth = 1;\n      _results = [];\n      for (i = _i = 0; _i <= 24; i = ++_i) {\n        _results.push(addScaleLine(i));\n      }\n      return _results;\n    };\n    addScaleLine = function(i) {\n      var offset;\n      offset = i % 6 === 0 ? 0 : _this.options.size * 0.017;\n      _this.ctx.save();\n      _this.ctx.rotate(i * Math.PI / 12);\n      _this.ctx.fillRect(_this.options.size / 2 - offset, 0, -_this.options.size * 0.05 + offset, 1);\n      _this.ctx.restore();\n    };\n    renderTrack = function() {\n      var offset;\n      offset = _this.options.size / 2 - _this.options.lineWidth / 2;\n      if (_this.options.scaleColor !== false) {\n        offset -= _this.options.size * 0.08;\n      }\n      _this.ctx.beginPath();\n      _this.ctx.arc(0, 0, offset, 0, Math.PI * 2, true);\n      _this.ctx.closePath();\n      _this.ctx.strokeStyle = _this.options.trackColor;\n      \n      if (_this.options.color) {\n        _this.ctx.fillStyle = _this.options.color;\n        _this.ctx.fill();\n      }\n\n      _this.ctx.lineWidth = _this.options.lineWidth;\n      _this.ctx.stroke();\n    };\n    renderBackground = function() {\n      if (_this.options.scaleColor !== false) {\n        renderScale();\n      }\n      if (_this.options.trackColor !== false) {\n        renderTrack();\n      }\n    };\n    drawLine = function(percent) {\n      var offset;\n      renderBackground();\n      _this.ctx.strokeStyle = $.isFunction(_this.options.barColor) ? _this.options.barColor(percent) : _this.options.barColor;\n      _this.ctx.lineCap = _this.options.lineCap;\n      _this.ctx.lineWidth = _this.options.lineWidth;\n      offset = _this.options.size / 2 - _this.options.lineWidth / 2;\n      if (_this.options.scaleColor !== false) {\n        offset -= _this.options.size * 0.08;\n      }\n      _this.ctx.save();\n      _this.ctx.rotate(-Math.PI / 2);\n      _this.ctx.beginPath();\n      _this.ctx.arc(0, 0, offset, 0, Math.PI * 2 * percent / 100, false);\n      _this.ctx.stroke();\n      _this.ctx.restore();\n    };\n    rAF = (function() {\n      return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) {\n        return window.setTimeout(callback, 1000 / 60);\n      };\n    })();\n    animateLine = function(from, to) {\n      var anim, startTime;\n      _this.options.onStart.call(_this);\n      _this.percentage = to;\n      Date.now || (Date.now = function() {\n        return +(new Date);\n      });\n      startTime = Date.now();\n      anim = function() {\n        var currentValue, process;\n        process = Math.min(Date.now() - startTime, _this.options.animate);\n        _this.ctx.clearRect(-_this.options.size / 2, -_this.options.size / 2, _this.options.size, _this.options.size);\n        renderBackground.call(_this);\n        currentValue = [easeInOutQuad(process, from, to - from, _this.options.animate)];\n        _this.options.onStep.call(_this, currentValue);\n        drawLine.call(_this, currentValue);\n        if (process >= _this.options.animate) {\n          return _this.options.onStop.call(_this, currentValue, to);\n        } else {\n          return rAF(anim);\n        }\n      };\n      rAF(anim);\n    };\n    easeInOutQuad = function(t, b, c, d) {\n      var easeIn, easing;\n      easeIn = function(t) {\n        return Math.pow(t, 2);\n      };\n      easing = function(t) {\n        if (t < 1) {\n          return easeIn(t);\n        } else {\n          return 2 - easeIn((t / 2) * -2 + 2);\n        }\n      };\n      t /= d / 2;\n      return c / 2 * easing(t) + b;\n    };\n    return this.init();\n  };\n  $.easyPieChart.defaultOptions = {\n    percent: 0,\n    barColor: '#ef1e25',\n    trackColor: '#f2f2f2',\n    scaleColor: '#dfe0e0',\n    lineCap: 'round',\n    rotate: 0,\n    size: 110,\n    lineWidth: 3,\n    animate: false,\n    delay: false,\n    onStart: $.noop,\n    onStop: $.noop,\n    onStep: $.noop\n  };\n  $.fn.easyPieChart = function(options) {\n    return $.each(this, function(i, el) {\n      var $el, instanceOptions;\n      $el = $(el);\n      if (!$el.data('easyPieChart')) {\n        instanceOptions = $.extend({}, options, $el.data());\n        return $el.data('easyPieChart', new $.easyPieChart(el, instanceOptions));\n      } else{\n        $el.data('easyPieChart').update(options['percent']);\n      }\n    });\n  };\n  return void 0;\n})(jQuery);\n"
  },
  {
    "path": "src/vendor/jquery/charts/flot/jquery.flot.orderBars.js",
    "content": "/*\n * Flot plugin to order bars side by side.\n * \n * Released under the MIT license by Benjamin BUFFET, 20-Sep-2010.\n *\n * This plugin is an alpha version.\n *\n * To activate the plugin you must specify the parameter \"order\" for the specific serie :\n *\n *  $.plot($(\"#placeholder\"), [{ data: [ ... ], bars :{ order = null or integer }])\n *\n * If 2 series have the same order param, they are ordered by the position in the array;\n *\n * The plugin adjust the point by adding a value depanding of the barwidth\n * Exemple for 3 series (barwidth : 0.1) :\n *\n *          first bar décalage : -0.15\n *          second bar décalage : -0.05\n *          third bar décalage : 0.05\n *\n */\n\n(function($){\n    function init(plot){\n        var orderedBarSeries;\n        var nbOfBarsToOrder;\n        var borderWidth;\n        var borderWidthInXabsWidth;\n        var pixelInXWidthEquivalent = 1;\n        var isHorizontal = false;\n\n        /*\n         * This method add shift to x values\n         */\n        function reOrderBars(plot, serie, datapoints){\n            var shiftedPoints = null;\n            \n            if(serieNeedToBeReordered(serie)){                \n                checkIfGraphIsHorizontal(serie);\n                calculPixel2XWidthConvert(plot);\n                retrieveBarSeries(plot);\n                calculBorderAndBarWidth(serie);\n                \n                if(nbOfBarsToOrder >= 2){  \n                    var position = findPosition(serie);\n                    var decallage = 0;\n                    \n                    var centerBarShift = calculCenterBarShift();\n\n                    if (isBarAtLeftOfCenter(position)){\n                        decallage = -1*(sumWidth(orderedBarSeries,position-1,Math.floor(nbOfBarsToOrder / 2)-1)) - centerBarShift;\n                    }else{\n                        decallage = sumWidth(orderedBarSeries,Math.ceil(nbOfBarsToOrder / 2),position-2) + centerBarShift + borderWidthInXabsWidth*2;\n                    }\n\n                    shiftedPoints = shiftPoints(datapoints,serie,decallage);\n                    datapoints.points = shiftedPoints;\n               }\n           }\n           return shiftedPoints;\n        }\n\n        function serieNeedToBeReordered(serie){\n            return serie.bars != null\n                && serie.bars.show\n                && serie.bars.order != null;\n        }\n\n        function calculPixel2XWidthConvert(plot){\n            var gridDimSize = isHorizontal ? plot.getPlaceholder().innerHeight() : plot.getPlaceholder().innerWidth();\n            var minMaxValues = isHorizontal ? getAxeMinMaxValues(plot.getData(),1) : getAxeMinMaxValues(plot.getData(),0);\n            var AxeSize = minMaxValues[1] - minMaxValues[0];\n            pixelInXWidthEquivalent = AxeSize / gridDimSize;\n        }\n\n        function getAxeMinMaxValues(series,AxeIdx){\n            var minMaxValues = new Array();\n            for(var i = 0; i < series.length; i++){\n                minMaxValues[0] = series[i].data[0][AxeIdx];\n                minMaxValues[1] = series[i].data[series[i].data.length - 1][AxeIdx];\n            }\n            return minMaxValues;\n        }\n\n        function retrieveBarSeries(plot){\n            orderedBarSeries = findOthersBarsToReOrders(plot.getData());\n            nbOfBarsToOrder = orderedBarSeries.length;\n        }\n\n        function findOthersBarsToReOrders(series){\n            var retSeries = new Array();\n\n            for(var i = 0; i < series.length; i++){\n                if(series[i].bars.order != null && series[i].bars.show){\n                    retSeries.push(series[i]);\n                }\n            }\n\n            return retSeries.sort(sortByOrder);\n        }\n\n        function sortByOrder(serie1,serie2){\n            var x = serie1.bars.order;\n            var y = serie2.bars.order;\n            return ((x < y) ? -1 : ((x > y) ? 1 : 0));\n        }\n\n        function  calculBorderAndBarWidth(serie){\n            borderWidth = serie.bars.lineWidth ? serie.bars.lineWidth  : 2;\n            borderWidthInXabsWidth = borderWidth * pixelInXWidthEquivalent;\n        }\n        \n        function checkIfGraphIsHorizontal(serie){\n            if(serie.bars.horizontal){\n                isHorizontal = true;\n            }\n        }\n\n        function findPosition(serie){\n            var pos = 0\n            for (var i = 0; i < orderedBarSeries.length; ++i) {\n                if (serie == orderedBarSeries[i]){\n                    pos = i;\n                    break;\n                }\n            }\n\n            return pos+1;\n        }\n\n        function calculCenterBarShift(){\n            var width = 0;\n\n            if(nbOfBarsToOrder%2 != 0)\n                width = (orderedBarSeries[Math.ceil(nbOfBarsToOrder / 2)].bars.barWidth)/2;\n\n            return width;\n        }\n\n        function isBarAtLeftOfCenter(position){\n            return position <= Math.ceil(nbOfBarsToOrder / 2);\n        }\n\n        function sumWidth(series,start,end){\n            var totalWidth = 0;\n\n            for(var i = start; i <= end; i++){\n                totalWidth += series[i].bars.barWidth+borderWidthInXabsWidth*2;\n            }\n\n            return totalWidth;\n        }\n\n        function shiftPoints(datapoints,serie,dx){\n            var ps = datapoints.pointsize;\n            var points = datapoints.points;\n            var j = 0;           \n            for(var i = isHorizontal ? 1 : 0;i < points.length; i += ps){\n                points[i] += dx;\n                //Adding the new x value in the serie to be abble to display the right tooltip value,\n                //using the index 3 to not overide the third index.\n                serie.data[j][3] = points[i];\n                j++;\n            }\n\n            return points;\n        }\n\n        plot.hooks.processDatapoints.push(reOrderBars);\n\n    }\n\n    var options = {\n        series : {\n            bars: {order: null} // or number/string\n        }\n    };\n\n    $.plot.plugins.push({\n        init: init,\n        options: options,\n        name: \"orderBars\",\n        version: \"0.2\"\n    });\n\n})(jQuery)\n\n"
  },
  {
    "path": "src/vendor/jquery/charts/flot/jquery.flot.resize.js",
    "content": "/*\nFlot plugin for automatically redrawing plots when the placeholder\nsize changes, e.g. on window resizes.\n\nIt works by listening for changes on the placeholder div (through the\njQuery resize event plugin) - if the size changes, it will redraw the\nplot.\n\nThere are no options. If you need to disable the plugin for some\nplots, you can just fix the size of their placeholders.\n*/\n\n\n/* Inline dependency: \n * jQuery resize event - v1.1 - 3/14/2010\n * http://benalman.com/projects/jquery-resize-plugin/\n * \n * Copyright (c) 2010 \"Cowboy\" Ben Alman\n * Dual licensed under the MIT and GPL licenses.\n * http://benalman.com/about/license/\n */\n(function($,h,c){var a=$([]),e=$.resize=$.extend($.resize,{}),i,k=\"setTimeout\",j=\"resize\",d=j+\"-special-event\",b=\"delay\",f=\"throttleWindow\";e[b]=250;e[f]=true;$.event.special[j]={setup:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.add(l);$.data(this,d,{w:l.width(),h:l.height()});if(a.length===1){g()}},teardown:function(){if(!e[f]&&this[k]){return false}var l=$(this);a=a.not(l);l.removeData(d);if(!a.length){clearTimeout(i)}},add:function(l){if(!e[f]&&this[k]){return false}var n;function m(s,o,p){var q=$(this),r=$.data(this,d);if(r===undefined){n.apply(this,arguments);return;}r.w=o!==c?o:q.width();r.h=p!==c?p:q.height();n.apply(this,arguments)}if($.isFunction(l)){n=l;return m}else{n=l.handler;l.handler=m}}};function g(){i=h[k](function(){a.each(function(){var n=$(this),m=n.width(),l=n.height(),o=$.data(this,d);if(m!==o.w||l!==o.h){n.trigger(j,[o.w=m,o.h=l])}});g()},e[b])}})(jQuery,this);\n\n\n(function ($) {\n    var options = { }; // no options\n\n    function init(plot) {\n        function onResize() {\n            var placeholder = plot.getPlaceholder();\n\n            // somebody might have hidden us and we can't plot\n            // when we don't have the dimensions\n            if (placeholder.width() == 0 || placeholder.height() == 0)\n                return;\n\n            plot.resize();\n            plot.setupGrid();\n            plot.draw();\n        }\n        \n        function bindEvents(plot, eventHolder) {\n            plot.getPlaceholder().resize(onResize);\n        }\n\n        function shutdown(plot, eventHolder) {\n            plot.getPlaceholder().unbind(\"resize\", onResize);\n        }\n        \n        plot.hooks.bindEvents.push(bindEvents);\n        plot.hooks.shutdown.push(shutdown);\n    }\n    \n    $.plot.plugins.push({\n        init: init,\n        options: options,\n        name: 'resize',\n        version: '1.0'\n    });\n})(jQuery);\n"
  },
  {
    "path": "src/vendor/jquery/charts/flot/jquery.flot.spline.js",
    "content": "/**\n * Flot plugin that provides spline interpolation for line graphs\n * author: Alex Bardas < alex.bardas@gmail.com >\n * modified by: Avi Kohn https://github.com/AMKohn\n * based on the spline interpolation described at:\n *\t\t http://scaledinnovation.com/analytics/splines/aboutSplines.html\n *\n * Example usage: (add in plot options series object)\n *\t\tfor linespline:\n *\t\t\tseries: {\n *\t\t\t\t...\n *\t\t\t\tlines: {\n *\t\t\t\t\tshow: false\n *\t\t\t\t},\n *\t\t\t\tsplines: {\n *\t\t\t\t\tshow: true,\n *\t\t\t\t\ttension: x, (float between 0 and 1, defaults to 0.5),\n *\t\t\t\t\tlineWidth: y (number, defaults to 2),\n *\t\t\t\t\tfill: z (float between 0 .. 1 or false, as in flot documentation)\n *\t\t\t\t},\n *\t\t\t\t...\n *\t\t\t}\n *\t\tareaspline:\n *\t\t\tseries: {\n *\t\t\t\t...\n *\t\t\t\tlines: {\n *\t\t\t\t\tshow: true,\n *\t\t\t\t\tlineWidth: 0, (line drawing will not execute)\n *\t\t\t\t\tfill: x, (float between 0 .. 1, as in flot documentation)\n *\t\t\t\t\t...\n *\t\t\t\t},\n *\t\t\t\tsplines: {\n *\t\t\t\t\tshow: true,\n *\t\t\t\t\ttension: 0.5 (float between 0 and 1)\n *\t\t\t\t},\n *\t\t\t\t...\n *\t\t\t}\n *\n */\n\n(function($) {\n\t'use strict'\n\n\t/**\n\t * @param {Number} x0, y0, x1, y1: coordinates of the end (knot) points of the segment\n\t * @param {Number} x2, y2: the next knot (not connected, but needed to calculate p2)\n\t * @param {Number} tension: control how far the control points spread\n\t * @return {Array}: p1 -> control point, from x1 back toward x0\n\t * \t\t\t\t\tp2 -> the next control point, returned to become the next segment's p1\n\t *\n\t * @api private\n\t */\n\tfunction getControlPoints(x0, y0, x1, y1, x2, y2, tension) {\n\n\t\tvar pow = Math.pow,\n\t\t\tsqrt = Math.sqrt,\n\t\t\td01, d12, fa, fb, p1x, p1y, p2x, p2y;\n\n\t\t//  Scaling factors: distances from this knot to the previous and following knots.\n\t\td01 = sqrt(pow(x1 - x0, 2) + pow(y1 - y0, 2));\n\t\td12 = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));\n\n\t\tfa = tension * d01 / (d01 + d12);\n\t\tfb = tension - fa;\n\n\t\tp1x = x1 + fa * (x0 - x2);\n\t\tp1y = y1 + fa * (y0 - y2);\n\n\t\tp2x = x1 - fb * (x0 - x2);\n\t\tp2y = y1 - fb * (y0 - y2);\n\n\t\treturn [p1x, p1y, p2x, p2y];\n\t}\n\n\tvar line = [];\n\n\tfunction drawLine(points, ctx, height, fill, seriesColor) {\n\t\tvar c = $.color.parse(seriesColor);\n\n\t\tc.a = typeof fill == \"number\" ? fill : .3;\n\t\tc.normalize();\n\t\tc = c.toString();\n\n\t\tctx.beginPath();\n\t\tctx.moveTo(points[0][0], points[0][1]);\n\n\t\tvar plength = points.length;\n\n\t\tfor (var i = 0; i < plength; i++) {\n\t\t\tctx[points[i][3]].apply(ctx, points[i][2]);\n\t\t}\n\n\t\tctx.stroke();\n\n\t\tctx.lineWidth = 0;\n\t\tctx.lineTo(points[plength - 1][0], height);\n\t\tctx.lineTo(points[0][0], height);\n\n\t\tctx.closePath();\n\t\t\n\t\tif (fill !== false) {\n\t\t\tctx.fillStyle = c;\n\t\t\tctx.fill();\n\t\t}\n\t}\n\n\t/**\n\t * @param {Object} ctx: canvas context\n\t * @param {String} type: accepted strings: 'bezier' or 'quadratic' (defaults to quadratic)\n\t * @param {Array} points: 2 points for which to draw the interpolation\n\t * @param {Array} cpoints: control points for those segment points\n\t *\n\t * @api private\n\t */\n\tfunction queue(ctx, type, points, cpoints) {\n\t\tif (type === void 0 || (type !== 'bezier' && type !== 'quadratic')) {\n\t\t\ttype = 'quadratic';\n\t\t}\n\t\ttype = type + 'CurveTo';\n\n\t\tif (line.length == 0) line.push([points[0], points[1], cpoints.concat(points.slice(2)), type]);\n\t\telse if (type == \"quadraticCurveTo\" && points.length == 2) {\n\t\t\tcpoints = cpoints.slice(0, 2).concat(points);\n\n\t\t\tline.push([points[0], points[1], cpoints, type]);\n\t\t}\n\t\telse line.push([points[2], points[3], cpoints.concat(points.slice(2)), type]);\n\t}\n\n\t/**\n\t * @param {Object} plot\n\t * @param {Object} ctx: canvas context\n\t * @param {Object} series\n\t *\n\t * @api private\n\t */\n\n\tfunction drawSpline(plot, ctx, series) {\n\t\t// Not interested if spline is not requested\n\t\tif (series.splines.show !== true) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar cp = [],\n\t\t\t// array of control points\n\t\t\ttension = series.splines.tension || 0.5,\n\t\t\tidx, x, y, points = series.datapoints.points,\n\t\t\tps = series.datapoints.pointsize,\n\t\t\tplotOffset = plot.getPlotOffset(),\n\t\t\tlen = points.length,\n\t\t\tpts = [];\n\n\t\tline = [];\n\n\t\t// Cannot display a linespline/areaspline if there are less than 3 points\n\t\tif (len / ps < 4) {\n\t\t\t$.extend(series.lines, series.splines);\n\t\t\treturn;\n\t\t}\n\n\t\tfor (idx = 0; idx < len; idx += ps) {\n\t\t\tx = points[idx];\n\t\t\ty = points[idx + 1];\n\t\t\tif (x == null || x < series.xaxis.min || x > series.xaxis.max || y < series.yaxis.min || y > series.yaxis.max) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tpts.push(series.xaxis.p2c(x) + plotOffset.left, series.yaxis.p2c(y) + plotOffset.top);\n\t\t}\n\n\t\tlen = pts.length;\n\n\t\t// Draw an open curve, not connected at the ends\n\t\tfor (idx = 0; idx < len - 2; idx += 2) {\n\t\t\tcp = cp.concat(getControlPoints.apply(this, pts.slice(idx, idx + 6).concat([tension])));\n\t\t}\n\n\t\tctx.save();\n\t\tctx.strokeStyle = series.color;\n\t\tctx.lineWidth = series.splines.lineWidth;\n\n\t\tqueue(ctx, 'quadratic', pts.slice(0, 4), cp.slice(0, 2));\n\n\t\tfor (idx = 2; idx < len - 3; idx += 2) {\n\t\t\tqueue(ctx, 'bezier', pts.slice(idx, idx + 4), cp.slice(2 * idx - 2, 2 * idx + 2));\n\t\t}\n\n\t\tqueue(ctx, 'quadratic', pts.slice(len - 2, len), [cp[2 * len - 10], cp[2 * len - 9], pts[len - 4], pts[len - 3]]);\n\n\t\tdrawLine(line, ctx, plot.height() + 10, series.splines.fill, series.color);\n\n\t\tctx.restore();\n\t}\n\n\t$.plot.plugins.push({\n\t\tinit: function(plot) {\n\t\t\tplot.hooks.drawSeries.push(drawSpline);\n\t\t},\n\t\toptions: {\n\t\t\tseries: {\n\t\t\t\tsplines: {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tlineWidth: 2,\n\t\t\t\t\ttension: 0.5,\n\t\t\t\t\tfill: false\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tname: 'spline',\n\t\tversion: '0.8.2'\n\t});\n})(jQuery);\n"
  },
  {
    "path": "src/vendor/modules/angular-file-upload/ngThumb.js",
    "content": "'use strict';\n\n\nangular.module('app')\n    .directive('ngThumb', ['$window', function ($window) {\n        var helper = {\n            support: !!($window.FileReader && $window.CanvasRenderingContext2D),\n            isFile: function (item) {\n                return angular.isObject(item) && item instanceof $window.File;\n            },\n            isImage: function (file) {\n                var type = '|' + file.type.slice(file.type.lastIndexOf('/') + 1) + '|';\n                return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;\n            }\n        };\n\n        return {\n            restrict: 'A',\n            template: '<canvas/>',\n            link: function (scope, element, attributes) {\n                if (!helper.support) return;\n\n                var params = scope.$eval(attributes.ngThumb);\n\n                if (!helper.isFile(params.file)) return;\n                if (!helper.isImage(params.file)) return;\n\n                var canvas = element.find('canvas');\n                var reader = new FileReader();\n\n                reader.onload = onLoadFile;\n                reader.readAsDataURL(params.file);\n\n                function onLoadFile(event) {\n                    var img = new Image();\n                    img.onload = onLoadImage;\n                    img.src = event.target.result;\n                }\n\n                function onLoadImage() {\n                    var width = params.width || this.width / this.height * params.height;\n                    var height = params.height || this.height / this.width * params.width;\n                    canvas.attr({width: width, height: height});\n                    canvas[0].getContext('2d').drawImage(this, 0, 0, width, height);\n                }\n            }\n        };\n    }]);"
  },
  {
    "path": "src/vendor/modules/angular-ivh-treeview/ivh-treeview-theme-basic.css",
    "content": "ul.ivh-treeview {\n  list-style-type: none;\n  padding-left: 0;\n}\nul.ivh-treeview ul.ivh-treeview {\n  padding-left: 15px;\n}\nul.ivh-treeview .ivh-treeview-toggle {\n  cursor: pointer;\n}\nul.ivh-treeview .ivh-treeview-node-leaf .ivh-treeview-toggle {\n  cursor: auto;\n}\n"
  },
  {
    "path": "src/vendor/modules/angularjs-toaster/toaster.css",
    "content": "/*\n * Toastr\n * Version 2.0.1\n * Copyright 2012 John Papa and Hans Fjallemark.  \n * All Rights Reserved.  \n * Use, reproduction, distribution, and modification of this code is subject to the terms and \n * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php\n *\n * Author: John Papa and Hans Fjallemark\n * Project: https://github.com/CodeSeven/toastr\n */\n.toast-title {\n  font-weight: bold;\n}\n.toast-message {\n  -ms-word-wrap: break-word;\n  word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n  color: #ffffff;\n}\n.toast-message a:hover {\n  color: #cccccc;\n  text-decoration: none;\n}\n\n.toast-close-button {\n  position: relative;\n  right: -0.3em;\n  top: -0.3em;\n  float: right;\n  font-size: 20px;\n  font-weight: bold;\n  color: #ffffff;\n  -webkit-text-shadow: 0 1px 0 #ffffff;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.8;\n  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n  filter: alpha(opacity=80);\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.4;\n  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n  filter: alpha(opacity=40);\n}\n\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.toast-top-full-width {\n  top: 0;\n  right: 0;\n  width: 100%;\n}\n.toast-bottom-full-width {\n  bottom: 0;\n  right: 0;\n  width: 100%;\n}\n.toast-top-left {\n  top: 12px;\n  left: 12px;\n}\n.toast-top-center {\n  top: 12px;\n}\n.toast-top-right {\n  top: 12px;\n  right: 12px;\n}\n.toast-bottom-right {\n  right: 12px;\n  bottom: 12px;\n}\n.toast-bottom-center {\n  bottom: 12px;\n}\n.toast-bottom-left {\n  bottom: 12px;\n  left: 12px;\n}\n.toast-center {\n  top: 45%;\n}\n#toast-container {\n  position: fixed;\n  z-index: 999999;\n  /*overrides*/\n\n}\n#toast-container.toast-center,\n#toast-container.toast-top-center,\n#toast-container.toast-bottom-center{\n  width: 100%;\n  pointer-events: none;\n}\n#toast-container.toast-center > div,\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div{\n  margin: auto;\n  pointer-events: auto;\n}\n#toast-container.toast-center > button,\n#toast-container.toast-top-center > button,\n#toast-container.toast-bottom-center > button{\n  pointer-events: auto;\n}\n#toast-container * {\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n}\n#toast-container > div {\n  margin: 0 0 6px;\n  padding: 15px 15px 15px 50px;\n  width: 300px;\n  -moz-border-radius: 3px 3px 3px 3px;\n  -webkit-border-radius: 3px 3px 3px 3px;\n  border-radius: 3px 3px 3px 3px;\n  background-position: 15px center;\n  background-repeat: no-repeat;\n  -moz-box-shadow: 0 0 12px #999999;\n  -webkit-box-shadow: 0 0 12px #999999;\n  box-shadow: 0 0 12px #999999;\n  color: #ffffff;\n  opacity: 0.8;\n  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n  filter: alpha(opacity=80);\n}\n#toast-container > :hover {\n  -moz-box-shadow: 0 0 12px #000000;\n  -webkit-box-shadow: 0 0 12px #000000;\n  box-shadow: 0 0 12px #000000;\n  opacity: 1;\n  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n  filter: alpha(opacity=100);\n  cursor: pointer;\n}\n#toast-container > .toast-info {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-wait {\n  background-image: url(\"data:image/gif;base64,R0lGODlhIAAgAIQAAAQCBISGhMzKzERCROTm5CQiJKyurHx+fPz+/ExOTOzu7Dw+PIyOjCwqLFRWVAwKDIyKjMzOzOzq7CQmJLy6vFRSVPTy9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAXACwAAAAAIAAgAAAF3eAljmRpnmh6VRSVqLDpIDTixOdUlFSNUDhSQUAT7ES9GnD0SFQAKWItMqr4bqKHVPDI+WiTkaOFFVlrFe83rDrT0qeIjwrT0iLdU0GOiBxhAA4VeSk6QYeIOAsQEAuJKgw+EI8nA18IA48JBAQvFxCXDI8SNAQikV+iiaQIpheWX5mJmxKeF6g0qpQmA4yOu8C7EwYWCgZswRcTFj4KyMAGlwYxDwcHhCXMXxYxBzQHKNo+3DDeCOAn0V/TddbYJA0K48gAEAFQicMWFsfwNA3JSgAIAAFfwIMIL4QAACH5BAkJABoALAAAAAAgACAAhAQCBIyKjERCRMzOzCQiJPTy9DQyNGRmZMTCxOTm5CwqLHx+fBQWFJyenNTW1Pz6/Dw6PGxubAwKDIyOjNTS1CQmJCwuLPz+/Dw+PHRydAAAAAAAAAAAAAAAAAAAAAAAAAXboCaOZGmeaKoxWcSosMkk15W8cZ7VdZaXkcEgQtrxfD9RhHchima1GwlCGUBSFCaFxMrgRtnLFhWujWHhs2nJc8KoVlWGQnEn7/i8XgOwWAB7JwoONQ4KgSQAZRcOgHgSCwsSIhZMNRZ5CzULIgaWF5h4mhecfIQ8jXmQkiODhYeIiRYGjrG2PxgBARi3IhNMAbcCnwI5BAQpAZ8TIwK6vCQVDwUVKL+WzAANTA210g/VJ8OWxQefByQE4dZMzBoInwh4zrtgn2p725YNthUFTNRuGYB3AYGBHCEAACH5BAkJAB0ALAAAAAAgACAAhAQCBISChFRWVMzKzCQiJOTm5GxqbCwuLJSWlPz6/NTW1AwODJSSlGRmZCwqLOzu7HR2dDQ2NAQGBISGhFxaXNTS1CQmJOzq7GxubDQyNKSmpPz+/Nza3AAAAAAAAAAAAAXfYCeOZGmeaKqurHBdAiuP17Zdc0lMAVHWt9yI8LA9fCPB4xEjARoNSWpis01kBpshFahurqzsZosiGpErScMAUO0maKF8Tq/bTQCIQgFp30cQXhB1BHEcXhx0FgkJFiOHVYlzi42AgoRxeRx8fn+en3UABwedKgsBAwMBCygOCjYKDisLFV4VrCUAtVUKpSZdXl8mB8EbByQWcQPFAyYZxccdB7sV0cvBzbmvvG0LBV4FrFTBYCWuNhyyHRTFFB20trh4BxmdYl4YIqepq0IRxRE+IfDCAFQHARo0NGERAgAh+QQJCQAgACwAAAAAIAAgAIUEAgSEgoRMTkzMyswcHhzk5uR0cnQUFhRcXlwsKiz09vQMCgyMiozU1tQkJiR8fnxkZmT8/vwEBgSEhoRcWlzU0tQkIiT08vR0dnQcGhxkYmQ0MjT8+vwMDgyMjozc2twAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+UCQcEgsGo/IpHLJXDweC6Z0+IhEHlOjRGIMWLHZoUZx0RQlAajxkFFKFFYFl5m5KNpIySU+X2bIBEoQZBBZGQdMElFhjI2Oj5AgHQEDAw8dQxYeDBaNHRVWVhWYCXsRFwmMXqFWEyAerB6MA6xWA6+xs7URt6VWqIwTu64gDh4eDp6goaORQ5OVAZjO1EgEGhB4RwAYDQ0YAEwIcBEKFEgYrBhLBORxgUYfrB9LELuF8fNDAAaVBuEg7NXCVyRdqHVCGLBiIIQAB1Yc4BXh9uEbwAXuyi2iQI7DuSwHdiFqCEGDtizLRFUDsaGAlQIbVoJYIEDAIiZBAAAh+QQJCQAbACwAAAAAIAAgAIQEAgSMioxcWlz08vQcHhysqqwMDgx8enwsKiykoqRkZmT8+vzEwsQMCgyUlpQkJiS0srQEBgSMjoxcXlz09vQkIiSsrqwUEhQ0MjRsamz8/vwAAAAAAAAAAAAAAAAAAAAF7+AmjmRpnmiqruz2PG0sIssCj4CQJAIgj4/abRNJaI6agu9kCAQaphdJgEQKUIFjgGWsahJYLdf7RTWfLKr3+jsBClVlG5Xb9eb4fImgUBBKDVB4ExRHFGwbGRQLGXMEhUgUfw2QC4IyCmSNDQtHlm2ZXgoiGQsUjW0EnUgLfyKBeYSeiHojfH61uS0GBisVEgEVLRcWRxAXKAgDRwMILMVIECgSVRIrBmS9JtRI1iMVBweuGxerSNolyszOIhjLGs0jEFXSKA8SEkMbcEgWIxfzNBxrw6AKgxIGkM05UOWALhERHJhysOThBgAVWYQAACH5BAkJABkALAAAAAAgACAAhAQGBIyKjERCRMzOzCwuLGRiZPz6/OTm5AwODLSytFRSVNTW1Dw6PHx6fAwKDJSSlERGRNTS1DQyNGxqbPz+/BQSFLy6vFRWVNza3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAXqYCaO5FgFwxBUZeu61ULNFMa+eBvQdJD/owFvFhkBBAwHsBQZUooZyWF2YOQkBNJu6ANMaQeli0AxSEwymi0DcUJeEgPlbEJFAghRe/h+Eeg/Dl9UYks5DF9VhksOAgKFi5GSSwh5kzgVCXIJNxknD5aSCTwJIw8zD5MITpanFKmSCHI8NxUPoJejNKWXLZkznL0vCJ3CxsckDpA/ChYJFzkTBgYTSxc80C4OswbLLhY8Fi/bMwYAJVgl4DTiL9LUJADrFuci1zTZLwD1IwU8BSQuWLCQb1EDHg2QiSDALYvCDAISJLDy8FIIACH5BAkJAB4ALAAAAAAgACAAhAQGBISGhFRSVNTW1CQiJKyqrGRmZOzu7CwuLIyOjGxubPz6/BQSFGRiZOTi5CwqLLy6vDQ2NIyKjFRWVCQmJKyurGxqbPT29DQyNJSSlHRydPz+/BQWFOzq7AAAAAAAAAXhoCeOJElYClGubOs117YtjWuvxCLLi3qbhc6h4FPsdorfiNI5dige43GT9AAkHUcCwCpMNxVP7tgTJY4J1uF7EBl0M8Ooueuo2SOCIkVa11kVX2E2EmgsFH4yBz4uAAkdHVstBAUHQ4xKmZqbnJ2bAhAQAiURGJ4eE0cTIxgzpp0QRxCsrp6xO7MjpaepO6unKxOhv8DFxsfIJBwaChw2DAkZDEocDjIOzi0ZMhlKUjIaLtsb3T8aR+EtDBkJ0yQUBQVQI9XX2ZsDMgMlyxr3mzE2XEgmotCGAARFIHiQ0FMIACH5BAkJABgALAAAAAAgACAAhAQCBISGhDw+POTi5CwuLLS2tPTy9BQSFJyenGRiZDQ2NIyOjLy+vPz6/BweHIyKjFRSVOzq7DQyNLy6vBQWFHRydDw6PPz+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXXICaOZHkcZaquIjVd10SxtFrAcFGrVhBYIwoON9uNAsOA6DCEFTEKBEKxEjQvAtELNxkpGrAGNfW4Plpb2QgxRKjKzfPoVGLj3CnLNUv7hscpSDhKOxJSgDwPP0ZGAACMjAQFDQYFBJA0BAZDBpeYGBQVFUU3TV2YFAMwAzNgTQ2PkBVDFRiuQ7CYszi1pUOnkKmrM5qcnqiiTwQTDQ2Wn9DR0tPUfRKQEBEREDQSFw3XRhEwEd3f4TvjF+XWKgJ8JNnb0QkwCdUlCzAL+CQODAwc9BtIMAQAOw==\") !important;\n}\n#toast-container > .toast-error {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n  width: 96%;\n  margin: auto;\n}\n.toast {\n  background-color: #030303;\n}\n.toast-success {\n  background-color: #51a351;\n}\n.toast-error {\n  background-color: #bd362f;\n}\n.toast-info {\n  background-color: #2f96b4;\n}\n.toast-wait {\n  background-color: #2f96b4;\n}\n.toast-warning {\n  background-color: #f89406;\n}\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n  #toast-container > div {\n    padding: 8px 8px 8px 50px;\n    width: 11em;\n  }\n  #toast-container .toast-close-button {\n    right: -0.2em;\n    top: -0.2em;\n}\n  }\n@media all and (min-width: 241px) and (max-width: 480px) {\n  #toast-container  > div {\n    padding: 8px 8px 8px 50px;\n    width: 18em;\n  }\n  #toast-container .toast-close-button {\n    right: -0.2em;\n    top: -0.2em;\n}\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n  #toast-container > div {\n    padding: 15px 15px 15px 50px;\n    width: 25em;\n  }\n}\n\n /*\n  * AngularJS-Toaster\n  * Version 0.3\n */\n:not(.no-enter)#toast-container > div.ng-enter,\n:not(.no-leave)#toast-container > div.ng-leave\n{ \n    -webkit-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;\n    -moz-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;\n    -ms-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;\n    -o-transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;\n    transition: 1000ms cubic-bezier(0.250, 0.250, 0.750, 0.750) all;\n} \n\n:not(.no-enter)#toast-container > div.ng-enter.ng-enter-active, \n:not(.no-leave)#toast-container > div.ng-leave {\n    opacity: 0.8;\n}\n\n:not(.no-leave)#toast-container > div.ng-leave.ng-leave-active,\n:not(.no-enter)#toast-container > div.ng-enter {\n    opacity: 0;\n}\n"
  },
  {
    "path": "src/vendor/modules/angularjs-toaster/toaster.js",
    "content": "/* global angular */\n(function (window, document) {\n    'use strict';\n\n    /*\n     * AngularJS Toaster\n     * Version: 0.4.18\n     *\n     * Copyright 2013-2015 Jiri Kavulak.\n     * All Rights Reserved.\n     * Use, reproduction, distribution, and modification of this code is subject to the terms and\n     * conditions of the MIT license, available at http://www.opensource.org/licenses/mit-license.php\n     *\n     * Author: Jiri Kavulak\n     * Related to project of John Papa, Hans Fjällemark and Nguyễn Thiện Hùng (thienhung1989)\n     */\n\n    angular.module('toaster', []).constant(\n        'toasterConfig', {\n            'limit': 0,                   // limits max number of toasts\n            'tap-to-dismiss': true,\n\n            /* Options:\n             - Boolean false/true\n             'close-button': true\n             - object if not a boolean that allows you to\n             override showing the close button for each\n             icon-class value\n             'close-button': { 'toast-error': true, 'toast-info': false }\n             */\n            'close-button': false,\n            'close-html': '<button class=\"toast-close-button\" type=\"button\">&times;</button>',\n            'newest-on-top': true, \n            //'fade-in': 1000,            // done in css\n            //'on-fade-in': undefined,    // not implemented\n            //'fade-out': 1000,           // done in css\n            //'on-fade-out': undefined,   // not implemented\n            //'extended-time-out': 1000,  // not implemented\n            'time-out': 5000, // Set timeOut and extendedTimeout to 0 to make it sticky\n            'icon-classes': {\n                error: 'toast-error',\n                info: 'toast-info',\n                wait: 'toast-wait',\n                success: 'toast-success',\n                warning: 'toast-warning'\n            },\n            'body-output-type': '', // Options: '', 'trustedHtml', 'template', 'templateWithData', 'directive'\n            'body-template': 'toasterBodyTmpl.html',\n            'icon-class': 'toast-info',\n            'position-class': 'toast-top-right', // Options (see CSS):\n            // 'toast-top-full-width', 'toast-bottom-full-width', 'toast-center',\n            // 'toast-top-left', 'toast-top-center', 'toast-top-right',\n            // 'toast-bottom-left', 'toast-bottom-center', 'toast-bottom-right',\n            'title-class': 'toast-title',\n            'message-class': 'toast-message',\n            'prevent-duplicates': false,\n            'mouseover-timer-stop': true // stop timeout on mouseover and restart timer on mouseout\n        }\n        ).service(\n        'toaster', [\n            '$rootScope', 'toasterConfig', function ($rootScope, toasterConfig) {\n                this.pop = function (type, title, body, timeout, bodyOutputType, clickHandler, toasterId, showCloseButton, toastId, onHideCallback) {\n                    if (angular.isObject(type)) {\n                        var params = type; // Enable named parameters as pop argument\n                        this.toast = {\n                            type: params.type,\n                            title: params.title,\n                            body: params.body,\n                            timeout: params.timeout,\n                            bodyOutputType: params.bodyOutputType,\n                            clickHandler: params.clickHandler,\n                            showCloseButton: params.showCloseButton,\n                            closeHtml: params.closeHtml,\n                            uid: params.toastId,\n                            onHideCallback: params.onHideCallback,\n                            directiveData: params.directiveData\n                        };\n                        toastId = params.toastId;\n                        toasterId = params.toasterId;\n                    } else {\n                        this.toast = {\n                            type: type,\n                            title: title,\n                            body: body,\n                            timeout: timeout,\n                            bodyOutputType: bodyOutputType,\n                            clickHandler: clickHandler,\n                            showCloseButton: showCloseButton,\n                            uid: toastId,\n                            onHideCallback: onHideCallback\n                        };\n                    }\n                    $rootScope.$emit('toaster-newToast', toasterId, toastId);\n                };\n\n                this.clear = function (toasterId, toastId) {\n                    $rootScope.$emit('toaster-clearToasts', toasterId, toastId);\n                };\n\n                // Create one method per icon class, to allow to call toaster.info() and similar\n                for (var type in toasterConfig['icon-classes']) {\n                    this[type] = createTypeMethod(type);\n                }\n\n                function createTypeMethod(toasterType) {\n                    return function (title, body, timeout, bodyOutputType, clickHandler, toasterId, showCloseButton, toastId, onHideCallback) {\n                        if (angular.isString(title)) {\n                            this.pop(\n                                toasterType,\n                                title,\n                                body,\n                                timeout,\n                                bodyOutputType,\n                                clickHandler,\n                                toasterId,\n                                showCloseButton,\n                                toastId,\n                                onHideCallback);\n                        } else { // 'title' is actually an object with options\n                            this.pop(angular.extend(title, { type: toasterType }));\n                        }\n                    };\n                }\n            }]\n        ).factory(\n        'toasterEventRegistry', [\n            '$rootScope', function ($rootScope) {\n                var deregisterNewToast = null, deregisterClearToasts = null, newToastEventSubscribers = [], clearToastsEventSubscribers = [], toasterFactory;\n\n                toasterFactory = {\n                    setup: function () {\n                        if (!deregisterNewToast) {\n                            deregisterNewToast = $rootScope.$on(\n                                'toaster-newToast', function (event, toasterId, toastId) {\n                                    for (var i = 0, len = newToastEventSubscribers.length; i < len; i++) {\n                                        newToastEventSubscribers[i](event, toasterId, toastId);\n                                    }\n                                });\n                        }\n\n                        if (!deregisterClearToasts) {\n                            deregisterClearToasts = $rootScope.$on(\n                                'toaster-clearToasts', function (event, toasterId, toastId) {\n                                    for (var i = 0, len = clearToastsEventSubscribers.length; i < len; i++) {\n                                        clearToastsEventSubscribers[i](event, toasterId, toastId);\n                                    }\n                                });\n                        }\n                    },\n\n                    subscribeToNewToastEvent: function (onNewToast) {\n                        newToastEventSubscribers.push(onNewToast);\n                    },\n                    subscribeToClearToastsEvent: function (onClearToasts) {\n                        clearToastsEventSubscribers.push(onClearToasts);\n                    },\n                    unsubscribeToNewToastEvent: function (onNewToast) {\n                        var index = newToastEventSubscribers.indexOf(onNewToast);\n                        if (index >= 0) {\n                            newToastEventSubscribers.splice(index, 1);\n                        }\n\n                        if (newToastEventSubscribers.length === 0) {\n                            deregisterNewToast();\n                            deregisterNewToast = null;\n                        }\n                    },\n                    unsubscribeToClearToastsEvent: function (onClearToasts) {\n                        var index = clearToastsEventSubscribers.indexOf(onClearToasts);\n                        if (index >= 0) {\n                            clearToastsEventSubscribers.splice(index, 1);\n                        }\n\n                        if (clearToastsEventSubscribers.length === 0) {\n                            deregisterClearToasts();\n                            deregisterClearToasts = null;\n                        }\n                    }\n                };\n                return {\n                    setup: toasterFactory.setup,\n                    subscribeToNewToastEvent: toasterFactory.subscribeToNewToastEvent,\n                    subscribeToClearToastsEvent: toasterFactory.subscribeToClearToastsEvent,\n                    unsubscribeToNewToastEvent: toasterFactory.unsubscribeToNewToastEvent,\n                    unsubscribeToClearToastsEvent: toasterFactory.unsubscribeToClearToastsEvent\n                };\n            }]\n        )\n        .directive('directiveTemplate', ['$compile', '$injector', function($compile, $injector) {\n            return {\n                restrict: 'A',\n                scope: {\n                    directiveName: '@directiveName',\n                    directiveData: '@directiveData'\n                },\n                replace: true,   \n                link: function (scope, elm, attrs) {\n                    scope.$watch('directiveName', function (directiveName) {\n                        if (angular.isUndefined(directiveName) || directiveName.length <= 0)\n                            throw new Error('A valid directive name must be provided via the toast body argument when using bodyOutputType: directive');\n                        \n                        var directiveExists = $injector.has(attrs.$normalize(directiveName) + 'Directive');\n                        \n                        if (!directiveExists)\n                            throw new Error(directiveName + ' could not be found.');\n                        \n                        if (scope.directiveData)\n                            scope.directiveData = angular.fromJson(scope.directiveData);\n                        \n                        var template = $compile('<div ' + directiveName + '></div>')(scope);\n\n                        elm.append(template);\n                    });\n                }\n            }\n        }])\n        .directive(\n        'toasterContainer', [\n            '$parse', '$rootScope', '$interval', '$sce', 'toasterConfig', 'toaster', 'toasterEventRegistry',\n            function ($parse, $rootScope, $interval, $sce, toasterConfig, toaster, toasterEventRegistry) {\n                return {\n                    replace: true,\n                    restrict: 'EA',\n                    scope: true, // creates an internal scope for this directive (one per directive instance)\n                    link: function (scope, elm, attrs) {\n                        var id = 0, mergedConfig;\n\n                        // Merges configuration set in directive with default one\n                        mergedConfig = angular.extend({}, toasterConfig, scope.$eval(attrs.toasterOptions));\n\n                        scope.config = {\n                            toasterId: mergedConfig['toaster-id'],\n                            position: mergedConfig['position-class'],\n                            title: mergedConfig['title-class'],\n                            message: mergedConfig['message-class'],\n                            tap: mergedConfig['tap-to-dismiss'],\n                            closeButton: mergedConfig['close-button'],\n                            closeHtml: mergedConfig['close-html'],\n                            animation: mergedConfig['animation-class'],\n                            mouseoverTimer: mergedConfig['mouseover-timer-stop']\n                        };\n\n                        scope.$on(\n                            \"$destroy\", function () {\n                                toasterEventRegistry.unsubscribeToNewToastEvent(scope._onNewToast);\n                                toasterEventRegistry.unsubscribeToClearToastsEvent(scope._onClearToasts);\n                            }\n                            );\n\n                        function setTimeout(toast, time) {\n                            toast.timeoutPromise = $interval(\n                                function () {\n                                    scope.removeToast(toast.id);\n                                }, time, 1\n                                );\n                        }\n\n                        scope.configureTimer = function (toast) {\n                            var timeout = angular.isNumber(toast.timeout) ? toast.timeout : mergedConfig['time-out'];\n                            if (typeof timeout === \"object\") timeout = timeout[toast.type];\n                            if (timeout > 0) {\n                                setTimeout(toast, timeout);\n                            }\n                        };\n\n                        function addToast(toast, toastId) {\n                            toast.type = mergedConfig['icon-classes'][toast.type];\n                            if (!toast.type) {\n                                toast.type = mergedConfig['icon-class'];\n                            }\n\n                            if (mergedConfig['prevent-duplicates'] === true) {\n                                // Prevent adding duplicate toasts if it's set\n                                if (isUndefinedOrNull(toastId)) {\n                                    if (scope.toasters.length > 0 && scope.toasters[scope.toasters.length - 1].body === toast.body) {\n                                        return;\n                                    }\n                                } else {\n                                    var i, len;\n                                    for (i = 0, len = scope.toasters.length; i < len; i++) {\n                                        if (scope.toasters[i].uid === toastId) {\n                                            removeToast(i);\n                                            // update loop\n                                            i--;\n                                            len = scope.toasters.length;\n                                        }\n                                    }\n                                }\n                            }\n\n                            toast.id = ++id;\n                            // Sure uid defined\n                            if (!isUndefinedOrNull(toastId)) {\n                                toast.uid = toastId;\n                            }\n\n                            // set the showCloseButton property on the toast so that\n                            // each template can bind directly to the property to show/hide\n                            // the close button\n                            var closeButton = mergedConfig['close-button'];\n\n                            // if toast.showCloseButton is a boolean value,\n                            // it was specifically overriden in the pop arguments\n                            if (typeof toast.showCloseButton === \"boolean\") {\n\n                            } else if (typeof closeButton === \"boolean\") {\n                                toast.showCloseButton = closeButton;\n                            } else if (typeof closeButton === \"object\") {\n                                var closeButtonForType = closeButton[toast.type];\n\n                                if (typeof closeButtonForType !== \"undefined\" && closeButtonForType !== null) {\n                                    toast.showCloseButton = closeButtonForType;\n                                }\n                            } else {\n                                // if an option was not set, default to false.\n                                toast.showCloseButton = false;\n                            }\n                            \n                            if (toast.showCloseButton) {\n                                toast.closeHtml = $sce.trustAsHtml(toast.closeHtml || scope.config.closeHtml);\n                            }\n                             \n                            // Set the toast.bodyOutputType to the default if it isn't set\n                            toast.bodyOutputType = toast.bodyOutputType || mergedConfig['body-output-type'];\n                            switch (toast.bodyOutputType) {\n                                case 'trustedHtml':\n                                    toast.html = $sce.trustAsHtml(toast.body);\n                                    break;\n                                case 'template':\n                                    toast.bodyTemplate = toast.body || mergedConfig['body-template'];\n                                    break;\n                                case 'templateWithData':\n                                    var fcGet = $parse(toast.body || mergedConfig['body-template']);\n                                    var templateWithData = fcGet(scope);\n                                    toast.bodyTemplate = templateWithData.template;\n                                    toast.data = templateWithData.data;\n                                    break;\n                                case 'directive':\n                                    toast.html = toast.body;\n                                    break;\n                            }\n\n                            scope.configureTimer(toast);\n                            \n                            if (mergedConfig['newest-on-top'] === true) {\n                                scope.toasters.unshift(toast);\n                                if (mergedConfig['limit'] > 0 && scope.toasters.length > mergedConfig['limit']) {\n                                    scope.toasters.pop();\n                                }\n                            } else {\n                                scope.toasters.push(toast);\n                                if (mergedConfig['limit'] > 0 && scope.toasters.length > mergedConfig['limit']) {\n                                    scope.toasters.shift();\n                                }\n                            }\n                        }\n\n                        scope.removeToast = function (id) {\n                            var i, len;\n                            for (i = 0, len = scope.toasters.length; i < len; i++) {\n                                if (scope.toasters[i].id === id) {\n                                    removeToast(i);\n                                    break;\n                                }\n                            }\n                        };\n\n                        function removeToast(toastIndex) {\n                            var toast = scope.toasters[toastIndex];\n                            if (toast) {\n                                if (toast.timeoutPromise) {\n                                    $interval.cancel(toast.timeoutPromise);\n                                }\n                                scope.toasters.splice(toastIndex, 1);\n\n                                if (angular.isFunction(toast.onHideCallback)) {\n                                    toast.onHideCallback();\n                                }\n                            }\n                        }\n\n                        function removeAllToasts(toastId) {\n                            for (var i = scope.toasters.length - 1; i >= 0; i--) {\n                                if (isUndefinedOrNull(toastId)) {\n                                    removeToast(i);\n                                } else {\n                                    if (scope.toasters[i].uid == toastId) {\n                                        removeToast(i);\n                                    }\n                                }\n                            }\n                        }\n\n                        scope.toasters = [];\n\n                        function isUndefinedOrNull(val) {\n                            return angular.isUndefined(val) || val === null;\n                        }\n\n                        scope._onNewToast = function (event, toasterId, toastId) {\n                            // Compatibility: if toaster has no toasterId defined, and if call to display\n                            // hasn't either, then the request is for us\n\n                            if ((isUndefinedOrNull(scope.config.toasterId) && isUndefinedOrNull(toasterId)) || (!isUndefinedOrNull(scope.config.toasterId) && !isUndefinedOrNull(toasterId) && scope.config.toasterId == toasterId)) {\n                                addToast(toaster.toast, toastId);\n                            }\n                        };\n                        scope._onClearToasts = function (event, toasterId, toastId) {\n                            // Compatibility: if toaster has no toasterId defined, and if call to display\n                            // hasn't either, then the request is for us\n                            if (toasterId == '*' || (isUndefinedOrNull(scope.config.toasterId) && isUndefinedOrNull(toasterId)) || (!isUndefinedOrNull(scope.config.toasterId) && !isUndefinedOrNull(toasterId) && scope.config.toasterId == toasterId)) {\n                                removeAllToasts(toastId);\n                            }\n                        };\n\n                        toasterEventRegistry.setup();\n\n                        toasterEventRegistry.subscribeToNewToastEvent(scope._onNewToast);\n                        toasterEventRegistry.subscribeToClearToastsEvent(scope._onClearToasts);\n                    },\n                    controller: [\n                        '$scope', '$element', '$attrs', function ($scope, $element, $attrs) {\n                            // Called on mouseover\n                            $scope.stopTimer = function (toast) {\n                                if ($scope.config.mouseoverTimer === true) {\n                                    if (toast.timeoutPromise) {\n                                        $interval.cancel(toast.timeoutPromise);\n                                        toast.timeoutPromise = null;\n                                    }\n                                }\n                            };\n\n                            // Called on mouseout\n                            $scope.restartTimer = function (toast) {\n                                if ($scope.config.mouseoverTimer === true) {\n                                    if (!toast.timeoutPromise) {\n                                        $scope.configureTimer(toast);\n                                    }\n                                } else if (toast.timeoutPromise === null) {\n                                    $scope.removeToast(toast.id);\n                                }\n                            };\n\n                            $scope.click = function (toast, isCloseButton) {\n                                if ($scope.config.tap === true || (toast.showCloseButton === true && isCloseButton === true)) {\n                                    var removeToast = true;\n                                    if (toast.clickHandler) {\n                                        if (angular.isFunction(toast.clickHandler)) {\n                                            removeToast = toast.clickHandler(toast, isCloseButton);\n                                        } else if (angular.isFunction($scope.$parent.$eval(toast.clickHandler))) {\n                                            removeToast = $scope.$parent.$eval(toast.clickHandler)(toast, isCloseButton);\n                                        } else {\n                                            console.log(\"TOAST-NOTE: Your click handler is not inside a parent scope of toaster-container.\");\n                                        }\n                                    }\n                                    if (removeToast) {\n                                        $scope.removeToast(toast.id);\n                                    }\n                                }\n                            };\n                        }],\n                    template: \n                        '<div id=\"toast-container\" ng-class=\"[config.position, config.animation]\">' + \n                            '<div ng-repeat=\"toaster in toasters\" class=\"toast\" ng-class=\"toaster.type\" ng-click=\"click(toaster)\" ng-mouseover=\"stopTimer(toaster)\" ng-mouseout=\"restartTimer(toaster)\">' + \n                                '<div ng-if=\"toaster.showCloseButton\" ng-click=\"click(toaster, true)\" ng-bind-html=\"toaster.closeHtml\"></div>' + \n                                '<div ng-class=\"config.title\">{{toaster.title}}</div>' + \n                                '<div ng-class=\"config.message\" ng-switch on=\"toaster.bodyOutputType\">' + \n                                    '<div ng-switch-when=\"trustedHtml\" ng-bind-html=\"toaster.html\"></div>' + \n                                    '<div ng-switch-when=\"template\"><div ng-include=\"toaster.bodyTemplate\"></div></div>' + \n                                    '<div ng-switch-when=\"templateWithData\"><div ng-include=\"toaster.bodyTemplate\"></div></div>' +\n                                    '<div ng-switch-when=\"directive\"><div directive-template directive-name=\"{{toaster.html}}\" directive-data=\"{{toaster.directiveData}}\"></div></div>' + \n                                    '<div ng-switch-default >{{toaster.body}}</div>' + \n                                '</div>' + \n                            '</div>' + \n                        '</div>'\n                };\n            }]\n        );\n})(window, document);"
  }
]