From 669944a98fd2511c1c55120eb3b58e137a90d098 Mon Sep 17 00:00:00 2001 From: Anton Wilhelm Date: Thu, 27 Oct 2016 01:40:07 +0200 Subject: [PATCH 001/109] upgrade to vue 2, veux 2 and vue-router 2 --- package.json | 16 +-- src/components/404.vue | 2 +- src/components/App.vue | 19 +--- src/components/Dash.vue | 54 +++++----- src/components/Login.vue | 6 +- src/components/dash/Access.vue | 74 ++++++------- src/components/dash/Dashboard.vue | 60 +++++------ src/components/dash/Repos.vue | 70 +++++++------ src/components/dash/Server.vue | 28 ++--- src/components/dash/Setting.vue | 166 +++++++++++++++--------------- src/components/dash/Tables.vue | 6 +- src/components/dash/Tasks.vue | 9 +- src/main.js | 136 ++++++++---------------- src/routes.js | 68 ++++++++++++ 14 files changed, 369 insertions(+), 345 deletions(-) create mode 100644 src/routes.js diff --git a/package.json b/package.json index 53a46d02..002e6ea7 100644 --- a/package.json +++ b/package.json @@ -23,11 +23,11 @@ "http-server": "^0.9.0", "jquery": "^2.2.2", "moment": "^2.12.0", - "vue": "^1.0.18", - "vue-date-picker": "^1.0.1", - "vue-resource": "^0.7.0", - "vue-router": "^0.7.11", - "vuex": "^0.6.2" + "vue": "^2.0.3", + "vue-date-picker": "^1.0.2", + "vue-resource": "^1.0.3", + "vue-router": "^2.0.1", + "vuex": "^2.0.0" }, "devDependencies": { "babel-core": "^6.0.0", @@ -70,9 +70,9 @@ "selenium-server": "2.53.0", "shelljs": "^0.6.0", "url-loader": "^0.5.7", - "vue-hot-reload-api": "^1.2.0", - "vue-html-loader": "^1.0.0", - "vue-loader": "^8.2.1", + "vue-hot-reload-api": "^2.0.6", + "vue-html-loader": "^1.2.3", + "vue-loader": "^9.7.0", "vue-style-loader": "^1.0.0", "webpack": "^1.12.2", "webpack-dev-middleware": "^1.4.0", diff --git a/src/components/404.vue b/src/components/404.vue index 4d3062a1..d935804e 100644 --- a/src/components/404.vue +++ b/src/components/404.vue @@ -6,7 +6,7 @@

You are lost.

This page doesn't exist.

- Take me home. + Take me home.
diff --git a/src/components/App.vue b/src/components/App.vue index 19512997..36d64c07 100644 --- a/src/components/App.vue +++ b/src/components/App.vue @@ -1,22 +1,13 @@ diff --git a/src/components/dash/Repos.vue b/src/components/dash/Repos.vue index 36309499..7a8477f6 100644 --- a/src/components/dash/Repos.vue +++ b/src/components/dash/Repos.vue @@ -1,39 +1,41 @@ diff --git a/src/components/dash/Tables.vue b/src/components/dash/Tables.vue index 74e6f6de..042bb41b 100644 --- a/src/components/dash/Tables.vue +++ b/src/components/dash/Tables.vue @@ -197,8 +197,10 @@ require('datatables.net-bs') module.exports = { name: 'Tables', - ready: function () { - $('#example1').DataTable() + mounted: function () { + this.$nextTick(function () { + $('#example1').DataTable() + }) } } diff --git a/src/components/dash/Tasks.vue b/src/components/dash/Tasks.vue index d47d3627..d9eb2a95 100644 --- a/src/components/dash/Tasks.vue +++ b/src/components/dash/Tasks.vue @@ -10,15 +10,14 @@
  • - +
     {{line.time}}

    {{line.title}}

    -
    - {{{line.body}}} +
  • @@ -64,7 +63,7 @@ } }, methods: { - ready: function () { + mounted: function () { // debugger // this.callGitHub() console.log('inside of task') diff --git a/src/main.js b/src/main.js index 141dbf11..460fa0ff 100644 --- a/src/main.js +++ b/src/main.js @@ -1,111 +1,29 @@ // Import System requirements import Vue from 'vue' -import Router from 'vue-router' import Resource from 'vue-resource' +import VueRouter from 'vue-router' + +import routes from './routes' +import store from './store' // Import Helpers for filters import { domain, count, prettyDate, pluralize } from './filters' // Import Views - Top level -import AppView from './components/App.vue' -import DashView from './components/Dash.vue' -import LoginView from './components/Login.vue' -import NotFoundView from './components/404.vue' -// Import Views - Dash -import DashboardView from './components/dash/Dashboard.vue' -import TablesView from './components/dash/Tables.vue' -import TasksView from './components/dash/Tasks.vue' -import SettingView from './components/dash/Setting.vue' -import AccessView from './components/dash/Access.vue' -import ServerView from './components/dash/Server.vue' -import ReposView from './components/dash/Repos.vue' +import AppView from './components/App.vue' // Import Install and register helper items -Vue.use(Router) Vue.filter('count', count) Vue.filter('domain', domain) Vue.filter('prettyDate', prettyDate) Vue.filter('pluralize', pluralize) -// Routing logic -var router = new Router({ - history: true, - saveScrollPosition: true -}) - -// Routes -router.map({ - '/login': { - component: LoginView - }, - '/': { - component: DashView, - auth: true, - subRoutes: { - '': { - component: DashboardView, - name: 'Dashboard', - description: 'Overview of environment' - }, - '/tables': { - component: TablesView, - name: 'Tables', - description: 'Simple and advance table in CoPilot' - }, - '/tasks': { - component: TasksView, - name: 'Tasks', - description: 'Tasks page in the form of a timeline' - }, - '/setting': { - component: SettingView, - name: 'Settings', - description: 'User settings page' - }, - '/access': { - component: AccessView, - name: 'Access', - description: 'Example of using maps' - }, - '/server': { - component: ServerView, - name: 'Servers', - description: 'List of our servers' - }, - '/repos': { - component: ReposView, - name: 'Repository', - description: 'List of popular javascript repos' - } - } - }, - // not found handler - '*': { - component: NotFoundView - } -}) - -// Redirect for shortcuts -router.redirect({ - '/jobs': '/user/jobs', - '/me': '/user' -}) - -// Some middleware to help us ensure the user is authenticated. -router.beforeEach(function (transition) { - // window.console.log('Transition', transition) - if (transition.to.auth && (transition.to.router.app.$store.state.token === 'null')) { - window.console.log('Not authenticated') - transition.redirect('/login') - } else { - transition.next() - } -}) - // Resource logic Vue.use(Resource) +Vue.use(VueRouter) + Vue.http.interceptors.push({ request: function (request) { /* @@ -124,6 +42,42 @@ Vue.http.interceptors.push({ } }) +// Routing logic +var router = new VueRouter({ + routes: routes, + mode: 'history', + scrollBehavior: function (to, from, savedPosition) { + return savedPosition || { x: 0, y: 0 } + } +}) + +// Some middleware to help us ensure the user is authenticated. +router.beforeEach((to, from, next) => { + // window.console.log('Transition', transition) + if (to.auth && (to.router.app.$store.state.token === 'null')) { + window.console.log('Not authenticated') + next({ + path: '/login', + query: { redirect: to.fullPath } + }) + } else { + next() + } +}) + // Start out app! -Vue.config.debug = true -router.start(AppView, '#root') +// eslint-disable-next-line no-new +new Vue({ + el: '#root', + router: router, + store: store, + render: h => h(AppView) +}) + +// Check local storage to handle refreshes +if (window.localStorage) { + if (store.state.user !== window.localStorage.getItem('user')) { + store.dispatch('SET_USER', JSON.parse(window.localStorage.getItem('user'))) + store.dispatch('SET_TOKEN', window.localStorage.getItem('token')) + } +} diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 00000000..c6e96cef --- /dev/null +++ b/src/routes.js @@ -0,0 +1,68 @@ +import DashView from './components/Dash.vue' +import LoginView from './components/Login.vue' +import NotFoundView from './components/404.vue' + +// Import Views - Dash +import DashboardView from './components/dash/Dashboard.vue' +import TablesView from './components/dash/Tables.vue' +import TasksView from './components/dash/Tasks.vue' +import SettingView from './components/dash/Setting.vue' +import AccessView from './components/dash/Access.vue' +import ServerView from './components/dash/Server.vue' +import ReposView from './components/dash/Repos.vue' + +// Routes +const routes = [ + { + path: '/login', + component: LoginView + }, { + path: '/', + component: DashView, + auth: true, + children: [ + { + path: '', + component: DashboardView, + name: 'Dashboard', + description: 'Overview of environment' + }, { + path: '/tables', + component: TablesView, + name: 'Tables', + description: 'Simple and advance table in CoPilot' + }, { + path: '/tasks', + component: TasksView, + name: 'Tasks', + description: 'Tasks page in the form of a timeline' + }, { + path: '/setting', + component: SettingView, + name: 'Settings', + description: 'User settings page' + }, { + path: '/access', + component: AccessView, + name: 'Access', + description: 'Example of using maps' + }, { + path: '/server', + component: ServerView, + name: 'Servers', + description: 'List of our servers' + }, { + path: '/repos', + component: ReposView, + name: 'Repository', + description: 'List of popular javascript repos' + } + ] + }, { + // not found handler + path: '*', + component: NotFoundView + } +] + +export default routes From 7b440fe3235ba13d6772070216c9c25be2b8df0b Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Mon, 31 Oct 2016 15:59:35 -0400 Subject: [PATCH 002/109] Changed banner and included vuejs 2.0 news --- README.md | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d5478efe..ca275018 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,9 @@ -Introduction -============ - -CoPilot Logo +!["CoPilot Banner"](http://res.cloudinary.com/gatec21/image/upload/v1477940670/banner_f70yvk.jpg) **CoPilot** is a fully responsive admin template that is forked from [AdminLTE](https://almsaeedstudio.com). The difference here is that this repo is tailored to use with vue.js. The UI is based on the [Bootstrap 3](https://github.com/twbs/bootstrap) framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. -[Take it for a spin](http://copilot.misterGF.io) +[Take it for a spin](https://copilot.misterGF.io) !["CoPilot Screenshot"](http://res.cloudinary.com/gatec21/image/upload/v1459799350/screenshot_t2kpol.png) @@ -14,7 +11,7 @@ In an attempt to keep the project clean I have not included every plugin/feature The structure of the app is scaffolded by [vue-cli](https://github.com/vuejs/vue-cli). Which is a simple CLI tool that setups our environment. CoPilot uses the webpack package. So we get a full-featured Webpack + vue-loader setup with hot reload, linting, testing & css extraction. -We leverage all the goodies that vue.js offers. Vue-Router for routing. Vue-Resource for AJAX calls. Vuex for state management. +We leverage all the goodies that vue.js offers. Vue-Router for routing. Vue-Resource for AJAX calls. Vuex for state management. **This project is using VueJS 2.0!**. Earlier versions can be found under the [vue 1.0 branch](https://github.com/misterGF/CoPilot/tree/vue1.0_version). I also recommend that you install vue-devtools for Chrome so that you can easily inspect that state of vue. ![vue-devtools](http://res.cloudinary.com/gatec21/image/upload/v1461611064/copilot-vuetools_t1mvpg.png) @@ -113,9 +110,3 @@ Image Credits [Unsplash](https://unsplash.com/) [Uifaces](http://uifaces.com/) - -Donations ---------- -Donations are **greatly appreciated!** - -[![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif "CoPilot")](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W874GLKJ92SGN "Donate") From dfb95bec94426a1c9bbe02850281a8e2b72de3e4 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Mon, 31 Oct 2016 15:59:54 -0400 Subject: [PATCH 003/109] Upgraded chartjs --- package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 002e6ea7..2f3fad9f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "copilot", - "version": "0.1.0", + "version": "0.2.0", "description": "A fully responsive admin template based on AdminLTE with vue.js integration", "author": "Gil Ferreira ", "repository": "https://github.com/misterGF/CoPilot", @@ -11,11 +11,12 @@ "build": "node build/build.js", "unit": "karma start test/unit/karma.conf.js --single-run", "e2e": "node test/e2e/runner.js", - "test": "npm run unit && npm run e2e" + "test": "npm run unit && npm run e2e", + "deploy": "pubstorm publish" }, "dependencies": { "babel-runtime": "^5.8.0", - "chart.js": "^1.1.0", + "chart.js": "^2.3.0", "datatables.net": "^1.10.11", "datatables.net-bs": "^1.10.11", "faker": "^3.1.0", From 756d8d37a266861f8699de07fad487a13650971e Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Mon, 31 Oct 2016 16:00:23 -0400 Subject: [PATCH 004/109] Added year variable --- src/components/Dash.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/Dash.vue b/src/components/Dash.vue index f222ffa8..afa60c1b 100644 --- a/src/components/Dash.vue +++ b/src/components/Dash.vue @@ -238,6 +238,10 @@ module.exports = { email: faker.internet.email(), randomCard: faker.helpers.createCard() } + }, + year: function () { + var y = new Date() + return y.getFullYear() } }, methods: { From 9f5ca8bf1de11f4b3d619615ddc5da0174370b43 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Mon, 31 Oct 2016 17:04:11 -0400 Subject: [PATCH 005/109] Added new snapshot of copilot --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca275018..bfb1970c 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [Take it for a spin](https://copilot.misterGF.io) -!["CoPilot Screenshot"](http://res.cloudinary.com/gatec21/image/upload/v1459799350/screenshot_t2kpol.png) +!["CoPilot Screenshot"](http://res.cloudinary.com/gatec21/image/upload/v1477947780/screenshotv2_ft7ayo.png) In an attempt to keep the project clean I have not included every plugin/feature that AdminLTE offers. You simply need to add the plugin in the /static/js/plugin folder to include them or use npm. I've included the popular ones. From 9341d39956f8957232e0da77c830a95573a93bf3 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Mon, 31 Oct 2016 17:04:42 -0400 Subject: [PATCH 006/109] Facelift for the front page --- src/components/dash/Dashboard.vue | 153 ++++++++++++++++++++++-------- static/img/banner.jpg | Bin 0 -> 16848 bytes static/img/screenshotv2.png | Bin 0 -> 133759 bytes 3 files changed, 116 insertions(+), 37 deletions(-) create mode 100644 static/img/banner.jpg create mode 100644 static/img/screenshotv2.png diff --git a/src/components/dash/Dashboard.vue b/src/components/dash/Dashboard.vue index 52e6a41d..267913d3 100644 --- a/src/components/dash/Dashboard.vue +++ b/src/components/dash/Dashboard.vue @@ -67,19 +67,34 @@ -
    -
    - -
    - +
    +
    +
    +

    +
    +
    +

    + Web Traffic Overview +

    + +
    +
    +
    +

    + Language Overview +

    + +
    +
    + Pro Tip Don't forget to start us on github!
    -
    +
    @@ -91,13 +106,13 @@
    - 50% Increase in 30 Days + 50% Increase
    -
    +
    @@ -109,13 +124,13 @@
    - 20% Increase in 30 Days + 20% Increase
    -
    +
    @@ -127,13 +142,13 @@
    - 70% Increase in 30 Days + 70% Increase
    -
    +
    @@ -145,7 +160,7 @@
    - 40% Increase in 30 Days + 40% Increase
    @@ -161,37 +176,101 @@ import Chart from 'chart.js' module.exports = { + data: function () { + return { + generateRandomNumbers: function (numbers, max, min) { + var a = [] + for (var i = 0; i < numbers; i++) { + a.push(Math.floor(Math.random() * (max - min + 1)) + max) + } + return a + } + } + }, + computed: { + coPilotNumbers: function () { + return this.generateRandomNumbers(12, 1000000, 10000) + }, + personalNumbers: function () { + return this.generateRandomNumbers(12, 1000000, 10000) + } + }, mounted: function () { this.$nextTick(function () { - var ctx = document.getElementById('canvas').getContext('2d') - var data = { - labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], - datasets: [ - { - label: 'My First dataset', - fillColor: 'rgba(220,220,220,0.2)', - strokeColor: 'rgba(220,220,220,1)', - pointColor: 'rgba(220,220,220,1)', - pointStrokeColor: '#fff', - pointHighlightFill: '#fff', - pointHighlightStroke: 'rgba(220,220,220,1)', - data: [65, 59, 80, 81, 56, 55, 40] + var ctx = document.getElementById('trafficBar').getContext('2d') + var config = { + type: 'line', + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + datasets: [{ + label: 'CoPilot', + fill: false, + borderColor: '#284184', + pointBackgroundColor: '#284184', + backgroundColor: 'rgba(0, 0, 0, 0)', + data: this.coPilotNumbers + }, { + label: 'Personal Site', + borderColor: '#4BC0C0', + pointBackgroundColor: '#4BC0C0', + backgroundColor: 'rgba(0, 0, 0, 0)', + data: this.personalNumbers + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + legend: { + position: 'bottom', + display: true }, - { - label: 'My Second dataset', - fillColor: 'rgba(151,187,205,0.2)', - strokeColor: 'rgba(151,187,205,1)', - pointColor: 'rgba(151,187,205,1)', - pointStrokeColor: '#fff', - pointHighlightFill: '#fff', - pointHighlightStroke: 'rgba(151,187,205,1)', - data: [28, 48, 40, 19, 86, 27, 90] + tooltips: { + mode: 'label', + xPadding: 10, + yPadding: 10, + bodySpacing: 10 } - ] + } } - new Chart(ctx).Line(data, {responsive: false}) + new Chart(ctx, config) // eslint-disable-line no-new + + var pieChartCanvas = document.getElementById('languagePie').getContext('2d') + var pieConfig = { + type: 'pie', + data: { + labels: ['HTML', 'JavaScript', 'CSS'], + datasets: [{ + data: [56.6, 37.7, 4.1], + backgroundColor: ['#00a65a', '#f39c12', '#00c0ef'], + hoverBackgroundColor: ['#00a65a', '#f39c12', '#00c0ef'] + }] + }, + options: { + responsive: true, + maintainAspectRatio: false, + legend: { + position: 'bottom', + display: true + } + } + } + + new Chart(pieChartCanvas, pieConfig) // eslint-disable-line no-new }) } } + diff --git a/static/img/banner.jpg b/static/img/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b74be5b7708600b1ce5457a5cbc9893e77ead88 GIT binary patch literal 16848 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�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 bYcND4h%@@tt Date: Mon, 31 Oct 2016 17:20:51 -0400 Subject: [PATCH 007/109] Update to README --- README.md | 2 -- package.json | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index bfb1970c..556a5a25 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -!["CoPilot Banner"](http://res.cloudinary.com/gatec21/image/upload/v1477940670/banner_f70yvk.jpg) - **CoPilot** is a fully responsive admin template that is forked from [AdminLTE](https://almsaeedstudio.com). The difference here is that this repo is tailored to use with vue.js. The UI is based on the [Bootstrap 3](https://github.com/twbs/bootstrap) framework. Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops. diff --git a/package.json b/package.json index 2f3fad9f..ebadaa41 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "unit": "karma start test/unit/karma.conf.js --single-run", "e2e": "node test/e2e/runner.js", "test": "npm run unit && npm run e2e", - "deploy": "pubstorm publish" + "deploy": "storm publish" }, "dependencies": { "babel-runtime": "^5.8.0", From e3ce1fbe18de394631d623beb8b5eb0c82eec01c Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Fri, 4 Nov 2016 16:36:55 -0400 Subject: [PATCH 008/109] Adjusted build scripts to work with vuejs 2 --- .gitignore | 1 + .netlify | 1 + build/build.js | 20 +++++-- build/check-versions.js | 45 ++++++++++++++++ build/dev-client.js | 1 + build/dev-server.js | 37 ++++++------- build/prod-server.js | 27 ---------- build/{css-loaders.js => utils.js} | 30 ++++++++++- build/webpack.base.conf.js | 51 +++++++++++------- build/webpack.dev.conf.js | 21 ++++---- build/webpack.prod.conf.js | 85 +++++++++++++++++++++++------- package.json | 6 ++- 12 files changed, 225 insertions(+), 100 deletions(-) create mode 100644 .netlify create mode 100644 build/check-versions.js delete mode 100644 build/prod-server.js rename build/{css-loaders.js => utils.js} (53%) diff --git a/.gitignore b/.gitignore index e5aa4bfe..b2b5bf11 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ test/unit/coverage test/e2e/reports .tern-project pubstorm.json +build_old diff --git a/.netlify b/.netlify new file mode 100644 index 00000000..55f02dc3 --- /dev/null +++ b/.netlify @@ -0,0 +1 @@ +{"site_id":"f0cf1f6e-6afe-44e4-b4dc-7f055292d716","path":"dist"} \ No newline at end of file diff --git a/build/build.js b/build/build.js index a4164caf..b3c9aad4 100644 --- a/build/build.js +++ b/build/build.js @@ -1,19 +1,29 @@ // https://github.com/shelljs/shelljs +require('./check-versions')() require('shelljs/global') env.NODE_ENV = 'production' +var path = require('path') +var config = require('../config') var ora = require('ora') var webpack = require('webpack') -var conf = require('./webpack.prod.conf') +var webpackConfig = require('./webpack.prod.conf') + +console.log( + ' Tip:\n' + + ' Built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' +) var spinner = ora('building for production...') spinner.start() -rm('-rf', 'dist') -mkdir('dist') -cp('-R', 'static', conf.output.path) +var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory) +rm('-rf', assetsPath) +mkdir('-p', assetsPath) +cp('-R', 'static/*', assetsPath) -webpack(conf, function (err, stats) { +webpack(webpackConfig, function (err, stats) { spinner.stop() if (err) throw err process.stdout.write(stats.toString({ diff --git a/build/check-versions.js b/build/check-versions.js new file mode 100644 index 00000000..e2b6cf74 --- /dev/null +++ b/build/check-versions.js @@ -0,0 +1,45 @@ +var semver = require('semver') +var chalk = require('chalk') +var packageConfig = require('../package.json') +var exec = function (cmd) { + return require('child_process') + .execSync(cmd).toString().trim() +} + +var versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + }, + { + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + } +] + +module.exports = function () { + var warnings = [] + for (var i = 0; i < versionRequirements.length; i++) { + var mod = versionRequirements[i] + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + for (var i = 0; i < warnings.length; i++) { + var warning = warnings[i] + console.log(' ' + warning) + } + console.log() + process.exit(1) + } +} diff --git a/build/dev-client.js b/build/dev-client.js index 89f00795..18aa1e21 100644 --- a/build/dev-client.js +++ b/build/dev-client.js @@ -1,3 +1,4 @@ +/* eslint-disable */ require('eventsource-polyfill') var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') diff --git a/build/dev-server.js b/build/dev-server.js index 3e5179af..b7eeae3a 100644 --- a/build/dev-server.js +++ b/build/dev-server.js @@ -1,28 +1,26 @@ +require('./check-versions')() +var config = require('../config') +if (!process.env.NODE_ENV) process.env.NODE_ENV = config.dev.env +var path = require('path') var express = require('express') var webpack = require('webpack') -var config = require('./webpack.dev.conf') +var opn = require('opn') var proxyMiddleware = require('http-proxy-middleware') +var webpackConfig = process.env.NODE_ENV === 'testing' + ? require('./webpack.prod.conf') + : require('./webpack.dev.conf') // default port where dev server listens for incoming traffic -var port = process.env.PORT || 8080 - -var app = express() -var compiler = webpack(config) - +var port = process.env.PORT || config.dev.port // Define HTTP proxies to your custom API backend // https://github.com/chimurai/http-proxy-middleware -var proxyTable = { - // '/api': { - // target: 'http://jsonplaceholder.typicode.com', - // changeOrigin: true, - // pathRewrite: { - // '^/api': '' - // } - // } -} +var proxyTable = config.dev.proxyTable + +var app = express() +var compiler = webpack(webpackConfig) var devMiddleware = require('webpack-dev-middleware')(compiler, { - publicPath: config.output.publicPath, + publicPath: webpackConfig.output.publicPath, stats: { colors: true, chunks: false @@ -58,12 +56,15 @@ app.use(devMiddleware) app.use(hotMiddleware) // serve pure static assets -app.use('/static', express.static('./static')) +var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) +app.use(staticPath, express.static('./static')) module.exports = app.listen(port, function (err) { if (err) { console.log(err) return } - console.log('Listening at http://localhost:' + port + '\n') + var uri = 'http://localhost:' + port + console.log('Listening at ' + uri + '\n') + opn(uri) }) diff --git a/build/prod-server.js b/build/prod-server.js deleted file mode 100644 index 5a78c477..00000000 --- a/build/prod-server.js +++ /dev/null @@ -1,27 +0,0 @@ -var express = require('express') -var port = process.env.PORT || 80 // Might have some issues running it from your local machine. Best to run this on server -var baseConfig = require('./webpack.base.conf') - -var app = express(), - path = baseConfig.output.distPath - console.log(path) - -// handle fallback for HTML5 history API -app.use(require('connect-history-api-fallback')()) - -// server webpack outputs -app.set('appPath', path) -app.use(express.static(baseConfig.output.path)) - -app.route('/*') - .get(function(req, res){ - res.sendFile(app.get('appPath') + '/index.html') - }) - -app.listen(port, function (err) { - if (err) { - console.log(err) - return - } - console.log('Listening at http://localhost:' + port + '\n') -}) diff --git a/build/css-loaders.js b/build/utils.js similarity index 53% rename from build/css-loaders.js rename to build/utils.js index 5db0d95d..dc3cdd01 100644 --- a/build/css-loaders.js +++ b/build/utils.js @@ -1,6 +1,15 @@ +var path = require('path') +var config = require('../config') var ExtractTextPlugin = require('extract-text-webpack-plugin') -module.exports = function (options) { +exports.assetsPath = function (_path) { + var assetsSubDirectory = process.env.NODE_ENV === 'production' + ? config.build.assetsSubDirectory + : config.dev.assetsSubDirectory + return path.posix.join(assetsSubDirectory, _path) +} + +exports.cssLoaders = function (options) { options = options || {} // generate loader string to be used with extract text plugin function generateLoaders (loaders) { @@ -16,6 +25,8 @@ module.exports = function (options) { return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '') }).join('!') + // Extract CSS when that option is specified + // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract('vue-style-loader', sourceLoader) } else { @@ -23,9 +34,10 @@ module.exports = function (options) { } } - // http://vuejs.github.io/vue-loader/configurations/extract-css.html + // http://vuejs.github.io/vue-loader/en/configurations/extract-css.html return { css: generateLoaders(['css']), + postcss: generateLoaders(['css']), less: generateLoaders(['css', 'less']), sass: generateLoaders(['css', 'sass?indentedSyntax']), scss: generateLoaders(['css', 'sass']), @@ -33,3 +45,17 @@ module.exports = function (options) { styl: generateLoaders(['css', 'stylus']) } } + +// Generate loaders for standalone style files (outside of .vue) +exports.styleLoaders = function (options) { + var output = [] + var loaders = exports.cssLoaders(options) + for (var extension in loaders) { + var loader = loaders[extension] + output.push({ + test: new RegExp('\\.' + extension + '$'), + loader: loader + }) + } + return output +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index 552e552a..dc13c4f9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -1,22 +1,32 @@ var path = require('path') -var cssLoaders = require('./css-loaders') +var config = require('../config') +var utils = require('./utils') var projectRoot = path.resolve(__dirname, '../') +var env = process.env.NODE_ENV +// check env & config/index.js to decide weither to enable CSS Sourcemaps for the +// various preprocessor loaders added to vue-loader at the end of this file +var cssSourceMapDev = (env === 'development' && config.dev.cssSourceMap) +var cssSourceMapProd = (env === 'production' && config.build.productionSourceMap) +var useCssSourceMap = cssSourceMapDev || cssSourceMapProd + module.exports = { entry: { app: './src/main.js' }, output: { - path: path.resolve(__dirname, '../dist/static'), - distPath: path.resolve(__dirname, '../dist'), - publicPath: './static/', + path: config.build.assetsRoot, + publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath, filename: '[name].js' }, resolve: { extensions: ['', '.js', '.vue'], fallback: [path.join(__dirname, '../node_modules')], alias: { - 'src': path.resolve(__dirname, '../src') + 'vue$': 'vue/dist/vue', + 'src': path.resolve(__dirname, '../src'), + 'assets': path.resolve(__dirname, '../src/assets'), + 'components': path.resolve(__dirname, '../src/components') } }, resolveLoader: { @@ -50,30 +60,35 @@ module.exports = { }, { test: /\.json$/, - loader: 'json', - exclude: /node_modules/ + loader: 'json' }, { - test: /\.html$/, - loader: 'vue-html' + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url', + query: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } }, { - test: /\.(png|jpg|gif|woff2?|eot|ttf)(\?.*)?$/, + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url', query: { limit: 10000, - name: '[name].[ext]?[hash:7]' - }, - exclude: /node_modules/ + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } } ] }, - vue: { - loaders: cssLoaders() - }, eslint: { formatter: require('eslint-friendly-formatter') }, - noParse: ['node_modules','static'], - cache: true + vue: { + loaders: utils.cssLoaders({ sourceMap: useCssSourceMap }), + postcss: [ + require('autoprefixer')({ + browsers: ['last 2 versions'] + }) + ] + } } diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js index 861da889..7e1a104f 100644 --- a/build/webpack.dev.conf.js +++ b/build/webpack.dev.conf.js @@ -1,22 +1,25 @@ +var config = require('../config') var webpack = require('webpack') var merge = require('webpack-merge') -var baseConfig = require('./webpack.base.conf') +var utils = require('./utils') +var baseWebpackConfig = require('./webpack.base.conf') var HtmlWebpackPlugin = require('html-webpack-plugin') // add hot-reload related code to entry chunks -Object.keys(baseConfig.entry).forEach(function (name) { - baseConfig.entry[name] = ['./build/dev-client'].concat(baseConfig.entry[name]) +Object.keys(baseWebpackConfig.entry).forEach(function (name) { + baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) }) -module.exports = merge(baseConfig, { +module.exports = merge(baseWebpackConfig, { + module: { + loaders: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) + }, // eval-source-map is faster for development devtool: '#eval-source-map', - output: { - // necessary for the html plugin to work properly - // when serving the html from in-memory - publicPath: '/' - }, plugins: [ + new webpack.DefinePlugin({ + 'process.env': config.dev.env + }), // https://github.com/glenjamin/webpack-hot-middleware#installation--usage new webpack.optimize.OccurenceOrderPlugin(), new webpack.HotModuleReplacementPlugin(), diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js index b44c4851..3e109bb4 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -1,34 +1,35 @@ +var path = require('path') +var config = require('../config') +var utils = require('./utils') var webpack = require('webpack') var merge = require('webpack-merge') -var baseConfig = require('./webpack.base.conf') -var cssLoaders = require('./css-loaders') +var baseWebpackConfig = require('./webpack.base.conf') var ExtractTextPlugin = require('extract-text-webpack-plugin') var HtmlWebpackPlugin = require('html-webpack-plugin') +var env = process.env.NODE_ENV === 'testing' + ? require('../config/test.env') + : config.build.env -// whether to generate source map for production files. -// disabling this can speed up the build. -var SOURCE_MAP = true - -module.exports = merge(baseConfig, { - devtool: SOURCE_MAP ? '#source-map' : false, +var webpackConfig = merge(baseWebpackConfig, { + module: { + loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) + }, + devtool: config.build.productionSourceMap ? '#source-map' : false, output: { - // naming output files with hashes for better caching. - // dist/index.html will be auto-generated with correct URLs. - filename: '[name].[chunkhash].js', - chunkFilename: '[id].[chunkhash].js' + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') }, vue: { - loaders: cssLoaders({ - sourceMap: SOURCE_MAP, + loaders: utils.cssLoaders({ + sourceMap: config.build.productionSourceMap, extract: true }) }, plugins: [ - // http://vuejs.github.io/vue-loader/workflow/production.html + // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } + 'process.env': env }), new webpack.optimize.UglifyJsPlugin({ compress: { @@ -37,12 +38,14 @@ module.exports = merge(baseConfig, { }), new webpack.optimize.OccurenceOrderPlugin(), // extract css into its own file - new ExtractTextPlugin('[name].[contenthash].css'), + new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')), // generate dist index.html with correct asset hash for caching. // you can customize output by editing /index.html // see https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ - filename: '../index.html', + filename: process.env.NODE_ENV === 'testing' + ? 'index.html' + : config.build.index, template: 'index.html', inject: true, minify: { @@ -51,7 +54,49 @@ module.exports = merge(baseConfig, { removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference + }, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks: function (module, count) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + /\.js$/.test(module.resource) && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + chunks: ['vendor'] }) ] }) + +if (config.build.productionGzip) { + var CompressionWebpackPlugin = require('compression-webpack-plugin') + + webpackConfig.plugins.push( + new CompressionWebpackPlugin({ + asset: '[path].gz[query]', + algorithm: 'gzip', + test: new RegExp( + '\\.(' + + config.build.productionGzipExtensions.join('|') + + ')$' + ), + threshold: 10240, + minRatio: 0.8 + }) + ) +} + +module.exports = webpackConfig diff --git a/package.json b/package.json index ebadaa41..c84795a6 100644 --- a/package.json +++ b/package.json @@ -79,5 +79,9 @@ "webpack-dev-middleware": "^1.4.0", "webpack-hot-middleware": "^2.6.0", "webpack-merge": "^0.8.3" - } + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" +} } From c6fc673bab0b9e970b3e1253fb0c1be1f7976020 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Sat, 5 Nov 2016 16:28:48 -0400 Subject: [PATCH 009/109] Fix for charts on dashboard and some build updates for vuejs 2.0 --- .gitignore | 1 + build/build.js | 1 + config/dev.env.js | 6 ++ config/index.js | 32 +++++++++ config/prod.env.js | 3 + config/test.env.js | 6 ++ package.json | 107 ++++++++++++++++-------------- src/components/dash/Dashboard.vue | 8 +-- 8 files changed, 111 insertions(+), 53 deletions(-) create mode 100644 config/dev.env.js create mode 100644 config/index.js create mode 100644 config/prod.env.js create mode 100644 config/test.env.js diff --git a/.gitignore b/.gitignore index b2b5bf11..88e09ee6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ test/e2e/reports .tern-project pubstorm.json build_old +.netlify diff --git a/build/build.js b/build/build.js index b3c9aad4..89b3d118 100644 --- a/build/build.js +++ b/build/build.js @@ -1,3 +1,4 @@ +/* global env:true rm:true mkdir:true cp:true */ // https://github.com/shelljs/shelljs require('./check-versions')() require('shelljs/global') diff --git a/config/dev.env.js b/config/dev.env.js new file mode 100644 index 00000000..efead7c8 --- /dev/null +++ b/config/dev.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var prodEnv = require('./prod.env') + +module.exports = merge(prodEnv, { + NODE_ENV: '"development"' +}) diff --git a/config/index.js b/config/index.js new file mode 100644 index 00000000..207dfbd4 --- /dev/null +++ b/config/index.js @@ -0,0 +1,32 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + env: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/', + productionSourceMap: true, + // Gzip off by default as many popular static hosts such as + // Surge or Netlify already gzip all static assets for you. + // Before setting to `true`, make sure to: + // npm install --save-dev compression-webpack-plugin + productionGzip: false, + productionGzipExtensions: ['js', 'css'] + }, + dev: { + env: require('./dev.env'), + port: 8080, + assetsSubDirectory: 'static', + assetsPublicPath: '/', + proxyTable: {}, + // CSS Sourcemaps off by default because relative paths are "buggy" + // with this option, according to the CSS-Loader README + // (https://github.com/webpack/css-loader#sourcemaps) + // In our experience, they generally work as expected, + // just be aware of this issue when enabling this option. + cssSourceMap: false + } +} diff --git a/config/prod.env.js b/config/prod.env.js new file mode 100644 index 00000000..773d263d --- /dev/null +++ b/config/prod.env.js @@ -0,0 +1,3 @@ +module.exports = { + NODE_ENV: '"production"' +} diff --git a/config/test.env.js b/config/test.env.js new file mode 100644 index 00000000..89f90deb --- /dev/null +++ b/config/test.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var devEnv = require('./dev.env') + +module.exports = merge(devEnv, { + NODE_ENV: '"testing"' +}) diff --git a/package.json b/package.json index c84795a6..e75d1794 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "copilot", - "version": "0.2.0", + "version": "0.2.1", "description": "A fully responsive admin template based on AdminLTE with vue.js integration", "author": "Gil Ferreira ", "repository": "https://github.com/misterGF/CoPilot", @@ -31,54 +31,63 @@ "vuex": "^2.0.0" }, "devDependencies": { - "babel-core": "^6.0.0", - "babel-loader": "^6.0.0", - "babel-plugin-transform-runtime": "^6.0.0", - "babel-preset-es2015": "^6.0.0", - "babel-preset-stage-2": "^6.0.0", - "chromedriver": "^2.21.2", - "connect-history-api-fallback": "^1.1.0", - "cross-spawn": "^2.1.5", - "css-loader": "^0.23.0", - "eslint": "^2.0.0", - "eslint-config-standard": "^5.1.0", - "eslint-friendly-formatter": "^1.2.2", - "eslint-loader": "^1.3.0", - "eslint-plugin-html": "^1.3.0", - "eslint-plugin-promise": "^1.0.8", - "eslint-plugin-standard": "^1.3.2", - "eventsource-polyfill": "^0.9.6", - "express": "^4.13.3", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.4", - "function-bind": "^1.0.2", - "html-webpack-plugin": "^2.8.1", - "http-proxy-middleware": "^0.12.0", - "inject-loader": "^2.0.1", - "isparta-loader": "^2.0.0", - "jasmine-core": "^2.4.1", - "json-loader": "^0.5.4", - "karma": "^0.13.15", - "karma-coverage": "^0.5.5", - "karma-jasmine": "^0.3.6", - "karma-phantomjs-launcher": "^1.0.0", - "karma-sourcemap-loader": "^0.3.7", - "karma-spec-reporter": "0.0.24", - "karma-webpack": "^1.7.0", - "nightwatch": "^0.8.18", - "ora": "^0.2.0", - "phantomjs-prebuilt": "^2.1.3", - "selenium-server": "2.53.0", - "shelljs": "^0.6.0", - "url-loader": "^0.5.7", - "vue-hot-reload-api": "^2.0.6", - "vue-html-loader": "^1.2.3", - "vue-loader": "^9.7.0", - "vue-style-loader": "^1.0.0", - "webpack": "^1.12.2", - "webpack-dev-middleware": "^1.4.0", - "webpack-hot-middleware": "^2.6.0", - "webpack-merge": "^0.8.3" + "autoprefixer": "^6.4.0", + "babel-core": "^6.0.0", + "babel-eslint": "^7.0.0", + "babel-loader": "^6.0.0", + "babel-plugin-transform-runtime": "^6.0.0", + "babel-preset-es2015": "^6.0.0", + "babel-preset-stage-2": "^6.0.0", + "babel-register": "^6.0.0", + "chalk": "^1.1.3", + "connect-history-api-fallback": "^1.1.0", + "css-loader": "^0.25.0", + "eslint": "^3.7.1", + "eslint-friendly-formatter": "^2.0.5", + "eslint-loader": "^1.5.0", + "eslint-plugin-html": "^1.3.0", + "eslint-config-standard": "^6.1.0", + "eslint-plugin-promise": "^2.0.1", + "eslint-plugin-standard": "^2.0.1", + "eventsource-polyfill": "^0.9.6", + "express": "^4.13.3", + "extract-text-webpack-plugin": "^1.0.1", + "file-loader": "^0.9.0", + "function-bind": "^1.0.2", + "html-webpack-plugin": "^2.8.1", + "http-proxy-middleware": "^0.17.2", + "json-loader": "^0.5.4", + "karma": "^1.3.0", + "karma-coverage": "^1.1.1", + "karma-mocha": "^1.2.0", + "karma-phantomjs-launcher": "^1.0.0", + "karma-sinon-chai": "^1.2.0", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.26", + "karma-webpack": "^1.7.0", + "lolex": "^1.4.0", + "mocha": "^3.1.0", + "chai": "^3.5.0", + "sinon": "^1.17.3", + "sinon-chai": "^2.8.0", + "inject-loader": "^2.0.1", + "isparta-loader": "^2.0.0", + "phantomjs-prebuilt": "^2.1.3", + "chromedriver": "^2.21.2", + "cross-spawn": "^4.0.2", + "nightwatch": "^0.9.8", + "selenium-server": "2.53.1", + "semver": "^5.3.0", + "opn": "^4.0.2", + "ora": "^0.3.0", + "shelljs": "^0.7.4", + "url-loader": "^0.5.7", + "vue-loader": "^9.4.0", + "vue-style-loader": "^1.0.0", + "webpack": "^1.13.2", + "webpack-dev-middleware": "^1.8.3", + "webpack-hot-middleware": "^2.12.2", + "webpack-merge": "^0.14.1" }, "engines": { "node": ">= 4.0.0", diff --git a/src/components/dash/Dashboard.vue b/src/components/dash/Dashboard.vue index 267913d3..9b65c086 100644 --- a/src/components/dash/Dashboard.vue +++ b/src/components/dash/Dashboard.vue @@ -72,14 +72,14 @@

    -
    +

    Web Traffic Overview


    -
    +

    Language Overview

    @@ -219,7 +219,7 @@ module.exports = { }, options: { responsive: true, - maintainAspectRatio: false, + maintainAspectRatio: true, legend: { position: 'bottom', display: true @@ -248,7 +248,7 @@ module.exports = { }, options: { responsive: true, - maintainAspectRatio: false, + maintainAspectRatio: true, legend: { position: 'bottom', display: true From 1fe84327323c60f8df9fc1be1c6aa5500af1602e Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Tue, 8 Nov 2016 08:41:08 -0500 Subject: [PATCH 010/109] Fixed some UI bugs in xs viewpoint --- src/components/dash/Dashboard.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/dash/Dashboard.vue b/src/components/dash/Dashboard.vue index 9b65c086..bc5b9674 100644 --- a/src/components/dash/Dashboard.vue +++ b/src/components/dash/Dashboard.vue @@ -94,7 +94,7 @@
    -
    +
    @@ -112,7 +112,7 @@
    -
    +
    @@ -130,7 +130,7 @@
    -
    +
    @@ -148,7 +148,7 @@
    -
    +
    From 6f1b31390a66a193a7cea6ab64eb8b32bed27b19 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Tue, 8 Nov 2016 08:45:28 -0500 Subject: [PATCH 011/109] Changed storm to netlify for deployment --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e75d1794..0204fcc7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "unit": "karma start test/unit/karma.conf.js --single-run", "e2e": "node test/e2e/runner.js", "test": "npm run unit && npm run e2e", - "deploy": "storm publish" + "deploy": "netlify deploy dist" }, "dependencies": { "babel-runtime": "^5.8.0", From 7406dd9f2b2272d254354d40622057feb1bf3dff Mon Sep 17 00:00:00 2001 From: "Bernhard E. Reiter" Date: Fri, 11 Nov 2016 14:35:01 +0100 Subject: [PATCH 012/109] Update 404.vue: fix link back to home. --- src/components/404.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/404.vue b/src/components/404.vue index d935804e..87678424 100644 --- a/src/components/404.vue +++ b/src/components/404.vue @@ -6,7 +6,7 @@

    You are lost.

    This page doesn't exist.

    - Take me home. + Take me home.
    From ae04c84d4eb0d0fc824ef30bd0d41fd8a0cc19ea Mon Sep 17 00:00:00 2001 From: "Bernhard E. Reiter" Date: Fri, 11 Nov 2016 15:43:05 +0100 Subject: [PATCH 013/109] Remove prod script e3ce1fbe18de394631d623beb8b5eb0c82eec01c removed build/prod-server.js so it `npm run prod` does not work anymore. --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 0204fcc7..5d33987a 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "license": "MIT", "scripts": { "dev": "node build/dev-server.js", - "prod": "node build/prod-server.js", "build": "node build/build.js", "unit": "karma start test/unit/karma.conf.js --single-run", "e2e": "node test/e2e/runner.js", From fca95e336f8fa37663d5305cc5180d5dd6aa4e7d Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Fri, 11 Nov 2016 15:45:41 +0100 Subject: [PATCH 014/109] Removing prod target. --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 556a5a25..5d66fc67 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,6 @@ npm run dev # build for production with minification npm run build -# run server (after build) -npm run prod - # run unit tests npm run unit From db4c20bc60b01d83c2bd797ee81f2ad77a1bf12b Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Fri, 11 Nov 2016 16:55:54 +0100 Subject: [PATCH 015/109] Updates main.js: current vue-resource interceptor * Updates to current API of vue-resource interceptor, removes the Warning '[VueResource warn]: Invalid interceptor of type object, must be a function'. * (re-indents commented-out example auth code, which is untested.) --- src/main.js | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main.js b/src/main.js index 460fa0ff..add10fd4 100644 --- a/src/main.js +++ b/src/main.js @@ -24,22 +24,19 @@ Vue.use(Resource) Vue.use(VueRouter) -Vue.http.interceptors.push({ - request: function (request) { - /* - Enable this when you have a backend that you authenticate against - var headers = request.headers +Vue.http.interceptors.push((request, next) => { + /* + Enable this when you have a backend that you authenticate against + var headers = request.headers - if (window.location.pathname !== '/login' && !headers.hasOwnProperty('Authorization')) { - headers.Authorization = this.$store.state.token - } - */ - // console.log(headers) - return request - }, - response: function (response) { - return response + if (window.location.pathname !== '/login' && !headers.hasOwnProperty('Authorization')) { + headers.Authorization = this.$store.state.token } + */ + // console.log(headers) + + // continue to next interceptor without modifying the response + next() }) // Routing logic From d7107962c738913178b10f274f1e920ddcdce8aa Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Fri, 11 Nov 2016 11:05:04 -0500 Subject: [PATCH 016/109] Removed css.map --- static/css/bootstrap.min.css | 1 - 1 file changed, 1 deletion(-) diff --git a/static/css/bootstrap.min.css b/static/css/bootstrap.min.css index 4cf729e4..3e8b94d5 100755 --- a/static/css/bootstrap.min.css +++ b/static/css/bootstrap.min.css @@ -3,4 +3,3 @@ * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-md-1,.col-md-10,.col-md-11,.col-md-12,.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-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{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);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);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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);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);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)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{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);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);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)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{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);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);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)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{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);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);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)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file From ad0a4d29b0e28e3e78523ae8dbd7ac5d23c69827 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Fri, 11 Nov 2016 11:22:26 -0500 Subject: [PATCH 017/109] Added empty .css.map file --- static/css/bootstrap.min.css.map.css | 1 + 1 file changed, 1 insertion(+) create mode 100755 static/css/bootstrap.min.css.map.css diff --git a/static/css/bootstrap.min.css.map.css b/static/css/bootstrap.min.css.map.css new file mode 100755 index 00000000..8b137891 --- /dev/null +++ b/static/css/bootstrap.min.css.map.css @@ -0,0 +1 @@ + From dd3dc54472cea6e897deb0222cf27b423bf505fc Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Mon, 14 Nov 2016 17:14:47 +0100 Subject: [PATCH 018/109] Cleanup: removes .jshintrc pubstorm + more Coming closer to current vue init webpack. * Removes .jshintrc, it is not Free Software and eslint replaces it. * Removes pubstorm, that service seems to be history. * for .gitignore bringing it closer to current vue init webpack. --- .gitignore | 5 +---- .jshintrc | 17 ----------------- pubstorm.json | 1 - 3 files changed, 1 insertion(+), 22 deletions(-) delete mode 100644 .jshintrc delete mode 100644 pubstorm.json diff --git a/.gitignore b/.gitignore index 88e09ee6..0a8d4284 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,7 @@ node_modules/ dist/ npm-debug.log -selenium-debug.log test/unit/coverage test/e2e/reports -.tern-project -pubstorm.json -build_old +selenium-debug.log .netlify diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 7b5a2745..00000000 --- a/.jshintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "asi" : true, - "browser" : true, - "eqeqeq" : false, - "eqnull" : true, - "es3" : true, - "expr" : true, - "jquery" : true, - "latedef" : "nofunc", - "laxbreak" : true, - "nonbsp" : true, - "strict" : false, - "undef" : true, - "unused" : false, - "esnext" : true, - "predef": [ "AdminLTEOptions", "FastClick", "moment", "Morris", "Chart" ] -} diff --git a/pubstorm.json b/pubstorm.json deleted file mode 100644 index d4553d29..00000000 --- a/pubstorm.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"copilot","path":"dist"} From 9e6c4ba7704214031d8b1f039f9ad267d8734efb Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Tue, 15 Nov 2016 17:34:36 +0100 Subject: [PATCH 019/109] Tables: Adds an eleventh row. Enables demo of the paginating feature, because two pages are needed for the default display setting of 10 entries per page. --- src/components/dash/Tables.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/components/dash/Tables.vue b/src/components/dash/Tables.vue index 042bb41b..8afdce86 100644 --- a/src/components/dash/Tables.vue +++ b/src/components/dash/Tables.vue @@ -96,6 +96,13 @@ + + Blink + Iridium 54.0 + GNU/Linux + 54 + A + Gecko Firefox 1.0 From d77bc7193b777351f420ca3d878c043c7677fe57 Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Tue, 15 Nov 2016 17:37:56 +0100 Subject: [PATCH 020/109] Dashboard: fixes typo in "Pro Tip" --- src/components/dash/Dashboard.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/dash/Dashboard.vue b/src/components/dash/Dashboard.vue index bc5b9674..18cc3733 100644 --- a/src/components/dash/Dashboard.vue +++ b/src/components/dash/Dashboard.vue @@ -87,7 +87,7 @@
    - Pro Tip Don't forget to start us on github! + Pro Tip Don't forget to star us on github!
    From 2a0a7a19c8506795416f4776c406aed297dee657 Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Wed, 16 Nov 2016 10:35:20 +0100 Subject: [PATCH 021/109] Menubar: improves behaviour for notifications. Dash.vue: * adds conditional showing of messages, notifications and tasks. * In lack of better pluralising using "(s)" to be correct for 1 item * Change test message text to be more neutral. --- src/components/Dash.vue | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/Dash.vue b/src/components/Dash.vue index afa60c1b..b7fc597f 100644 --- a/src/components/Dash.vue +++ b/src/components/Dash.vue @@ -27,8 +27,8 @@ {{ state.userInfo.messages | count }} @@ -58,8 +58,8 @@ {{ state.userInfo.notifications | count }} @@ -81,8 +81,8 @@ {{ state.userInfo.tasks | count }} From 29cf6d90cb47105001b91cbd8a0eab02bcb3f26a Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Wed, 16 Nov 2016 09:22:27 -0500 Subject: [PATCH 022/109] Fixed issue with how buttons were being rendered --- src/components/dash/Tasks.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/dash/Tasks.vue b/src/components/dash/Tasks.vue index d9eb2a95..6ee80cef 100644 --- a/src/components/dash/Tasks.vue +++ b/src/components/dash/Tasks.vue @@ -16,8 +16,8 @@

    {{line.title}}

    - From a9ebba62d694fdea5c68c0fad0bd823a84d73b66 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Wed, 16 Nov 2016 09:42:32 -0500 Subject: [PATCH 023/109] Cleaned up github call and render --- src/components/dash/Repos.vue | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/components/dash/Repos.vue b/src/components/dash/Repos.vue index 7a8477f6..3156cbc3 100644 --- a/src/components/dash/Repos.vue +++ b/src/components/dash/Repos.vue @@ -8,9 +8,8 @@
    Found an error
    -
    -
    +

    {{repo.name }}

    @@ -59,31 +58,26 @@ export default { methods: { callGitHub: function () { var repo = this - console.log('repo', repo) - this.$parent.callAPI('GET', this.githubUrl).then(function (response) { - console.log(response) - repo.response = response + this.$parent.callAPI('GET', this.githubUrl).then(function (response) { + console.log('GitHub Response:', response) if (response.status !== 200) { - this.error = response.statusText + repo.error = response.statusText + return } + + repo.response = response.data.items }, function (response) { + // Request failed. console.log('error', response) - this.error = response + repo.error = response.statusText }) } }, mounted: function () { - console.log('Inside ready') - - if (this.response === null) { - this.callGitHub() - } else { - console.log('response already there', this.response) - } + this.callGitHub() } - } From b6c3e972b9bc385bf24e1dfbb7e54c70ef95eb32 Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Fri, 18 Nov 2016 14:07:45 +0100 Subject: [PATCH 024/109] Tables: improves datatables styling * Activating dataTables.bootstrap.css (it is already shipped) * Overriding the sorting icons for a good style with already available icons. --- src/components/dash/Tables.vue | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/components/dash/Tables.vue b/src/components/dash/Tables.vue index 8afdce86..6998fa68 100644 --- a/src/components/dash/Tables.vue +++ b/src/components/dash/Tables.vue @@ -213,4 +213,30 @@ module.exports = { From 7631214cfbef78d0a6f55dad38bb87fc254b5688 Mon Sep 17 00:00:00 2001 From: Gil Ferreira Date: Tue, 13 Dec 2016 15:04:00 -0500 Subject: [PATCH 025/109] Adjustments to charts on dashboard to display properly on mobile --- package.json | 6 +++--- src/components/Dash.vue | 6 ++++++ src/components/dash/Dashboard.vue | 9 ++++++--- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5d33987a..88db4c6d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "babel-runtime": "^5.8.0", - "chart.js": "^2.3.0", + "chart.js": "2.3.0", "datatables.net": "^1.10.11", "datatables.net-bs": "^1.10.11", "faker": "^3.1.0", @@ -45,8 +45,8 @@ "eslint-friendly-formatter": "^2.0.5", "eslint-loader": "^1.5.0", "eslint-plugin-html": "^1.3.0", - "eslint-config-standard": "^6.1.0", - "eslint-plugin-promise": "^2.0.1", + "eslint-config-standard": "6.2.1", + "eslint-plugin-promise": "3.3.0", "eslint-plugin-standard": "^2.0.1", "eventsource-polyfill": "^0.9.6", "express": "^4.13.3", diff --git a/src/components/Dash.vue b/src/components/Dash.vue index b7fc597f..8c5c307e 100644 --- a/src/components/Dash.vue +++ b/src/components/Dash.vue @@ -266,4 +266,10 @@ module.exports = { .user-panel { height: 4em; } +hr.visible-xs-block { + width: 100%; + background-color: rgba(0, 0, 0, 0.17); + height: 1px; + border-color: transparent; +} diff --git a/src/components/dash/Dashboard.vue b/src/components/dash/Dashboard.vue index 18cc3733..e323857d 100644 --- a/src/components/dash/Dashboard.vue +++ b/src/components/dash/Dashboard.vue @@ -78,7 +78,7 @@

    -
    +

    Language Overview @@ -193,6 +193,9 @@ module.exports = { }, personalNumbers: function () { return this.generateRandomNumbers(12, 1000000, 10000) + }, + isMobile: function () { + return (window.innerWidth <= 800 && window.innerHeight <= 600) } }, mounted: function () { @@ -219,7 +222,7 @@ module.exports = { }, options: { responsive: true, - maintainAspectRatio: true, + maintainAspectRatio: !this.isMobile, legend: { position: 'bottom', display: true @@ -248,7 +251,7 @@ module.exports = { }, options: { responsive: true, - maintainAspectRatio: true, + maintainAspectRatio: !this.isMobile, legend: { position: 'bottom', display: true From 6fd5cf02022942a8a6eef83371800e1581a68e02 Mon Sep 17 00:00:00 2001 From: RainKolwa Date: Wed, 25 Jan 2017 17:40:02 +0800 Subject: [PATCH 026/109] use commit instead of dispatch --- src/components/App.vue | 4 ++-- src/components/Dash.vue | 2 +- src/components/Login.vue | 10 +++++----- src/main.js | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/App.vue b/src/components/App.vue index 36d64c07..b1216ccb 100644 --- a/src/components/App.vue +++ b/src/components/App.vue @@ -28,8 +28,8 @@ }) }, logout: function () { - this.$store.dispatch('SET_USER', null) - this.$store.dispatch('SET_TOKEN', null) + this.$store.commit('SET_USER', null) + this.$store.commit('SET_TOKEN', null) if (window.localStorage) { window.localStorage.setItem('user', null) diff --git a/src/components/Dash.vue b/src/components/Dash.vue index 8c5c307e..53f54e6a 100644 --- a/src/components/Dash.vue +++ b/src/components/Dash.vue @@ -246,7 +246,7 @@ module.exports = { }, methods: { changeloading: function () { - this.store.dispatch('TOGGLE_SEARCHING') + this.store.commit('TOGGLE_SEARCHING') }, toggleMenu: function (event) { // remove active from li diff --git a/src/components/Login.vue b/src/components/Login.vue index dc6ce9e9..b1079fbe 100644 --- a/src/components/Login.vue +++ b/src/components/Login.vue @@ -47,11 +47,11 @@ module.exports = { this.toggleLoading() this.resetResponse() - store.dispatch('TOGGLE_LOADING') + store.commit('TOGGLE_LOADING') // Login this.$parent.callAPI('POST', '/login', { username: this.username, password: this.password }).then(function (response) { - store.dispatch('TOGGLE_LOADING') + store.commit('TOGGLE_LOADING') if (response.data) { var data = response.data @@ -68,9 +68,9 @@ module.exports = { } else { // success. Let's load up the dashboard if (data.user) { - store.dispatch('SET_USER', data.user) + store.commit('SET_USER', data.user) var token = 'Bearer ' + data.token - store.dispatch('SET_TOKEN', token) + store.commit('SET_TOKEN', token) // Save to local storage as well if (window.localStorage) { @@ -88,7 +88,7 @@ module.exports = { self.toggleLoading() }, function (response) { // error - store.dispatch('TOGGLE_LOADING') + store.commit('TOGGLE_LOADING') console.log('Error', response) self.response = 'Server appears to be offline' self.toggleLoading() diff --git a/src/main.js b/src/main.js index add10fd4..6d3e295b 100644 --- a/src/main.js +++ b/src/main.js @@ -74,7 +74,7 @@ new Vue({ // Check local storage to handle refreshes if (window.localStorage) { if (store.state.user !== window.localStorage.getItem('user')) { - store.dispatch('SET_USER', JSON.parse(window.localStorage.getItem('user'))) - store.dispatch('SET_TOKEN', window.localStorage.getItem('token')) + store.commit('SET_USER', JSON.parse(window.localStorage.getItem('user'))) + store.commit('SET_TOKEN', window.localStorage.getItem('token')) } } From c95cb6b04b0b2260bdd3cde49d69d97baff45923 Mon Sep 17 00:00:00 2001 From: ChangJoo Park Date: Mon, 6 Feb 2017 22:09:41 +0900 Subject: [PATCH 027/109] Add meta for header --- src/routes.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/routes.js b/src/routes.js index c6e96cef..253bb0ce 100644 --- a/src/routes.js +++ b/src/routes.js @@ -25,37 +25,37 @@ const routes = [ path: '', component: DashboardView, name: 'Dashboard', - description: 'Overview of environment' + meta: {description: 'Overview of environment'} }, { path: '/tables', component: TablesView, name: 'Tables', - description: 'Simple and advance table in CoPilot' + meta: {description: 'Simple and advance table in CoPilot'} }, { path: '/tasks', component: TasksView, name: 'Tasks', - description: 'Tasks page in the form of a timeline' + meta: {description: 'Tasks page in the form of a timeline'} }, { path: '/setting', component: SettingView, name: 'Settings', - description: 'User settings page' + meta: {description: 'User settings page'} }, { path: '/access', component: AccessView, name: 'Access', - description: 'Example of using maps' + meta: {description: 'Example of using maps'} }, { path: '/server', component: ServerView, name: 'Servers', - description: 'List of our servers' + meta: {description: 'List of our servers'} }, { path: '/repos', component: ReposView, name: 'Repository', - description: 'List of popular javascript repos' + meta: {description: 'List of popular javascript repos'} } ] }, { From a8aa67b62224f072d6acb6a640eb01b212f29d7c Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Wed, 15 Feb 2017 09:19:16 +0100 Subject: [PATCH 028/109] Tables: improves behaviour on smaller devices. * Using http://getbootstrap.com/css/#tables-responsive class that will add a scroll bar in situations where the table would be rendered outside of the screen on smaller screen sizes. Improvement suggested by @hifall. resolves #13 --- src/components/dash/Tables.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/dash/Tables.vue b/src/components/dash/Tables.vue index 6998fa68..b4d123c7 100644 --- a/src/components/dash/Tables.vue +++ b/src/components/dash/Tables.vue @@ -8,7 +8,7 @@

    Striped Full Width Table

    -
    +
    @@ -84,7 +84,7 @@
    -
    +
    From 00681e7a68acdf57e9b4c31d222b834823610d65 Mon Sep 17 00:00:00 2001 From: euvl Date: Sat, 11 Mar 2017 11:54:15 +0000 Subject: [PATCH 029/109] Started using sass, added config file --- package.json | 120 ++++++++++++++++++++-------------------- src/components/Dash.vue | 16 +++++- src/config/index.js | 3 + src/main.js | 2 - 4 files changed, 78 insertions(+), 63 deletions(-) create mode 100644 src/config/index.js diff --git a/package.json b/package.json index 88db4c6d..3f41f510 100644 --- a/package.json +++ b/package.json @@ -31,65 +31,67 @@ }, "devDependencies": { "autoprefixer": "^6.4.0", - "babel-core": "^6.0.0", - "babel-eslint": "^7.0.0", - "babel-loader": "^6.0.0", - "babel-plugin-transform-runtime": "^6.0.0", - "babel-preset-es2015": "^6.0.0", - "babel-preset-stage-2": "^6.0.0", - "babel-register": "^6.0.0", - "chalk": "^1.1.3", - "connect-history-api-fallback": "^1.1.0", - "css-loader": "^0.25.0", - "eslint": "^3.7.1", - "eslint-friendly-formatter": "^2.0.5", - "eslint-loader": "^1.5.0", - "eslint-plugin-html": "^1.3.0", - "eslint-config-standard": "6.2.1", - "eslint-plugin-promise": "3.3.0", - "eslint-plugin-standard": "^2.0.1", - "eventsource-polyfill": "^0.9.6", - "express": "^4.13.3", - "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.9.0", - "function-bind": "^1.0.2", - "html-webpack-plugin": "^2.8.1", - "http-proxy-middleware": "^0.17.2", - "json-loader": "^0.5.4", - "karma": "^1.3.0", - "karma-coverage": "^1.1.1", - "karma-mocha": "^1.2.0", - "karma-phantomjs-launcher": "^1.0.0", - "karma-sinon-chai": "^1.2.0", - "karma-sourcemap-loader": "^0.3.7", - "karma-spec-reporter": "0.0.26", - "karma-webpack": "^1.7.0", - "lolex": "^1.4.0", - "mocha": "^3.1.0", - "chai": "^3.5.0", - "sinon": "^1.17.3", - "sinon-chai": "^2.8.0", - "inject-loader": "^2.0.1", - "isparta-loader": "^2.0.0", - "phantomjs-prebuilt": "^2.1.3", - "chromedriver": "^2.21.2", - "cross-spawn": "^4.0.2", - "nightwatch": "^0.9.8", - "selenium-server": "2.53.1", - "semver": "^5.3.0", - "opn": "^4.0.2", - "ora": "^0.3.0", - "shelljs": "^0.7.4", - "url-loader": "^0.5.7", - "vue-loader": "^9.4.0", - "vue-style-loader": "^1.0.0", - "webpack": "^1.13.2", - "webpack-dev-middleware": "^1.8.3", - "webpack-hot-middleware": "^2.12.2", - "webpack-merge": "^0.14.1" + "babel-core": "^6.0.0", + "babel-eslint": "^7.0.0", + "babel-loader": "^6.0.0", + "babel-plugin-transform-runtime": "^6.0.0", + "babel-preset-es2015": "^6.0.0", + "babel-preset-stage-2": "^6.0.0", + "babel-register": "^6.0.0", + "chai": "^3.5.0", + "chalk": "^1.1.3", + "chromedriver": "^2.21.2", + "connect-history-api-fallback": "^1.1.0", + "cross-spawn": "^4.0.2", + "css-loader": "^0.25.0", + "eslint": "^3.7.1", + "eslint-config-standard": "6.2.1", + "eslint-friendly-formatter": "^2.0.5", + "eslint-loader": "^1.5.0", + "eslint-plugin-html": "^1.3.0", + "eslint-plugin-promise": "3.3.0", + "eslint-plugin-standard": "^2.0.1", + "eventsource-polyfill": "^0.9.6", + "express": "^4.13.3", + "extract-text-webpack-plugin": "^1.0.1", + "file-loader": "^0.9.0", + "function-bind": "^1.0.2", + "html-webpack-plugin": "^2.8.1", + "http-proxy-middleware": "^0.17.2", + "inject-loader": "^2.0.1", + "isparta-loader": "^2.0.0", + "json-loader": "^0.5.4", + "karma": "^1.3.0", + "karma-coverage": "^1.1.1", + "karma-mocha": "^1.2.0", + "karma-phantomjs-launcher": "^1.0.0", + "karma-sinon-chai": "^1.2.0", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.26", + "karma-webpack": "^1.7.0", + "lolex": "^1.4.0", + "mocha": "^3.1.0", + "nightwatch": "^0.9.8", + "node-sass": "^4.5.0", + "opn": "^4.0.2", + "ora": "^0.3.0", + "phantomjs-prebuilt": "^2.1.3", + "sass-loader": "^6.0.3", + "selenium-server": "2.53.1", + "semver": "^5.3.0", + "shelljs": "^0.7.4", + "sinon": "^1.17.3", + "sinon-chai": "^2.8.0", + "url-loader": "^0.5.7", + "vue-loader": "^9.4.0", + "vue-style-loader": "^1.0.0", + "webpack": "^1.13.2", + "webpack-dev-middleware": "^1.8.3", + "webpack-hot-middleware": "^2.12.2", + "webpack-merge": "^0.14.1" }, "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" -} + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } } diff --git a/src/components/Dash.vue b/src/components/Dash.vue index 53f54e6a..2e1f57ab 100644 --- a/src/components/Dash.vue +++ b/src/components/Dash.vue @@ -1,5 +1,5 @@