# HG changeset patch # User ymh # Date 1444057330 -7200 # Node ID f55970e41793930ab5e485edfbbda09db66eda58 # Parent 2b3247d027694fcdb1de1cd89d3f6d9d3df6c2f2 first skeleton of bo client in ember diff -r 2b3247d02769 -r f55970e41793 .editorconfig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.editorconfig Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,21 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] + +# Change these settings to your own preference +indent_style = space +indent_size = 4 + +# We recommend you to keep these unchanged +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff -r 2b3247d02769 -r f55970e41793 .hgignore --- a/.hgignore Wed Jun 24 01:36:46 2015 +0200 +++ b/.hgignore Mon Oct 05 17:02:10 2015 +0200 @@ -20,3 +20,11 @@ ^server/src/storage/framework/cache/ ^server/src/storage/framework/sessions/ ^server/src/storage/framework/views/ +^server/node_modules +^server/src/public/css +^server/src/public/js/vendor +^server/src/public/fonts +^server/bo_client/node_modules +^server/bo_client/bower_components +^server/bo_client/dist +^server/bo_client/tmp diff -r 2b3247d02769 -r f55970e41793 dev/Vagrantfile --- a/dev/Vagrantfile Wed Jun 24 01:36:46 2015 +0200 +++ b/dev/Vagrantfile Mon Oct 05 17:02:10 2015 +0200 @@ -78,6 +78,7 @@ # config.vm.provider "virtualbox" do |v| v.memory = 512 + v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] end # View the documentation for the provider you are using for more diff -r 2b3247d02769 -r f55970e41793 dev/provisioning/files/site.j2 --- a/dev/provisioning/files/site.j2 Wed Jun 24 01:36:46 2015 +0200 +++ b/dev/provisioning/files/site.j2 Mon Oct 05 17:02:10 2015 +0200 @@ -13,6 +13,9 @@ http { + include mime.types; + default_type application/octet-stream; + server { listen 80; server_name {{ site_name }}; diff -r 2b3247d02769 -r f55970e41793 dev/provisioning/playbook.yml --- a/dev/provisioning/playbook.yml Wed Jun 24 01:36:46 2015 +0200 +++ b/dev/provisioning/playbook.yml Mon Oct 05 17:02:10 2015 +0200 @@ -35,8 +35,13 @@ - name: set .profile copy: src=files/.profile dest=/home/vagrant/.profile force=yes + - name: check yum base last update + stat: path=/var/cache/yum/x86_64/6/base/cachecookie + register: yum_cache_stat_base + - name: yum update yum: name=* update_cache=yes state=latest +# when: ansible_date_time.epoch|float - yum_cache_stat_base.stat.mtime > 60*60*12*24 - name: repo ignore outdated postgres base ini_file: @@ -66,6 +71,7 @@ - name: Install Remi repo. command: rpm -Uvh --force /tmp/remi-release-6.rpm creates=/etc/yum.repos.d/remi.repo + when: remi_repo.stat.exists == False - name : delete remi rpm file: path=/tmp/remi-release-6.rpm state=absent @@ -80,6 +86,7 @@ - name: Install postgres repo. command: rpm -Uvh --force /tmp/pgdg-centos94-9.4-1.noarch.rpm creates=/etc/yum.repos.d/pgdg-94-centos.repo + when: postgres_repo.stat.exists == False - name : delete postgres rpm file: path=/tmp/pgdg-centos94-9.4-1.noarch.rpm state=absent @@ -91,8 +98,13 @@ option: enabled value: 1 + - name: check yum epel last update + stat: path=/var/cache/yum/x86_64/6/epel/cachecookie + register: yum_cache_stat_epel + - name: yum update after repos yum: name=* update_cache=yes state=latest +# when: ansible_date_time.epoch|float - yum_cache_stat_epel.stat.mtime > 60*60*12*24 #TODO install alternative packages - name: install libs @@ -110,7 +122,7 @@ - php56-php-gd - php56-php-pgsql - java-1.8.0-openjdk - - tomcat6 + - tomcat ## php-fpm config @@ -208,13 +220,20 @@ - name: set JAVA_HOME lineinfile: - dest: /etc/tomcat6/tomcat6.conf - regexp: '^\#JAVA_HOME=' + dest: /etc/tomcat/tomcat.conf + regexp: '^\#?JAVA_HOME=' line: JAVA_HOME="/etc/alternatives/jre_1.8.0" state: present + - name: set parseBodyMethods to add POST + lineinfile: + dest: /etc/tomcat/server.xml + regexp: '^\s+\` this repository +* change into the new directory +* `npm install` +* `bower install` + +## Running / Development + +* `ember server` +* Visit your app at [http://localhost:4200](http://localhost:4200). + +### Code Generators + +Make use of the many generators for code, try `ember help generate` for more details + +### Running Tests + +* `ember test` +* `ember test --server` + +### Building + +* `ember build` (development) +* `ember build --environment production` (production) + +### Deploying + +Specify what it takes to deploy your app. + +## Further Reading / Useful Links + +* [ember.js](http://emberjs.com/) +* [ember-cli](http://www.ember-cli.com/) +* Development Browser Extensions + * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) + * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) + diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/adapters/application.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/adapters/application.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,5 @@ +import DS from 'ember-data'; + +export default DS.RESTAdapter.extend({ + namespace: 'api', +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/app.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/app.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,19 @@ +import Ember from 'ember'; +import Resolver from 'ember/resolver'; +import loadInitializers from 'ember/load-initializers'; +import config from './config/environment'; + +var App; + +Ember.MODEL_FACTORY_INJECTIONS = true; + +App = Ember.Application.extend({ + modulePrefix: config.modulePrefix, + podModulePrefix: config.podModulePrefix, + Resolver: Resolver, + rootElement: '#ember-container' +}); + +loadInitializers(App, config.modulePrefix); + +export default App; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/components/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/controllers/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/helpers/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/index.html Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,58 @@ + + + + + + + Corpus Parole + + {{content-for 'head'}} + + + + + + + + + + + {{content-for 'head-footer'}} + + + +
+ + + {{content-for 'body'}} + + + + + + diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/locales/en/translations.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/locales/en/translations.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,27 @@ +// translation en + +export default { + + "bo" : { + "document_list": "Document List", + "document_list.id_col": "ID", + "document_list.uri_col": "URI", + "home": "home", + "document_detail": "Document detail", + "audio_support_error" : "Your browser does not support the audio tag", + "document_audio": "Audio:", + "document_content": "Content", + "document_title": "Title:", + "document_editors": "Editor(s):" + } + + // "some.translation.key": "Text for some.translation.key", + // + // "a": { + // "nested": { + // "key": "Text for a.nested.key" + // } + // }, + // + // "key.with.interpolation": "Text with {{anInterpolation}}" +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/locales/fr/translations.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/locales/fr/translations.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,25 @@ +// translation fr + +export default { + + "bo" : { + "document_list": "Liste Document", + "document_list.id_col": "ID", + "document_list.uri_col": "URI", + "document_detail": "Détail document", + "audio_support_error" : "Votre browser ne gère pas la balise audio.", + "document_audio": "Audio :", + "document_content": "Contenu", + "document_title": "Titre :", + "document_editors": "Editeur(s) :" + }, + // "some.translation.key": "Text for some.translation.key", + // + // "a": { + // "nested": { + // "key": "Text for a.nested.key" + // } + // }, + // + // "key.with.interpolation": "Text with {{anInterpolation}}" +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/models/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/models/document.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/models/document.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,9 @@ +import DS from 'ember-data'; + +export default DS.Model.extend({ + //id: DS.attr('string'), + uri: DS.attr('string'), + title: DS.attr('string'), + publishers: DS.attr({defaultValue: []}), + mediaArray: DS.attr({defaultValue: []}) +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/router.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/router.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,12 @@ +import Ember from 'ember'; +import config from './config/environment'; + +var Router = Ember.Router.extend({ + location: config.locationType +}); + +Router.map(function() { + this.route('doc', { path: '/doc/:doc_id' }); +}); + +export default Router; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/routes/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/routes/doc.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/routes/doc.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,7 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model(params) { + return this.store.findRecord('document', params.doc_id); + }, +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/routes/index.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/routes/index.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,8 @@ +import Ember from 'ember'; + +export default Ember.Route.extend({ + model: function() { + return this.store.findAll('document'); + } + +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/styles/app.scss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/styles/app.scss Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,1 @@ +@import "app-core"; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/templates/application.hbs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/templates/application.hbs Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,3 @@ +

Welcome to Ember application

+ +{{outlet}} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/templates/components/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/templates/doc.hbs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/templates/doc.hbs Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,33 @@ +
+
+
+
{{t 'bo.document_detail'}}
+ +
+
+
+
{{t 'bo.document_audio'}}
+
+ +
+
+
+
{{t 'bo.document_content'}}
+
{{t 'bo.document_title'}}
+
{{model.title}}
+
{{t 'bo.document_editors'}}
+
{{#each model.publishers as |publisher index|}}{{if index ", "}}{{publisher}}{{/each}}
+
+
+
+
+
+
+ + +{{outlet}} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/app/templates/index.hbs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/app/templates/index.hbs Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,24 @@ +
+
+
+
+
{{t 'bo.document_list'}}
+ +
+ + + + + + {{#each model as |doc|}} + + {{/each}} + +
{{t 'bo.document_list.uri_col'}}{{t 'bo.document_list.id_col'}}
{{ doc.uri }}{{#link-to 'doc' doc}}{{doc.id}}{{/link-to}}
+
+
+
+
+
+ +{{outlet}} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/bower.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/bower.json Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,16 @@ +{ + "name": "bo-client", + "dependencies": { + "ember": ">=2.0.0", + "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3", + "ember-cli-test-loader": "ember-cli-test-loader#0.1.3", + "ember-data": ">=2.0.0", + "ember-load-initializers": "ember-cli/ember-load-initializers#0.1.5", + "ember-qunit": "0.4.9", + "ember-qunit-notifications": "0.0.7", + "ember-resolver": "~0.1.18", + "jquery": "latest", + "loader.js": "ember-cli/loader.js#3.2.1", + "qunit": "~1.18.0" + } +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/config/environment.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/config/environment.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,47 @@ +/* jshint node: true */ + +module.exports = function(environment) { + var ENV = { + modulePrefix: 'bo-client', + environment: environment, + baseURL: '/', + locationType: 'auto', + EmberENV: { + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. 'with-controller': true + } + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + } + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + // ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + // ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.baseURL = '/'; + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + } + + if (environment === 'production') { + + } + + return ENV; +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/ember-cli-build.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/ember-cli-build.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,32 @@ +/* global require, module */ +var EmberApp = require('ember-cli/lib/broccoli/ember-app'); + + +module.exports = function(defaults) { + + var app = new EmberApp(defaults, { + // Add options here + sassOptions: { + includePaths: [ + 'app/styles', + '../src/resources/assets/sass', + '../src/vendor/bower_components/bootstrap-sass/assets/stylesheets' + ], + } + }); + + // Use `app.import` to add additional libraries to the generated + // output files. + // + // If you need to use different assets in different + // environments, specify an object as the first parameter. That + // object's keys should be the environment name and the values + // should be the asset to use in that environment. + // + // If the library that you are including contains AMD or ES6 + // modules that you would like to import into your application + // please specify an object with the list of modules as keys + // along with the exports of each module as its value. + + return app.toTree(); +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/package.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/package.json Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,48 @@ +{ + "name": "bo-client", + "version": "0.0.0", + "description": "Small description for bo-client goes here", + "private": true, + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build", + "start": "ember server", + "test": "ember test" + }, + "repository": "", + "engines": { + "node": ">= 0.10.0" + }, + "author": "", + "license": "MIT", + "devDependencies": { + "bower": "^1.5.2", + "broccoli-asset-rev": "^2.1.2", + "broccoli-funnel": "^0.2.8", + "broccoli-merge-trees": "^0.2.3", + "ember-cli": "1.13.8", + "ember-cli-app-version": "0.5.0", + "ember-cli-babel": "^5.1.3", + "ember-cli-content-security-policy": "0.4.0", + "ember-cli-dependency-checker": "^1.0.1", + "ember-cli-htmlbars": "0.7.9", + "ember-cli-htmlbars-inline-precompile": "^0.2.0", + "ember-cli-ic-ajax": "0.2.1", + "ember-cli-inject-live-reload": "^1.3.1", + "ember-cli-qunit": "^1.0.0", + "ember-cli-release": "0.2.3", + "ember-cli-sass": "4.2.0", + "ember-cli-sri": "^1.0.3", + "ember-cli-uglify": "^1.2.0", + "ember-data": "1.13.8", + "ember-disable-proxy-controllers": "^1.0.0", + "ember-export-application-global": "^1.0.3", + "ember-i18n": "4.1.3", + "express": "^4.13.3", + "glob": "^4.5.3", + "morgan": "^1.6.1" + } +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/public/crossdomain.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/public/crossdomain.xml Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,15 @@ + + + + + + + + + + + diff -r 2b3247d02769 -r f55970e41793 server/bo_client/public/robots.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/public/robots.txt Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,3 @@ +# http://www.robotstxt.org +User-agent: * +Disallow: diff -r 2b3247d02769 -r f55970e41793 server/bo_client/server/.jshintrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/server/.jshintrc Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,3 @@ +{ + "node": true +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/server/index.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/server/index.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,22 @@ +// To use it create some files under `mocks/` +// e.g. `server/mocks/ember-hamsters.js` +// +// module.exports = function(app) { +// app.get('/ember-hamsters', function(req, res) { +// res.send('hello'); +// }); +// }; + +module.exports = function(app) { + var globSync = require('glob').sync; + var mocks = globSync('./mocks/**/*.js', { cwd: __dirname }).map(require); + var proxies = globSync('./proxies/**/*.js', { cwd: __dirname }).map(require); + + // Log proxy requests + var morgan = require('morgan'); + app.use(morgan('dev')); + + mocks.forEach(function(route) { route(app); }); + proxies.forEach(function(route) { route(app); }); + +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/server/mocks/documents.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/server/mocks/documents.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,82 @@ +module.exports = function(app) { + var express = require('express'); + var documentsRouter = express.Router(); + + documentsRouter.get('/', function(req, res) { + res.send({ + 'documents': [{ + id: "crdo-ALA_170", + uri: "http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_170", + title: "Atlas Linguistique et ethnographique de l'Alsace - Enqu\u00eates linguistiques - Brumath: 03", + publishers: ["Atlas linguistiques, cultures et parlers r\u00e9gionaux de France"], + mediaArray: [ + { + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_170_22km.wav", + format: "audio\/x-wav"}, + { + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_170.mp3", + format: "audio\/mpeg"}, + { + url: "http:\/\/purl.org\/poi\/crdo.vjf.cnrs.fr\/crdo-ALA_170", + format: "audio\/x-wav" } + ] + }, + { + id: "crdo-ALA_177", + uri: "http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_177", + title: "Atlas Linguistique et ethnographique de l'Alsace - Enqu\u00eates linguistiques - Cleebourg: 04", + publishers: ["Atlas linguistiques, cultures et parlers r\u00e9gionaux de France"], + mediaArray: [{ + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_177_22km.wav", + format: "audio\/x-wav" + }, { + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_177.mp3", + format: "audio\/mpeg" + }, { + url: "http:\/\/purl.org\/poi\/crdo.vjf.cnrs.fr\/crdo-ALA_177", + format: "audio\/x-wav" + }] + }] + }); + }); + + documentsRouter.post('/', function(req, res) { + res.status(201).end(); + }); + + documentsRouter.get('/:id', function(req, res) { + res.send({ + 'document': { + id: req.params.id, + uri: "http://purl.org/poi/crdo.vjf.cnrs.fr/crdo-ALA_170", + title: "Atlas Linguistique et ethnographique de l'Alsace - Enqu\u00eates linguistiques - Brumath: 03", + publishers: ["Atlas linguistiques, cultures et parlers r\u00e9gionaux de France"], + mediaArray: [ + { + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_170_22km.wav", + format: "audio\/x-wav"}, + { + url: "http:\/\/cocoon.huma-num.fr\/data\/ala\/ALA_170.mp3", + format: "audio\/mpeg"}, + { + url: "http:\/\/purl.org\/poi\/crdo.vjf.cnrs.fr\/crdo-ALA_170", + format: "audio\/x-wav" } + ] + } + }); + }); + + documentsRouter.put('/:id', function(req, res) { + res.send({ + 'document': { + id: req.params.id + } + }); + }); + + documentsRouter.delete('/:id', function(req, res) { + res.status(204).end(); + }); + + app.use('/api/documents', documentsRouter); +}; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/testem.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/testem.json Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,12 @@ +{ + "framework": "qunit", + "test_page": "tests/index.html?hidepassed", + "disable_watching": true, + "launch_in_ci": [ + "PhantomJS" + ], + "launch_in_dev": [ + "PhantomJS", + "Chrome" + ] +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/.jshintrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/.jshintrc Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,52 @@ +{ + "predef": [ + "document", + "window", + "location", + "setTimeout", + "$", + "-Promise", + "define", + "console", + "visit", + "exists", + "fillIn", + "click", + "keyEvent", + "triggerEvent", + "find", + "findWithAssert", + "wait", + "DS", + "andThen", + "currentURL", + "currentPath", + "currentRouteName" + ], + "node": false, + "browser": false, + "boss": true, + "curly": true, + "debug": false, + "devel": false, + "eqeqeq": true, + "evil": true, + "forin": false, + "immed": false, + "laxbreak": false, + "newcap": true, + "noarg": true, + "noempty": false, + "nonew": false, + "nomen": false, + "onevar": false, + "plusplus": false, + "regexp": false, + "undef": true, + "sub": true, + "strict": false, + "white": false, + "eqnull": true, + "esnext": true, + "unused": true +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/helpers/resolver.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/helpers/resolver.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,11 @@ +import Resolver from 'ember/resolver'; +import config from '../../config/environment'; + +var resolver = Resolver.create(); + +resolver.namespace = { + modulePrefix: config.modulePrefix, + podModulePrefix: config.podModulePrefix +}; + +export default resolver; diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/helpers/start-app.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/helpers/start-app.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,18 @@ +import Ember from 'ember'; +import Application from '../../app'; +import config from '../../config/environment'; + +export default function startApp(attrs) { + var application; + + var attributes = Ember.merge({}, config.APP); + attributes = Ember.merge(attributes, attrs); // use defaults, but you can override; + + Ember.run(function() { + application = Application.create(attributes); + application.setupForTesting(); + application.injectTestHelpers(); + }); + + return application; +} diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/index.html Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,33 @@ + + + + + + BoClient Tests + + + + {{content-for 'head'}} + {{content-for 'test-head'}} + + + + + + {{content-for 'head-footer'}} + {{content-for 'test-head-footer'}} + + + + {{content-for 'body'}} + {{content-for 'test-body'}} + + + + + + + {{content-for 'body-footer'}} + {{content-for 'test-body-footer'}} + + diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/test-helper.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/test-helper.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,6 @@ +import resolver from './helpers/resolver'; +import { + setResolver +} from 'ember-qunit'; + +setResolver(resolver); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/unit/.keep diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/unit/adapters/application-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/unit/adapters/application-test.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,12 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('adapter:application', 'Unit | Adapter | application', { + // Specify the other units that are required for this test. + // needs: ['serializer:foo'] +}); + +// Replace this with your real tests. +test('it exists', function(assert) { + var adapter = this.subject(); + assert.ok(adapter); +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/unit/models/document-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/unit/models/document-test.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,12 @@ +import { moduleForModel, test } from 'ember-qunit'; + +moduleForModel('document', 'Unit | Model | document', { + // Specify the other units that are required for this test. + needs: [] +}); + +test('it exists', function(assert) { + var model = this.subject(); + // var store = this.store(); + assert.ok(!!model); +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/unit/routes/doc-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/unit/routes/doc-test.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:doc', 'Unit | Route | doc', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + var route = this.subject(); + assert.ok(route); +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/tests/unit/routes/index-test.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/bo_client/tests/unit/routes/index-test.js Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,11 @@ +import { moduleFor, test } from 'ember-qunit'; + +moduleFor('route:index', 'Unit | Route | index', { + // Specify the other units that are required for this test. + // needs: ['controller:foo'] +}); + +test('it exists', function(assert) { + var route = this.subject(); + assert.ok(route); +}); diff -r 2b3247d02769 -r f55970e41793 server/bo_client/vendor/.keep diff -r 2b3247d02769 -r f55970e41793 server/src/.bowerrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/.bowerrc Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,3 @@ +{ +"directory": "vendor/bower_components" +} diff -r 2b3247d02769 -r f55970e41793 server/src/app/Console/Commands/ImportCocoonRDF.php --- a/server/src/app/Console/Commands/ImportCocoonRDF.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Console/Commands/ImportCocoonRDF.php Mon Oct 05 17:02:10 2015 +0200 @@ -3,33 +3,33 @@ namespace CorpusParole\Console\Commands; use Config; +use Log; use Illuminate\Console\Command; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputArgument; use Phpoaipmh\Client; use Phpoaipmh\Endpoint; -class ImportCocoonRDF extends Command -{ - /** - * The console command name. - * - * @var string - */ - protected $name = 'corpus-parole:importRDF'; +class ImportCocoonRDF extends Command { /** * The console command description. * * @var string */ - protected $description = 'Command description.'; + protected $description = 'Import Rdf from Cocoon.'; + + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'corpus-parole:importRDF {--skip=0 : Number of record to skip}'; /** * Create a new command instance. */ - public function __construct() - { + public function __construct() { parent::__construct(); } @@ -38,60 +38,81 @@ * * @return mixed */ - public function fire() - { - echo("hello\n"); + public function fire() { + libxml_use_internal_errors(true); - //$gs = new \EasyRdf_GraphStore(Config::get('corpusparole.sesame_update_url')); - $gs = new \EasyRdf_Sparql_Client(Config::get('corpusparole.sesame_query_url'), Config::get('corpusparole.sesame_update_url')); + $skip = (int)$this->option('skip'); - //$doc = new \EasyRdf_Graph("http://cocoon.huma-num.fr/exist/crdo/rdf/crdo-ESLO1_ENTCONT_203"); - //$doc->load(); + $this->comment("Skipping $skip records"); + + $gs = new \EasyRdf\Sparql\Client(Config::get('corpusparole.sesame_query_url'), Config::get('corpusparole.sesame_update_url')); + $client = new Client(Config::get('corpusparole.cocoon_oaipmh_url')); - //$client = new Client('http://memory.loc.gov/cgi-bin/oai2_0'); $endpoint = new Endpoint($client); $recs = $endpoint->listRecords('olac', null, null, 'LanguesDeFrance'); - //$recs = $endpoint->listRecords('oai_dc', null, null, 'mussm'); + + //TODO : treat timeout exceptions + $progressBar = $this->output->createProgressBar($recs->getTotalRecordsInCollection()); + $progressBar->setFormat(' %current%/%max% [%bar%] %percent:3s%% - %message%'); foreach ($recs as $item) { - if ($recs->getNumRequests() > 1) { - break; - } + $identifier = (string) $item->xpath('/record/header/identifier')[0]; $docRdfUrl = Config::get('corpusparole.cocoon_rdf_base_uri').substr($identifier, strlen(Config::get('corpusparole.cocoon_doc_id_base'))); - print("Processing $identifier : $docRdfUrl\n"); - $doc = new \EasyRdf_Graph($docRdfUrl); - $doc->load(); - $subjects = $doc->resourcesMatching('foaf:primaryTopic'); - $subject = reset($subjects)->getUri(); - $gs->insert($doc, $subject); - } - } + $message = "$identifier : $docRdfUrl"; + if($recs->getNumRetrieved() <= $skip) { + $progressBar->setMessage("$message - Skipping"); + $progressBar->advance(); + continue; + } + $progressBar->setMessage($message); + $progressBar->advance(); - /** - * Get the console command arguments. - * - * @return array - */ - protected function getArguments() - { - return [ - ['example', InputArgument::REQUIRED, 'An example argument.'], - ]; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions() - { - return [ - //['example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null], - ]; + $docUri = config('corpusparole.cocoon_doc_id_base_uri').substr($identifier, strlen(Config::get('corpusparole.cocoon_doc_id_base'))); + $resDocs = $gs->query("ASK WHERE { GRAPH <$docUri> { ?s ?p ?o }}"); + if(!$resDocs->getBoolean()) { + $docLoaded = false; + $loadRetry = 0; + while(!$docLoaded && $loadRetry < config('corpusparole.max_load_retry', 3)) { + $loadRetry++; + try { + $doc = new \EasyRdf\Graph($docRdfUrl); + $doc->load(); + $docLoaded = true; + } + //TODO: catch network exception - add error to database + catch(\Exception $e) { + $code = $e->getCode(); + $message = $e->getMessage(); + $this->debug("\nError processing $identifier. code : $code, message: $message"); + Log::debug("Error processing $identifier. code : $code, message: $message"); + if($code == 1 && stripos($message, 'timed out')>=0 ) { + $this->warning("\nTimeout error processing $identifier ($docRdfUrl) : $e, retrying"); + Log::warning("Timeout error processing $identifier ($docRdfUrl) : $e, retrying"); + continue; + } + else { + $this->error("\nError processing $identifier ($docRdfUrl) : $e"); + Log::error("Error processing $identifier ($docRdfUrl) : $e"); + break; + } + //$this->error(print_r($e->getTraceAsString(),true)); + } + } + if(!$docLoaded) { + continue; + } + //TODO: treat errors + $subjects = $doc->resources(); + $subject = reset($subjects)->getUri(); + //TODO: exceptions ? but if pb on insert probably we have to fail anyway + $gs->insert($doc, $subject); + } + } + $progressBar->setMessage("finished"); + $progressBar->finish(); } } diff -r 2b3247d02769 -r f55970e41793 server/src/app/Http/Controllers/Api/DocumentController.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Http/Controllers/Api/DocumentController.php Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,99 @@ +documentRepository = $documentRepo; + } + + /** + * Display a listing of the resource. + * + * @return Response + */ + public function index() + { + return response()->json($this->documentRepository->paginateAll()); + } + + /** + * Show the form for creating a new resource. + * + * @return Response + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + * + * @param Request $request + * @return Response + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + * + * @param int $id + * @return Response + */ + public function show($id) + { + $doc = $this->documentRepository->get($id); + if(is_null($doc)) { + abort(404); + } + return response()->json($doc); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return Response + */ + public function edit($id) + { + // + } + + /** + * Update the specified resource in storage. + * + * @param Request $request + * @param int $id + * @return Response + */ + public function update(Request $request, $id) + { + // + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return Response + */ + public function destroy($id) + { + // + } +} diff -r 2b3247d02769 -r f55970e41793 server/src/app/Http/Controllers/Bo/DocumentListController.php --- a/server/src/app/Http/Controllers/Bo/DocumentListController.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Http/Controllers/Bo/DocumentListController.php Mon Oct 05 17:02:10 2015 +0200 @@ -25,7 +25,7 @@ * @return Response */ public function index() { - return view('bo.docList', ['docs' => $this->documentRepository->all()]); + return view('bo.docList', ['docs' => $this->documentRepository->paginateAll()]); } /** @@ -60,6 +60,10 @@ //$doc->add("<$doc_uri>"); $doc = $this->documentRepository->get($id); + if(is_null($doc)) { + abort(404); + } + return view('bo.docDetail', ['doc' => $doc]); } @@ -87,16 +91,12 @@ */ public function update($id, Request $request) { - Log::debug('REQUEST : '.print_r($request->input(), true)); - $doc = $this->documentRepository->get($id); $newDoc = clone $doc; $newDoc->updateDiscourseTypes(array_unique($request->input('discourse_type'))); - Log::debug("Graph isomorphes ? " . print_r(\EasyRdf_Isomorphic::bijectionBetween($doc->getGraph(), $doc->getGraph()), true)); - //TODO: save change in store //TODO: create log object diff -r 2b3247d02769 -r f55970e41793 server/src/app/Http/routes.php --- a/server/src/app/Http/routes.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Http/routes.php Mon Oct 05 17:02:10 2015 +0200 @@ -21,3 +21,14 @@ 'auth' => 'Auth\AuthController', 'password' => 'Auth\PasswordController', ]); + +/* +|-------------------------------------------------------------------------- +| Api Route +|-------------------------------------------------------------------------- +| +| +*/ + +Route::resource('api/document', 'Api\DocumentController', + ['only' => ['index', 'show']]); diff -r 2b3247d02769 -r f55970e41793 server/src/app/Libraries/CorpusParoleException.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/CorpusParoleException.php Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,9 @@ +deletedGraph = new Graph($uri); + $this->addedGraph = new Graph($uri); + } + + private $deletedGraph; + private $addedGraph; + + public function getDeletedGraph() { + return $this->deletedGraph; + } + + public function getAddedGraph() { + return $this->addedGraph; + } + +} diff -r 2b3247d02769 -r f55970e41793 server/src/app/Libraries/RdfModel/RdfModelResource.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/RdfModel/RdfModelResource.php Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,43 @@ +uri = $uri; + } + + protected $deltaList = []; + protected $currentDelta = null; + protected $uri = null; + + public function isDirty() { + return !is_null($this->deltaList) && count($this->deltaList)>0; + } + + public function deltaCount() { + return is_null($this->deltaList)?0:count($this->deltaList); + } + + public function getDeltaList() { + return $this->deltaList; + } + + public function getUri() { + return $this->uri; + } + + public function startDelta() { + $this->currentDelta = new RdfModelDelta($this->getGraph()->getUri()); + array_push($this->deltaList, $this->currentDelta); + } + + +} diff -r 2b3247d02769 -r f55970e41793 server/src/app/Libraries/Sparql/SparqlClient.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Libraries/Sparql/SparqlClient.php Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,142 @@ +sparqlClient = $sparqlClient; + $this->httpClient = $httpClient; + } + + private function getHttpClient() { + return $this->httpClient; + } + + public function getCurrentTransactionUrl() { + return $this->currentTransactionUrl; + } + + /** + * Start transaction. + * @return boolean true if a transaction was started, false otherwise + * @throws CorpusParoleException if the transaction could not be stared + */ + public function startTransaction() { + if(!is_null($this->currentTransactionUrl)) { + // We just continue the current transaction + return false; + } + //Log::debug('http_client base uri: ' . $this->getHttpClient()->getConfig('base_uri')); + $sesameRepository = config('corpusparole.sesame_repository'); + $resp = $this->getHttpClient()->post("$sesameRepository/transactions"); + //$resp = $this->getHttpClient()->post('transactions'); + //TODO check errors + if($resp->getStatusCode() != 201) { + throw new CorpusParoleException("Error when starting transaction : " + . $resp->getStatusCode() . " - " + . $resp->getReasonPhrase() . " : " . $resp->getBody(), 1); + } + + $this->currentTransactionUrl = $resp->getHeader('Location')[0]; + + return true; + } + + /** + * Rollback transaction. + * @return boolean true if a transaction was started, false otherwise + * @throws CorpusParoleException if the transaction could not be rollbacked + */ + public function rollback() { + if(is_null($this->currentTransactionUrl)) { + // We just continue the current transaction + return false; + } + $resp = $this->getHttpClient()->delete($this->currentTransactionUrl); + + if($resp->getStatusCode() != 204) { + throw new CorpusParoleException("Could not cancel transaction : " + . $resp->getStatusCode() . " - " + . $resp->getReasonPhrase() . " : " . $resp->getBody(), 1); + } + $this->currentTransactionUrl = null; + + return true; + } + + /** + * Commit transaction. + * @return boolean true if a transaction was started, false otherwise + * @throws CorpusParoleException if the transaction could not be commited + */ + public function commit() { + if(is_null($this->currentTransactionUrl)) { + // We just continue the current transaction + return false; + } + $resp = $this->getHttpClient()->put($this->currentTransactionUrl, ['query' => ['action' => 'COMMIT']]); + if($resp->getStatusCode() != 200) { + throw new CorpusParoleException("Could not commit transaction : " + . $resp->getStatusCode() . " - " + . $resp->getReasonPhrase() . " : " . $resp->getBody(), 1); + } + $this->currentTransactionUrl = null; + return true; + } + + protected function updateData($operation, Graph $graph) + { + $graphUri = $graph->getUri(); + $query = "$operation DATA {"; + if ($graphUri) { + $query .= "GRAPH <$graphUri> {"; + } + $query .= $graph->serialise('ntriples'); + if ($graphUri) { + $query .= "}"; + } + $query .= '}'; + + $resp = $this->getHttpClient()->put( + $this->currentTransactionUrl, [ + 'query' => ['action' => 'UPDATE'], + 'form_params'=> ['update' => $query], + ] + ); + if($resp->getStatusCode() != 204) { + throw new CorpusParoleException("Could not update in transaction with operation $operation: " + . $resp->getStatusCode() . " - " + . $resp->getReasonPhrase() . " : " . $resp->getBody(), 1); + } + } + + public function add(Graph $graph) { + $this->updateData('INSERT', $graph); + } + + public function delete(Graph $graph) { + $this->updateData('DELETE', $graph); + } + + /** Make a query to the SPARQL endpoint + * + * Just call and return EasyRdf\Sparql\Client::query + * + * @param string $query The query string to be executed + * @return object EasyRdf\Sparql\Result|EasyRdf\Graph Result of the query. + */ + public function query($query) { + return $this->sparqlClient->query($query); + } + +} diff -r 2b3247d02769 -r f55970e41793 server/src/app/Libraries/Utils.php --- a/server/src/app/Libraries/Utils.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Libraries/Utils.php Mon Oct 05 17:02:10 2015 +0200 @@ -38,7 +38,11 @@ "js"=>"application/javascript", "php"=>"text/html", "htm"=>"text/html", - "html"=>"text/html" + "html"=>"text/html", + "mp4"=>"video/mp4", + "ogg"=>"video/ogg", + "xml"=>"application/xml", + "xhtml"=>"application/xhtml+xml", ); $split_ext = explode('.',$file); @@ -46,4 +50,16 @@ return $mime_types[$extension]; } + + public static function process_literal_or_string($val) { + if(is_null($val)) { + return $val; + } + if($val instanceof Literal) { + return $val->getValue(); + } + else { + return (string)$val; + } + } } diff -r 2b3247d02769 -r f55970e41793 server/src/app/Models/Document.php --- a/server/src/app/Models/Document.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Models/Document.php Mon Oct 05 17:02:10 2015 +0200 @@ -4,16 +4,22 @@ use Config; use CorpusParole\Libraries\Utils; use CorpusParole\Libraries\RdfModel\RdfModelResource; +use JsonSerializable; use Log; +use EasyRdf\Literal; +use EasyRdf\Resource; +use EasyRdf\Graph; +use EasyRdf\Isomorphic; + /** - * Model class for Document. Inherit from EasyRdf_Resource + * Model class for Document. Inherit from EasyRd\Resource * SELECT DISTINCT ?g WHERE {GRAPH ?g {?s ?p ?o}} */ -class Document extends RdfModelResource { +class Document extends RdfModelResource implements JsonSerializable { public function __construct($uri, $graph = null) { - parent::__construct($uri, $graph, 'foaf:primaryTopic'); + parent::__construct($uri, $graph); } private $id = null; @@ -26,40 +32,60 @@ } public function getTitle() { - return $this->innerDocument->getLiteral('dc11:title'); + try { + return $this->getLiteral(''); + } catch(\Exception $e) { + return null; + } } public function getPublishers() { - return $this->innerDocument->allLiterals('dc11:publisher'); + try { + return $this->allLiterals('dc11:publisher'); + } catch(\Exception $e) { + return []; + } } public function getMediaArray() { //TODO: add media type $res = []; - $formats = $this->innerDocument->allResources("dc:isFormatOf"); + $formats = []; + try { + $formats = $this->allResources("dc:isFormatOf"); + } catch(\Exception $e) { + // do nothing + } foreach ($formats as $f) { $uri = $f->getUri(); $mimetype = Utils::get_mimetype($uri); array_push($res, ["url" => $uri, "format" => $mimetype]); } - array_push($res, ["url" => $this->innerDocument->getUri(), "format" => $this->innerDocument->getLiteral('dc11:format')]); + + $format = null; + try { + $format = $this->getLiteral('dc11:format'); + } catch(\Exception $e) { + // do nothing + } + array_push($res, ["url" => $this->getUri(), "format" => $format]); return $res; } public function getTypes() { - return $this->innerDocument->all('dc11:type'); + return $this->all('dc11:type'); } public function getDiscourseTypes() { return array_values(array_filter($this->getTypes(), function($v) { - return $v instanceof \EasyRdf_Literal && $v->getDatatypeUri() === Config::get('constants.OLAC_DISCOURSE_TYPE')['uri']; + return $v instanceof Literal && $v->getDatatypeUri() === Config::get('constants.OLAC_DISCOURSE_TYPE')['uri']; })); } public function getOtherTypes() { $res = array_values(array_filter($this->getTypes(), function($v) { - return $v instanceof \EasyRdf_Resource || $v->getDatatypeUri() !== Config::get('constants.OLAC_DISCOURSE_TYPE')['uri']; + return $v instanceof Resource || $v->getDatatypeUri() !== Config::get('constants.OLAC_DISCOURSE_TYPE')['uri']; })); return $res; } @@ -69,19 +95,19 @@ $this->startDelta(); foreach($this->getDiscourseTypes() as $discourseType) { - $this->innerDocument->delete('dc11:type', $discourseType); - $this->currentDelta->deletedGraph->add($this->innerDocument, 'dc11:type', $discourseType); + $this->delete('dc11:type', $discourseType); + $this->currentDelta->getDeletedGraph()->add($this, 'dc11:type', new Literal($discourseType, null, Config::get('constants.OLAC_DISCOURSE_TYPE')['uri'])); } // re-add them foreach($discoursesTypes as $dType) { - $this->innerDocument->add('dc11:type', new \EasyRdf_Literal($dType, null, Config::get('constants.OLAC_DISCOURSE_TYPE')['uri'])); - $this->currentDelta->addedGraph->add($this->innerDocument, 'dc11:type', $discourseType); + $this->add('dc11:type', new Literal($dType, null, Config::get('constants.OLAC_DISCOURSE_TYPE')['uri'])); + $this->currentDelta->getAddedGraph()->add($this, 'dc11:type', new Literal($dType, null, Config::get('constants.OLAC_DISCOURSE_TYPE')['uri'])); } } public function isIsomorphic($doc) { - return \EasyRdf_Isomorphic::isomorphic($this->graph, $doc->graph); + return Isomorphic::isomorphic($this->graph, $doc->graph); } /* @@ -90,8 +116,35 @@ */ public function __clone() { - $this->graph = new \EasyRdf_Graph($this->graph->getUri(), $this->graph->toRdfPhp()); - $this->innerDocument = $this->getResource('foaf:primaryTopic'); + $this->graph = new Graph($this->graph->getUri(), $this->graph->toRdfPhp()); + } + + public function jsonSerialize() { + if(!$this->graph) { + return [ + 'id' => $this->getId(), + ]; + } else { + $mediaArray = array_map( + function($m) { + $f = Utils::process_literal_or_string($m['format']); + return ['url' => $m['url'], 'format' => $f];}, + $this->getMediaArray() + ); + + $publishers = array_map( + function($v) { return Utils::process_literal_or_string($v); }, + $this->getPublishers() + ); + + return [ + 'id' => $this->getId(), + 'uri' => $this->getUri(), + 'title' => $this->getTitle()->getValue(), + 'publishers' => $publishers, + 'mediaArray'=> $mediaArray + ]; + } } } diff -r 2b3247d02769 -r f55970e41793 server/src/app/Providers/ConfigServiceProvider.php --- a/server/src/app/Providers/ConfigServiceProvider.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Providers/ConfigServiceProvider.php Mon Oct 05 17:02:10 2015 +0200 @@ -3,6 +3,7 @@ namespace CorpusParole\Providers; use Illuminate\Support\ServiceProvider; +use EasyRdf\Http; class ConfigServiceProvider extends ServiceProvider { @@ -18,5 +19,6 @@ config([ // ]); + Http::getDefaultHttpClient()->setConfig(['timeout' => config('corpusparole.easyrdf_http_client_timeout', 10)]); } } diff -r 2b3247d02769 -r f55970e41793 server/src/app/Providers/RepositoryServiceProvider.php --- a/server/src/app/Providers/RepositoryServiceProvider.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Providers/RepositoryServiceProvider.php Mon Oct 05 17:02:10 2015 +0200 @@ -11,7 +11,13 @@ public function register() { $this->app->bind( 'CorpusParole\Repositories\DocumentRepository', - 'CorpusParole\Repositories\RdfDocumentRepository' + function($app) { + + $httpClient = $app->make('GuzzleHttp\Client', [[ 'base_uri' => config('corpusparole.sesame_query_url'), 'http_errors' => false]]); + $sparqlClient = $app->make('EasyRdf\Sparql\Client', [config('corpusparole.sesame_query_url'), config('corpusparole.sesame_update_url')]); + $cpSparqlClient = $app->make('CorpusParole\Libraries\Sparql\SparqlClient', [$httpClient, $sparqlClient]); + return $app->make('CorpusParole\Repositories\RdfDocumentRepository', [$cpSparqlClient,]); + } ); } } diff -r 2b3247d02769 -r f55970e41793 server/src/app/Repositories/DocumentRepository.php --- a/server/src/app/Repositories/DocumentRepository.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/app/Repositories/DocumentRepository.php Mon Oct 05 17:02:10 2015 +0200 @@ -1,10 +1,24 @@ for this extend the sparql client. */ class RdfDocumentRepository implements DocumentRepository { private $sparqlClient; - function __construct() { - $this->sparqlClient = new \EasyRdf_Sparql_Client(Config::get('corpusparole.sesame_query_url'), Config::get('corpusparole.sesame_update_url')); + public function __construct(SparqlClient $sparqlClient) { + $this->sparqlClient = $sparqlClient; } - public function all() { + public function getSparqlClient() { + return $this->sparqlClient; + } - $docs = $this->sparqlClient->query( - 'SELECT * WHERE {'. - ' ?uri ?b;'. - '} ORDER BY ?uri' - ); + private function queryDocs($query) { + $docs = $this->sparqlClient->query($query); $data = []; @@ -34,31 +39,92 @@ return $data; } + public function all() { + + return $this->queryDocs("SELECT DISTINCT ?uri WHERE { GRAPH ?uri { ?s ?p ?o } } ORDER BY ?uri"); + + } + public function get($id) { - $doc_uri = Config::get('corpusparole.cocoon_doc_id_base_uri').$id; - - //$doc = $sparql->query( - // "CONSTRUCT {". - // " ?doc ?p ?v.". - // "}". - // "WHERE {". - // " <$doc_uri> ?doc.". - // " ?doc ?p ?v;". - // "}" - //); + $docUri = Config::get('corpusparole.cocoon_doc_id_base_uri').$id; // We want the CBD (Concise Bounded Description, cf. http://www.w3.org/Submission/CBD/) // WARNING: This seems to work in sesame for our dataset. $doc = $this->sparqlClient->query( - 'DESCRIBE ?doc '. - 'WHERE {'. - " <$doc_uri> ?doc;". - '}' + "CONSTRUCT { ?s ?p ?o } WHERE { GRAPH <$docUri> { ?s ?p ?o } }" ); + //TODO: return null if not found + if($doc->isEmpty()) { + return null; + } - return new Document($doc_uri, $doc); + return new Document($docUri, $doc); } + /** + * save document. + * @return boolean true if a transaction was started, false otherwise + * @throws CorpusParoleException if one of the operation could not be performed + */ + public function save(Document $doc) { + + $transactionStarted = $this->sparqlClient->startTransaction(); + + try { + foreach($doc->getDeltaList() as $delta) { + $this->sparqlClient->delete($delta->getDeletedGraph()); + $this->sparqlClient->add($delta->getAddedGraph()); + } + if($transactionStarted) { + $transactionStarted = false; + return $this->sparqlClient->commit(); + } + else { + return false; + } + } + catch(CorpusParoleException $e) { + if($transactionStarted) { + $this->sparqlClient->rollback(); + } + throw $e; + } + } + + public function getCount() { + $res = $this->sparqlClient->query("SELECT (COUNT (DISTINCT ?g) as ?count) WHERE { GRAPH ?g { ?s ?p ?o } }"); + assert(!is_null($res) && $res->count()==1); + return $res[0]->count->getValue(); + } + + //SELECT ?g WHERE { GRAPH ?g { ?s ?p ?o } } + + /** + * Paginate all document as a paginator. + * + * @param int $perPage + * @param string $pageName + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + */ + public function paginateAll($perPage = 15, $pageName = 'page') + { + $page = Paginator::resolveCurrentPage($pageName); + + $total = $this->getCount(); + + $offset = max(0,($page - 1) * $perPage); + + $query = "SELECT DISTINCT ?uri WHERE { GRAPH ?uri { ?s ?p ?o } } ORDER BY ?uri OFFSET $offset LIMIT $perPage"; + + $results = $this->queryDocs($query); + + return new LengthAwarePaginator($results, $total, $perPage, $page, [ + 'path' => Paginator::resolveCurrentPath(), + 'pageName' => $pageName, + ]); + } + + } diff -r 2b3247d02769 -r f55970e41793 server/src/auth.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/auth.json Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,5 @@ +{ + "github-oauth": { + "github.com": "462d17fd9b2ee25857adfd5dc4fb291e42f9fe4e" + } +} diff -r 2b3247d02769 -r f55970e41793 server/src/bower.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/bower.json Mon Oct 05 17:02:10 2015 +0200 @@ -0,0 +1,25 @@ +{ + "name": "corpus-parole", + "version": "0.0.1", + "authors": [ + "Yves-Marie Haussonne " + ], + "description": "Corpus de la parole", + "moduleType": [ + "es6" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "vendor/bower_components", + "test", + "tests" + ], + "dependencies": { + "bootstrap-sass": "bootstrap-sass-official#~3.3.5", + "bourbon": "~4.2.4", + "font-awesome": "~4.4.0" + } +} diff -r 2b3247d02769 -r f55970e41793 server/src/composer.json --- a/server/src/composer.json Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/composer.json Mon Oct 05 17:02:10 2015 +0200 @@ -6,7 +6,7 @@ "type": "project", "require": { "laravel/framework": "5.1.*", - "easyrdf/easyrdf": "*", + "easyrdf/easyrdf": "*@dev", "ml/json-ld": "*", "caseyamcl/phpoaipmh": "~2.4", "guzzlehttp/guzzle": "~6.0", diff -r 2b3247d02769 -r f55970e41793 server/src/composer.lock --- a/server/src/composer.lock Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/composer.lock Mon Oct 05 17:02:10 2015 +0200 @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "3548116cfb0402c4629216e7c27d4465", + "hash": "43b757168dd323060f8ecedc259686a8", "packages": [ { "name": "caseyamcl/phpoaipmh", @@ -67,35 +67,29 @@ }, { "name": "classpreloader/classpreloader", - "version": "1.4.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/ClassPreloader/ClassPreloader.git", - "reference": "b76f3f4f603ebbe7e64351a7ef973431ddaf7b27" + "reference": "8c3c14b10309e3b40bce833913a6c0c0b8c8f962" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/b76f3f4f603ebbe7e64351a7ef973431ddaf7b27", - "reference": "b76f3f4f603ebbe7e64351a7ef973431ddaf7b27", + "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/8c3c14b10309e3b40bce833913a6c0c0b8c8f962", + "reference": "8c3c14b10309e3b40bce833913a6c0c0b8c8f962", "shasum": "" }, "require": { "nikic/php-parser": "~1.3", - "php": ">=5.3.3", - "symfony/console": "~2.1", - "symfony/filesystem": "~2.1", - "symfony/finder": "~2.1" + "php": ">=5.5.9" }, "require-dev": { "phpunit/phpunit": "~4.0" }, - "bin": [ - "classpreloader.php" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -114,7 +108,7 @@ }, { "name": "Graham Campbell", - "email": "graham@cachethq.io" + "email": "graham@alt-three.com" } ], "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", @@ -123,20 +117,20 @@ "class", "preload" ], - "time": "2015-05-26 10:57:51" + "time": "2015-06-28 21:39:13" }, { "name": "danielstjules/stringy", - "version": "1.9.0", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/danielstjules/Stringy.git", - "reference": "3cf18e9e424a6dedc38b7eb7ef580edb0929461b" + "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/3cf18e9e424a6dedc38b7eb7ef580edb0929461b", - "reference": "3cf18e9e424a6dedc38b7eb7ef580edb0929461b", + "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", + "reference": "4749c205db47ee5b32e8d1adf6d9aff8db6caf3b", "shasum": "" }, "require": { @@ -179,7 +173,7 @@ "utility", "utils" ], - "time": "2015-02-10 06:19:18" + "time": "2015-07-23 00:54:12" }, { "name": "dnoegel/php-xdg-base-dir", @@ -283,35 +277,39 @@ }, { "name": "easyrdf/easyrdf", - "version": "0.9.1", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/njh/easyrdf.git", - "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566" + "reference": "4f7f1e5e726e4abaf1428888cf45796abbc7d70b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566", - "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566", + "url": "https://api.github.com/repos/njh/easyrdf/zipball/4f7f1e5e726e4abaf1428888cf45796abbc7d70b", + "reference": "4f7f1e5e726e4abaf1428888cf45796abbc7d70b", "shasum": "" }, "require": { "ext-mbstring": "*", "ext-pcre": "*", - "php": ">=5.2.8" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "~3.5", - "sami/sami": "~1.4", - "squizlabs/php_codesniffer": "~1.4.3" + "ml/json-ld": "~1.0", + "phpunit/phpunit": "~4.1", + "sami/sami": "~2.0", + "semsol/arc2": "~2.2", + "squizlabs/php_codesniffer": "~1.4.3", + "zendframework/zend-http": "~2.3" }, "suggest": { - "ml/json-ld": "~1.0" + "ml/json-ld": "~1.0", + "semsol/arc2": "~2.2" }, "type": "library", "autoload": { - "psr-0": { - "EasyRdf_": "lib/" + "psr-4": { + "EasyRdf\\": "lib" } }, "notification-url": "https://packagist.org/downloads/", @@ -328,6 +326,7 @@ { "name": "Alexey Zakhlestin", "email": "indeyets@gmail.com", + "homepage": "http://indeyets.ru/", "role": "Developer" } ], @@ -341,31 +340,31 @@ "rdfa", "sparql" ], - "time": "2015-02-27 09:45:49" + "time": "2015-04-02 06:12:11" }, { "name": "guzzlehttp/guzzle", - "version": "6.0.1", + "version": "6.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "f992b7b487a816c957d317442bed4966409873e0" + "reference": "a8dfeff00eb84616a17fea7a4d72af35e750410f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f992b7b487a816c957d317442bed4966409873e0", - "reference": "f992b7b487a816c957d317442bed4966409873e0", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a8dfeff00eb84616a17fea7a4d72af35e750410f", + "reference": "a8dfeff00eb84616a17fea7a4d72af35e750410f", "shasum": "" }, "require": { - "guzzlehttp/promises": "^1.0.0", - "guzzlehttp/psr7": "^1.0.0", + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", "php": ">=5.5.0" }, "require-dev": { "ext-curl": "*", - "phpunit/phpunit": "^4.0", - "psr/log": "^1.0" + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" }, "type": "library", "extra": { @@ -375,7 +374,7 @@ }, "autoload": { "files": [ - "src/functions.php" + "src/functions_include.php" ], "psr-4": { "GuzzleHttp\\": "src/" @@ -403,27 +402,27 @@ "rest", "web service" ], - "time": "2015-05-27 16:57:51" + "time": "2015-07-04 20:09:24" }, { "name": "guzzlehttp/promises", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "01abc3232138f330d8a1eaa808fcbdf9b4292f47" + "reference": "97fe7210def29451ec74923b27e552238defd75a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/01abc3232138f330d8a1eaa808fcbdf9b4292f47", - "reference": "01abc3232138f330d8a1eaa808fcbdf9b4292f47", + "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a", + "reference": "97fe7210def29451ec74923b27e552238defd75a", "shasum": "" }, "require": { "php": ">=5.5.0" }, "require-dev": { - "phpunit/phpunit": "^4.0" + "phpunit/phpunit": "~4.0" }, "type": "library", "extra": { @@ -436,7 +435,7 @@ "GuzzleHttp\\Promise\\": "src/" }, "files": [ - "src/functions.php" + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -454,31 +453,31 @@ "keywords": [ "promise" ], - "time": "2015-05-13 05:05:10" + "time": "2015-08-15 19:37:21" }, { "name": "guzzlehttp/psr7", - "version": "1.0.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "19e510056d8d671d9d9e25dc16937b3dd3802ae6" + "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/19e510056d8d671d9d9e25dc16937b3dd3802ae6", - "reference": "19e510056d8d671d9d9e25dc16937b3dd3802ae6", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", + "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e", "shasum": "" }, "require": { "php": ">=5.4.0", - "psr/http-message": "^1.0" + "psr/http-message": "~1.0" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "^4.0" + "phpunit/phpunit": "~4.0" }, "type": "library", "extra": { @@ -491,7 +490,7 @@ "GuzzleHttp\\Psr7\\": "src/" }, "files": [ - "src/functions.php" + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -512,7 +511,7 @@ "stream", "uri" ], - "time": "2015-05-19 17:58:45" + "time": "2015-08-15 19:32:36" }, { "name": "jakub-onderka/php-console-color", @@ -643,7 +642,7 @@ "name": "Jeremy Lindblom", "email": "jeremeamia@gmail.com", "homepage": "https://github.com/jeremeamia", - "role": "Developer" + "role": "developer" } ], "description": "Serialize Closure objects, including their context and binding", @@ -661,20 +660,20 @@ }, { "name": "laravel/framework", - "version": "v5.1.2", + "version": "v5.1.12", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "65a3a4ca4b20083517a9e2effa6a86a49f3e9c96" + "reference": "76a9816f37a58383f6ba093ccf08f253e5488555" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/65a3a4ca4b20083517a9e2effa6a86a49f3e9c96", - "reference": "65a3a4ca4b20083517a9e2effa6a86a49f3e9c96", + "url": "https://api.github.com/repos/laravel/framework/zipball/76a9816f37a58383f6ba093ccf08f253e5488555", + "reference": "76a9816f37a58383f6ba093ccf08f253e5488555", "shasum": "" }, "require": { - "classpreloader/classpreloader": "~1.2", + "classpreloader/classpreloader": "~2.0", "danielstjules/stringy": "~1.8", "doctrine/inflector": "~1.0", "ext-mbstring": "*", @@ -685,7 +684,7 @@ "mtdowling/cron-expression": "~1.0", "nesbot/carbon": "~1.19", "php": ">=5.5.9", - "psy/psysh": "0.4.*", + "psy/psysh": "~0.5.1", "swiftmailer/swiftmailer": "~5.1", "symfony/console": "2.7.*", "symfony/css-selector": "2.7.*", @@ -785,20 +784,20 @@ "framework", "laravel" ], - "time": "2015-06-15 18:25:50" + "time": "2015-08-30 23:25:48" }, { "name": "laravelcollective/html", - "version": "v5.1.1", + "version": "v5.1.5", "source": { "type": "git", "url": "https://github.com/LaravelCollective/html.git", - "reference": "0918dac79ff8d294a92048f2d8b3c0c3078139b0" + "reference": "59f124084c9135a6a8d87323e5c5562ab823deb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/LaravelCollective/html/zipball/0918dac79ff8d294a92048f2d8b3c0c3078139b0", - "reference": "0918dac79ff8d294a92048f2d8b3c0c3078139b0", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/59f124084c9135a6a8d87323e5c5562ab823deb4", + "reference": "59f124084c9135a6a8d87323e5c5562ab823deb4", "shasum": "" }, "require": { @@ -835,35 +834,31 @@ "email": "adam@laravelcollective.com" } ], - "time": "2015-06-18 02:16:50" + "time": "2015-07-28 03:18:41" }, { "name": "league/flysystem", - "version": "1.0.4", + "version": "1.0.11", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "56862959b45131ad33e5a7727a25db19f2cf090b" + "reference": "c16222fdc02467eaa12cb6d6d0e65527741f6040" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/56862959b45131ad33e5a7727a25db19f2cf090b", - "reference": "56862959b45131ad33e5a7727a25db19f2cf090b", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c16222fdc02467eaa12cb6d6d0e65527741f6040", + "reference": "c16222fdc02467eaa12cb6d6d0e65527741f6040", "shasum": "" }, "require": { - "ext-mbstring": "*", "php": ">=5.4.0" }, "require-dev": { "ext-fileinfo": "*", - "league/phpunit-coverage-listener": "~1.1", "mockery/mockery": "~0.9", - "phpspec/phpspec": "~2.0", + "phpspec/phpspec": "^2.2", "phpspec/prophecy-phpunit": "~1.0", - "phpunit/phpunit": "~4.1", - "predis/predis": "~1.0", - "tedivm/stash": "~0.12.0" + "phpunit/phpunit": "~4.1" }, "suggest": { "ext-fileinfo": "Required for MimeType", @@ -877,8 +872,7 @@ "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "predis/predis": "Allows you to use Predis for caching" + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter" }, "type": "library", "extra": { @@ -901,10 +895,11 @@ "email": "info@frenky.net" } ], - "description": "Many filesystems, one API.", + "description": "Filesystem abstraction: Many filesystems, one API.", "keywords": [ "Cloud Files", "WebDAV", + "abstraction", "aws", "cloud", "copy.com", @@ -912,6 +907,7 @@ "file systems", "files", "filesystem", + "filesystems", "ftp", "rackspace", "remote", @@ -919,7 +915,7 @@ "sftp", "storage" ], - "time": "2015-06-07 21:27:37" + "time": "2015-07-28 20:41:58" }, { "name": "ml/iri", @@ -1019,16 +1015,16 @@ }, { "name": "monolog/monolog", - "version": "1.14.0", + "version": "1.17.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "b287fbbe1ca27847064beff2bad7fb6920bf08cc" + "reference": "0524c87587ab85bc4c2d6f5b41253ccb930a5422" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b287fbbe1ca27847064beff2bad7fb6920bf08cc", - "reference": "b287fbbe1ca27847064beff2bad7fb6920bf08cc", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/0524c87587ab85bc4c2d6f5b41253ccb930a5422", + "reference": "0524c87587ab85bc4c2d6f5b41253ccb930a5422", "shasum": "" }, "require": { @@ -1045,7 +1041,7 @@ "php-console/php-console": "^3.1.3", "phpunit/phpunit": "~4.5", "phpunit/phpunit-mock-objects": "2.3.0", - "raven/raven": "~0.8", + "raven/raven": "~0.11", "ruflin/elastica": ">=0.90 <3.0", "swiftmailer/swiftmailer": "~5.3", "videlalvaro/php-amqplib": "~2.4" @@ -1065,7 +1061,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.14.x-dev" + "dev-master": "1.16.x-dev" } }, "autoload": { @@ -1091,7 +1087,7 @@ "logging", "psr-3" ], - "time": "2015-06-19 13:29:54" + "time": "2015-08-31 09:17:37" }, { "name": "mtdowling/cron-expression", @@ -1139,21 +1135,21 @@ }, { "name": "nesbot/carbon", - "version": "1.19.0", + "version": "1.20.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "68868e0b02d2d803d0052a59d4e5003cccf87320" + "reference": "bfd3eaba109c9a2405c92174c8e17f20c2b9caf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/68868e0b02d2d803d0052a59d4e5003cccf87320", - "reference": "68868e0b02d2d803d0052a59d4e5003cccf87320", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/bfd3eaba109c9a2405c92174c8e17f20c2b9caf3", + "reference": "bfd3eaba109c9a2405c92174c8e17f20c2b9caf3", "shasum": "" }, "require": { "php": ">=5.3.0", - "symfony/translation": "~2.6" + "symfony/translation": "~2.6|~3.0" }, "require-dev": { "phpunit/phpunit": "~4.0" @@ -1182,20 +1178,20 @@ "datetime", "time" ], - "time": "2015-05-09 03:23:44" + "time": "2015-06-25 04:19:39" }, { "name": "nikic/php-parser", - "version": "v1.3.0", + "version": "v1.4.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dff239267fd1befa1cd40430c9ed12591aa720ca" + "reference": "196f177cfefa0f1f7166c0a05d8255889be12418" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dff239267fd1befa1cd40430c9ed12591aa720ca", - "reference": "dff239267fd1befa1cd40430c9ed12591aa720ca", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/196f177cfefa0f1f7166c0a05d8255889be12418", + "reference": "196f177cfefa0f1f7166c0a05d8255889be12418", "shasum": "" }, "require": { @@ -1205,7 +1201,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.4-dev" } }, "autoload": { @@ -1227,7 +1223,7 @@ "parser", "php" ], - "time": "2015-05-02 15:40:40" + "time": "2015-07-14 17:31:05" }, { "name": "psr/http-message", @@ -1318,24 +1314,25 @@ }, { "name": "psy/psysh", - "version": "v0.4.4", + "version": "v0.5.2", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "489816db71649bd95b416e3ed9062d40528ab0ac" + "reference": "aaf8772ade08b5f0f6830774a5d5c2f800415975" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/489816db71649bd95b416e3ed9062d40528ab0ac", - "reference": "489816db71649bd95b416e3ed9062d40528ab0ac", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/aaf8772ade08b5f0f6830774a5d5c2f800415975", + "reference": "aaf8772ade08b5f0f6830774a5d5c2f800415975", "shasum": "" }, "require": { "dnoegel/php-xdg-base-dir": "0.1", "jakub-onderka/php-console-highlighter": "0.3.*", - "nikic/php-parser": "~1.0", - "php": ">=5.3.0", - "symfony/console": "~2.3.10|~2.4.2|~2.5" + "nikic/php-parser": "^1.2.1", + "php": ">=5.3.9", + "symfony/console": "~2.3.10|^2.4.2|~3.0", + "symfony/var-dumper": "~2.7|~3.0" }, "require-dev": { "fabpot/php-cs-fixer": "~1.5", @@ -1355,7 +1352,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-develop": "0.4.x-dev" + "dev-develop": "0.6.x-dev" } }, "autoload": { @@ -1385,7 +1382,7 @@ "interactive", "shell" ], - "time": "2015-03-26 18:43:54" + "time": "2015-07-16 15:26:57" }, { "name": "swiftmailer/swiftmailer", @@ -1442,16 +1439,16 @@ }, { "name": "symfony/console", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Console.git", - "reference": "564398bc1f33faf92fc2ec86859983d30eb81806" + "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/564398bc1f33faf92fc2ec86859983d30eb81806", - "reference": "564398bc1f33faf92fc2ec86859983d30eb81806", + "url": "https://api.github.com/repos/symfony/Console/zipball/d6cf02fe73634c96677e428f840704bfbcaec29e", + "reference": "d6cf02fe73634c96677e428f840704bfbcaec29e", "shasum": "" }, "require": { @@ -1495,11 +1492,11 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2015-06-10 15:30:22" + "time": "2015-07-28 15:18:12" }, { "name": "symfony/css-selector", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/CssSelector.git", @@ -1552,16 +1549,16 @@ }, { "name": "symfony/debug", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Debug.git", - "reference": "075070230c5bbc65abde8241191655bbce0716e2" + "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/075070230c5bbc65abde8241191655bbce0716e2", - "reference": "075070230c5bbc65abde8241191655bbce0716e2", + "url": "https://api.github.com/repos/symfony/Debug/zipball/9daa1bf9f7e615fa2fba30357e479a90141222e3", + "reference": "9daa1bf9f7e615fa2fba30357e479a90141222e3", "shasum": "" }, "require": { @@ -1608,20 +1605,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2015-06-08 09:37:21" + "time": "2015-07-09 16:07:40" }, { "name": "symfony/dom-crawler", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/DomCrawler.git", - "reference": "11d8eb8ccc1533f4c2d89a025f674894fda520b3" + "reference": "9dabece63182e95c42b06967a0d929a5df78bc35" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/11d8eb8ccc1533f4c2d89a025f674894fda520b3", - "reference": "11d8eb8ccc1533f4c2d89a025f674894fda520b3", + "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9dabece63182e95c42b06967a0d929a5df78bc35", + "reference": "9dabece63182e95c42b06967a0d929a5df78bc35", "shasum": "" }, "require": { @@ -1661,20 +1658,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2015-05-22 14:54:25" + "time": "2015-07-09 16:07:40" }, { "name": "symfony/event-dispatcher", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "be3c5ff8d503c46768aeb78ce6333051aa6f26d9" + "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/be3c5ff8d503c46768aeb78ce6333051aa6f26d9", - "reference": "be3c5ff8d503c46768aeb78ce6333051aa6f26d9", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", + "reference": "9310b5f9a87ec2ea75d20fec0b0017c77c66dac3", "shasum": "" }, "require": { @@ -1719,69 +1716,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2015-06-08 09:37:21" + "time": "2015-06-18 19:21:56" }, { - "name": "symfony/filesystem", - "version": "v2.7.1", + "name": "symfony/finder", + "version": "v2.7.3", "source": { "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "a0d43eb3e17d4f4c6990289805a488a0482a07f3" + "url": "https://github.com/symfony/Finder.git", + "reference": "ae0f363277485094edc04c9f3cbe595b183b78e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/a0d43eb3e17d4f4c6990289805a488a0482a07f3", - "reference": "a0d43eb3e17d4f4c6990289805a488a0482a07f3", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2015-06-08 09:37:21" - }, - { - "name": "symfony/finder", - "version": "v2.7.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "c13a40d638aeede1e8400f8c956c7f9246c05f75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/c13a40d638aeede1e8400f8c956c7f9246c05f75", - "reference": "c13a40d638aeede1e8400f8c956c7f9246c05f75", + "url": "https://api.github.com/repos/symfony/Finder/zipball/ae0f363277485094edc04c9f3cbe595b183b78e4", + "reference": "ae0f363277485094edc04c9f3cbe595b183b78e4", "shasum": "" }, "require": { @@ -1817,20 +1765,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2015-06-04 20:11:48" + "time": "2015-07-09 16:07:40" }, { "name": "symfony/http-foundation", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "4f363c426b0ced57e3d14460022feb63937980ff" + "reference": "863af6898081b34c65d42100c370b9f3c51b70ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/4f363c426b0ced57e3d14460022feb63937980ff", - "reference": "4f363c426b0ced57e3d14460022feb63937980ff", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/863af6898081b34c65d42100c370b9f3c51b70ca", + "reference": "863af6898081b34c65d42100c370b9f3c51b70ca", "shasum": "" }, "require": { @@ -1870,27 +1818,27 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2015-06-10 15:30:22" + "time": "2015-07-22 10:11:00" }, { "name": "symfony/http-kernel", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/HttpKernel.git", - "reference": "208101c7a11e31933183bd2a380486e528c74302" + "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/208101c7a11e31933183bd2a380486e528c74302", - "reference": "208101c7a11e31933183bd2a380486e528c74302", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/405d3e7a59ff7a28ec469441326a0ac79065ea98", + "reference": "405d3e7a59ff7a28ec469441326a0ac79065ea98", "shasum": "" }, "require": { "php": ">=5.3.9", "psr/log": "~1.0", "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", + "symfony/event-dispatcher": "~2.6,>=2.6.7", "symfony/http-foundation": "~2.5,>=2.5.4" }, "conflict": { @@ -1950,20 +1898,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2015-06-11 21:15:28" + "time": "2015-07-31 13:24:45" }, { "name": "symfony/process", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Process.git", - "reference": "552d8efdc80980cbcca50b28d626ac8e36e3cdd1" + "reference": "48aeb0e48600321c272955132d7606ab0a49adb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/552d8efdc80980cbcca50b28d626ac8e36e3cdd1", - "reference": "552d8efdc80980cbcca50b28d626ac8e36e3cdd1", + "url": "https://api.github.com/repos/symfony/Process/zipball/48aeb0e48600321c272955132d7606ab0a49adb3", + "reference": "48aeb0e48600321c272955132d7606ab0a49adb3", "shasum": "" }, "require": { @@ -1999,20 +1947,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2015-06-08 09:37:21" + "time": "2015-07-01 11:25:50" }, { "name": "symfony/routing", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Routing.git", - "reference": "5581be29185b8fb802398904555f70da62f6d50d" + "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/5581be29185b8fb802398904555f70da62f6d50d", - "reference": "5581be29185b8fb802398904555f70da62f6d50d", + "url": "https://api.github.com/repos/symfony/Routing/zipball/ea9134f277162b02e5f80ac058b75a77637b0d26", + "reference": "ea9134f277162b02e5f80ac058b75a77637b0d26", "shasum": "" }, "require": { @@ -2070,20 +2018,20 @@ "uri", "url" ], - "time": "2015-06-11 17:20:40" + "time": "2015-07-09 16:07:40" }, { "name": "symfony/translation", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Translation.git", - "reference": "8349a2b0d11bd0311df9e8914408080912983a0b" + "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/8349a2b0d11bd0311df9e8914408080912983a0b", - "reference": "8349a2b0d11bd0311df9e8914408080912983a0b", + "url": "https://api.github.com/repos/symfony/Translation/zipball/c8dc34cc936152c609cdd722af317e4239d10dd6", + "reference": "c8dc34cc936152c609cdd722af317e4239d10dd6", "shasum": "" }, "require": { @@ -2131,20 +2079,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2015-06-11 17:26:34" + "time": "2015-07-09 16:07:40" }, { "name": "symfony/var-dumper", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "c509921f260353bf07b257f84017777c8b0aa4bc" + "reference": "e8903ebba5eb019f5886ffce739ea9e3b7519579" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c509921f260353bf07b257f84017777c8b0aa4bc", - "reference": "c509921f260353bf07b257f84017777c8b0aa4bc", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e8903ebba5eb019f5886ffce739ea9e3b7519579", + "reference": "e8903ebba5eb019f5886ffce739ea9e3b7519579", "shasum": "" }, "require": { @@ -2190,7 +2138,7 @@ "debug", "dump" ], - "time": "2015-06-08 09:37:21" + "time": "2015-07-28 15:18:12" }, { "name": "vlucas/phpdotenv", @@ -2296,16 +2244,16 @@ }, { "name": "fabpot/php-cs-fixer", - "version": "v1.9", + "version": "v1.10", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "ef528b9d3f1dd66197baabf8f77c8402c62bb9fc" + "reference": "8e21b4fb32c4618a425817d9f0daf3d57a9808d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/ef528b9d3f1dd66197baabf8f77c8402c62bb9fc", - "reference": "ef528b9d3f1dd66197baabf8f77c8402c62bb9fc", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/8e21b4fb32c4618a425817d9f0daf3d57a9808d1", + "reference": "8e21b4fb32c4618a425817d9f0daf3d57a9808d1", "shasum": "" }, "require": { @@ -2346,7 +2294,7 @@ } ], "description": "A tool to automatically fix PHP code style", - "time": "2015-06-13 09:30:19" + "time": "2015-07-27 20:56:10" }, { "name": "hamcrest/hamcrest-php", @@ -2399,12 +2347,12 @@ "source": { "type": "git", "url": "https://github.com/padraic/mockery.git", - "reference": "a4817105ee32b8a05056986ad23ce3a54781f693" + "reference": "e585573c91b0c821e511afd14666b4503ef7255b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/padraic/mockery/zipball/a4817105ee32b8a05056986ad23ce3a54781f693", - "reference": "a4817105ee32b8a05056986ad23ce3a54781f693", + "url": "https://api.github.com/repos/padraic/mockery/zipball/e585573c91b0c821e511afd14666b4503ef7255b", + "reference": "e585573c91b0c821e511afd14666b4503ef7255b", "shasum": "" }, "require": { @@ -2432,7 +2380,7 @@ ], "authors": [ { - "name": "Padraic Brady", + "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", "homepage": "http://blog.astrumfutura.com" }, @@ -2456,7 +2404,7 @@ "test double", "testing" ], - "time": "2015-05-12 15:28:09" + "time": "2015-07-31 13:51:58" }, { "name": "phpdocumentor/reflection-docblock", @@ -2621,16 +2569,16 @@ }, { "name": "phpspec/prophecy", - "version": "v1.4.1", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373" + "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", - "reference": "3132b1f44c7bf2ec4c7eb2d3cb78fdeca760d373", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7", + "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7", "shasum": "" }, "require": { @@ -2677,20 +2625,20 @@ "spy", "stub" ], - "time": "2015-04-27 22:15:08" + "time": "2015-08-13 10:07:40" }, { "name": "phpunit/php-code-coverage", - "version": "2.1.6", + "version": "2.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "631e365cf26bb2c078683e8d9bcf8bc631ac4d44" + "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/631e365cf26bb2c078683e8d9bcf8bc631ac4d44", - "reference": "631e365cf26bb2c078683e8d9bcf8bc631ac4d44", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c", + "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c", "shasum": "" }, "require": { @@ -2698,7 +2646,7 @@ "phpunit/php-file-iterator": "~1.3", "phpunit/php-text-template": "~1.2", "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", + "sebastian/environment": "^1.3.2", "sebastian/version": "~1.0" }, "require-dev": { @@ -2713,7 +2661,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -2739,20 +2687,20 @@ "testing", "xunit" ], - "time": "2015-06-19 07:11:55" + "time": "2015-08-04 03:42:39" }, { "name": "phpunit/php-file-iterator", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", "shasum": "" }, "require": { @@ -2786,7 +2734,7 @@ "filesystem", "iterator" ], - "time": "2015-04-02 05:19:05" + "time": "2015-06-21 13:08:43" }, { "name": "phpunit/php-text-template", @@ -2831,16 +2779,16 @@ }, { "name": "phpunit/php-timer", - "version": "1.0.6", + "version": "1.0.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d" + "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/83fe1bdc5d47658b727595c14da140da92b3d66d", - "reference": "83fe1bdc5d47658b727595c14da140da92b3d66d", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", + "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", "shasum": "" }, "require": { @@ -2868,20 +2816,20 @@ "keywords": [ "timer" ], - "time": "2015-06-13 07:35:30" + "time": "2015-06-21 08:01:12" }, { "name": "phpunit/php-token-stream", - "version": "1.4.3", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9" + "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/7a9b0969488c3c54fd62b4d504b3ec758fd005d9", - "reference": "7a9b0969488c3c54fd62b4d504b3ec758fd005d9", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b", + "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b", "shasum": "" }, "require": { @@ -2917,20 +2865,20 @@ "keywords": [ "tokenizer" ], - "time": "2015-06-19 03:43:16" + "time": "2015-08-16 08:51:00" }, { "name": "phpunit/phpunit", - "version": "4.7.5", + "version": "4.8.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f6701ef3faea759acd1910a7751d8d102a7fd5bc" + "reference": "2246830f4a1a551c67933e4171bf2126dc29d357" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f6701ef3faea759acd1910a7751d8d102a7fd5bc", - "reference": "f6701ef3faea759acd1910a7751d8d102a7fd5bc", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2246830f4a1a551c67933e4171bf2126dc29d357", + "reference": "2246830f4a1a551c67933e4171bf2126dc29d357", "shasum": "" }, "require": { @@ -2940,7 +2888,7 @@ "ext-reflection": "*", "ext-spl": "*", "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", + "phpspec/prophecy": "^1.3.1", "phpunit/php-code-coverage": "~2.1", "phpunit/php-file-iterator": "~1.4", "phpunit/php-text-template": "~1.2", @@ -2948,7 +2896,7 @@ "phpunit/phpunit-mock-objects": "~2.3", "sebastian/comparator": "~1.1", "sebastian/diff": "~1.2", - "sebastian/environment": "~1.2", + "sebastian/environment": "~1.3", "sebastian/exporter": "~1.2", "sebastian/global-state": "~1.0", "sebastian/version": "~1.0", @@ -2963,7 +2911,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.7.x-dev" + "dev-master": "4.8.x-dev" } }, "autoload": { @@ -2989,26 +2937,27 @@ "testing", "xunit" ], - "time": "2015-06-21 07:23:36" + "time": "2015-08-24 04:09:38" }, { "name": "phpunit/phpunit-mock-objects", - "version": "2.3.4", + "version": "2.3.7", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "92408bb1968a81b3217a6fdf6c1a198da83caa35" + "reference": "5e2645ad49d196e020b85598d7c97e482725786a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/92408bb1968a81b3217a6fdf6c1a198da83caa35", - "reference": "92408bb1968a81b3217a6fdf6c1a198da83caa35", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a", + "reference": "5e2645ad49d196e020b85598d7c97e482725786a", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", + "doctrine/instantiator": "^1.0.2", "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { "phpunit/phpunit": "~4.4" @@ -3044,20 +2993,20 @@ "mock", "xunit" ], - "time": "2015-06-11 15:55:48" + "time": "2015-08-19 09:14:08" }, { "name": "sebastian/comparator", - "version": "1.1.1", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", "shasum": "" }, "require": { @@ -3071,7 +3020,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -3108,7 +3057,7 @@ "compare", "equality" ], - "time": "2015-01-29 16:28:08" + "time": "2015-07-26 15:48:44" }, { "name": "sebastian/diff", @@ -3164,16 +3113,16 @@ }, { "name": "sebastian/environment", - "version": "1.2.2", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" + "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", + "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", "shasum": "" }, "require": { @@ -3210,20 +3159,20 @@ "environment", "hhvm" ], - "time": "2015-01-01 10:01:08" + "time": "2015-08-03 06:14:51" }, { "name": "sebastian/exporter", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" + "reference": "7ae5513327cb536431847bcc0c10edba2701064e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", + "reference": "7ae5513327cb536431847bcc0c10edba2701064e", "shasum": "" }, "require": { @@ -3276,7 +3225,7 @@ "export", "exporter" ], - "time": "2015-01-27 07:23:06" + "time": "2015-06-21 07:55:53" }, { "name": "sebastian/global-state", @@ -3331,16 +3280,16 @@ }, { "name": "sebastian/recursion-context", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" + "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", + "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", "shasum": "" }, "require": { @@ -3380,7 +3329,7 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" + "time": "2015-06-21 08:04:50" }, { "name": "sebastian/version", @@ -3418,17 +3367,66 @@ "time": "2015-06-21 13:59:46" }, { + "name": "symfony/filesystem", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/Filesystem.git", + "reference": "2d7b2ddaf3f548f4292df49a99d19c853d43f0b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/Filesystem/zipball/2d7b2ddaf3f548f4292df49a99d19c853d43f0b8", + "reference": "2d7b2ddaf3f548f4292df49a99d19c853d43f0b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2015-07-09 16:07:40" + }, + { "name": "symfony/stopwatch", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Stopwatch.git", - "reference": "c653f1985f6c2b7dbffd04d48b9c0a96aaef814b" + "reference": "b07a866719bbac5294c67773340f97b871733310" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/c653f1985f6c2b7dbffd04d48b9c0a96aaef814b", - "reference": "c653f1985f6c2b7dbffd04d48b9c0a96aaef814b", + "url": "https://api.github.com/repos/symfony/Stopwatch/zipball/b07a866719bbac5294c67773340f97b871733310", + "reference": "b07a866719bbac5294c67773340f97b871733310", "shasum": "" }, "require": { @@ -3464,20 +3462,20 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2015-06-04 20:11:48" + "time": "2015-07-01 18:23:16" }, { "name": "symfony/yaml", - "version": "v2.7.1", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "9808e75c609a14f6db02f70fccf4ca4aab53c160" + "reference": "71340e996171474a53f3d29111d046be4ad8a0ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/9808e75c609a14f6db02f70fccf4ca4aab53c160", - "reference": "9808e75c609a14f6db02f70fccf4ca4aab53c160", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/71340e996171474a53f3d29111d046be4ad8a0ff", + "reference": "71340e996171474a53f3d29111d046be4ad8a0ff", "shasum": "" }, "require": { @@ -3513,12 +3511,13 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2015-06-10 15:30:22" + "time": "2015-07-28 14:07:07" } ], "aliases": [], "minimum-stability": "stable", "stability-flags": { + "easyrdf/easyrdf": 20, "mockery/mockery": 20 }, "prefer-stable": false, diff -r 2b3247d02769 -r f55970e41793 server/src/config/corpusparole.php --- a/server/src/config/corpusparole.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/config/corpusparole.php Mon Oct 05 17:02:10 2015 +0200 @@ -1,13 +1,18 @@ env('CORPUSPAROLE_SESAME_QUERY_URL'), - 'sesame_update_url' => env('CORPUSPAROLE_SESAME_UPDATE_URL'), + 'sesame_base_url' => $sesameBaseUrl, + 'sesame_repository' => env('CORPUSPAROLE_SESAME_REPOSITORY'), + 'max_load_retry' => env('CORPUSPAROLE_MAX_LOAD_RETRY', 5), + 'sesame_query_url' => $sesameBaseUrl.'repositories/'.env('CORPUSPAROLE_SESAME_REPOSITORY'), + 'sesame_update_url' => $sesameBaseUrl.'repositories/'.env('CORPUSPAROLE_SESAME_REPOSITORY').'/statements', 'cocoon_rdf_base_uri' => env('CORPUSPAROLE_COCOON_RDF_BASE_URI'), 'cocoon_oaipmh_url' => env('CORPUSPAROLE_COCOON_OAIPMH_URL'), 'cocoon_doc_id_base_uri' => env('CORPUSPAROLE_COCOON_DOC_ID_BASE_URI'), 'cocoon_doc_id_base' => 'oai:crdo.vjf.cnrs.fr:', + 'easyrdf_http_client_timeout' => env('EASYRDF_HTTP_CLIENT_TIMEOUT', 10), ]; diff -r 2b3247d02769 -r f55970e41793 server/src/config/database.php --- a/server/src/config/database.php Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/config/database.php Mon Oct 05 17:02:10 2015 +0200 @@ -26,7 +26,7 @@ | */ - 'default' => 'pgsql', + 'default' => env('DATABASE_DRIVER', 'pgsql'), /* |-------------------------------------------------------------------------- @@ -75,6 +75,17 @@ 'schema' => 'public', ], + 'pgsql_test' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', 'localhost'), + 'database' => env('DB_DATABASE', 'forge').'_test', + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', + ], + 'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), diff -r 2b3247d02769 -r f55970e41793 server/src/gulpfile.js --- a/server/src/gulpfile.js Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/gulpfile.js Mon Oct 05 17:02:10 2015 +0200 @@ -11,6 +11,16 @@ | */ + var paths = { + 'bower_base_path': './vendor/bower_components/', + 'bootstrap': './vendor/bower_components/bootstrap-sass/assets/' + }; + + elixir(function(mix) { - mix.less('app.less'); + mix.sass('app.scss', 'public/css/app.css', {includePaths: [paths['bootstrap']+'stylesheets/']}) + .copy(paths.bootstrap + 'fonts/bootstrap', 'public/fonts') + .copy(paths.bootstrap + 'javascripts/bootstrap.js', 'public/js/vendor/bootstrap.js') + .copy(paths.bower_base_path + 'jquery/dist/jquery.min.js', 'public/js/vendor/jquery.js') + .copy(paths.bower_base_path + 'font-awesome/css/font-awesome.min.css', 'public/css/vendor/font-awesome.css'); }); diff -r 2b3247d02769 -r f55970e41793 server/src/package.json --- a/server/src/package.json Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/package.json Mon Oct 05 17:02:10 2015 +0200 @@ -1,6 +1,7 @@ { "private": true, "devDependencies": { + "bower": "^1.5.3", "gulp": "^3.8.8", "laravel-elixir": "*" } diff -r 2b3247d02769 -r f55970e41793 server/src/phpunit.xml --- a/server/src/phpunit.xml Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/phpunit.xml Mon Oct 05 17:02:10 2015 +0200 @@ -13,7 +13,7 @@ ./tests/ - + + + diff -r 2b3247d02769 -r f55970e41793 server/src/public/css/app.css --- a/server/src/public/css/app.css Wed Jun 24 01:36:46 2015 +0200 +++ b/server/src/public/css/app.css Mon Oct 05 17:02:10 2015 +0200 @@ -1,12 +1,17 @@ -/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * 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; -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} + -webkit-text-size-adjust: 100%; } + body { - margin: 0; -} + margin: 0; } + article, aside, details, @@ -20,87 +25,87 @@ nav, section, summary { - display: block; -} + display: block; } + audio, canvas, progress, video { display: inline-block; - vertical-align: baseline; -} + vertical-align: baseline; } + audio:not([controls]) { display: none; - height: 0; -} + height: 0; } + [hidden], template { - display: none; -} + display: none; } + a { - background-color: transparent; -} + background-color: transparent; } + a:active, a:hover { - outline: 0; -} + outline: 0; } + abbr[title] { - border-bottom: 1px dotted; -} + border-bottom: 1px dotted; } + b, strong { - font-weight: bold; -} + font-weight: bold; } + dfn { - font-style: italic; -} + font-style: italic; } + h1 { font-size: 2em; - margin: 0.67em 0; -} + margin: 0.67em 0; } + mark { background: #ff0; - color: #000; -} + color: #000; } + small { - font-size: 80%; -} + font-size: 80%; } + sub, sup { font-size: 75%; line-height: 0; position: relative; - vertical-align: baseline; -} + vertical-align: baseline; } + sup { - top: -0.5em; -} + top: -0.5em; } + sub { - bottom: -0.25em; -} + bottom: -0.25em; } + img { - border: 0; -} + border: 0; } + svg:not(:root) { - overflow: hidden; -} + overflow: hidden; } + figure { - margin: 1em 40px; -} + margin: 1em 40px; } + hr { box-sizing: content-box; - height: 0; -} + height: 0; } + pre { - overflow: auto; -} + overflow: auto; } + code, kbd, pre, samp { font-family: monospace, monospace; - font-size: 1em; -} + font-size: 1em; } + button, input, optgroup, @@ -108,74 +113,73 @@ textarea { color: inherit; font: inherit; - margin: 0; -} + margin: 0; } + button { - overflow: visible; -} + overflow: visible; } + button, select { - text-transform: none; -} + text-transform: none; } + button, -html input[type="button"], -input[type="reset"], +html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; - cursor: pointer; -} + cursor: pointer; } + button[disabled], html input[disabled] { - cursor: default; -} + cursor: default; } + button::-moz-focus-inner, input::-moz-focus-inner { border: 0; - padding: 0; -} + padding: 0; } + input { - line-height: normal; -} + line-height: normal; } + input[type="checkbox"], input[type="radio"] { box-sizing: border-box; - padding: 0; -} + padding: 0; } + input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { - height: auto; -} + height: auto; } + input[type="search"] { -webkit-appearance: textfield; - box-sizing: content-box; -} + box-sizing: content-box; } + input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} + -webkit-appearance: none; } + fieldset { border: 1px solid #c0c0c0; margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} + padding: 0.35em 0.625em 0.75em; } + legend { border: 0; - padding: 0; -} + padding: 0; } + textarea { - overflow: auto; -} + overflow: auto; } + optgroup { - font-weight: bold; -} + font-weight: bold; } + table { border-collapse: collapse; - border-spacing: 0; -} + border-spacing: 0; } + td, th { - padding: 0; -} + padding: 0; } + /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, @@ -184,77 +188,57 @@ background: transparent !important; color: #000 !important; box-shadow: none !important; - text-shadow: none !important; - } + text-shadow: none !important; } a, a:visited { - text-decoration: underline; - } + text-decoration: underline; } a[href]:after { - content: " (" attr(href) ")"; - } + content: " (" attr(href) ")"; } abbr[title]:after { - content: " (" attr(title) ")"; - } + content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { - content: ""; - } + content: ""; } pre, blockquote { border: 1px solid #999; - page-break-inside: avoid; - } + page-break-inside: avoid; } thead { - display: table-header-group; - } + display: table-header-group; } tr, img { - page-break-inside: avoid; - } + page-break-inside: avoid; } img { - max-width: 100% !important; - } + max-width: 100% !important; } p, h2, h3 { orphans: 3; - widows: 3; - } + widows: 3; } h2, h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } + page-break-after: avoid; } .navbar { - display: none; - } + display: none; } .btn > .caret, .dropup > .btn > .caret { - border-top-color: #000 !important; - } + border-top-color: #000 !important; } .label { - border: 1px solid #000; - } + border: 1px solid #000; } .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } .table-bordered th, .table-bordered td { - border: 1px solid #ddd !important; - } -} + 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.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); -} + src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot"); + src: url("../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } + .glyphicon { position: relative; top: 1px; @@ -264,687 +248,867 @@ font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} + -moz-osx-font-smoothing: grayscale; } + .glyphicon-asterisk:before { - content: "\2a"; -} + content: "\2a"; } + .glyphicon-plus:before { - content: "\2b"; -} + content: "\2b"; } + .glyphicon-euro:before, .glyphicon-eur:before { - content: "\20ac"; -} + content: "\20ac"; } + .glyphicon-minus:before { - content: "\2212"; -} + content: "\2212"; } + .glyphicon-cloud:before { - content: "\2601"; -} + content: "\2601"; } + .glyphicon-envelope:before { - content: "\2709"; -} + content: "\2709"; } + .glyphicon-pencil:before { - content: "\270f"; -} + content: "\270f"; } + .glyphicon-glass:before { - content: "\e001"; -} + content: "\e001"; } + .glyphicon-music:before { - content: "\e002"; -} + content: "\e002"; } + .glyphicon-search:before { - content: "\e003"; -} + content: "\e003"; } + .glyphicon-heart:before { - content: "\e005"; -} + content: "\e005"; } + .glyphicon-star:before { - content: "\e006"; -} + content: "\e006"; } + .glyphicon-star-empty:before { - content: "\e007"; -} + content: "\e007"; } + .glyphicon-user:before { - content: "\e008"; -} + content: "\e008"; } + .glyphicon-film:before { - content: "\e009"; -} + content: "\e009"; } + .glyphicon-th-large:before { - content: "\e010"; -} + content: "\e010"; } + .glyphicon-th:before { - content: "\e011"; -} + content: "\e011"; } + .glyphicon-th-list:before { - content: "\e012"; -} + content: "\e012"; } + .glyphicon-ok:before { - content: "\e013"; -} + content: "\e013"; } + .glyphicon-remove:before { - content: "\e014"; -} + content: "\e014"; } + .glyphicon-zoom-in:before { - content: "\e015"; -} + content: "\e015"; } + .glyphicon-zoom-out:before { - content: "\e016"; -} + content: "\e016"; } + .glyphicon-off:before { - content: "\e017"; -} + content: "\e017"; } + .glyphicon-signal:before { - content: "\e018"; -} + content: "\e018"; } + .glyphicon-cog:before { - content: "\e019"; -} + content: "\e019"; } + .glyphicon-trash:before { - content: "\e020"; -} + content: "\e020"; } + .glyphicon-home:before { - content: "\e021"; -} + content: "\e021"; } + .glyphicon-file:before { - content: "\e022"; -} + content: "\e022"; } + .glyphicon-time:before { - content: "\e023"; -} + content: "\e023"; } + .glyphicon-road:before { - content: "\e024"; -} + content: "\e024"; } + .glyphicon-download-alt:before { - content: "\e025"; -} + content: "\e025"; } + .glyphicon-download:before { - content: "\e026"; -} + content: "\e026"; } + .glyphicon-upload:before { - content: "\e027"; -} + content: "\e027"; } + .glyphicon-inbox:before { - content: "\e028"; -} + content: "\e028"; } + .glyphicon-play-circle:before { - content: "\e029"; -} + content: "\e029"; } + .glyphicon-repeat:before { - content: "\e030"; -} + content: "\e030"; } + .glyphicon-refresh:before { - content: "\e031"; -} + content: "\e031"; } + .glyphicon-list-alt:before { - content: "\e032"; -} + content: "\e032"; } + .glyphicon-lock:before { - content: "\e033"; -} + content: "\e033"; } + .glyphicon-flag:before { - content: "\e034"; -} + content: "\e034"; } + .glyphicon-headphones:before { - content: "\e035"; -} + content: "\e035"; } + .glyphicon-volume-off:before { - content: "\e036"; -} + content: "\e036"; } + .glyphicon-volume-down:before { - content: "\e037"; -} + content: "\e037"; } + .glyphicon-volume-up:before { - content: "\e038"; -} + content: "\e038"; } + .glyphicon-qrcode:before { - content: "\e039"; -} + content: "\e039"; } + .glyphicon-barcode:before { - content: "\e040"; -} + content: "\e040"; } + .glyphicon-tag:before { - content: "\e041"; -} + content: "\e041"; } + .glyphicon-tags:before { - content: "\e042"; -} + content: "\e042"; } + .glyphicon-book:before { - content: "\e043"; -} + content: "\e043"; } + .glyphicon-bookmark:before { - content: "\e044"; -} + content: "\e044"; } + .glyphicon-print:before { - content: "\e045"; -} + content: "\e045"; } + .glyphicon-camera:before { - content: "\e046"; -} + content: "\e046"; } + .glyphicon-font:before { - content: "\e047"; -} + content: "\e047"; } + .glyphicon-bold:before { - content: "\e048"; -} + content: "\e048"; } + .glyphicon-italic:before { - content: "\e049"; -} + content: "\e049"; } + .glyphicon-text-height:before { - content: "\e050"; -} + content: "\e050"; } + .glyphicon-text-width:before { - content: "\e051"; -} + content: "\e051"; } + .glyphicon-align-left:before { - content: "\e052"; -} + content: "\e052"; } + .glyphicon-align-center:before { - content: "\e053"; -} + content: "\e053"; } + .glyphicon-align-right:before { - content: "\e054"; -} + content: "\e054"; } + .glyphicon-align-justify:before { - content: "\e055"; -} + content: "\e055"; } + .glyphicon-list:before { - content: "\e056"; -} + content: "\e056"; } + .glyphicon-indent-left:before { - content: "\e057"; -} + content: "\e057"; } + .glyphicon-indent-right:before { - content: "\e058"; -} + content: "\e058"; } + .glyphicon-facetime-video:before { - content: "\e059"; -} + content: "\e059"; } + .glyphicon-picture:before { - content: "\e060"; -} + content: "\e060"; } + .glyphicon-map-marker:before { - content: "\e062"; -} + content: "\e062"; } + .glyphicon-adjust:before { - content: "\e063"; -} + content: "\e063"; } + .glyphicon-tint:before { - content: "\e064"; -} + content: "\e064"; } + .glyphicon-edit:before { - content: "\e065"; -} + content: "\e065"; } + .glyphicon-share:before { - content: "\e066"; -} + content: "\e066"; } + .glyphicon-check:before { - content: "\e067"; -} + content: "\e067"; } + .glyphicon-move:before { - content: "\e068"; -} + content: "\e068"; } + .glyphicon-step-backward:before { - content: "\e069"; -} + content: "\e069"; } + .glyphicon-fast-backward:before { - content: "\e070"; -} + content: "\e070"; } + .glyphicon-backward:before { - content: "\e071"; -} + content: "\e071"; } + .glyphicon-play:before { - content: "\e072"; -} + content: "\e072"; } + .glyphicon-pause:before { - content: "\e073"; -} + content: "\e073"; } + .glyphicon-stop:before { - content: "\e074"; -} + content: "\e074"; } + .glyphicon-forward:before { - content: "\e075"; -} + content: "\e075"; } + .glyphicon-fast-forward:before { - content: "\e076"; -} + content: "\e076"; } + .glyphicon-step-forward:before { - content: "\e077"; -} + content: "\e077"; } + .glyphicon-eject:before { - content: "\e078"; -} + content: "\e078"; } + .glyphicon-chevron-left:before { - content: "\e079"; -} + content: "\e079"; } + .glyphicon-chevron-right:before { - content: "\e080"; -} + content: "\e080"; } + .glyphicon-plus-sign:before { - content: "\e081"; -} + content: "\e081"; } + .glyphicon-minus-sign:before { - content: "\e082"; -} + content: "\e082"; } + .glyphicon-remove-sign:before { - content: "\e083"; -} + content: "\e083"; } + .glyphicon-ok-sign:before { - content: "\e084"; -} + content: "\e084"; } + .glyphicon-question-sign:before { - content: "\e085"; -} + content: "\e085"; } + .glyphicon-info-sign:before { - content: "\e086"; -} + content: "\e086"; } + .glyphicon-screenshot:before { - content: "\e087"; -} + content: "\e087"; } + .glyphicon-remove-circle:before { - content: "\e088"; -} + content: "\e088"; } + .glyphicon-ok-circle:before { - content: "\e089"; -} + content: "\e089"; } + .glyphicon-ban-circle:before { - content: "\e090"; -} + content: "\e090"; } + .glyphicon-arrow-left:before { - content: "\e091"; -} + content: "\e091"; } + .glyphicon-arrow-right:before { - content: "\e092"; -} + content: "\e092"; } + .glyphicon-arrow-up:before { - content: "\e093"; -} + content: "\e093"; } + .glyphicon-arrow-down:before { - content: "\e094"; -} + content: "\e094"; } + .glyphicon-share-alt:before { - content: "\e095"; -} + content: "\e095"; } + .glyphicon-resize-full:before { - content: "\e096"; -} + content: "\e096"; } + .glyphicon-resize-small:before { - content: "\e097"; -} + content: "\e097"; } + .glyphicon-exclamation-sign:before { - content: "\e101"; -} + content: "\e101"; } + .glyphicon-gift:before { - content: "\e102"; -} + content: "\e102"; } + .glyphicon-leaf:before { - content: "\e103"; -} + content: "\e103"; } + .glyphicon-fire:before { - content: "\e104"; -} + content: "\e104"; } + .glyphicon-eye-open:before { - content: "\e105"; -} + content: "\e105"; } + .glyphicon-eye-close:before { - content: "\e106"; -} + content: "\e106"; } + .glyphicon-warning-sign:before { - content: "\e107"; -} + content: "\e107"; } + .glyphicon-plane:before { - content: "\e108"; -} + content: "\e108"; } + .glyphicon-calendar:before { - content: "\e109"; -} + content: "\e109"; } + .glyphicon-random:before { - content: "\e110"; -} + content: "\e110"; } + .glyphicon-comment:before { - content: "\e111"; -} + content: "\e111"; } + .glyphicon-magnet:before { - content: "\e112"; -} + content: "\e112"; } + .glyphicon-chevron-up:before { - content: "\e113"; -} + content: "\e113"; } + .glyphicon-chevron-down:before { - content: "\e114"; -} + content: "\e114"; } + .glyphicon-retweet:before { - content: "\e115"; -} + content: "\e115"; } + .glyphicon-shopping-cart:before { - content: "\e116"; -} + content: "\e116"; } + .glyphicon-folder-close:before { - content: "\e117"; -} + content: "\e117"; } + .glyphicon-folder-open:before { - content: "\e118"; -} + content: "\e118"; } + .glyphicon-resize-vertical:before { - content: "\e119"; -} + content: "\e119"; } + .glyphicon-resize-horizontal:before { - content: "\e120"; -} + content: "\e120"; } + .glyphicon-hdd:before { - content: "\e121"; -} + content: "\e121"; } + .glyphicon-bullhorn:before { - content: "\e122"; -} + content: "\e122"; } + .glyphicon-bell:before { - content: "\e123"; -} + content: "\e123"; } + .glyphicon-certificate:before { - content: "\e124"; -} + content: "\e124"; } + .glyphicon-thumbs-up:before { - content: "\e125"; -} + content: "\e125"; } + .glyphicon-thumbs-down:before { - content: "\e126"; -} + content: "\e126"; } + .glyphicon-hand-right:before { - content: "\e127"; -} + content: "\e127"; } + .glyphicon-hand-left:before { - content: "\e128"; -} + content: "\e128"; } + .glyphicon-hand-up:before { - content: "\e129"; -} + content: "\e129"; } + .glyphicon-hand-down:before { - content: "\e130"; -} + content: "\e130"; } + .glyphicon-circle-arrow-right:before { - content: "\e131"; -} + content: "\e131"; } + .glyphicon-circle-arrow-left:before { - content: "\e132"; -} + content: "\e132"; } + .glyphicon-circle-arrow-up:before { - content: "\e133"; -} + content: "\e133"; } + .glyphicon-circle-arrow-down:before { - content: "\e134"; -} + content: "\e134"; } + .glyphicon-globe:before { - content: "\e135"; -} + content: "\e135"; } + .glyphicon-wrench:before { - content: "\e136"; -} + content: "\e136"; } + .glyphicon-tasks:before { - content: "\e137"; -} + content: "\e137"; } + .glyphicon-filter:before { - content: "\e138"; -} + content: "\e138"; } + .glyphicon-briefcase:before { - content: "\e139"; -} + content: "\e139"; } + .glyphicon-fullscreen:before { - content: "\e140"; -} + content: "\e140"; } + .glyphicon-dashboard:before { - content: "\e141"; -} + content: "\e141"; } + .glyphicon-paperclip:before { - content: "\e142"; -} + content: "\e142"; } + .glyphicon-heart-empty:before { - content: "\e143"; -} + content: "\e143"; } + .glyphicon-link:before { - content: "\e144"; -} + content: "\e144"; } + .glyphicon-phone:before { - content: "\e145"; -} + content: "\e145"; } + .glyphicon-pushpin:before { - content: "\e146"; -} + content: "\e146"; } + .glyphicon-usd:before { - content: "\e148"; -} + content: "\e148"; } + .glyphicon-gbp:before { - content: "\e149"; -} + content: "\e149"; } + .glyphicon-sort:before { - content: "\e150"; -} + content: "\e150"; } + .glyphicon-sort-by-alphabet:before { - content: "\e151"; -} + content: "\e151"; } + .glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; -} + content: "\e152"; } + .glyphicon-sort-by-order:before { - content: "\e153"; -} + content: "\e153"; } + .glyphicon-sort-by-order-alt:before { - content: "\e154"; -} + content: "\e154"; } + .glyphicon-sort-by-attributes:before { - content: "\e155"; -} + content: "\e155"; } + .glyphicon-sort-by-attributes-alt:before { - content: "\e156"; -} + content: "\e156"; } + .glyphicon-unchecked:before { - content: "\e157"; -} + content: "\e157"; } + .glyphicon-expand:before { - content: "\e158"; -} + content: "\e158"; } + .glyphicon-collapse-down:before { - content: "\e159"; -} + content: "\e159"; } + .glyphicon-collapse-up:before { - content: "\e160"; -} + content: "\e160"; } + .glyphicon-log-in:before { - content: "\e161"; -} + content: "\e161"; } + .glyphicon-flash:before { - content: "\e162"; -} + content: "\e162"; } + .glyphicon-log-out:before { - content: "\e163"; -} + content: "\e163"; } + .glyphicon-new-window:before { - content: "\e164"; -} + content: "\e164"; } + .glyphicon-record:before { - content: "\e165"; -} + content: "\e165"; } + .glyphicon-save:before { - content: "\e166"; -} + content: "\e166"; } + .glyphicon-open:before { - content: "\e167"; -} + content: "\e167"; } + .glyphicon-saved:before { - content: "\e168"; -} + content: "\e168"; } + .glyphicon-import:before { - content: "\e169"; -} + content: "\e169"; } + .glyphicon-export:before { - content: "\e170"; -} + content: "\e170"; } + .glyphicon-send:before { - content: "\e171"; -} + content: "\e171"; } + .glyphicon-floppy-disk:before { - content: "\e172"; -} + content: "\e172"; } + .glyphicon-floppy-saved:before { - content: "\e173"; -} + content: "\e173"; } + .glyphicon-floppy-remove:before { - content: "\e174"; -} + content: "\e174"; } + .glyphicon-floppy-save:before { - content: "\e175"; -} + content: "\e175"; } + .glyphicon-floppy-open:before { - content: "\e176"; -} + content: "\e176"; } + .glyphicon-credit-card:before { - content: "\e177"; -} + content: "\e177"; } + .glyphicon-transfer:before { - content: "\e178"; -} + content: "\e178"; } + .glyphicon-cutlery:before { - content: "\e179"; -} + content: "\e179"; } + .glyphicon-header:before { - content: "\e180"; -} + content: "\e180"; } + .glyphicon-compressed:before { - content: "\e181"; -} + content: "\e181"; } + .glyphicon-earphone:before { - content: "\e182"; -} + content: "\e182"; } + .glyphicon-phone-alt:before { - content: "\e183"; -} + content: "\e183"; } + .glyphicon-tower:before { - content: "\e184"; -} + content: "\e184"; } + .glyphicon-stats:before { - content: "\e185"; -} + content: "\e185"; } + .glyphicon-sd-video:before { - content: "\e186"; -} + content: "\e186"; } + .glyphicon-hd-video:before { - content: "\e187"; -} + content: "\e187"; } + .glyphicon-subtitles:before { - content: "\e188"; -} + content: "\e188"; } + .glyphicon-sound-stereo:before { - content: "\e189"; -} + content: "\e189"; } + .glyphicon-sound-dolby:before { - content: "\e190"; -} + content: "\e190"; } + .glyphicon-sound-5-1:before { - content: "\e191"; -} + content: "\e191"; } + .glyphicon-sound-6-1:before { - content: "\e192"; -} + content: "\e192"; } + .glyphicon-sound-7-1:before { - content: "\e193"; -} + content: "\e193"; } + .glyphicon-copyright-mark:before { - content: "\e194"; -} + content: "\e194"; } + .glyphicon-registration-mark:before { - content: "\e195"; -} + content: "\e195"; } + .glyphicon-cloud-download:before { - content: "\e197"; -} + content: "\e197"; } + .glyphicon-cloud-upload:before { - content: "\e198"; -} + content: "\e198"; } + .glyphicon-tree-conifer:before { - content: "\e199"; -} + content: "\e199"; } + .glyphicon-tree-deciduous:before { - content: "\e200"; -} + 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"; } + * { - box-sizing: border-box; -} + box-sizing: border-box; } + *:before, *:after { - box-sizing: border-box; -} + box-sizing: border-box; } + html { font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} + -webkit-tap-highlight-color: transparent; } + body { - font-family: "Roboto", Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; - line-height: 1.42857143; + line-height: 1.42857; color: #333333; - background-color: #ffffff; -} + background-color: #fff; } + input, button, select, textarea { font-family: inherit; font-size: inherit; - line-height: inherit; -} + line-height: inherit; } + a { color: #337ab7; - text-decoration: none; -} -a:hover, -a:focus { - color: #23527c; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} + text-decoration: none; } + a:hover, + a:focus { + color: #23527c; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + figure { - margin: 0; -} + margin: 0; } + img { - vertical-align: middle; -} -.img-responsive, -.thumbnail > img, -.thumbnail a > img, -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { + vertical-align: middle; } + +.img-responsive { display: block; max-width: 100%; - height: auto; -} + height: auto; } + .img-rounded { - border-radius: 6px; -} + border-radius: 6px; } + .img-thumbnail { padding: 4px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; border-radius: 4px; transition: all 0.2s ease-in-out; display: inline-block; max-width: 100%; - height: auto; -} + height: auto; } + .img-circle { - border-radius: 50%; -} + border-radius: 50%; } + hr { margin-top: 20px; margin-bottom: 20px; border: 0; - border-top: 1px solid #eeeeee; -} + border-top: 1px solid #eeeeee; } + .sr-only { position: absolute; width: 1px; @@ -953,8 +1117,8 @@ padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); - border: 0; -} + border: 0; } + .sr-only-focusable:active, .sr-only-focusable:focus { position: static; @@ -962,278 +1126,256 @@ height: auto; margin: 0; overflow: visible; - clip: auto; -} -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { + 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, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small, -.h1 small, -.h2 small, -.h3 small, -.h4 small, -.h5 small, -.h6 small, -h1 .small, -h2 .small, -h3 .small, -h4 .small, -h5 .small, -h6 .small, -.h1 .small, -.h2 .small, -.h3 .small, -.h4 .small, -.h5 .small, -.h6 .small { - font-weight: normal; - line-height: 1; - color: #777777; -} -h1, -.h1, -h2, -.h2, -h3, -.h3 { + color: inherit; } + h1 small, + h1 .small, h2 small, + h2 .small, h3 small, + h3 .small, h4 small, + h4 .small, h5 small, + h5 .small, h6 small, + h6 .small, + .h1 small, + .h1 .small, .h2 small, + .h2 .small, .h3 small, + .h3 .small, .h4 small, + .h4 .small, .h5 small, + .h5 .small, .h6 small, + .h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; } + +h1, .h1, +h2, .h2, +h3, .h3 { margin-top: 20px; - margin-bottom: 10px; -} -h1 small, -.h1 small, -h2 small, -.h2 small, -h3 small, -.h3 small, -h1 .small, -.h1 .small, -h2 .small, -.h2 .small, -h3 .small, -.h3 .small { - font-size: 65%; -} -h4, -.h4, -h5, -.h5, -h6, -.h6 { + margin-bottom: 10px; } + h1 small, + h1 .small, .h1 small, + .h1 .small, + h2 small, + h2 .small, .h2 small, + .h2 .small, + h3 small, + h3 .small, .h3 small, + .h3 .small { + font-size: 65%; } + +h4, .h4, +h5, .h5, +h6, .h6 { margin-top: 10px; - margin-bottom: 10px; -} -h4 small, -.h4 small, -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; -} + margin-bottom: 10px; } + h4 small, + h4 .small, .h4 small, + .h4 .small, + h5 small, + h5 .small, .h5 small, + .h5 .small, + h6 small, + h6 .small, .h6 small, + .h6 .small { + font-size: 75%; } + +h1, .h1 { + font-size: 36px; } + +h2, .h2 { + font-size: 30px; } + +h3, .h3 { + font-size: 24px; } + +h4, .h4 { + font-size: 18px; } + +h5, .h5 { + font-size: 14px; } + +h6, .h6 { + font-size: 12px; } + p { - margin: 0 0 10px; -} + 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; - } -} + line-height: 1.4; } + @media (min-width: 768px) { + .lead { + font-size: 21px; } } + small, .small { - font-size: 85%; -} + font-size: 85%; } + mark, .mark { background-color: #fcf8e3; - padding: .2em; -} + padding: .2em; } + .text-left { - text-align: left; -} + text-align: left; } + .text-right { - text-align: right; -} + text-align: right; } + .text-center { - text-align: center; -} + text-align: center; } + .text-justify { - text-align: justify; -} + text-align: justify; } + .text-nowrap { - white-space: nowrap; -} + white-space: nowrap; } + .text-lowercase { - text-transform: lowercase; -} -.text-uppercase { - text-transform: uppercase; -} + text-transform: lowercase; } + +.text-uppercase, .initialism { + text-transform: uppercase; } + .text-capitalize { - text-transform: capitalize; -} + text-transform: capitalize; } + .text-muted { - color: #777777; -} + color: #777777; } + .text-primary { - color: #337ab7; -} -a.text-primary:hover { - color: #286090; -} + color: #337ab7; } + +a.text-primary:hover, +a.text-primary:focus { + color: #286090; } + .text-success { - color: #3c763d; -} -a.text-success:hover { - color: #2b542c; -} + color: #3c763d; } + +a.text-success:hover, +a.text-success:focus { + color: #2b542c; } + .text-info { - color: #31708f; -} -a.text-info:hover { - color: #245269; -} + color: #31708f; } + +a.text-info:hover, +a.text-info:focus { + color: #245269; } + .text-warning { - color: #8a6d3b; -} -a.text-warning:hover { - color: #66512c; -} + color: #8a6d3b; } + +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; } + .text-danger { - color: #a94442; -} -a.text-danger:hover { - color: #843534; -} + color: #a94442; } + +a.text-danger:hover, +a.text-danger:focus { + color: #843534; } + +.bg-primary { + color: #fff; } + .bg-primary { - color: #fff; - background-color: #337ab7; -} -a.bg-primary:hover { - background-color: #286090; -} + background-color: #337ab7; } + +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; } + .bg-success { - background-color: #dff0d8; -} -a.bg-success:hover { - background-color: #c1e2b3; -} + background-color: #dff0d8; } + +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; } + .bg-info { - background-color: #d9edf7; -} -a.bg-info:hover { - background-color: #afd9ee; -} + background-color: #d9edf7; } + +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; } + .bg-warning { - background-color: #fcf8e3; -} -a.bg-warning:hover { - background-color: #f7ecb5; -} + background-color: #fcf8e3; } + +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; } + .bg-danger { - background-color: #f2dede; -} -a.bg-danger:hover { - background-color: #e4b9b9; -} + background-color: #f2dede; } + +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; } + .page-header { padding-bottom: 9px; margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; -} + border-bottom: 1px solid #eeeeee; } + ul, ol { margin-top: 0; - margin-bottom: 10px; -} -ul ul, -ol ul, -ul ol, -ol ol { - margin-bottom: 0; -} + margin-bottom: 10px; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-bottom: 0; } + .list-unstyled { padding-left: 0; - list-style: none; -} + list-style: none; } + .list-inline { padding-left: 0; list-style: none; - margin-left: -5px; -} -.list-inline > li { - display: inline-block; - padding-left: 5px; - padding-right: 5px; -} + margin-left: -5px; } + .list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; } + dl { margin-top: 0; - margin-bottom: 20px; -} + margin-bottom: 20px; } + dt, dd { - line-height: 1.42857143; -} + line-height: 1.42857; } + dt { - font-weight: bold; -} + font-weight: bold; } + dd { - margin-left: 0; -} + margin-left: 0; } + +.dl-horizontal dd:before, +.dl-horizontal dd:after { + content: " "; + display: table; } + +.dl-horizontal dd:after { + clear: both; } + @media (min-width: 768px) { .dl-horizontal dt { float: left; @@ -1242,1039 +1384,870 @@ text-align: right; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; - } + white-space: nowrap; } .dl-horizontal dd { - margin-left: 180px; - } -} + margin-left: 180px; } } + abbr[title], abbr[data-original-title] { cursor: help; - border-bottom: 1px dotted #777777; -} + border-bottom: 1px dotted #777777; } + .initialism { - font-size: 90%; - text-transform: uppercase; -} + font-size: 90%; } + blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; - border-left: 5px solid #eeeeee; -} -blockquote p:last-child, -blockquote ul:last-child, -blockquote ol:last-child { - margin-bottom: 0; -} -blockquote footer, -blockquote small, -blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777777; -} -blockquote footer:before, -blockquote small:before, -blockquote .small:before { - content: '\2014 \00A0'; -} + border-left: 5px solid #eeeeee; } + blockquote p:last-child, + blockquote ul:last-child, + blockquote ol:last-child { + margin-bottom: 0; } + blockquote footer, + blockquote small, + blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857; + color: #777777; } + blockquote footer:before, + blockquote small:before, + blockquote .small:before { + content: '\2014 \00A0'; } + .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; border-right: 5px solid #eeeeee; border-left: 0; - text-align: right; -} -.blockquote-reverse footer:before, -blockquote.pull-right footer:before, -.blockquote-reverse small:before, -blockquote.pull-right small:before, -.blockquote-reverse .small:before, -blockquote.pull-right .small:before { - content: ''; -} -.blockquote-reverse footer:after, -blockquote.pull-right footer:after, -.blockquote-reverse small:after, -blockquote.pull-right small:after, -.blockquote-reverse .small:after, -blockquote.pull-right .small:after { - content: '\00A0 \2014'; -} + text-align: right; } + .blockquote-reverse footer:before, + .blockquote-reverse small:before, + .blockquote-reverse .small:before, + blockquote.pull-right footer:before, + blockquote.pull-right small:before, + blockquote.pull-right .small:before { + content: ''; } + .blockquote-reverse footer:after, + .blockquote-reverse small:after, + .blockquote-reverse .small:after, + blockquote.pull-right footer:after, + blockquote.pull-right small:after, + blockquote.pull-right .small:after { + content: '\00A0 \2014'; } + address { margin-bottom: 20px; font-style: normal; - line-height: 1.42857143; -} + line-height: 1.42857; } + code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } + code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; - border-radius: 4px; -} + border-radius: 4px; } + kbd { padding: 2px 4px; font-size: 90%; - color: #ffffff; - background-color: #333333; + color: #fff; + background-color: #333; border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; -} + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; } + pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; - line-height: 1.42857143; + line-height: 1.42857; word-break: break-all; word-wrap: break-word; color: #333333; background-color: #f5f5f5; - border: 1px solid #cccccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} + 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; -} + overflow-y: scroll; } + .container { margin-right: auto; margin-left: auto; padding-left: 15px; - padding-right: 15px; -} -@media (min-width: 768px) { - .container { - width: 750px; - } -} -@media (min-width: 992px) { - .container { - width: 970px; - } -} -@media (min-width: 1200px) { - .container { - width: 1170px; - } -} + padding-right: 15px; } + .container:before, + .container:after { + content: " "; + display: table; } + .container:after { + clear: both; } + @media (min-width: 768px) { + .container { + width: 750px; } } + @media (min-width: 992px) { + .container { + width: 970px; } } + @media (min-width: 1200px) { + .container { + width: 1170px; } } + .container-fluid { margin-right: auto; margin-left: auto; padding-left: 15px; - padding-right: 15px; -} + padding-right: 15px; } + .container-fluid:before, + .container-fluid:after { + content: " "; + display: table; } + .container-fluid:after { + clear: both; } + .row { margin-left: -15px; - margin-right: -15px; -} + margin-right: -15px; } + .row:before, + .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } + .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-left: 15px; - padding-right: 15px; -} + padding-right: 15px; } + .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; -} -.col-xs-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%; -} + float: left; } + .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%; -} + width: 8.33333%; } + +.col-xs-2 { + width: 16.66667%; } + +.col-xs-3 { + width: 25%; } + +.col-xs-4 { + width: 33.33333%; } + +.col-xs-5 { + width: 41.66667%; } + +.col-xs-6 { + width: 50%; } + +.col-xs-7 { + width: 58.33333%; } + +.col-xs-8 { + width: 66.66667%; } + +.col-xs-9 { + width: 75%; } + +.col-xs-10 { + width: 83.33333%; } + +.col-xs-11 { + width: 91.66667%; } + +.col-xs-12 { + width: 100%; } + .col-xs-pull-0 { - right: auto; -} -.col-xs-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%; -} + right: auto; } + +.col-xs-pull-1 { + right: 8.33333%; } + +.col-xs-pull-2 { + right: 16.66667%; } + +.col-xs-pull-3 { + right: 25%; } + +.col-xs-pull-4 { + right: 33.33333%; } + +.col-xs-pull-5 { + right: 41.66667%; } + +.col-xs-pull-6 { + right: 50%; } + +.col-xs-pull-7 { + right: 58.33333%; } + +.col-xs-pull-8 { + right: 66.66667%; } + +.col-xs-pull-9 { + right: 75%; } + +.col-xs-pull-10 { + right: 83.33333%; } + +.col-xs-pull-11 { + right: 91.66667%; } + +.col-xs-pull-12 { + right: 100%; } + .col-xs-push-0 { - left: auto; -} -.col-xs-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%; -} + left: auto; } + +.col-xs-push-1 { + left: 8.33333%; } + +.col-xs-push-2 { + left: 16.66667%; } + +.col-xs-push-3 { + left: 25%; } + +.col-xs-push-4 { + left: 33.33333%; } + +.col-xs-push-5 { + left: 41.66667%; } + +.col-xs-push-6 { + left: 50%; } + +.col-xs-push-7 { + left: 58.33333%; } + +.col-xs-push-8 { + left: 66.66667%; } + +.col-xs-push-9 { + left: 75%; } + +.col-xs-push-10 { + left: 83.33333%; } + +.col-xs-push-11 { + left: 91.66667%; } + +.col-xs-push-12 { + left: 100%; } + +.col-xs-offset-0 { + margin-left: 0%; } + +.col-xs-offset-1 { + margin-left: 8.33333%; } + +.col-xs-offset-2 { + margin-left: 16.66667%; } + +.col-xs-offset-3 { + margin-left: 25%; } + +.col-xs-offset-4 { + margin-left: 33.33333%; } + +.col-xs-offset-5 { + margin-left: 41.66667%; } + .col-xs-offset-6 { - margin-left: 50%; -} -.col-xs-offset-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%; -} + margin-left: 50%; } + +.col-xs-offset-7 { + margin-left: 58.33333%; } + +.col-xs-offset-8 { + margin-left: 66.66667%; } + +.col-xs-offset-9 { + margin-left: 75%; } + +.col-xs-offset-10 { + margin-left: 83.33333%; } + +.col-xs-offset-11 { + margin-left: 91.66667%; } + +.col-xs-offset-12 { + margin-left: 100%; } + @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-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%; - } + float: left; } + .col-sm-1 { + width: 8.33333%; } + .col-sm-2 { + width: 16.66667%; } + .col-sm-3 { + width: 25%; } + .col-sm-4 { + width: 33.33333%; } + .col-sm-5 { + width: 41.66667%; } + .col-sm-6 { + width: 50%; } .col-sm-7 { - width: 58.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%; - } + width: 58.33333%; } + .col-sm-8 { + width: 66.66667%; } + .col-sm-9 { + width: 75%; } + .col-sm-10 { + width: 83.33333%; } + .col-sm-11 { + width: 91.66667%; } + .col-sm-12 { + width: 100%; } + .col-sm-pull-0 { + right: auto; } + .col-sm-pull-1 { + right: 8.33333%; } + .col-sm-pull-2 { + right: 16.66667%; } + .col-sm-pull-3 { + right: 25%; } + .col-sm-pull-4 { + right: 33.33333%; } + .col-sm-pull-5 { + right: 41.66667%; } + .col-sm-pull-6 { + right: 50%; } + .col-sm-pull-7 { + right: 58.33333%; } + .col-sm-pull-8 { + right: 66.66667%; } + .col-sm-pull-9 { + right: 75%; } + .col-sm-pull-10 { + right: 83.33333%; } + .col-sm-pull-11 { + right: 91.66667%; } .col-sm-pull-12 { - right: 100%; - } - .col-sm-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; - } + right: 100%; } + .col-sm-push-0 { + left: auto; } + .col-sm-push-1 { + left: 8.33333%; } + .col-sm-push-2 { + left: 16.66667%; } + .col-sm-push-3 { + left: 25%; } + .col-sm-push-4 { + left: 33.33333%; } + .col-sm-push-5 { + left: 41.66667%; } + .col-sm-push-6 { + left: 50%; } + .col-sm-push-7 { + left: 58.33333%; } + .col-sm-push-8 { + left: 66.66667%; } + .col-sm-push-9 { + left: 75%; } + .col-sm-push-10 { + left: 83.33333%; } + .col-sm-push-11 { + left: 91.66667%; } .col-sm-push-12 { - left: 100%; - } - .col-sm-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; - } + left: 100%; } + .col-sm-offset-0 { + margin-left: 0%; } + .col-sm-offset-1 { + margin-left: 8.33333%; } + .col-sm-offset-2 { + margin-left: 16.66667%; } + .col-sm-offset-3 { + margin-left: 25%; } + .col-sm-offset-4 { + margin-left: 33.33333%; } + .col-sm-offset-5 { + margin-left: 41.66667%; } + .col-sm-offset-6 { + margin-left: 50%; } + .col-sm-offset-7 { + margin-left: 58.33333%; } + .col-sm-offset-8 { + margin-left: 66.66667%; } + .col-sm-offset-9 { + margin-left: 75%; } + .col-sm-offset-10 { + margin-left: 83.33333%; } + .col-sm-offset-11 { + margin-left: 91.66667%; } .col-sm-offset-12 { - margin-left: 100%; - } - .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%; - } -} + margin-left: 100%; } } + @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-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%; - } + float: left; } + .col-md-1 { + width: 8.33333%; } + .col-md-2 { + width: 16.66667%; } + .col-md-3 { + width: 25%; } + .col-md-4 { + width: 33.33333%; } + .col-md-5 { + width: 41.66667%; } + .col-md-6 { + width: 50%; } .col-md-7 { - width: 58.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%; - } + width: 58.33333%; } + .col-md-8 { + width: 66.66667%; } + .col-md-9 { + width: 75%; } + .col-md-10 { + width: 83.33333%; } + .col-md-11 { + width: 91.66667%; } + .col-md-12 { + width: 100%; } + .col-md-pull-0 { + right: auto; } + .col-md-pull-1 { + right: 8.33333%; } + .col-md-pull-2 { + right: 16.66667%; } + .col-md-pull-3 { + right: 25%; } + .col-md-pull-4 { + right: 33.33333%; } + .col-md-pull-5 { + right: 41.66667%; } + .col-md-pull-6 { + right: 50%; } + .col-md-pull-7 { + right: 58.33333%; } + .col-md-pull-8 { + right: 66.66667%; } + .col-md-pull-9 { + right: 75%; } + .col-md-pull-10 { + right: 83.33333%; } + .col-md-pull-11 { + right: 91.66667%; } .col-md-pull-12 { - right: 100%; - } - .col-md-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; - } + right: 100%; } + .col-md-push-0 { + left: auto; } + .col-md-push-1 { + left: 8.33333%; } + .col-md-push-2 { + left: 16.66667%; } + .col-md-push-3 { + left: 25%; } + .col-md-push-4 { + left: 33.33333%; } + .col-md-push-5 { + left: 41.66667%; } + .col-md-push-6 { + left: 50%; } + .col-md-push-7 { + left: 58.33333%; } + .col-md-push-8 { + left: 66.66667%; } + .col-md-push-9 { + left: 75%; } + .col-md-push-10 { + left: 83.33333%; } + .col-md-push-11 { + left: 91.66667%; } .col-md-push-12 { - left: 100%; - } - .col-md-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; - } + left: 100%; } + .col-md-offset-0 { + margin-left: 0%; } + .col-md-offset-1 { + margin-left: 8.33333%; } + .col-md-offset-2 { + margin-left: 16.66667%; } + .col-md-offset-3 { + margin-left: 25%; } + .col-md-offset-4 { + margin-left: 33.33333%; } + .col-md-offset-5 { + margin-left: 41.66667%; } + .col-md-offset-6 { + margin-left: 50%; } + .col-md-offset-7 { + margin-left: 58.33333%; } + .col-md-offset-8 { + margin-left: 66.66667%; } + .col-md-offset-9 { + margin-left: 75%; } + .col-md-offset-10 { + margin-left: 83.33333%; } + .col-md-offset-11 { + margin-left: 91.66667%; } .col-md-offset-12 { - margin-left: 100%; - } - .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%; - } -} + margin-left: 100%; } } + @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-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%; - } + float: left; } + .col-lg-1 { + width: 8.33333%; } + .col-lg-2 { + width: 16.66667%; } + .col-lg-3 { + width: 25%; } + .col-lg-4 { + width: 33.33333%; } + .col-lg-5 { + width: 41.66667%; } + .col-lg-6 { + width: 50%; } .col-lg-7 { - width: 58.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%; - } + width: 58.33333%; } + .col-lg-8 { + width: 66.66667%; } + .col-lg-9 { + width: 75%; } + .col-lg-10 { + width: 83.33333%; } + .col-lg-11 { + width: 91.66667%; } + .col-lg-12 { + width: 100%; } + .col-lg-pull-0 { + right: auto; } + .col-lg-pull-1 { + right: 8.33333%; } + .col-lg-pull-2 { + right: 16.66667%; } + .col-lg-pull-3 { + right: 25%; } + .col-lg-pull-4 { + right: 33.33333%; } + .col-lg-pull-5 { + right: 41.66667%; } + .col-lg-pull-6 { + right: 50%; } + .col-lg-pull-7 { + right: 58.33333%; } + .col-lg-pull-8 { + right: 66.66667%; } + .col-lg-pull-9 { + right: 75%; } + .col-lg-pull-10 { + right: 83.33333%; } + .col-lg-pull-11 { + right: 91.66667%; } .col-lg-pull-12 { - right: 100%; - } - .col-lg-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; - } + right: 100%; } + .col-lg-push-0 { + left: auto; } + .col-lg-push-1 { + left: 8.33333%; } + .col-lg-push-2 { + left: 16.66667%; } + .col-lg-push-3 { + left: 25%; } + .col-lg-push-4 { + left: 33.33333%; } + .col-lg-push-5 { + left: 41.66667%; } + .col-lg-push-6 { + left: 50%; } + .col-lg-push-7 { + left: 58.33333%; } + .col-lg-push-8 { + left: 66.66667%; } + .col-lg-push-9 { + left: 75%; } + .col-lg-push-10 { + left: 83.33333%; } + .col-lg-push-11 { + left: 91.66667%; } .col-lg-push-12 { - left: 100%; - } - .col-lg-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; - } + left: 100%; } + .col-lg-offset-0 { + margin-left: 0%; } + .col-lg-offset-1 { + margin-left: 8.33333%; } + .col-lg-offset-2 { + margin-left: 16.66667%; } + .col-lg-offset-3 { + margin-left: 25%; } + .col-lg-offset-4 { + margin-left: 33.33333%; } + .col-lg-offset-5 { + margin-left: 41.66667%; } + .col-lg-offset-6 { + margin-left: 50%; } + .col-lg-offset-7 { + margin-left: 58.33333%; } + .col-lg-offset-8 { + margin-left: 66.66667%; } + .col-lg-offset-9 { + margin-left: 75%; } + .col-lg-offset-10 { + margin-left: 83.33333%; } + .col-lg-offset-11 { + margin-left: 91.66667%; } .col-lg-offset-12 { - margin-left: 100%; - } - .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%; - } -} + margin-left: 100%; } } + table { - background-color: transparent; -} + background-color: transparent; } + caption { padding-top: 8px; padding-bottom: 8px; color: #777777; - text-align: left; -} + text-align: left; } + th { - text-align: left; -} + text-align: left; } + .table { width: 100%; max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #dddddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #dddddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #dddddd; -} -.table .table { - background-color: #ffffff; -} + margin-bottom: 20px; } + .table > thead > tr > th, + .table > thead > tr > td, + .table > tbody > tr > th, + .table > tbody > tr > td, + .table > tfoot > tr > th, + .table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857; + vertical-align: top; + border-top: 1px solid #ddd; } + .table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; } + .table > caption + thead > tr:first-child > th, + .table > caption + thead > tr:first-child > td, + .table > colgroup + thead > tr:first-child > th, + .table > colgroup + thead > tr:first-child > td, + .table > thead:first-child > tr:first-child > th, + .table > thead:first-child > tr:first-child > td { + border-top: 0; } + .table > tbody + tbody { + border-top: 2px solid #ddd; } + .table .table { + background-color: #fff; } + .table-condensed > thead > tr > th, +.table-condensed > thead > tr > td, .table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > th, .table-condensed > tfoot > tr > td { - padding: 5px; -} + padding: 5px; } + .table-bordered { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #dddddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-child(odd) { - background-color: #f9f9f9; -} + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td, + .table-bordered > tbody > tr > th, + .table-bordered > tbody > tr > td, + .table-bordered > tfoot > tr > th, + .table-bordered > tfoot > tr > td { + border: 1px solid #ddd; } + .table-bordered > thead > tr > th, + .table-bordered > thead > tr > td { + border-bottom-width: 2px; } + +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; } + .table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} + background-color: #f5f5f5; } + table col[class*="col-"] { position: static; float: none; - display: table-column; -} + display: table-column; } + table td[class*="col-"], table th[class*="col-"] { position: static; float: none; - display: table-cell; -} + display: table-cell; } + .table > thead > tr > td.active, +.table > thead > tr > th.active, +.table > thead > tr.active > td, +.table > thead > tr.active > th, .table > tbody > tr > td.active, +.table > tbody > tr > th.active, +.table > tbody > tr.active > td, +.table > tbody > tr.active > th, .table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, .table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, .table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, .table > tfoot > tr.active > th { - background-color: #f5f5f5; -} + background-color: #f5f5f5; } + .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} + background-color: #e8e8e8; } + .table > thead > tr > td.success, +.table > thead > tr > th.success, +.table > thead > tr.success > td, +.table > thead > tr.success > th, .table > tbody > tr > td.success, +.table > tbody > tr > th.success, +.table > tbody > tr.success > td, +.table > tbody > tr.success > th, .table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, .table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, .table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, .table > tfoot > tr.success > th { - background-color: #dff0d8; -} + background-color: #dff0d8; } + .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} + background-color: #d0e9c6; } + .table > thead > tr > td.info, +.table > thead > tr > th.info, +.table > thead > tr.info > td, +.table > thead > tr.info > th, .table > tbody > tr > td.info, +.table > tbody > tr > th.info, +.table > tbody > tr.info > td, +.table > tbody > tr.info > th, .table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, .table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, .table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, .table > tfoot > tr.info > th { - background-color: #d9edf7; -} + background-color: #d9edf7; } + .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} + background-color: #c4e3f3; } + .table > thead > tr > td.warning, +.table > thead > tr > th.warning, +.table > thead > tr.warning > td, +.table > thead > tr.warning > th, .table > tbody > tr > td.warning, +.table > tbody > tr > th.warning, +.table > tbody > tr.warning > td, +.table > tbody > tr.warning > th, .table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} + background-color: #fcf8e3; } + .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} + background-color: #faf2cc; } + .table > thead > tr > td.danger, +.table > thead > tr > th.danger, +.table > thead > tr.danger > td, +.table > thead > tr.danger > th, .table > tbody > tr > td.danger, +.table > tbody > tr > th.danger, +.table > tbody > tr.danger > td, +.table > tbody > tr.danger > th, .table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { - background-color: #f2dede; -} + background-color: #f2dede; } + .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} + background-color: #ebcccc; } + .table-responsive { overflow-x: auto; - min-height: 0.01%; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #dddddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} + min-height: 0.01%; } + @media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; } + .table-responsive > .table { + margin-bottom: 0; } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; } + .table-responsive > .table-bordered { + border: 0; } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; } } + fieldset { padding: 0; margin: 0; border: 0; - min-width: 0; -} + min-width: 0; } + legend { display: block; width: 100%; @@ -2284,229 +2257,313 @@ line-height: inherit; color: #333333; border: 0; - border-bottom: 1px solid #e5e5e5; -} + border-bottom: 1px solid #e5e5e5; } + label { display: inline-block; max-width: 100%; margin-bottom: 5px; - font-weight: bold; -} + font-weight: bold; } + input[type="search"] { - box-sizing: border-box; -} + box-sizing: border-box; } + input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; - line-height: normal; -} + line-height: normal; } + input[type="file"] { - display: block; -} + display: block; } + input[type="range"] { display: block; - width: 100%; -} + width: 100%; } + select[multiple], select[size] { - height: auto; -} + height: auto; } + input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} + outline-offset: -2px; } + output { display: block; padding-top: 7px; font-size: 14px; - line-height: 1.42857143; - color: #555555; -} + line-height: 1.42857; + color: #555555; } + .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; - line-height: 1.42857143; + line-height: 1.42857; color: #555555; - background-color: #ffffff; + background-color: #fff; background-image: none; - border: 1px solid #cccccc; + border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:focus { - border-color: #66afe9; - outline: 0; - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); -} -.form-control::-moz-placeholder { - color: #999999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999999; -} -.form-control::-webkit-input-placeholder { - color: #999999; -} -.form-control[disabled], -.form-control[readonly], -fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eeeeee; - opacity: 1; -} + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } + .form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } + .form-control::-moz-placeholder { + color: #999; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #999; } + .form-control::-webkit-input-placeholder { + color: #999; } + .form-control[disabled], + .form-control[readonly], + fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; } + .form-control[disabled], + fieldset[disabled] .form-control { + cursor: not-allowed; } + textarea.form-control { - height: auto; -} + height: auto; } + input[type="search"] { - -webkit-appearance: none; -} + -webkit-appearance: none; } + @media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"], - input[type="time"], - input[type="datetime-local"], - input[type="month"] { - line-height: 34px; - } + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; } input[type="date"].input-sm, + .input-group-sm > input[type="date"].form-control, + .input-group-sm > input[type="date"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="date"].btn, + .input-group-sm input[type="date"], input[type="time"].input-sm, + .input-group-sm > input[type="time"].form-control, + .input-group-sm > input[type="time"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="time"].btn, + .input-group-sm input[type="time"], input[type="datetime-local"].input-sm, - input[type="month"].input-sm { - line-height: 30px; - } + .input-group-sm > input[type="datetime-local"].form-control, + .input-group-sm > input[type="datetime-local"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="datetime-local"].btn, + .input-group-sm input[type="datetime-local"], + input[type="month"].input-sm, + .input-group-sm > input[type="month"].form-control, + .input-group-sm > input[type="month"].input-group-addon, + .input-group-sm > .input-group-btn > input[type="month"].btn, + .input-group-sm input[type="month"] { + line-height: 30px; } input[type="date"].input-lg, + .input-group-lg > input[type="date"].form-control, + .input-group-lg > input[type="date"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="date"].btn, + .input-group-lg input[type="date"], input[type="time"].input-lg, + .input-group-lg > input[type="time"].form-control, + .input-group-lg > input[type="time"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="time"].btn, + .input-group-lg input[type="time"], input[type="datetime-local"].input-lg, - input[type="month"].input-lg { - line-height: 46px; - } -} + .input-group-lg > input[type="datetime-local"].form-control, + .input-group-lg > input[type="datetime-local"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="datetime-local"].btn, + .input-group-lg input[type="datetime-local"], + input[type="month"].input-lg, + .input-group-lg > input[type="month"].form-control, + .input-group-lg > input[type="month"].input-group-addon, + .input-group-lg > .input-group-btn > input[type="month"].btn, + .input-group-lg input[type="month"] { + line-height: 46px; } } + .form-group { - margin-bottom: 15px; -} + margin-bottom: 15px; } + .radio, .checkbox { position: relative; display: block; margin-top: 10px; - margin-bottom: 10px; -} -.radio label, -.checkbox label { - min-height: 20px; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} + margin-bottom: 10px; } + .radio label, + .checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-left: -20px; - margin-top: 4px \9; -} + margin-top: 4px \9; } + .radio + .radio, .checkbox + .checkbox { - margin-top: -5px; -} + margin-top: -5px; } + .radio-inline, .checkbox-inline { + position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; vertical-align: middle; font-weight: normal; - cursor: pointer; -} + cursor: pointer; } + .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; - margin-left: 10px; -} + margin-left: 10px; } + input[type="radio"][disabled], -input[type="checkbox"][disabled], input[type="radio"].disabled, +fieldset[disabled] input[type="radio"], +input[type="checkbox"][disabled], input[type="checkbox"].disabled, -fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; -} + cursor: not-allowed; } + .radio-inline.disabled, +fieldset[disabled] .radio-inline, .checkbox-inline.disabled, -fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { - cursor: not-allowed; -} + cursor: not-allowed; } + .radio.disabled label, +fieldset[disabled] .radio label, .checkbox.disabled label, -fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { - cursor: not-allowed; -} + cursor: not-allowed; } + .form-control-static { padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; -} -.form-control-static.input-lg, -.form-control-static.input-sm { - padding-left: 0; - padding-right: 0; -} -.input-sm, + min-height: 34px; } + .form-control-static.input-lg, + .input-group-lg > .form-control-static.form-control, + .input-group-lg > .form-control-static.input-group-addon, + .input-group-lg > .input-group-btn > .form-control-static.btn, + .form-control-static.input-sm, .input-group-sm > .form-control-static.form-control, + .input-group-sm > .form-control-static.input-group-addon, + .input-group-sm > .input-group-btn > .form-control-static.btn { + padding-left: 0; + padding-right: 0; } + +.input-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } + +select.input-sm, .input-group-sm > select.form-control, +.input-group-sm > select.input-group-addon, +.input-group-sm > .input-group-btn > select.btn { + height: 30px; + line-height: 30px; } + +textarea.input-sm, +.input-group-sm > textarea.form-control, +.input-group-sm > textarea.input-group-addon, +.input-group-sm > .input-group-btn > textarea.btn, +select[multiple].input-sm, .input-group-sm > select[multiple].form-control, +.input-group-sm > select[multiple].input-group-addon, +.input-group-sm > .input-group-btn > select[multiple].btn { + height: auto; } + .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; - border-radius: 3px; -} -select.input-sm, -select.form-group-sm .form-control { + border-radius: 3px; } + +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; } + +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; } + +.form-group-sm .form-control-static { height: 30px; - line-height: 30px; -} -textarea.input-sm, -textarea.form-group-sm .form-control, -select[multiple].input-sm, -select[multiple].form-group-sm .form-control { - height: auto; -} -.input-lg, + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; } + +.input-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33333; + border-radius: 6px; } + +select.input-lg, .input-group-lg > select.form-control, +.input-group-lg > select.input-group-addon, +.input-group-lg > .input-group-btn > select.btn { + height: 46px; + line-height: 46px; } + +textarea.input-lg, +.input-group-lg > textarea.form-control, +.input-group-lg > textarea.input-group-addon, +.input-group-lg > .input-group-btn > textarea.btn, +select[multiple].input-lg, .input-group-lg > select[multiple].form-control, +.input-group-lg > select[multiple].input-group-addon, +.input-group-lg > .input-group-btn > select[multiple].btn { + height: auto; } + .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -select.input-lg, -select.form-group-lg .form-control { + line-height: 1.33333; + border-radius: 6px; } + +.form-group-lg select.form-control { height: 46px; - line-height: 46px; -} -textarea.input-lg, -textarea.form-group-lg .form-control, -select[multiple].input-lg, -select[multiple].form-group-lg .form-control { - height: auto; -} + line-height: 46px; } + +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; } + +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.33333; } + .has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 42.5px; -} + position: relative; } + .has-feedback .form-control { + padding-right: 42.5px; } + .form-control-feedback { position: absolute; top: 0; @@ -2517,18 +2574,28 @@ height: 34px; line-height: 34px; text-align: center; - pointer-events: none; -} -.input-lg + .form-control-feedback { + pointer-events: none; } + +.input-lg + .form-control-feedback, +.input-group-lg > .form-control + .form-control-feedback, +.input-group-lg > .input-group-addon + .form-control-feedback, +.input-group-lg > .input-group-btn > .btn + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; - line-height: 46px; -} -.input-sm + .form-control-feedback { + line-height: 46px; } + +.input-sm + .form-control-feedback, +.input-group-sm > .form-control + .form-control-feedback, +.input-group-sm > .input-group-addon + .form-control-feedback, +.input-group-sm > .input-group-btn > .btn + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; - line-height: 30px; -} + line-height: 30px; } + .has-success .help-block, .has-success .control-label, .has-success .radio, @@ -2539,24 +2606,23 @@ .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { - color: #3c763d; -} + color: #3c763d; } + .has-success .form-control { border-color: #3c763d; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-success .form-control:focus { - border-color: #2b542c; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; -} + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-success .form-control:focus { + border-color: #2b542c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } + .has-success .input-group-addon { color: #3c763d; border-color: #3c763d; - background-color: #dff0d8; -} + background-color: #dff0d8; } + .has-success .form-control-feedback { - color: #3c763d; -} + color: #3c763d; } + .has-warning .help-block, .has-warning .control-label, .has-warning .radio, @@ -2567,24 +2633,23 @@ .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { - color: #8a6d3b; -} + color: #8a6d3b; } + .has-warning .form-control { border-color: #8a6d3b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-warning .form-control:focus { - border-color: #66512c; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; -} + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-warning .form-control:focus { + border-color: #66512c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } + .has-warning .input-group-addon { color: #8a6d3b; border-color: #8a6d3b; - background-color: #fcf8e3; -} + background-color: #fcf8e3; } + .has-warning .form-control-feedback { - color: #8a6d3b; -} + color: #8a6d3b; } + .has-error .help-block, .has-error .control-label, .has-error .radio, @@ -2595,554 +2660,621 @@ .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { - color: #a94442; -} + color: #a94442; } + .has-error .form-control { border-color: #a94442; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -} -.has-error .form-control:focus { - border-color: #843534; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; -} + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + .has-error .form-control:focus { + border-color: #843534; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } + .has-error .input-group-addon { color: #a94442; border-color: #a94442; - background-color: #f2dede; -} + background-color: #f2dede; } + .has-error .form-control-feedback { - color: #a94442; -} + color: #a94442; } + .has-feedback label ~ .form-control-feedback { - top: 25px; -} + top: 25px; } + .has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} + top: 0; } + .help-block { display: block; margin-top: 5px; margin-bottom: 10px; - color: #737373; -} + color: #737373; } + @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; - vertical-align: middle; - } + vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; - vertical-align: middle; - } + vertical-align: middle; } .form-inline .form-control-static { - display: inline-block; - } + display: inline-block; } .form-inline .input-group { display: inline-table; - vertical-align: middle; - } - .form-inline .input-group .input-group-addon, - .form-inline .input-group .input-group-btn, - .form-inline .input-group .form-control { - width: auto; - } + vertical-align: middle; } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; } .form-inline .input-group > .form-control { - width: 100%; - } + width: 100%; } .form-inline .control-label { margin-bottom: 0; - vertical-align: middle; - } + vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, - .form-inline .checkbox label { - padding-left: 0; - } + vertical-align: middle; } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; - margin-left: 0; - } + margin-left: 0; } .form-inline .has-feedback .form-control-feedback { - top: 0; - } -} + top: 0; } } + .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { margin-top: 0; margin-bottom: 0; - padding-top: 7px; -} + padding-top: 7px; } + .form-horizontal .radio, .form-horizontal .checkbox { - min-height: 27px; -} + min-height: 27px; } + .form-horizontal .form-group { margin-left: -15px; - margin-right: -15px; -} + margin-right: -15px; } + .form-horizontal .form-group:before, + .form-horizontal .form-group:after { + content: " "; + display: table; } + .form-horizontal .form-group:after { + clear: both; } + @media (min-width: 768px) { .form-horizontal .control-label { text-align: right; margin-bottom: 0; - padding-top: 7px; - } -} + padding-top: 7px; } } + .form-horizontal .has-feedback .form-control-feedback { - right: 15px; -} + right: 15px; } + @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } -} + padding-top: 14.33333px; + font-size: 18px; } } + @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; - } -} + font-size: 12px; } } + .btn { display: inline-block; margin-bottom: 0; - font-weight: 300; + font-weight: normal; text-align: center; vertical-align: middle; -ms-touch-action: manipulation; - touch-action: manipulation; + touch-action: manipulation; cursor: pointer; background-image: none; border: 1px solid transparent; white-space: nowrap; padding: 6px 12px; font-size: 14px; - line-height: 1.42857143; + line-height: 1.42857; border-radius: 4px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; - user-select: none; -} -.btn:focus, -.btn:active:focus, -.btn.active:focus, -.btn.focus, -.btn:active.focus, -.btn.active.focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} -.btn:hover, -.btn:focus, -.btn.focus { - color: #333333; - text-decoration: none; -} -.btn:active, -.btn.active { - outline: 0; - background-image: none; - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn.disabled, -.btn[disabled], -fieldset[disabled] .btn { - cursor: not-allowed; - pointer-events: none; - opacity: 0.65; - filter: alpha(opacity=65); - box-shadow: none; -} + user-select: none; } + .btn:focus, + .btn.focus, + .btn:active:focus, + .btn:active.focus, + .btn.active:focus, + .btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } + .btn:hover, + .btn:focus, + .btn.focus { + color: #333; + text-decoration: none; } + .btn:active, + .btn.active { + outline: 0; + background-image: none; + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn.disabled, + .btn[disabled], + fieldset[disabled] .btn { + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + box-shadow: none; } + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; } + .btn-default { - color: #333333; - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default:hover, -.btn-default:focus, -.btn-default.focus, -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - color: #333333; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-default:active, -.btn-default.active, -.open > .dropdown-toggle.btn-default { - background-image: none; -} -.btn-default.disabled, -.btn-default[disabled], -fieldset[disabled] .btn-default, -.btn-default.disabled:hover, -.btn-default[disabled]:hover, -fieldset[disabled] .btn-default:hover, -.btn-default.disabled:focus, -.btn-default[disabled]:focus, -fieldset[disabled] .btn-default:focus, -.btn-default.disabled.focus, -.btn-default[disabled].focus, -fieldset[disabled] .btn-default.focus, -.btn-default.disabled:active, -.btn-default[disabled]:active, -fieldset[disabled] .btn-default:active, -.btn-default.disabled.active, -.btn-default[disabled].active, -fieldset[disabled] .btn-default.active { - background-color: #ffffff; - border-color: #cccccc; -} -.btn-default .badge { - color: #ffffff; - background-color: #333333; -} + color: #333; + background-color: #fff; + border-color: #ccc; } + .btn-default:focus, + .btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; } + .btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active, + .btn-default.active, + .open > .btn-default.dropdown-toggle { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-default:active:hover, + .btn-default:active:focus, + .btn-default:active.focus, + .btn-default.active:hover, + .btn-default.active:focus, + .btn-default.active.focus, + .open > .btn-default.dropdown-toggle:hover, + .open > .btn-default.dropdown-toggle:focus, + .open > .btn-default.dropdown-toggle.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; } + .btn-default:active, + .btn-default.active, + .open > .btn-default.dropdown-toggle { + background-image: none; } + .btn-default.disabled, + .btn-default.disabled:hover, + .btn-default.disabled:focus, + .btn-default.disabled.focus, + .btn-default.disabled:active, + .btn-default.disabled.active, + .btn-default[disabled], + .btn-default[disabled]:hover, + .btn-default[disabled]:focus, + .btn-default[disabled].focus, + .btn-default[disabled]:active, + .btn-default[disabled].active, + fieldset[disabled] .btn-default, + fieldset[disabled] .btn-default:hover, + fieldset[disabled] .btn-default:focus, + fieldset[disabled] .btn-default.focus, + fieldset[disabled] .btn-default:active, + fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; } + .btn-default .badge { + color: #fff; + background-color: #333; } + .btn-primary { - color: #ffffff; + color: #fff; background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary:hover, -.btn-primary:focus, -.btn-primary.focus, -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - color: #ffffff; - background-color: #286090; - border-color: #204d74; -} -.btn-primary:active, -.btn-primary.active, -.open > .dropdown-toggle.btn-primary { - background-image: none; -} -.btn-primary.disabled, -.btn-primary[disabled], -fieldset[disabled] .btn-primary, -.btn-primary.disabled:hover, -.btn-primary[disabled]:hover, -fieldset[disabled] .btn-primary:hover, -.btn-primary.disabled:focus, -.btn-primary[disabled]:focus, -fieldset[disabled] .btn-primary:focus, -.btn-primary.disabled.focus, -.btn-primary[disabled].focus, -fieldset[disabled] .btn-primary.focus, -.btn-primary.disabled:active, -.btn-primary[disabled]:active, -fieldset[disabled] .btn-primary:active, -.btn-primary.disabled.active, -.btn-primary[disabled].active, -fieldset[disabled] .btn-primary.active { - background-color: #337ab7; - border-color: #2e6da4; -} -.btn-primary .badge { - color: #337ab7; - background-color: #ffffff; -} + border-color: #2e6da4; } + .btn-primary:focus, + .btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; } + .btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; } + .btn-primary:active, + .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #286090; + border-color: #204d74; } + .btn-primary:active:hover, + .btn-primary:active:focus, + .btn-primary:active.focus, + .btn-primary.active:hover, + .btn-primary.active:focus, + .btn-primary.active.focus, + .open > .btn-primary.dropdown-toggle:hover, + .open > .btn-primary.dropdown-toggle:focus, + .open > .btn-primary.dropdown-toggle.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; } + .btn-primary:active, + .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + background-image: none; } + .btn-primary.disabled, + .btn-primary.disabled:hover, + .btn-primary.disabled:focus, + .btn-primary.disabled.focus, + .btn-primary.disabled:active, + .btn-primary.disabled.active, + .btn-primary[disabled], + .btn-primary[disabled]:hover, + .btn-primary[disabled]:focus, + .btn-primary[disabled].focus, + .btn-primary[disabled]:active, + .btn-primary[disabled].active, + fieldset[disabled] .btn-primary, + fieldset[disabled] .btn-primary:hover, + fieldset[disabled] .btn-primary:focus, + fieldset[disabled] .btn-primary.focus, + fieldset[disabled] .btn-primary:active, + fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; } + .btn-primary .badge { + color: #337ab7; + background-color: #fff; } + .btn-success { - color: #ffffff; + color: #fff; background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:hover, -.btn-success:focus, -.btn-success.focus, -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - color: #ffffff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, -.btn-success.active, -.open > .dropdown-toggle.btn-success { - background-image: none; -} -.btn-success.disabled, -.btn-success[disabled], -fieldset[disabled] .btn-success, -.btn-success.disabled:hover, -.btn-success[disabled]:hover, -fieldset[disabled] .btn-success:hover, -.btn-success.disabled:focus, -.btn-success[disabled]:focus, -fieldset[disabled] .btn-success:focus, -.btn-success.disabled.focus, -.btn-success[disabled].focus, -fieldset[disabled] .btn-success.focus, -.btn-success.disabled:active, -.btn-success[disabled]:active, -fieldset[disabled] .btn-success:active, -.btn-success.disabled.active, -.btn-success[disabled].active, -fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #ffffff; -} + border-color: #4cae4c; } + .btn-success:focus, + .btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; } + .btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active, + .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active:hover, + .btn-success:active:focus, + .btn-success:active.focus, + .btn-success.active:hover, + .btn-success.active:focus, + .btn-success.active.focus, + .open > .btn-success.dropdown-toggle:hover, + .open > .btn-success.dropdown-toggle:focus, + .open > .btn-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #255625; } + .btn-success:active, + .btn-success.active, + .open > .btn-success.dropdown-toggle { + background-image: none; } + .btn-success.disabled, + .btn-success.disabled:hover, + .btn-success.disabled:focus, + .btn-success.disabled.focus, + .btn-success.disabled:active, + .btn-success.disabled.active, + .btn-success[disabled], + .btn-success[disabled]:hover, + .btn-success[disabled]:focus, + .btn-success[disabled].focus, + .btn-success[disabled]:active, + .btn-success[disabled].active, + fieldset[disabled] .btn-success, + fieldset[disabled] .btn-success:hover, + fieldset[disabled] .btn-success:focus, + fieldset[disabled] .btn-success.focus, + fieldset[disabled] .btn-success:active, + fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success .badge { + color: #5cb85c; + background-color: #fff; } + .btn-info { - color: #ffffff; + color: #fff; background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:hover, -.btn-info:focus, -.btn-info.focus, -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - color: #ffffff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, -.btn-info.active, -.open > .dropdown-toggle.btn-info { - background-image: none; -} -.btn-info.disabled, -.btn-info[disabled], -fieldset[disabled] .btn-info, -.btn-info.disabled:hover, -.btn-info[disabled]:hover, -fieldset[disabled] .btn-info:hover, -.btn-info.disabled:focus, -.btn-info[disabled]:focus, -fieldset[disabled] .btn-info:focus, -.btn-info.disabled.focus, -.btn-info[disabled].focus, -fieldset[disabled] .btn-info.focus, -.btn-info.disabled:active, -.btn-info[disabled]:active, -fieldset[disabled] .btn-info:active, -.btn-info.disabled.active, -.btn-info[disabled].active, -fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #ffffff; -} + border-color: #46b8da; } + .btn-info:focus, + .btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; } + .btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active, + .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active:hover, + .btn-info:active:focus, + .btn-info:active.focus, + .btn-info.active:hover, + .btn-info.active:focus, + .btn-info.active.focus, + .open > .btn-info.dropdown-toggle:hover, + .open > .btn-info.dropdown-toggle:focus, + .open > .btn-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; } + .btn-info:active, + .btn-info.active, + .open > .btn-info.dropdown-toggle { + background-image: none; } + .btn-info.disabled, + .btn-info.disabled:hover, + .btn-info.disabled:focus, + .btn-info.disabled.focus, + .btn-info.disabled:active, + .btn-info.disabled.active, + .btn-info[disabled], + .btn-info[disabled]:hover, + .btn-info[disabled]:focus, + .btn-info[disabled].focus, + .btn-info[disabled]:active, + .btn-info[disabled].active, + fieldset[disabled] .btn-info, + fieldset[disabled] .btn-info:hover, + fieldset[disabled] .btn-info:focus, + fieldset[disabled] .btn-info.focus, + fieldset[disabled] .btn-info:active, + fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info .badge { + color: #5bc0de; + background-color: #fff; } + .btn-warning { - color: #ffffff; + color: #fff; background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:hover, -.btn-warning:focus, -.btn-warning.focus, -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - color: #ffffff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, -.btn-warning.active, -.open > .dropdown-toggle.btn-warning { - background-image: none; -} -.btn-warning.disabled, -.btn-warning[disabled], -fieldset[disabled] .btn-warning, -.btn-warning.disabled:hover, -.btn-warning[disabled]:hover, -fieldset[disabled] .btn-warning:hover, -.btn-warning.disabled:focus, -.btn-warning[disabled]:focus, -fieldset[disabled] .btn-warning:focus, -.btn-warning.disabled.focus, -.btn-warning[disabled].focus, -fieldset[disabled] .btn-warning.focus, -.btn-warning.disabled:active, -.btn-warning[disabled]:active, -fieldset[disabled] .btn-warning:active, -.btn-warning.disabled.active, -.btn-warning[disabled].active, -fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #ffffff; -} + border-color: #eea236; } + .btn-warning:focus, + .btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; } + .btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active, + .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active:hover, + .btn-warning:active:focus, + .btn-warning:active.focus, + .btn-warning.active:hover, + .btn-warning.active:focus, + .btn-warning.active.focus, + .open > .btn-warning.dropdown-toggle:hover, + .open > .btn-warning.dropdown-toggle:focus, + .open > .btn-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; } + .btn-warning:active, + .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + background-image: none; } + .btn-warning.disabled, + .btn-warning.disabled:hover, + .btn-warning.disabled:focus, + .btn-warning.disabled.focus, + .btn-warning.disabled:active, + .btn-warning.disabled.active, + .btn-warning[disabled], + .btn-warning[disabled]:hover, + .btn-warning[disabled]:focus, + .btn-warning[disabled].focus, + .btn-warning[disabled]:active, + .btn-warning[disabled].active, + fieldset[disabled] .btn-warning, + fieldset[disabled] .btn-warning:hover, + fieldset[disabled] .btn-warning:focus, + fieldset[disabled] .btn-warning.focus, + fieldset[disabled] .btn-warning:active, + fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning .badge { + color: #f0ad4e; + background-color: #fff; } + .btn-danger { - color: #ffffff; + color: #fff; background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:hover, -.btn-danger:focus, -.btn-danger.focus, -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - color: #ffffff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, -.btn-danger.active, -.open > .dropdown-toggle.btn-danger { - background-image: none; -} -.btn-danger.disabled, -.btn-danger[disabled], -fieldset[disabled] .btn-danger, -.btn-danger.disabled:hover, -.btn-danger[disabled]:hover, -fieldset[disabled] .btn-danger:hover, -.btn-danger.disabled:focus, -.btn-danger[disabled]:focus, -fieldset[disabled] .btn-danger:focus, -.btn-danger.disabled.focus, -.btn-danger[disabled].focus, -fieldset[disabled] .btn-danger.focus, -.btn-danger.disabled:active, -.btn-danger[disabled]:active, -fieldset[disabled] .btn-danger:active, -.btn-danger.disabled.active, -.btn-danger[disabled].active, -fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #ffffff; -} + border-color: #d43f3a; } + .btn-danger:focus, + .btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; } + .btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active, + .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active:hover, + .btn-danger:active:focus, + .btn-danger:active.focus, + .btn-danger.active:hover, + .btn-danger.active:focus, + .btn-danger.active.focus, + .open > .btn-danger.dropdown-toggle:hover, + .open > .btn-danger.dropdown-toggle:focus, + .open > .btn-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; } + .btn-danger:active, + .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + background-image: none; } + .btn-danger.disabled, + .btn-danger.disabled:hover, + .btn-danger.disabled:focus, + .btn-danger.disabled.focus, + .btn-danger.disabled:active, + .btn-danger.disabled.active, + .btn-danger[disabled], + .btn-danger[disabled]:hover, + .btn-danger[disabled]:focus, + .btn-danger[disabled].focus, + .btn-danger[disabled]:active, + .btn-danger[disabled].active, + fieldset[disabled] .btn-danger, + fieldset[disabled] .btn-danger:hover, + fieldset[disabled] .btn-danger:focus, + fieldset[disabled] .btn-danger.focus, + fieldset[disabled] .btn-danger:active, + fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger .badge { + color: #d9534f; + background-color: #fff; } + .btn-link { color: #337ab7; font-weight: normal; - border-radius: 0; -} -.btn-link, -.btn-link:active, -.btn-link.active, -.btn-link[disabled], -fieldset[disabled] .btn-link { - background-color: transparent; - box-shadow: none; -} -.btn-link, -.btn-link:hover, -.btn-link:focus, -.btn-link:active { - border-color: transparent; -} -.btn-link:hover, -.btn-link:focus { - color: #23527c; - text-decoration: underline; - background-color: transparent; -} -.btn-link[disabled]:hover, -fieldset[disabled] .btn-link:hover, -.btn-link[disabled]:focus, -fieldset[disabled] .btn-link:focus { - color: #777777; - text-decoration: none; -} -.btn-lg, -.btn-group-lg > .btn { + border-radius: 0; } + .btn-link, + .btn-link:active, + .btn-link.active, + .btn-link[disabled], + fieldset[disabled] .btn-link { + background-color: transparent; + box-shadow: none; } + .btn-link, + .btn-link:hover, + .btn-link:focus, + .btn-link:active { + border-color: transparent; } + .btn-link:hover, + .btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; } + .btn-link[disabled]:hover, + .btn-link[disabled]:focus, + fieldset[disabled] .btn-link:hover, + fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; } + +.btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; - line-height: 1.33; - border-radius: 6px; -} -.btn-sm, -.btn-group-sm > .btn { + line-height: 1.33333; + border-radius: 6px; } + +.btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; - border-radius: 3px; -} -.btn-xs, -.btn-group-xs > .btn { + border-radius: 3px; } + +.btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; - border-radius: 3px; -} + border-radius: 3px; } + .btn-block { display: block; - width: 100%; -} + width: 100%; } + .btn-block + .btn-block { - margin-top: 5px; -} + margin-top: 5px; } + input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { - width: 100%; -} + width: 100%; } + .fade { opacity: 0; - transition: opacity 0.15s linear; -} -.fade.in { - opacity: 1; -} + transition: opacity 0.15s linear; } + .fade.in { + opacity: 1; } + .collapse { - display: none; - visibility: hidden; -} -.collapse.in { - display: block; - visibility: visible; -} + display: none; } + .collapse.in { + display: block; } + tr.collapse.in { - display: table-row; -} + display: table-row; } + tbody.collapse.in { - display: table-row-group; -} + display: table-row-group; } + .collapsing { position: relative; height: 0; overflow: hidden; transition-property: height, visibility; transition-duration: 0.35s; - transition-timing-function: ease; -} + transition-timing-function: ease; } + .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; - border-top: 4px solid; + border-top: 4px dashed; + border-top: 4px solid \9; border-right: 4px solid transparent; - border-left: 4px solid transparent; -} + border-left: 4px solid transparent; } + +.dropup, .dropdown { - position: relative; -} + position: relative; } + .dropdown-toggle:focus { - outline: 0; -} + outline: 0; } + .dropdown-menu { position: absolute; top: 100%; @@ -3156,360 +3288,313 @@ list-style: none; font-size: 14px; text-align: left; - background-color: #ffffff; - border: 1px solid #cccccc; + background-color: #fff; + border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 4px; box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; -} -.dropdown-menu.pull-right { - right: 0; - left: auto; -} -.dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333333; - white-space: nowrap; -} + background-clip: padding-box; } + .dropdown-menu.pull-right { + right: 0; + left: auto; } + .dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857; + color: #333333; + white-space: nowrap; } + .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { text-decoration: none; color: #262626; - background-color: #f5f5f5; -} + background-color: #f5f5f5; } + .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { - color: #ffffff; + color: #fff; text-decoration: none; outline: 0; - background-color: #337ab7; -} + background-color: #337ab7; } + .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - color: #777777; -} + color: #777777; } + .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - cursor: not-allowed; -} + cursor: not-allowed; } + .open > .dropdown-menu { - display: block; -} + display: block; } + .open > a { - outline: 0; -} + outline: 0; } + .dropdown-menu-right { left: auto; - right: 0; -} + right: 0; } + .dropdown-menu-left { left: 0; - right: auto; -} + right: auto; } + .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; - line-height: 1.42857143; + line-height: 1.42857; color: #777777; - white-space: nowrap; -} + white-space: nowrap; } + .dropdown-backdrop { position: fixed; left: 0; right: 0; bottom: 0; top: 0; - z-index: 990; -} + z-index: 990; } + .pull-right > .dropdown-menu { right: 0; - left: auto; -} + left: auto; } + .dropup .caret, .navbar-fixed-bottom .dropdown .caret { border-top: 0; - border-bottom: 4px solid; - content: ""; -} + border-bottom: 4px dashed; + border-bottom: 4px solid \9; + content: ""; } + .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; - margin-bottom: 1px; -} + margin-bottom: 2px; } + @media (min-width: 768px) { .navbar-right .dropdown-menu { - left: auto; right: 0; - } + left: auto; } .navbar-right .dropdown-menu-left { left: 0; - right: auto; - } -} + right: auto; } } + .btn-group, .btn-group-vertical { position: relative; display: inline-block; - vertical-align: middle; -} -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - float: left; -} -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover, -.btn-group > .btn:focus, -.btn-group-vertical > .btn:focus, -.btn-group > .btn:active, -.btn-group-vertical > .btn:active, -.btn-group > .btn.active, -.btn-group-vertical > .btn.active { - z-index: 2; -} + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + float: left; } + .btn-group > .btn:hover, + .btn-group > .btn:focus, + .btn-group > .btn:active, + .btn-group > .btn.active, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 2; } + .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { - margin-left: -1px; -} + margin-left: -1px; } + .btn-toolbar { - margin-left: -5px; -} -.btn-toolbar .btn-group, -.btn-toolbar .input-group { - float: left; -} -.btn-toolbar > .btn, -.btn-toolbar > .btn-group, -.btn-toolbar > .input-group { - margin-left: 5px; -} + margin-left: -5px; } + .btn-toolbar:before, + .btn-toolbar:after { + content: " "; + display: table; } + .btn-toolbar:after { + clear: both; } + .btn-toolbar .btn, + .btn-toolbar .btn-group, + .btn-toolbar .input-group { + float: left; } + .btn-toolbar > .btn, + .btn-toolbar > .btn-group, + .btn-toolbar > .input-group { + margin-left: 5px; } + .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} + border-radius: 0; } + .btn-group > .btn:first-child { - margin-left: 0; -} -.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; -} + margin-left: 0; } + .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; } + .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .btn-group > .btn-group { - float: left; -} + float: left; } + .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group > .btn-group:first-child > .btn:last-child, -.btn-group > .btn-group:first-child > .dropdown-toggle { + border-radius: 0; } + +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; - border-top-right-radius: 0; -} -.btn-group > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; } + +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-bottom-left-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { - outline: 0; -} + outline: 0; } + .btn-group > .btn + .dropdown-toggle { padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 8px; } + +.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-left: 12px; - padding-right: 12px; -} + padding-right: 12px; } + .btn-group.open .dropdown-toggle { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); -} -.btn-group.open .dropdown-toggle.btn-link { - box-shadow: none; -} + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } + .btn-group.open .dropdown-toggle.btn-link { + box-shadow: none; } + .btn .caret { - margin-left: 0; -} -.btn-lg .caret { + margin-left: 0; } + +.btn-lg .caret, .btn-group-lg > .btn .caret { border-width: 5px 5px 0; - border-bottom-width: 0; -} -.dropup .btn-lg .caret { - border-width: 0 5px 5px; -} + border-bottom-width: 0; } + +.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { + border-width: 0 5px 5px; } + .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; - max-width: 100%; -} + max-width: 100%; } + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + content: " "; + display: table; } + +.btn-group-vertical > .btn-group:after { + clear: both; } + .btn-group-vertical > .btn-group > .btn { - float: none; -} + 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; -} + margin-left: 0; } + .btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; -} + border-radius: 0; } + .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} + border-bottom-left-radius: 0; } + .btn-group-vertical > .btn:last-child:not(:first-child) { border-bottom-left-radius: 4px; border-top-right-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} + 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; -} + border-bottom-left-radius: 0; } + .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-right-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .btn-group-justified { display: table; width: 100%; table-layout: fixed; - border-collapse: separate; -} -.btn-group-justified > .btn, -.btn-group-justified > .btn-group { - float: none; - display: table-cell; - width: 1%; -} -.btn-group-justified > .btn-group .btn { - width: 100%; -} -.btn-group-justified > .btn-group .dropdown-menu { - left: auto; -} + border-collapse: separate; } + .btn-group-justified > .btn, + .btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; } + .btn-group-justified > .btn-group .btn { + width: 100%; } + .btn-group-justified > .btn-group .dropdown-menu { + left: auto; } + [data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], -[data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); - pointer-events: none; -} + pointer-events: none; } + .input-group { position: relative; display: table; - border-collapse: separate; -} -.input-group[class*="col-"] { - float: none; - padding-left: 0; - padding-right: 0; -} -.input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; -} -.input-group-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.33; - 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; -} -textarea.input-group-lg > .form-control, -textarea.input-group-lg > .input-group-addon, -textarea.input-group-lg > .input-group-btn > .btn, -select[multiple].input-group-lg > .form-control, -select[multiple].input-group-lg > .input-group-addon, -select[multiple].input-group-lg > .input-group-btn > .btn { - 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; -} -textarea.input-group-sm > .form-control, -textarea.input-group-sm > .input-group-addon, -textarea.input-group-sm > .input-group-btn > .btn, -select[multiple].input-group-sm > .form-control, -select[multiple].input-group-sm > .input-group-addon, -select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; -} + border-collapse: separate; } + .input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; } + .input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } + .input-group-addon, .input-group-btn, .input-group .form-control { - display: table-cell; -} -.input-group-addon:not(:first-child):not(:last-child), -.input-group-btn:not(:first-child):not(:last-child), -.input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; -} + display: table-cell; } + .input-group-addon:not(:first-child):not(:last-child), + .input-group-btn:not(:first-child):not(:last-child), + .input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; } + .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; - vertical-align: middle; -} + vertical-align: middle; } + .input-group-addon { padding: 6px 12px; font-size: 14px; @@ -3518,23 +3603,22 @@ color: #555555; text-align: center; background-color: #eeeeee; - border: 1px solid #cccccc; - 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="radio"], -.input-group-addon input[type="checkbox"] { - margin-top: 0; -} + border: 1px solid #ccc; + border-radius: 4px; } + .input-group-addon.input-sm, .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; } + .input-group-addon.input-lg, .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } + .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, @@ -3543,11 +3627,11 @@ .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; - border-top-right-radius: 0; -} + border-top-right-radius: 0; } + .input-group-addon:first-child { - border-right: 0; -} + border-right: 0; } + .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, @@ -3556,356 +3640,283 @@ .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .input-group-addon:last-child { - border-left: 0; -} + border-left: 0; } + .input-group-btn { position: relative; font-size: 0; - white-space: nowrap; -} -.input-group-btn > .btn { - position: relative; -} -.input-group-btn > .btn + .btn { - margin-left: -1px; -} -.input-group-btn > .btn:hover, -.input-group-btn > .btn:focus, -.input-group-btn > .btn:active { - z-index: 2; -} -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { - margin-left: -1px; -} + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:hover, + .input-group-btn > .btn:focus, + .input-group-btn > .btn:active { + z-index: 2; } + .input-group-btn:first-child > .btn, + .input-group-btn:first-child > .btn-group { + margin-right: -1px; } + .input-group-btn:last-child > .btn, + .input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; } + .nav { margin-bottom: 0; padding-left: 0; - list-style: none; -} -.nav > li { - position: relative; - display: block; -} -.nav > li > a { - position: relative; - display: block; - padding: 10px 15px; -} -.nav > li > a:hover, -.nav > li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.nav > li.disabled > a { - color: #777777; -} -.nav > li.disabled > a:hover, -.nav > li.disabled > a:focus { - color: #777777; - text-decoration: none; - background-color: transparent; - cursor: not-allowed; -} -.nav .open > a, -.nav .open > a:hover, -.nav .open > a:focus { - background-color: #eeeeee; - border-color: #337ab7; -} -.nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; -} -.nav > li > a > img { - max-width: none; -} + list-style: none; } + .nav:before, + .nav:after { + content: " "; + display: table; } + .nav:after { + clear: both; } + .nav > li { + position: relative; + display: block; } + .nav > li > a { + position: relative; + display: block; + padding: 10px 15px; } + .nav > li > a:hover, + .nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .nav > li.disabled > a { + color: #777777; } + .nav > li.disabled > a:hover, + .nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; } + .nav .open > a, + .nav .open > a:hover, + .nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; } + .nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } + .nav > li > a > img { + max-width: none; } + .nav-tabs { - border-bottom: 1px solid #dddddd; -} -.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: #eeeeee #eeeeee #dddddd; -} -.nav-tabs > li.active > a, -.nav-tabs > li.active > a:hover, -.nav-tabs > li.active > a:focus { - color: #555555; - background-color: #ffffff; - border: 1px solid #dddddd; - border-bottom-color: transparent; - cursor: default; -} -.nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; -} -.nav-tabs.nav-justified > li { - float: none; -} -.nav-tabs.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.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:hover, -.nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} + border-bottom: 1px solid #ddd; } + .nav-tabs > li { + float: left; + margin-bottom: -1px; } + .nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; } + .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; } + .nav-tabs > li.active > a, + .nav-tabs > li.active > a:hover, + .nav-tabs > li.active > a:focus { + color: #555555; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; } + .nav-pills > li { - float: left; -} -.nav-pills > li > a { - border-radius: 4px; -} -.nav-pills > li + li { - margin-left: 2px; -} -.nav-pills > li.active > a, -.nav-pills > li.active > a:hover, -.nav-pills > li.active > a:focus { - color: #ffffff; - background-color: #337ab7; -} + float: left; } + .nav-pills > li > a { + border-radius: 4px; } + .nav-pills > li + li { + margin-left: 2px; } + .nav-pills > li.active > a, + .nav-pills > li.active > a:hover, + .nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; } + .nav-stacked > li { - float: none; -} -.nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; -} -.nav-justified { - width: 100%; -} -.nav-justified > li { - float: none; -} -.nav-justified > li > a { - text-align: center; - margin-bottom: 5px; -} -.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; -} -@media (min-width: 768px) { - .nav-justified > li { - 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:hover, -.nav-tabs-justified > .active > a:focus { - border: 1px solid #dddddd; -} -@media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #dddddd; - border-radius: 4px 4px 0 0; - } + float: none; } + .nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; } + +.nav-justified, .nav-tabs.nav-justified { + width: 100%; } + .nav-justified > li, .nav-tabs.nav-justified > li { + float: none; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; } + .nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; } + @media (min-width: 768px) { + .nav-justified > li, .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; } + .nav-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-bottom: 0; } } + +.nav-tabs-justified, .nav-tabs.nav-justified { + border-bottom: 0; } + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; } .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #ffffff; - } -} + .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; } + @media (min-width: 768px) { + .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; } + .nav-tabs-justified > .active > a, + .nav-tabs.nav-justified > .active > a, .nav-tabs-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus, .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; } } + .tab-content > .tab-pane { - display: none; - visibility: hidden; -} + display: none; } + .tab-content > .active { - display: block; - visibility: visible; -} + display: block; } + .nav-tabs .dropdown-menu { margin-top: -1px; border-top-right-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .navbar { position: relative; min-height: 50px; margin-bottom: 20px; - border: 1px solid transparent; -} -@media (min-width: 768px) { - .navbar { - border-radius: 4px; - } -} + border: 1px solid transparent; } + .navbar:before, + .navbar:after { + content: " "; + display: table; } + .navbar:after { + clear: both; } + @media (min-width: 768px) { + .navbar { + border-radius: 4px; } } + +.navbar-header:before, +.navbar-header:after { + content: " "; + display: table; } + +.navbar-header:after { + clear: both; } + @media (min-width: 768px) { .navbar-header { - float: left; - } -} + float: left; } } + .navbar-collapse { overflow-x: visible; padding-right: 15px; padding-left: 15px; border-top: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); - -webkit-overflow-scrolling: touch; -} -.navbar-collapse.in { - overflow-y: auto; -} -@media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - visibility: visible !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } + -webkit-overflow-scrolling: touch; } + .navbar-collapse:before, + .navbar-collapse:after { + content: " "; + display: table; } + .navbar-collapse:after { + clear: both; } .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-left: 0; - padding-right: 0; - } -} + overflow-y: auto; } + @media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; } + .navbar-collapse.in { + overflow-y: visible; } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; } } + .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { - max-height: 340px; -} -@media (max-device-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } -} + max-height: 340px; } + @media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; } } + .container > .navbar-header, +.container > .navbar-collapse, .container-fluid > .navbar-header, -.container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; - margin-left: -15px; -} -@media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } -} + margin-left: -15px; } + @media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-header, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; } } + .navbar-static-top { z-index: 1000; - border-width: 0 0 1px; -} -@media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } -} + border-width: 0 0 1px; } + @media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; } } + .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; - z-index: 1030; -} -@media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } -} + z-index: 1030; } + @media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } + .navbar-fixed-top { top: 0; - border-width: 0 0 1px; -} + border-width: 0 0 1px; } + .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; - border-width: 1px 0 0; -} + border-width: 1px 0 0; } + .navbar-brand { float: left; padding: 15px 15px; font-size: 18px; line-height: 20px; - height: 50px; -} -.navbar-brand:hover, -.navbar-brand:focus { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} -@media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } -} + height: 50px; } + .navbar-brand:hover, + .navbar-brand:focus { + text-decoration: none; } + .navbar-brand > img { + display: block; } + @media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; } } + .navbar-toggle { position: relative; float: right; @@ -3916,68 +3927,53 @@ 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; - } -} + border-radius: 4px; } + .navbar-toggle:focus { + outline: 0; } + .navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; } + .navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; } + @media (min-width: 768px) { + .navbar-toggle { + display: none; } } + .navbar-nav { - margin: 7.5px -15px; -} -.navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; -} -@media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } -} -@media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } + margin: 7.5px -15px; } .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; } + @media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; } } + @media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; } + .navbar-nav > li { + float: left; } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; } } + .navbar-form { margin-left: -15px; margin-right: -15px; @@ -3986,1354 +3982,1231 @@ border-bottom: 1px solid transparent; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); margin-top: 8px; - margin-bottom: 8px; -} -@media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .form-control-static { - display: inline-block; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } -} -@media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } - .navbar-form .form-group:last-child { - margin-bottom: 0; - } -} -@media (min-width: 768px) { - .navbar-form { - width: auto; - border: 0; - margin-left: 0; - margin-right: 0; - padding-top: 0; - padding-bottom: 0; - box-shadow: none; - } -} + margin-bottom: 8px; } + @media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .navbar-form .form-control-static { + display: inline-block; } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; } + .navbar-form .input-group > .form-control { + width: 100%; } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; } + .navbar-form .has-feedback .form-control-feedback { + top: 0; } } + @media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; } + .navbar-form .form-group:last-child { + margin-bottom: 0; } } + @media (min-width: 768px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + box-shadow: none; } } + .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-right-radius: 0; - border-top-left-radius: 0; -} + border-top-left-radius: 0; } + .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; border-top-right-radius: 4px; border-top-left-radius: 4px; border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} + 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; -} + margin-bottom: 8px; } + .navbar-btn.btn-sm, .btn-group-sm > .navbar-btn.btn { + margin-top: 10px; + margin-bottom: 10px; } + .navbar-btn.btn-xs, .btn-group-xs > .navbar-btn.btn { + margin-top: 14px; + margin-bottom: 14px; } + .navbar-text { margin-top: 15px; - margin-bottom: 15px; -} -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-left: 15px; - margin-right: 15px; - } -} + margin-bottom: 15px; } + @media (min-width: 768px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; } } + @media (min-width: 768px) { .navbar-left { - float: left !important; - } + float: left !important; } .navbar-right { float: right !important; - margin-right: -15px; - } - .navbar-right ~ .navbar-right { - margin-right: 0; - } -} + margin-right: -15px; } + .navbar-right ~ .navbar-right { + margin-right: 0; } } + .navbar-default { background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777777; -} -.navbar-default .navbar-brand:hover, -.navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; -} -.navbar-default .navbar-text { - color: #777777; -} -.navbar-default .navbar-nav > li > a { - color: #777777; -} -.navbar-default .navbar-nav > li > a:hover, -.navbar-default .navbar-nav > li > a:focus { - color: #333333; - background-color: transparent; -} -.navbar-default .navbar-nav > .active > a, -.navbar-default .navbar-nav > .active > a:hover, -.navbar-default .navbar-nav > .active > a:focus { - color: #555555; - background-color: #e7e7e7; -} -.navbar-default .navbar-nav > .disabled > a, -.navbar-default .navbar-nav > .disabled > a:hover, -.navbar-default .navbar-nav > .disabled > a:focus { - color: #cccccc; - background-color: transparent; -} -.navbar-default .navbar-toggle { - border-color: #dddddd; -} -.navbar-default .navbar-toggle:hover, -.navbar-default .navbar-toggle:focus { - background-color: #dddddd; -} -.navbar-default .navbar-toggle .icon-bar { - background-color: #888888; -} -.navbar-default .navbar-collapse, -.navbar-default .navbar-form { - border-color: #e7e7e7; -} -.navbar-default .navbar-nav > .open > a, -.navbar-default .navbar-nav > .open > a:hover, -.navbar-default .navbar-nav > .open > a:focus { - background-color: #e7e7e7; - color: #555555; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #555555; + border-color: #e7e7e7; } + .navbar-default .navbar-brand { + color: #777; } + .navbar-default .navbar-brand:hover, + .navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; } + .navbar-default .navbar-text { + color: #777; } + .navbar-default .navbar-nav > li > a { + color: #777; } + .navbar-default .navbar-nav > li > a:hover, + .navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; } + .navbar-default .navbar-nav > .active > a, + .navbar-default .navbar-nav > .active > a:hover, + .navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; } + .navbar-default .navbar-nav > .disabled > a, + .navbar-default .navbar-nav > .disabled > a:hover, + .navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; } + .navbar-default .navbar-toggle { + border-color: #ddd; } + .navbar-default .navbar-toggle:hover, + .navbar-default .navbar-toggle:focus { + background-color: #ddd; } + .navbar-default .navbar-toggle .icon-bar { + background-color: #888; } + .navbar-default .navbar-collapse, + .navbar-default .navbar-form { + border-color: #e7e7e7; } + .navbar-default .navbar-nav > .open > a, + .navbar-default .navbar-nav > .open > a:hover, + .navbar-default .navbar-nav > .open > a:focus { background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #cccccc; - background-color: transparent; - } -} -.navbar-default .navbar-link { - color: #777777; -} -.navbar-default .navbar-link:hover { - color: #333333; -} -.navbar-default .btn-link { - color: #777777; -} -.navbar-default .btn-link:hover, -.navbar-default .btn-link:focus { - color: #333333; -} -.navbar-default .btn-link[disabled]:hover, -fieldset[disabled] .navbar-default .btn-link:hover, -.navbar-default .btn-link[disabled]:focus, -fieldset[disabled] .navbar-default .btn-link:focus { - color: #cccccc; -} + color: #555; } + @media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; } } + .navbar-default .navbar-link { + color: #777; } + .navbar-default .navbar-link:hover { + color: #333; } + .navbar-default .btn-link { + color: #777; } + .navbar-default .btn-link:hover, + .navbar-default .btn-link:focus { + color: #333; } + .navbar-default .btn-link[disabled]:hover, + .navbar-default .btn-link[disabled]:focus, + fieldset[disabled] .navbar-default .btn-link:hover, + fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; } + .navbar-inverse { - background-color: #222222; - border-color: #080808; -} -.navbar-inverse .navbar-brand { - color: #9d9d9d; -} -.navbar-inverse .navbar-brand:hover, -.navbar-inverse .navbar-brand:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a { - color: #9d9d9d; -} -.navbar-inverse .navbar-nav > li > a:hover, -.navbar-inverse .navbar-nav > li > a:focus { - color: #ffffff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, -.navbar-inverse .navbar-nav > .active > a:hover, -.navbar-inverse .navbar-nav > .active > a:focus { - color: #ffffff; - background-color: #080808; -} -.navbar-inverse .navbar-nav > .disabled > a, -.navbar-inverse .navbar-nav > .disabled > a:hover, -.navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444444; - background-color: transparent; -} -.navbar-inverse .navbar-toggle { - border-color: #333333; -} -.navbar-inverse .navbar-toggle:hover, -.navbar-inverse .navbar-toggle:focus { - background-color: #333333; -} -.navbar-inverse .navbar-toggle .icon-bar { - background-color: #ffffff; -} -.navbar-inverse .navbar-collapse, -.navbar-inverse .navbar-form { - border-color: #101010; -} -.navbar-inverse .navbar-nav > .open > a, -.navbar-inverse .navbar-nav > .open > a:hover, -.navbar-inverse .navbar-nav > .open > a:focus { - background-color: #080808; - color: #ffffff; -} -@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:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #ffffff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { - color: #ffffff; - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444444; - background-color: transparent; - } -} -.navbar-inverse .navbar-link { - color: #9d9d9d; -} -.navbar-inverse .navbar-link:hover { - color: #ffffff; -} -.navbar-inverse .btn-link { - color: #9d9d9d; -} -.navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link:focus { - color: #ffffff; -} -.navbar-inverse .btn-link[disabled]:hover, -fieldset[disabled] .navbar-inverse .btn-link:hover, -.navbar-inverse .btn-link[disabled]:focus, -fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444444; -} + background-color: #222; + border-color: #090909; } + .navbar-inverse .navbar-brand { + color: #9d9d9d; } + .navbar-inverse .navbar-brand:hover, + .navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-text { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav > li > a:hover, + .navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav > .active > a, + .navbar-inverse .navbar-nav > .active > a:hover, + .navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav > .disabled > a, + .navbar-inverse .navbar-nav > .disabled > a:hover, + .navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; } + .navbar-inverse .navbar-toggle { + border-color: #333; } + .navbar-inverse .navbar-toggle:hover, + .navbar-inverse .navbar-toggle:focus { + background-color: #333; } + .navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; } + .navbar-inverse .navbar-collapse, + .navbar-inverse .navbar-form { + border-color: #101010; } + .navbar-inverse .navbar-nav > .open > a, + .navbar-inverse .navbar-nav > .open > a:hover, + .navbar-inverse .navbar-nav > .open > a:focus { + background-color: #090909; + color: #fff; } + @media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #090909; } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; } } + .navbar-inverse .navbar-link { + color: #9d9d9d; } + .navbar-inverse .navbar-link:hover { + color: #fff; } + .navbar-inverse .btn-link { + color: #9d9d9d; } + .navbar-inverse .btn-link:hover, + .navbar-inverse .btn-link:focus { + color: #fff; } + .navbar-inverse .btn-link[disabled]:hover, + .navbar-inverse .btn-link[disabled]:focus, + fieldset[disabled] .navbar-inverse .btn-link:hover, + fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; } + .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; - border-radius: 4px; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - content: "/\00a0"; - padding: 0 5px; - color: #cccccc; -} -.breadcrumb > .active { - color: #777777; -} + border-radius: 4px; } + .breadcrumb > li { + display: inline-block; } + .breadcrumb > li + li:before { + content: "/\\00a0"; + padding: 0 5px; + color: #ccc; } + .breadcrumb > .active { + color: #777777; } + .pagination { display: inline-block; padding-left: 0; margin: 20px 0; - border-radius: 4px; -} -.pagination > li { - display: inline; -} -.pagination > li > a, -.pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - line-height: 1.42857143; - text-decoration: none; - color: #337ab7; - background-color: #ffffff; - border: 1px solid #dddddd; - margin-left: -1px; -} -.pagination > li:first-child > a, -.pagination > li:first-child > span { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.pagination > li:last-child > a, -.pagination > li:last-child > span { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.pagination > li > a:hover, -.pagination > li > span:hover, -.pagination > li > a:focus, -.pagination > li > span:focus { - color: #23527c; - background-color: #eeeeee; - border-color: #dddddd; -} -.pagination > .active > a, -.pagination > .active > span, -.pagination > .active > a:hover, -.pagination > .active > span:hover, -.pagination > .active > a:focus, -.pagination > .active > span:focus { - z-index: 2; - color: #ffffff; - background-color: #337ab7; - border-color: #337ab7; - cursor: default; -} -.pagination > .disabled > span, -.pagination > .disabled > span:hover, -.pagination > .disabled > span:focus, -.pagination > .disabled > a, -.pagination > .disabled > a:hover, -.pagination > .disabled > a:focus { - color: #777777; - background-color: #ffffff; - border-color: #dddddd; - cursor: not-allowed; -} + border-radius: 4px; } + .pagination > li { + display: inline; } + .pagination > li > a, + .pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ddd; + margin-left: -1px; } + .pagination > li:first-child > a, + .pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; } + .pagination > li:last-child > a, + .pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; } + .pagination > li > a:hover, + .pagination > li > a:focus, + .pagination > li > span:hover, + .pagination > li > span:focus { + z-index: 3; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; } + .pagination > .active > a, + .pagination > .active > a:hover, + .pagination > .active > a:focus, + .pagination > .active > span, + .pagination > .active > span:hover, + .pagination > .active > span:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; } + .pagination > .disabled > span, + .pagination > .disabled > span:hover, + .pagination > .disabled > span:focus, + .pagination > .disabled > a, + .pagination > .disabled > a:hover, + .pagination > .disabled > a:focus { + color: #777777; + background-color: #fff; + border-color: #ddd; + cursor: not-allowed; } + .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; -} + line-height: 1.33333; } + .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-bottom-left-radius: 6px; - border-top-left-radius: 6px; -} + border-top-left-radius: 6px; } + .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-bottom-right-radius: 6px; - border-top-right-radius: 6px; -} + border-top-right-radius: 6px; } + .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; -} + line-height: 1.5; } + .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-bottom-left-radius: 3px; - border-top-left-radius: 3px; -} + border-top-left-radius: 3px; } + .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-bottom-right-radius: 3px; - border-top-right-radius: 3px; -} + border-top-right-radius: 3px; } + .pager { padding-left: 0; margin: 20px 0; list-style: none; - text-align: center; -} -.pager li { - display: inline; -} -.pager li > a, -.pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #ffffff; - border: 1px solid #dddddd; - border-radius: 15px; -} -.pager li > a:hover, -.pager li > a:focus { - text-decoration: none; - background-color: #eeeeee; -} -.pager .next > a, -.pager .next > span { - float: right; -} -.pager .previous > a, -.pager .previous > span { - float: left; -} -.pager .disabled > a, -.pager .disabled > a:hover, -.pager .disabled > a:focus, -.pager .disabled > span { - color: #777777; - background-color: #ffffff; - cursor: not-allowed; -} + text-align: center; } + .pager:before, + .pager:after { + content: " "; + display: table; } + .pager:after { + clear: both; } + .pager li { + display: inline; } + .pager li > a, + .pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; } + .pager li > a:hover, + .pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; } + .pager .next > a, + .pager .next > span { + float: right; } + .pager .previous > a, + .pager .previous > span { + float: left; } + .pager .disabled > a, + .pager .disabled > a:hover, + .pager .disabled > a:focus, + .pager .disabled > span { + color: #777777; + background-color: #fff; + cursor: not-allowed; } + .label { display: inline; - padding: .2em .6em .3em; + padding: 0.2em 0.6em 0.3em; font-size: 75%; font-weight: bold; line-height: 1; - color: #ffffff; + color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: .25em; -} + border-radius: .25em; } + .label:empty { + display: none; } + .btn .label { + position: relative; + top: -1px; } + a.label:hover, a.label:focus { - color: #ffffff; + color: #fff; text-decoration: none; - cursor: pointer; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} + cursor: pointer; } + .label-default { - background-color: #777777; -} -.label-default[href]:hover, -.label-default[href]:focus { - background-color: #5e5e5e; -} + background-color: #777777; } + .label-default[href]:hover, + .label-default[href]:focus { + background-color: #5e5e5e; } + .label-primary { - background-color: #337ab7; -} -.label-primary[href]:hover, -.label-primary[href]:focus { - background-color: #286090; -} + background-color: #337ab7; } + .label-primary[href]:hover, + .label-primary[href]:focus { + background-color: #286090; } + .label-success { - background-color: #5cb85c; -} -.label-success[href]:hover, -.label-success[href]:focus { - background-color: #449d44; -} + background-color: #5cb85c; } + .label-success[href]:hover, + .label-success[href]:focus { + background-color: #449d44; } + .label-info { - background-color: #5bc0de; -} -.label-info[href]:hover, -.label-info[href]:focus { - background-color: #31b0d5; -} + background-color: #5bc0de; } + .label-info[href]:hover, + .label-info[href]:focus { + background-color: #31b0d5; } + .label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:hover, -.label-warning[href]:focus { - background-color: #ec971f; -} + background-color: #f0ad4e; } + .label-warning[href]:hover, + .label-warning[href]:focus { + background-color: #ec971f; } + .label-danger { - background-color: #d9534f; -} -.label-danger[href]:hover, -.label-danger[href]:focus { - background-color: #c9302c; -} + background-color: #d9534f; } + .label-danger[href]:hover, + .label-danger[href]:focus { + background-color: #c9302c; } + .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; - color: #ffffff; + color: #fff; line-height: 1; - vertical-align: baseline; + vertical-align: middle; white-space: nowrap; text-align: center; background-color: #777777; - border-radius: 10px; -} -.badge:empty { - display: none; -} -.btn .badge { - position: relative; - top: -1px; -} -.btn-xs .badge { - top: 0; - padding: 1px 5px; -} + border-radius: 10px; } + .badge:empty { + display: none; } + .btn .badge { + position: relative; + top: -1px; } + .btn-xs .badge, + .btn-group-xs > .btn .badge, + .btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; } + .list-group-item.active > .badge, + .nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; } + .list-group-item > .badge { + float: right; } + .list-group-item > .badge + .badge { + margin-right: 5px; } + .nav-pills > li > a > .badge { + margin-left: 3px; } + a.badge:hover, a.badge:focus { - color: #ffffff; + color: #fff; text-decoration: none; - cursor: pointer; -} -.list-group-item.active > .badge, -.nav-pills > .active > a > .badge { - color: #337ab7; - background-color: #ffffff; -} -.list-group-item > .badge { - float: right; -} -.list-group-item > .badge + .badge { - margin-right: 5px; -} -.nav-pills > li > a > .badge { - margin-left: 3px; -} + cursor: pointer; } + .jumbotron { - padding: 30px 15px; + padding-top: 30px; + padding-bottom: 30px; margin-bottom: 30px; color: inherit; - background-color: #eeeeee; -} -.jumbotron h1, -.jumbotron .h1 { - color: inherit; -} -.jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; -} -.jumbotron > hr { - border-top-color: #d5d5d5; -} -.container .jumbotron, -.container-fluid .jumbotron { - border-radius: 6px; -} -.jumbotron .container { - max-width: 100%; -} -@media screen and (min-width: 768px) { - .jumbotron { - padding: 48px 0; - } + background-color: #eeeeee; } + .jumbotron h1, + .jumbotron .h1 { + color: inherit; } + .jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; } + .jumbotron > hr { + border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { - padding-left: 60px; - padding-right: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } -} + 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-left: 60px; + padding-right: 60px; } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; } } + .thumbnail { display: block; padding: 4px; margin-bottom: 20px; - line-height: 1.42857143; - background-color: #ffffff; - border: 1px solid #dddddd; + line-height: 1.42857; + background-color: #fff; + border: 1px solid #ddd; border-radius: 4px; - transition: border 0.2s ease-in-out; -} -.thumbnail > img, -.thumbnail a > img { - margin-left: auto; - margin-right: auto; -} + transition: border 0.2s ease-in-out; } + .thumbnail > img, + .thumbnail a > img { + display: block; + max-width: 100%; + height: auto; + margin-left: auto; + margin-right: auto; } + .thumbnail .caption { + padding: 9px; + color: #333333; } + a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { - border-color: #337ab7; -} -.thumbnail .caption { - padding: 9px; - color: #333333; -} + border-color: #337ab7; } + .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable, -.alert-dismissible { - padding-right: 35px; -} -.alert-dismissable .close, -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} + border-radius: 4px; } + .alert h4 { + margin-top: 0; + color: inherit; } + .alert .alert-link { + font-weight: bold; } + .alert > p, + .alert > ul { + margin-bottom: 0; } + .alert > p + p { + margin-top: 5px; } + +.alert-dismissable, .alert-dismissible { + padding-right: 35px; } + .alert-dismissable .close, .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } + .alert-success { background-color: #dff0d8; border-color: #d6e9c6; - color: #3c763d; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} + color: #3c763d; } + .alert-success hr { + border-top-color: #c9e2b3; } + .alert-success .alert-link { + color: #2b542c; } + .alert-info { background-color: #d9edf7; border-color: #bce8f1; - color: #31708f; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} + color: #31708f; } + .alert-info hr { + border-top-color: #a6e1ec; } + .alert-info .alert-link { + color: #245269; } + .alert-warning { background-color: #fcf8e3; border-color: #faebcc; - color: #8a6d3b; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} + color: #8a6d3b; } + .alert-warning hr { + border-top-color: #f7e1b5; } + .alert-warning .alert-link { + color: #66512c; } + .alert-danger { background-color: #f2dede; border-color: #ebccd1; - color: #a94442; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} + color: #a94442; } + .alert-danger hr { + border-top-color: #e4b9c0; } + .alert-danger .alert-link { + color: #843534; } + @-webkit-keyframes progress-bar-stripes { from { - background-position: 40px 0; - } + background-position: 40px 0; } to { - background-position: 0 0; - } -} + background-position: 0 0; } } + @keyframes progress-bar-stripes { from { - background-position: 40px 0; - } + background-position: 40px 0; } to { - background-position: 0 0; - } -} + background-position: 0 0; } } + .progress { overflow: hidden; height: 20px; margin-bottom: 20px; background-color: #f5f5f5; border-radius: 4px; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -} + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } + .progress-bar { float: left; width: 0%; height: 100%; font-size: 12px; line-height: 20px; - color: #ffffff; + color: #fff; text-align: center; background-color: #337ab7; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); - transition: width 0.6s ease; -} + transition: width 0.6s ease; } + .progress-striped .progress-bar, .progress-bar-striped { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 40px 40px; -} + background-size: 40px 40px; } + .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; - 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: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} + background-color: #5cb85c; } + .progress-striped .progress-bar-success { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + .progress-bar-info { - background-color: #5bc0de; -} -.progress-striped .progress-bar-info { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} + background-color: #5bc0de; } + .progress-striped .progress-bar-info { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + .progress-bar-warning { - background-color: #f0ad4e; -} -.progress-striped .progress-bar-warning { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} + background-color: #f0ad4e; } + .progress-striped .progress-bar-warning { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + .progress-bar-danger { - background-color: #d9534f; -} -.progress-striped .progress-bar-danger { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); -} + background-color: #d9534f; } + .progress-striped .progress-bar-danger { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } + .media { - margin-top: 15px; -} -.media:first-child { - margin-top: 0; -} + margin-top: 15px; } + .media:first-child { + margin-top: 0; } + +.media, +.media-body { + zoom: 1; + overflow: hidden; } + +.media-body { + width: 10000px; } + +.media-object { + display: block; } + .media-object.img-thumbnail { + max-width: none; } + .media-right, .media > .pull-right { - padding-left: 10px; -} + padding-left: 10px; } + .media-left, .media > .pull-left { - padding-right: 10px; -} + padding-right: 10px; } + .media-left, .media-right, .media-body { display: table-cell; - vertical-align: top; -} + vertical-align: top; } + .media-middle { - vertical-align: middle; -} + vertical-align: middle; } + .media-bottom { - vertical-align: bottom; -} + vertical-align: bottom; } + .media-heading { margin-top: 0; - margin-bottom: 5px; -} + margin-bottom: 5px; } + .media-list { padding-left: 0; - list-style: none; -} + list-style: none; } + .list-group { margin-bottom: 20px; - padding-left: 0; -} + padding-left: 0; } + .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; - background-color: #ffffff; - border: 1px solid #dddddd; -} -.list-group-item:first-child { - border-top-right-radius: 4px; - border-top-left-radius: 4px; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; -} -a.list-group-item { - color: #555555; -} -a.list-group-item .list-group-item-heading { - color: #333333; -} -a.list-group-item:hover, -a.list-group-item:focus { - text-decoration: none; - color: #555555; - background-color: #f5f5f5; -} + background-color: #fff; + border: 1px solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } + +a.list-group-item, +button.list-group-item { + color: #555; } + a.list-group-item .list-group-item-heading, + button.list-group-item .list-group-item-heading { + color: #333; } + a.list-group-item:hover, + a.list-group-item:focus, + button.list-group-item:hover, + button.list-group-item:focus { + text-decoration: none; + color: #555; + background-color: #f5f5f5; } + +button.list-group-item { + width: 100%; + text-align: left; } + .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { background-color: #eeeeee; color: #777777; - cursor: not-allowed; -} -.list-group-item.disabled .list-group-item-heading, -.list-group-item.disabled:hover .list-group-item-heading, -.list-group-item.disabled:focus .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, -.list-group-item.disabled:hover .list-group-item-text, -.list-group-item.disabled:focus .list-group-item-text { - color: #777777; -} + cursor: not-allowed; } + .list-group-item.disabled .list-group-item-heading, + .list-group-item.disabled:hover .list-group-item-heading, + .list-group-item.disabled:focus .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, + .list-group-item.disabled:hover .list-group-item-text, + .list-group-item.disabled:focus .list-group-item-text { + color: #777777; } + .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; - color: #ffffff; + color: #fff; background-color: #337ab7; - border-color: #337ab7; -} -.list-group-item.active .list-group-item-heading, -.list-group-item.active:hover .list-group-item-heading, -.list-group-item.active:focus .list-group-item-heading, -.list-group-item.active .list-group-item-heading > small, -.list-group-item.active:hover .list-group-item-heading > small, -.list-group-item.active:focus .list-group-item-heading > small, -.list-group-item.active .list-group-item-heading > .small, -.list-group-item.active:hover .list-group-item-heading > .small, -.list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, -.list-group-item.active:hover .list-group-item-text, -.list-group-item.active:focus .list-group-item-text { - color: #c7ddef; -} + border-color: #337ab7; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, + .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small, + .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, + .list-group-item.active:hover .list-group-item-text, + .list-group-item.active:focus .list-group-item-text { + color: #c7ddef; } + .list-group-item-success { color: #3c763d; - background-color: #dff0d8; -} -a.list-group-item-success { - color: #3c763d; -} -a.list-group-item-success .list-group-item-heading { - color: inherit; -} -a.list-group-item-success:hover, -a.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-success.active, -a.list-group-item-success.active:hover, -a.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} + background-color: #dff0d8; } + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; } + a.list-group-item-success .list-group-item-heading, + button.list-group-item-success .list-group-item-heading { + color: inherit; } + a.list-group-item-success:hover, + a.list-group-item-success:focus, + button.list-group-item-success:hover, + button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; } + a.list-group-item-success.active, + a.list-group-item-success.active:hover, + a.list-group-item-success.active:focus, + button.list-group-item-success.active, + button.list-group-item-success.active:hover, + button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } + .list-group-item-info { color: #31708f; - background-color: #d9edf7; -} -a.list-group-item-info { - color: #31708f; -} -a.list-group-item-info .list-group-item-heading { - color: inherit; -} -a.list-group-item-info:hover, -a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-info.active, -a.list-group-item-info.active:hover, -a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} + background-color: #d9edf7; } + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; } + a.list-group-item-info .list-group-item-heading, + button.list-group-item-info .list-group-item-heading { + color: inherit; } + a.list-group-item-info:hover, + a.list-group-item-info:focus, + button.list-group-item-info:hover, + button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; } + a.list-group-item-info.active, + a.list-group-item-info.active:hover, + a.list-group-item-info.active:focus, + button.list-group-item-info.active, + button.list-group-item-info.active:hover, + button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; } + .list-group-item-warning { color: #8a6d3b; - background-color: #fcf8e3; -} -a.list-group-item-warning { - color: #8a6d3b; -} -a.list-group-item-warning .list-group-item-heading { - color: inherit; -} -a.list-group-item-warning:hover, -a.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-warning.active, -a.list-group-item-warning.active:hover, -a.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} + background-color: #fcf8e3; } + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; } + a.list-group-item-warning .list-group-item-heading, + button.list-group-item-warning .list-group-item-heading { + color: inherit; } + a.list-group-item-warning:hover, + a.list-group-item-warning:focus, + button.list-group-item-warning:hover, + button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; } + a.list-group-item-warning.active, + a.list-group-item-warning.active:hover, + a.list-group-item-warning.active:focus, + button.list-group-item-warning.active, + button.list-group-item-warning.active:hover, + button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } + .list-group-item-danger { color: #a94442; - background-color: #f2dede; -} -a.list-group-item-danger { - color: #a94442; -} -a.list-group-item-danger .list-group-item-heading { - color: inherit; -} -a.list-group-item-danger:hover, -a.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-danger.active, -a.list-group-item-danger.active:hover, -a.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} + background-color: #f2dede; } + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; } + a.list-group-item-danger .list-group-item-heading, + button.list-group-item-danger .list-group-item-heading { + color: inherit; } + a.list-group-item-danger:hover, + a.list-group-item-danger:focus, + button.list-group-item-danger:hover, + button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; } + a.list-group-item-danger.active, + a.list-group-item-danger.active:hover, + a.list-group-item-danger.active:focus, + button.list-group-item-danger.active, + button.list-group-item-danger.active:hover, + button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; } + .list-group-item-heading { margin-top: 0; - margin-bottom: 5px; -} + margin-bottom: 5px; } + .list-group-item-text { margin-bottom: 0; - line-height: 1.3; -} + line-height: 1.3; } + .panel { margin-bottom: 20px; - background-color: #ffffff; + background-color: #fff; border: 1px solid transparent; border-radius: 4px; - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); -} + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } + .panel-body { - padding: 15px; -} + padding: 15px; } + .panel-body:before, + .panel-body:after { + content: " "; + display: table; } + .panel-body:after { + clear: both; } + .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel-heading > .dropdown .dropdown-toggle { - color: inherit; -} + border-top-left-radius: 3px; } + .panel-heading > .dropdown .dropdown-toggle { + color: inherit; } + .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; - color: inherit; -} -.panel-title > a { - color: inherit; -} + color: inherit; } + .panel-title > a, + .panel-title > small, + .panel-title > .small, + .panel-title > small > a, + .panel-title > .small > a { + color: inherit; } + .panel-footer { padding: 10px 15px; background-color: #f5f5f5; - border-top: 1px solid #dddddd; + border-top: 1px solid #ddd; border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} + border-bottom-left-radius: 3px; } + .panel > .list-group, .panel > .panel-collapse > .list-group { - margin-bottom: 0; -} -.panel > .list-group .list-group-item, -.panel > .panel-collapse > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; -} -.panel > .list-group:first-child .list-group-item:first-child, -.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .list-group:last-child .list-group-item:last-child, -.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} + margin-bottom: 0; } + .panel > .list-group .list-group-item, + .panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; } + .panel > .list-group:first-child .list-group-item:first-child, + .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; } + .panel > .list-group:last-child .list-group-item:last-child, + .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } + +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; } + .panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; -} + border-top-width: 0; } + .list-group + .panel-footer { - border-top-width: 0; -} + border-top-width: 0; } + .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { - margin-bottom: 0; -} -.panel > .table caption, -.panel > .table-responsive > .table caption, -.panel > .panel-collapse > .table caption { - padding-left: 15px; - padding-right: 15px; -} + margin-bottom: 0; } + .panel > .table caption, + .panel > .table-responsive > .table caption, + .panel > .panel-collapse > .table caption { + padding-left: 15px; + padding-right: 15px; } + .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-right-radius: 3px; - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, -.panel > .table:first-child > tbody:first-child > tr:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .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 td:first-child, -.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; -} -.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .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 td:last-child, -.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; -} + border-top-left-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; } + .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, + .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; } + .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .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 td:first-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; -} -.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .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 td:last-child, -.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; -} + border-bottom-left-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; } + .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, + .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; } + .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { - border-top: 1px solid #dddddd; -} + border-top: 1px solid #ddd; } + .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; -} + border-top: 0; } + .panel > .table-bordered, .panel > .table-responsive > .table-bordered { - border: 0; -} -.panel > .table-bordered > thead > tr > th:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, -.panel > .table-bordered > tbody > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, -.panel > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, -.panel > .table-bordered > thead > tr > td:first-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, -.panel > .table-bordered > tbody > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, -.panel > .table-bordered > tfoot > tr > td:first-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; -} -.panel > .table-bordered > thead > tr > th:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, -.panel > .table-bordered > tbody > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, -.panel > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, -.panel > .table-bordered > thead > tr > td:last-child, -.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, -.panel > .table-bordered > tbody > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, -.panel > .table-bordered > tfoot > tr > td:last-child, -.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; -} -.panel > .table-bordered > thead > tr:first-child > td, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, -.panel > .table-bordered > tbody > tr:first-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, -.panel > .table-bordered > thead > tr:first-child > th, -.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, -.panel > .table-bordered > tbody > tr:first-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; -} -.panel > .table-bordered > tbody > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, -.panel > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, -.panel > .table-bordered > tbody > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, -.panel > .table-bordered > tfoot > tr:last-child > th, -.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; -} + border: 0; } + .panel > .table-bordered > thead > tr > th:first-child, + .panel > .table-bordered > thead > tr > td:first-child, + .panel > .table-bordered > tbody > tr > th:first-child, + .panel > .table-bordered > tbody > tr > td:first-child, + .panel > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-bordered > tfoot > tr > td:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; } + .panel > .table-bordered > thead > tr > th:last-child, + .panel > .table-bordered > thead > tr > td:last-child, + .panel > .table-bordered > tbody > tr > th:last-child, + .panel > .table-bordered > tbody > tr > td:last-child, + .panel > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-bordered > tfoot > tr > td:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, + .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; } + .panel > .table-bordered > thead > tr:first-child > td, + .panel > .table-bordered > thead > tr:first-child > th, + .panel > .table-bordered > tbody > tr:first-child > td, + .panel > .table-bordered > tbody > tr:first-child > th, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, + .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; } + .panel > .table-bordered > tbody > tr:last-child > td, + .panel > .table-bordered > tbody > tr:last-child > th, + .panel > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-bordered > tfoot > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, + .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; } + .panel > .table-responsive { border: 0; - margin-bottom: 0; -} + margin-bottom: 0; } + .panel-group { - margin-bottom: 20px; -} -.panel-group .panel { - margin-bottom: 0; - border-radius: 4px; -} -.panel-group .panel + .panel { - margin-top: 5px; -} -.panel-group .panel-heading { - border-bottom: 0; -} -.panel-group .panel-heading + .panel-collapse > .panel-body, -.panel-group .panel-heading + .panel-collapse > .list-group { - border-top: 1px solid #dddddd; -} -.panel-group .panel-footer { - border-top: 0; -} -.panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #dddddd; -} + margin-bottom: 20px; } + .panel-group .panel { + margin-bottom: 0; + border-radius: 4px; } + .panel-group .panel + .panel { + margin-top: 5px; } + .panel-group .panel-heading { + border-bottom: 0; } + .panel-group .panel-heading + .panel-collapse > .panel-body, + .panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; } + .panel-group .panel-footer { + border-top: 0; } + .panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; } + .panel-default { - border-color: #dddddd; -} -.panel-default > .panel-heading { - color: #333333; - background-color: #f5f5f5; - border-color: #dddddd; -} -.panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #dddddd; -} -.panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333333; -} -.panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #dddddd; -} + border-color: #ddd; } + .panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; } + .panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; } + .panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; } + .panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; } + .panel-primary { - border-color: #337ab7; -} -.panel-primary > .panel-heading { - color: #ffffff; - 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: #ffffff; -} -.panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #337ab7; -} + 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; -} + 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; -} + 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; -} + 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; -} + border-color: #ebccd1; } + .panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; } + .panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; } + .panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; } + .panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; } + .embed-responsive { position: relative; display: block; height: 0; padding: 0; - overflow: hidden; -} -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - left: 0; - bottom: 0; - height: 100%; - width: 100%; - border: 0; -} -.embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; -} -.embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; -} + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; } + +.embed-responsive-16by9 { + padding-bottom: 56.25%; } + +.embed-responsive-4by3 { + padding-bottom: 75%; } + .well { min-height: 20px; padding: 19px; @@ -5341,48 +5214,46 @@ background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); -} -.well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, 0.15); -} + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } + .well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); } + .well-lg { padding: 24px; - border-radius: 6px; -} + border-radius: 6px; } + .well-sm { padding: 9px; - border-radius: 3px; -} + border-radius: 3px; } + .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; - color: #000000; - text-shadow: 0 1px 0 #ffffff; + color: #000; + text-shadow: 0 1px 0 #fff; opacity: 0.2; - filter: alpha(opacity=20); -} -.close:hover, -.close:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.5; - filter: alpha(opacity=50); -} + filter: alpha(opacity=20); } + .close:hover, + .close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); } + button.close { padding: 0; cursor: pointer; background: transparent; border: 0; - -webkit-appearance: none; -} + -webkit-appearance: none; } + .modal-open { - overflow: hidden; -} + overflow: hidden; } + .modal { display: none; overflow: hidden; @@ -5391,215 +5262,215 @@ right: 0; bottom: 0; left: 0; - z-index: 1040; + z-index: 1050; -webkit-overflow-scrolling: touch; - outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transform: translate(0, -25%); - -ms-transform: translate(0, -25%); - transform: translate(0, -25%); - transition: -webkit-transform 0.3s ease-out; - transition: transform 0.3s ease-out; -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - transform: translate(0, 0); -} + outline: 0; } + .modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; } + .modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } + .modal-open .modal { overflow-x: hidden; - overflow-y: auto; -} + overflow-y: auto; } + .modal-dialog { position: relative; width: auto; - margin: 10px; -} + margin: 10px; } + .modal-content { position: relative; - background-color: #ffffff; - border: 1px solid #999999; + background-color: #fff; + border: 1px solid #999; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); background-clip: padding-box; - outline: 0; -} + outline: 0; } + .modal-backdrop { - position: absolute; + position: fixed; top: 0; right: 0; + bottom: 0; left: 0; - background-color: #000000; -} -.modal-backdrop.fade { - opacity: 0; - filter: alpha(opacity=0); -} -.modal-backdrop.in { - opacity: 0.5; - filter: alpha(opacity=50); -} + z-index: 1040; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); } + .modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); } + .modal-header { padding: 15px; border-bottom: 1px solid #e5e5e5; - min-height: 16.42857143px; -} + min-height: 16.42857px; } + .modal-header .close { - margin-top: -2px; -} + margin-top: -2px; } + .modal-title { margin: 0; - line-height: 1.42857143; -} + line-height: 1.42857; } + .modal-body { position: relative; - padding: 15px; -} + padding: 15px; } + .modal-footer { padding: 15px; text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer .btn + .btn { - margin-left: 5px; - margin-bottom: 0; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} + border-top: 1px solid #e5e5e5; } + .modal-footer:before, + .modal-footer:after { + content: " "; + display: table; } + .modal-footer:after { + clear: both; } + .modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; } + .modal-footer .btn-group .btn + .btn { + margin-left: -1px; } + .modal-footer .btn-block + .btn-block { + margin-left: 0; } + .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; - overflow: scroll; -} + overflow: scroll; } + @media (min-width: 768px) { .modal-dialog { width: 600px; - margin: 30px auto; - } + margin: 30px auto; } .modal-content { - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); - } + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); } .modal-sm { - width: 300px; - } -} + width: 300px; } } + @media (min-width: 992px) { .modal-lg { - width: 900px; - } -} + width: 900px; } } + .tooltip { position: absolute; z-index: 1070; display: block; - visibility: visible; - font-family: "Roboto", Helvetica, Arial, sans-serif; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: normal; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; font-size: 12px; - font-weight: normal; - line-height: 1.4; opacity: 0; - filter: alpha(opacity=0); -} -.tooltip.in { - opacity: 0.9; - filter: alpha(opacity=90); -} -.tooltip.top { - margin-top: -3px; - padding: 5px 0; -} -.tooltip.right { - margin-left: 3px; - padding: 0 5px; -} -.tooltip.bottom { - margin-top: 3px; - padding: 5px 0; -} -.tooltip.left { - margin-left: -3px; - padding: 0 5px; -} + filter: alpha(opacity=0); } + .tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); } + .tooltip.top { + margin-top: -3px; + padding: 5px 0; } + .tooltip.right { + margin-left: 3px; + padding: 0 5px; } + .tooltip.bottom { + margin-top: 3px; + padding: 5px 0; } + .tooltip.left { + margin-left: -3px; + padding: 0 5px; } + .tooltip-inner { max-width: 200px; padding: 3px 8px; - color: #ffffff; + color: #fff; text-align: center; - text-decoration: none; - background-color: #000000; - border-radius: 4px; -} + background-color: #000; + border-radius: 4px; } + .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; - border-style: solid; -} + border-style: solid; } + .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; - border-top-color: #000000; -} + border-top-color: #000; } + .tooltip.top-left .tooltip-arrow { bottom: 0; right: 5px; margin-bottom: -5px; border-width: 5px 5px 0; - border-top-color: #000000; -} + border-top-color: #000; } + .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; - border-top-color: #000000; -} + border-top-color: #000; } + .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; - border-right-color: #000000; -} + border-right-color: #000; } + .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; - border-left-color: #000000; -} + border-left-color: #000; } + .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; - border-bottom-color: #000000; -} + border-bottom-color: #000; } + .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; - border-bottom-color: #000000; -} + border-bottom-color: #000; } + .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; - border-bottom-color: #000000; -} + border-bottom-color: #000; } + .popover { position: absolute; top: 0; @@ -5608,42 +5479,48 @@ display: none; max-width: 276px; padding: 1px; - font-family: "Roboto", Helvetica, Arial, sans-serif; - font-size: 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; font-weight: normal; - line-height: 1.42857143; + letter-spacing: normal; + line-break: auto; + line-height: 1.42857; text-align: left; - background-color: #ffffff; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + white-space: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + font-size: 14px; + background-color: #fff; background-clip: padding-box; - border: 1px solid #cccccc; + border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; - box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); - white-space: normal; -} -.popover.top { - margin-top: -10px; -} -.popover.right { - margin-left: 10px; -} -.popover.bottom { - margin-top: 10px; -} -.popover.left { - margin-left: -10px; -} + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } + .popover.top { + margin-top: -10px; } + .popover.right { + margin-left: 10px; } + .popover.bottom { + margin-top: 10px; } + .popover.left { + margin-left: -10px; } + .popover-title { margin: 0; padding: 8px 14px; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; -} + border-radius: 5px 5px 0 0; } + .popover-content { - padding: 9px 14px; -} + padding: 9px 14px; } + .popover > .arrow, .popover > .arrow:after { position: absolute; @@ -5651,151 +5528,135 @@ width: 0; height: 0; border-color: transparent; - border-style: solid; -} + border-style: solid; } + .popover > .arrow { - border-width: 11px; -} + border-width: 11px; } + .popover > .arrow:after { border-width: 10px; - content: ""; -} + content: ""; } + .popover.top > .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999999; border-top-color: rgba(0, 0, 0, 0.25); - bottom: -11px; -} -.popover.top > .arrow:after { - content: " "; - bottom: 1px; - margin-left: -10px; - border-bottom-width: 0; - border-top-color: #ffffff; -} + bottom: -11px; } + .popover.top > .arrow:after { + content: " "; + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #fff; } + .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999999; - border-right-color: rgba(0, 0, 0, 0.25); -} -.popover.right > .arrow:after { - content: " "; - left: 1px; - bottom: -10px; - border-left-width: 0; - border-right-color: #ffffff; -} + border-right-color: rgba(0, 0, 0, 0.25); } + .popover.right > .arrow:after { + content: " "; + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #fff; } + .popover.bottom > .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999999; border-bottom-color: rgba(0, 0, 0, 0.25); - top: -11px; -} -.popover.bottom > .arrow:after { - content: " "; - top: 1px; - margin-left: -10px; - border-top-width: 0; - border-bottom-color: #ffffff; -} + top: -11px; } + .popover.bottom > .arrow:after { + content: " "; + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #fff; } + .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999999; - border-left-color: rgba(0, 0, 0, 0.25); -} -.popover.left > .arrow:after { - content: " "; - right: 1px; - border-right-width: 0; - border-left-color: #ffffff; - bottom: -10px; -} + border-left-color: rgba(0, 0, 0, 0.25); } + .popover.left > .arrow:after { + content: " "; + right: 1px; + border-right-width: 0; + border-left-color: #fff; + bottom: -10px; } + .carousel { - position: relative; -} + position: relative; } + .carousel-inner { position: relative; overflow: hidden; - width: 100%; -} -.carousel-inner > .item { - display: none; - position: relative; - transition: 0.6s ease-in-out left; -} -.carousel-inner > .item > img, -.carousel-inner > .item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { + width: 100%; } .carousel-inner > .item { - transition: -webkit-transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000; - perspective: 1000; - } - .carousel-inner > .item.next, - .carousel-inner > .item.active.right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - left: 0; - } - .carousel-inner > .item.prev, - .carousel-inner > .item.active.left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - left: 0; - } - .carousel-inner > .item.next.left, - .carousel-inner > .item.prev.right, - .carousel-inner > .item.active { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - left: 0; - } -} -.carousel-inner > .active, -.carousel-inner > .next, -.carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, -.carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, -.carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} + display: none; + position: relative; + transition: 0.6s ease-in-out left; } + .carousel-inner > .item > img, + .carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; + line-height: 1; } + @media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; } } + .carousel-inner > .active, + .carousel-inner > .next, + .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, + .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, + .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } + .carousel-control { position: absolute; top: 0; @@ -5805,62 +5666,54 @@ opacity: 0.5; filter: alpha(opacity=50); font-size: 20px; - color: #ffffff; + color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-control.left { - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); -} -.carousel-control.right { - left: auto; - right: 0; - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); -} -.carousel-control:hover, -.carousel-control:focus { - outline: 0; - color: #ffffff; - text-decoration: none; - opacity: 0.9; - filter: alpha(opacity=90); -} -.carousel-control .icon-prev, -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-left, -.carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; -} -.carousel-control .icon-prev, -.carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next, -.carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; -} -.carousel-control .icon-prev, -.carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; -} -.carousel-control .icon-prev:before { - content: '\2039'; -} -.carousel-control .icon-next:before { - content: '\203a'; -} + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-control.left { + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } + .carousel-control.right { + left: auto; + right: 0; + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } + .carousel-control:hover, + .carousel-control:focus { + outline: 0; + color: #fff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); } + .carousel-control .icon-prev, + .carousel-control .icon-next, + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; } + .carousel-control .icon-prev, + .carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next, + .carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; } + .carousel-control .icon-prev:before { + content: '\2039'; } + .carousel-control .icon-next:before { + content: '\203a'; } + .carousel-indicators { position: absolute; bottom: 10px; @@ -5870,26 +5723,24 @@ margin-left: -30%; padding-left: 0; list-style: none; - text-align: center; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid #ffffff; - border-radius: 10px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); -} -.carousel-indicators .active { - margin: 0; - width: 12px; - height: 12px; - background-color: #ffffff; -} + text-align: center; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #fff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: transparent; } + .carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #fff; } + .carousel-caption { position: absolute; left: 15%; @@ -5898,13 +5749,12 @@ z-index: 10; padding-top: 20px; padding-bottom: 20px; - color: #ffffff; + color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); -} -.carousel-caption .btn { - text-shadow: none; -} + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } + .carousel-caption .btn { + text-shadow: none; } + @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, @@ -5913,118 +5763,76 @@ width: 30px; height: 30px; margin-top: -15px; - font-size: 30px; - } + font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { - margin-left: -15px; - } + margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { - margin-right: -15px; - } + margin-right: -15px; } .carousel-caption { left: 20%; right: 20%; - padding-bottom: 30px; - } + padding-bottom: 30px; } .carousel-indicators { - bottom: 20px; - } -} + bottom: 20px; } } + .clearfix:before, -.clearfix:after, -.dl-horizontal dd:before, -.dl-horizontal dd:after, -.container:before, -.container:after, -.container-fluid:before, -.container-fluid:after, -.row:before, -.row:after, -.form-horizontal .form-group:before, -.form-horizontal .form-group:after, -.btn-toolbar:before, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:before, -.btn-group-vertical > .btn-group:after, -.nav:before, -.nav:after, -.navbar:before, -.navbar:after, -.navbar-header:before, -.navbar-header:after, -.navbar-collapse:before, -.navbar-collapse:after, -.pager:before, -.pager:after, -.panel-body:before, -.panel-body:after, -.modal-footer:before, -.modal-footer:after { +.clearfix:after { content: " "; - display: table; -} -.clearfix:after, -.dl-horizontal dd:after, -.container:after, -.container-fluid:after, -.row:after, -.form-horizontal .form-group:after, -.btn-toolbar:after, -.btn-group-vertical > .btn-group:after, -.nav:after, -.navbar:after, -.navbar-header:after, -.navbar-collapse:after, -.pager:after, -.panel-body:after, -.modal-footer:after { - clear: both; -} + display: table; } + +.clearfix:after { + clear: both; } + .center-block { display: block; margin-left: auto; - margin-right: auto; -} + margin-right: auto; } + .pull-right { - float: right !important; -} + float: right !important; } + .pull-left { - float: left !important; -} + float: left !important; } + .hide { - display: none !important; -} + display: none !important; } + .show { - display: block !important; -} + display: block !important; } + .invisible { - visibility: hidden; -} + visibility: hidden; } + .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; - border: 0; -} + border: 0; } + .hidden { - display: none !important; - visibility: hidden !important; -} + display: none !important; } + .affix { - position: fixed; -} + position: fixed; } + @-ms-viewport { - width: device-width; -} -.visible-xs, -.visible-sm, -.visible-md, + width: device-width; } + +.visible-xs { + display: none !important; } + +.visible-sm { + display: none !important; } + +.visible-md { + display: none !important; } + .visible-lg { - display: none !important; -} + display: none !important; } + .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, @@ -6037,197 +5845,153 @@ .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { - display: none !important; -} + display: none !important; } + @media (max-width: 767px) { .visible-xs { - display: block !important; - } + display: block !important; } table.visible-xs { - display: table; - } + display: table !important; } tr.visible-xs { - display: table-row !important; - } + display: table-row !important; } th.visible-xs, td.visible-xs { - display: table-cell !important; - } -} + display: table-cell !important; } } + @media (max-width: 767px) { .visible-xs-block { - display: block !important; - } -} + display: block !important; } } + @media (max-width: 767px) { .visible-xs-inline { - display: inline !important; - } -} + display: inline !important; } } + @media (max-width: 767px) { .visible-xs-inline-block { - display: inline-block !important; - } -} + display: inline-block !important; } } + @media (min-width: 768px) and (max-width: 991px) { .visible-sm { - display: block !important; - } + display: block !important; } table.visible-sm { - display: table; - } + display: table !important; } tr.visible-sm { - display: table-row !important; - } + display: table-row !important; } th.visible-sm, td.visible-sm { - display: table-cell !important; - } -} + display: table-cell !important; } } + @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { - display: block !important; - } -} + display: block !important; } } + @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { - display: inline !important; - } -} + display: inline !important; } } + @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { - display: inline-block !important; - } -} + display: inline-block !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .visible-md { - display: block !important; - } + display: block !important; } table.visible-md { - display: table; - } + display: table !important; } tr.visible-md { - display: table-row !important; - } + display: table-row !important; } th.visible-md, td.visible-md { - display: table-cell !important; - } -} + display: table-cell !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { - display: block !important; - } -} + display: block !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { - display: inline !important; - } -} + display: inline !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { - display: inline-block !important; - } -} + display: inline-block !important; } } + @media (min-width: 1200px) { .visible-lg { - display: block !important; - } + display: block !important; } table.visible-lg { - display: table; - } + display: table !important; } tr.visible-lg { - display: table-row !important; - } + display: table-row !important; } th.visible-lg, td.visible-lg { - display: table-cell !important; - } -} + display: table-cell !important; } } + @media (min-width: 1200px) { .visible-lg-block { - display: block !important; - } -} + display: block !important; } } + @media (min-width: 1200px) { .visible-lg-inline { - display: inline !important; - } -} + display: inline !important; } } + @media (min-width: 1200px) { .visible-lg-inline-block { - display: inline-block !important; - } -} + display: inline-block !important; } } + @media (max-width: 767px) { .hidden-xs { - display: none !important; - } -} + display: none !important; } } + @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { - display: none !important; - } -} + display: none !important; } } + @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { - display: none !important; - } -} + display: none !important; } } + @media (min-width: 1200px) { .hidden-lg { - display: none !important; - } -} + display: none !important; } } + .visible-print { - display: none !important; -} + display: none !important; } + @media print { .visible-print { - display: block !important; - } + display: block !important; } table.visible-print { - display: table; - } + display: table !important; } tr.visible-print { - display: table-row !important; - } + display: table-row !important; } th.visible-print, td.visible-print { - display: table-cell !important; - } -} + display: table-cell !important; } } + .visible-print-block { - display: none !important; -} -@media print { - .visible-print-block { - display: block !important; - } -} + 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; - } -} + 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; - } -} + display: none !important; } + @media print { + .visible-print-inline-block { + display: inline-block !important; } } + @media print { .hidden-print { - display: none !important; - } -} -body, -label, -.checkbox label { - font-weight: 300; -} + display: none !important; } } + +body, label, .checkbox label { + font-weight: 300; } + +/*# sourceMappingURL=app.css.map */ diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/app.less --- a/server/src/resources/assets/less/app.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -@import "bootstrap/bootstrap"; - -@btn-font-weight: 300; -@font-family-sans-serif: "Roboto", Helvetica, Arial, sans-serif; - -body, label, .checkbox label { - font-weight: 300; -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/alerts.less --- a/server/src/resources/assets/less/bootstrap/alerts.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -// -// Alerts -// -------------------------------------------------- - - -// Base styles -// ------------------------- - -.alert { - padding: @alert-padding; - margin-bottom: @line-height-computed; - border: 1px solid transparent; - border-radius: @alert-border-radius; - - // Headings for larger alerts - h4 { - margin-top: 0; - // Specified for the h4 to prevent conflicts of changing @headings-color - color: inherit; - } - // Provide class for links that match alerts - .alert-link { - font-weight: @alert-link-font-weight; - } - - // Improve alignment and spacing of inner content - > p, - > ul { - margin-bottom: 0; - } - > p + p { - margin-top: 5px; - } -} - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. -.alert-dismissible { - padding-right: (@alert-padding + 20); - - // Adjust close link position - .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; - } -} - -// Alternate styles -// -// Generate contextual modifier classes for colorizing the alert. - -.alert-success { - .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); -} -.alert-info { - .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); -} -.alert-warning { - .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); -} -.alert-danger { - .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/badges.less --- a/server/src/resources/assets/less/bootstrap/badges.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -// -// Badges -// -------------------------------------------------- - - -// Base class -.badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: @font-size-small; - font-weight: @badge-font-weight; - color: @badge-color; - line-height: @badge-line-height; - vertical-align: baseline; - white-space: nowrap; - text-align: center; - background-color: @badge-bg; - border-radius: @badge-border-radius; - - // Empty badges collapse automatically (not available in IE8) - &:empty { - display: none; - } - - // Quick fix for badges in buttons - .btn & { - position: relative; - top: -1px; - } - .btn-xs & { - top: 0; - padding: 1px 5px; - } - - // Hover state, but only for links - a& { - &:hover, - &:focus { - color: @badge-link-hover-color; - text-decoration: none; - cursor: pointer; - } - } - - // Account for badges in navs - .list-group-item.active > &, - .nav-pills > .active > a > & { - color: @badge-active-color; - background-color: @badge-active-bg; - } - .list-group-item > & { - float: right; - } - .list-group-item > & + & { - margin-right: 5px; - } - .nav-pills > li > a > & { - margin-left: 3px; - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/bootstrap.less --- a/server/src/resources/assets/less/bootstrap/bootstrap.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -// Core variables and mixins -@import "variables.less"; -@import "mixins.less"; - -// Reset and dependencies -@import "normalize.less"; -@import "print.less"; -@import "glyphicons.less"; - -// Core CSS -@import "scaffolding.less"; -@import "type.less"; -@import "code.less"; -@import "grid.less"; -@import "tables.less"; -@import "forms.less"; -@import "buttons.less"; - -// Components -@import "component-animations.less"; -@import "dropdowns.less"; -@import "button-groups.less"; -@import "input-groups.less"; -@import "navs.less"; -@import "navbar.less"; -@import "breadcrumbs.less"; -@import "pagination.less"; -@import "pager.less"; -@import "labels.less"; -@import "badges.less"; -@import "jumbotron.less"; -@import "thumbnails.less"; -@import "alerts.less"; -@import "progress-bars.less"; -@import "media.less"; -@import "list-group.less"; -@import "panels.less"; -@import "responsive-embed.less"; -@import "wells.less"; -@import "close.less"; - -// Components w/ JavaScript -@import "modals.less"; -@import "tooltip.less"; -@import "popovers.less"; -@import "carousel.less"; - -// Utility classes -@import "utilities.less"; -@import "responsive-utilities.less"; diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/breadcrumbs.less --- a/server/src/resources/assets/less/bootstrap/breadcrumbs.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -// -// Breadcrumbs -// -------------------------------------------------- - - -.breadcrumb { - padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; - margin-bottom: @line-height-computed; - list-style: none; - background-color: @breadcrumb-bg; - border-radius: @border-radius-base; - - > li { - display: inline-block; - - + li:before { - content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space - padding: 0 5px; - color: @breadcrumb-color; - } - } - - > .active { - color: @breadcrumb-active-color; - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/button-groups.less --- a/server/src/resources/assets/less/bootstrap/button-groups.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -// -// Button groups -// -------------------------------------------------- - -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; // match .btn alignment given font-size hack above - > .btn { - position: relative; - float: left; - // Bring the "active" button to the front - &:hover, - &:focus, - &:active, - &.active { - z-index: 2; - } - } -} - -// Prevent double borders when buttons are next to each other -.btn-group { - .btn + .btn, - .btn + .btn-group, - .btn-group + .btn, - .btn-group + .btn-group { - margin-left: -1px; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - margin-left: -5px; // Offset the first child's margin - &:extend(.clearfix all); - - .btn-group, - .input-group { - float: left; - } - > .btn, - > .btn-group, - > .input-group { - margin-left: 5px; - } -} - -.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { - border-radius: 0; -} - -// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match -.btn-group > .btn:first-child { - margin-left: 0; - &:not(:last-child):not(.dropdown-toggle) { - .border-right-radius(0); - } -} -// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it -.btn-group > .btn:last-child:not(:first-child), -.btn-group > .dropdown-toggle:not(:first-child) { - .border-left-radius(0); -} - -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) -.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 { - > .btn:last-child, - > .dropdown-toggle { - .border-right-radius(0); - } -} -.btn-group > .btn-group:last-child > .btn:first-child { - .border-left-radius(0); -} - -// On active and open, don't show outline -.btn-group .dropdown-toggle:active, -.btn-group.open .dropdown-toggle { - outline: 0; -} - - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-xs > .btn { &:extend(.btn-xs); } -.btn-group-sm > .btn { &:extend(.btn-sm); } -.btn-group-lg > .btn { &:extend(.btn-lg); } - - -// Split button dropdowns -// ---------------------- - -// Give the line between buttons some depth -.btn-group > .btn + .dropdown-toggle { - padding-left: 8px; - padding-right: 8px; -} -.btn-group > .btn-lg + .dropdown-toggle { - padding-left: 12px; - padding-right: 12px; -} - -// The clickable button for toggling the menu -// Remove the gradient and set the same inset shadow as the :active state -.btn-group.open .dropdown-toggle { - .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - .box-shadow(none); - } -} - - -// Reposition the caret -.btn .caret { - margin-left: 0; -} -// Carets in other button sizes -.btn-lg .caret { - border-width: @caret-width-large @caret-width-large 0; - border-bottom-width: 0; -} -// Upside down carets for .dropup -.dropup .btn-lg .caret { - border-width: 0 @caret-width-large @caret-width-large; -} - - -// Vertical button groups -// ---------------------- - -.btn-group-vertical { - > .btn, - > .btn-group, - > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; - } - - // Clear floats so dropdown menus can be properly placed - > .btn-group { - &:extend(.clearfix all); - > .btn { - float: none; - } - } - - > .btn + .btn, - > .btn + .btn-group, - > .btn-group + .btn, - > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; - } -} - -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { - border-radius: 0; - } - &:first-child:not(:last-child) { - border-top-right-radius: @border-radius-base; - .border-bottom-radius(0); - } - &:last-child:not(:first-child) { - border-bottom-left-radius: @border-radius-base; - .border-top-radius(0); - } -} -.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, - > .dropdown-toggle { - .border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - .border-top-radius(0); -} - - -// Justified button groups -// ---------------------- - -.btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; - > .btn, - > .btn-group { - float: none; - display: table-cell; - width: 1%; - } - > .btn-group .btn { - width: 100%; - } - - > .btn-group .dropdown-menu { - left: auto; - } -} - - -// Checkbox and radio options -// -// In order to support the browser's form validation feedback, powered by the -// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use -// `display: none;` or `visibility: hidden;` as that also hides the popover. -// Simply visually hiding the inputs via `opacity` would leave them clickable in -// certain cases which is prevented by using `clip` and `pointer-events`. -// This way, we ensure a DOM element is visible to position the popover from. -// -// See https://github.com/twbs/bootstrap/pull/12794 and -// https://github.com/twbs/bootstrap/pull/14559 for more information. - -[data-toggle="buttons"] { - > .btn, - > .btn-group > .btn { - input[type="radio"], - input[type="checkbox"] { - position: absolute; - clip: rect(0,0,0,0); - pointer-events: none; - } - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/buttons.less --- a/server/src/resources/assets/less/bootstrap/buttons.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -// -// Buttons -// -------------------------------------------------- - - -// Base styles -// -------------------------------------------------- - -.btn { - display: inline-block; - margin-bottom: 0; // For input.btn - font-weight: @btn-font-weight; - text-align: center; - vertical-align: middle; - touch-action: manipulation; - cursor: pointer; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid transparent; - white-space: nowrap; - .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @border-radius-base); - .user-select(none); - - &, - &:active, - &.active { - &:focus, - &.focus { - .tab-focus(); - } - } - - &:hover, - &:focus, - &.focus { - color: @btn-default-color; - text-decoration: none; - } - - &:active, - &.active { - outline: 0; - background-image: none; - .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); - } - - &.disabled, - &[disabled], - fieldset[disabled] & { - cursor: @cursor-disabled; - pointer-events: none; // Future-proof disabling of clicks - .opacity(.65); - .box-shadow(none); - } -} - - -// Alternate buttons -// -------------------------------------------------- - -.btn-default { - .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); -} -.btn-primary { - .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); -} -// Success appears as green -.btn-success { - .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); -} -// Info appears as blue-green -.btn-info { - .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); -} -// Warning appears as orange -.btn-warning { - .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); -} - - -// Link buttons -// ------------------------- - -// Make a button look and behave like a link -.btn-link { - color: @link-color; - font-weight: normal; - border-radius: 0; - - &, - &:active, - &.active, - &[disabled], - fieldset[disabled] & { - background-color: transparent; - .box-shadow(none); - } - &, - &:hover, - &:focus, - &:active { - border-color: transparent; - } - &:hover, - &:focus { - color: @link-hover-color; - text-decoration: underline; - background-color: transparent; - } - &[disabled], - fieldset[disabled] & { - &:hover, - &:focus { - color: @btn-link-disabled-color; - text-decoration: none; - } - } -} - - -// Button Sizes -// -------------------------------------------------- - -.btn-lg { - // line-height: ensure even-numbered height of button next to large input - .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); -} -.btn-sm { - // line-height: ensure proper height of button next to small input - .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); -} -.btn-xs { - .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small); -} - - -// Block button -// -------------------------------------------------- - -.btn-block { - display: block; - width: 100%; -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/carousel.less --- a/server/src/resources/assets/less/bootstrap/carousel.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,267 +0,0 @@ -// -// Carousel -// -------------------------------------------------- - - -// Wrapper for the slide container and indicators -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - overflow: hidden; - width: 100%; - - > .item { - display: none; - position: relative; - .transition(.6s ease-in-out left); - - // Account for jankitude on images - > img, - > a > img { - &:extend(.img-responsive); - line-height: 1; - } - - // WebKit CSS3 transforms for supported devices - @media all and (transform-3d), (-webkit-transform-3d) { - transition: transform .6s ease-in-out; - backface-visibility: hidden; - perspective: 1000; - - &.next, - &.active.right { - transform: translate3d(100%, 0, 0); - left: 0; - } - &.prev, - &.active.left { - transform: translate3d(-100%, 0, 0); - left: 0; - } - &.next.left, - &.prev.right, - &.active { - transform: translate3d(0, 0, 0); - left: 0; - } - } - } - - > .active, - > .next, - > .prev { - display: block; - } - - > .active { - left: 0; - } - - > .next, - > .prev { - position: absolute; - top: 0; - width: 100%; - } - - > .next { - left: 100%; - } - > .prev { - left: -100%; - } - > .next.left, - > .prev.right { - left: 0; - } - - > .active.left { - left: -100%; - } - > .active.right { - left: 100%; - } - -} - -// Left/right controls for nav -// --------------------------- - -.carousel-control { - position: absolute; - top: 0; - left: 0; - bottom: 0; - width: @carousel-control-width; - .opacity(@carousel-control-opacity); - font-size: @carousel-control-font-size; - color: @carousel-control-color; - text-align: center; - text-shadow: @carousel-text-shadow; - // We can't have this transition here because WebKit cancels the carousel - // animation if you trip this while in the middle of another animation. - - // Set gradients for backgrounds - &.left { - #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); - } - &.right { - left: auto; - right: 0; - #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); - } - - // Hover/focus state - &:hover, - &:focus { - outline: 0; - color: @carousel-control-color; - text-decoration: none; - .opacity(.9); - } - - // Toggles - .icon-prev, - .icon-next, - .glyphicon-chevron-left, - .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - } - .icon-prev, - .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; - } - .icon-next, - .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; - } - .icon-prev, - .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; - } - - - .icon-prev { - &:before { - content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) - } - } - .icon-next { - &:before { - content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) - } - } -} - -// Optional indicator pips -// -// Add an unordered list with the following class and add a list item for each -// slide your carousel holds. - -.carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - margin-left: -30%; - padding-left: 0; - list-style: none; - text-align: center; - - li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - border: 1px solid @carousel-indicator-border-color; - border-radius: 10px; - cursor: pointer; - - // IE8-9 hack for event handling - // - // Internet Explorer 8-9 does not support clicks on elements without a set - // `background-color`. We cannot use `filter` since that's not viewed as a - // background color by the browser. Thus, a hack is needed. - // - // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we - // set alpha transparency for the best results possible. - background-color: #000 \9; // IE8 - background-color: rgba(0,0,0,0); // IE9 - } - .active { - margin: 0; - width: 12px; - height: 12px; - background-color: @carousel-indicator-active-bg; - } -} - -// Optional captions -// ----------------------------- -// Hidden by default for smaller viewports -.carousel-caption { - position: absolute; - left: 15%; - right: 15%; - bottom: 20px; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: @carousel-caption-color; - text-align: center; - text-shadow: @carousel-text-shadow; - & .btn { - text-shadow: none; // No shadow for button elements in carousel-caption - } -} - - -// Scale up controls for tablets and up -@media screen and (min-width: @screen-sm-min) { - - // Scale up the controls a smidge - .carousel-control { - .glyphicon-chevron-left, - .glyphicon-chevron-right, - .icon-prev, - .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .glyphicon-chevron-left, - .icon-prev { - margin-left: -15px; - } - .glyphicon-chevron-right, - .icon-next { - margin-right: -15px; - } - } - - // Show and left align the captions - .carousel-caption { - left: 20%; - right: 20%; - padding-bottom: 30px; - } - - // Move up the indicators - .carousel-indicators { - bottom: 20px; - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/close.less --- a/server/src/resources/assets/less/bootstrap/close.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -// -// Close icons -// -------------------------------------------------- - - -.close { - float: right; - font-size: (@font-size-base * 1.5); - font-weight: @close-font-weight; - line-height: 1; - color: @close-color; - text-shadow: @close-text-shadow; - .opacity(.2); - - &:hover, - &:focus { - color: @close-color; - text-decoration: none; - cursor: pointer; - .opacity(.5); - } - - // Additional properties for button version - // iOS requires the button element instead of an anchor tag. - // If you want the anchor version, it requires `href="#"`. - button& { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/code.less --- a/server/src/resources/assets/less/bootstrap/code.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -// -// Code (inline and block) -// -------------------------------------------------- - - -// Inline and block code styles -code, -kbd, -pre, -samp { - font-family: @font-family-monospace; -} - -// Inline code -code { - padding: 2px 4px; - font-size: 90%; - color: @code-color; - background-color: @code-bg; - border-radius: @border-radius-base; -} - -// User input typically entered via keyboard -kbd { - padding: 2px 4px; - font-size: 90%; - color: @kbd-color; - background-color: @kbd-bg; - border-radius: @border-radius-small; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); - - kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; - } -} - -// Blocks of code -pre { - display: block; - padding: ((@line-height-computed - 1) / 2); - margin: 0 0 (@line-height-computed / 2); - font-size: (@font-size-base - 1); // 14px to 13px - line-height: @line-height-base; - word-break: break-all; - word-wrap: break-word; - color: @pre-color; - background-color: @pre-bg; - border: 1px solid @pre-border-color; - border-radius: @border-radius-base; - - // Account for some code outputs that place code tags in pre tags - code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; - } -} - -// Enable scrollable blocks of code -.pre-scrollable { - max-height: @pre-scrollable-max-height; - overflow-y: scroll; -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/component-animations.less --- a/server/src/resources/assets/less/bootstrap/component-animations.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -// -// Component animations -// -------------------------------------------------- - -// Heads up! -// -// We don't use the `.opacity()` mixin here since it causes a bug with text -// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. - -.fade { - opacity: 0; - .transition(opacity .15s linear); - &.in { - opacity: 1; - } -} - -.collapse { - display: none; - visibility: hidden; - - &.in { display: block; visibility: visible; } - tr&.in { display: table-row; } - tbody&.in { display: table-row-group; } -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - .transition-property(~"height, visibility"); - .transition-duration(.35s); - .transition-timing-function(ease); -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/dropdowns.less --- a/server/src/resources/assets/less/bootstrap/dropdowns.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,213 +0,0 @@ -// -// Dropdown menus -// -------------------------------------------------- - - -// Dropdown arrow/caret -.caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: @caret-width-base solid; - border-right: @caret-width-base solid transparent; - border-left: @caret-width-base solid transparent; -} - -// The dropdown wrapper (div) -.dropdown { - position: relative; -} - -// Prevent the focus on the dropdown toggle when closing dropdowns -.dropdown-toggle:focus { - outline: 0; -} - -// The dropdown menu (ul) -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: @zindex-dropdown; - display: none; // none by default, but block on "open" of the menu - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; // override default ul - list-style: none; - font-size: @font-size-base; - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - background-color: @dropdown-bg; - border: 1px solid @dropdown-fallback-border; // IE8 fallback - border: 1px solid @dropdown-border; - border-radius: @border-radius-base; - .box-shadow(0 6px 12px rgba(0,0,0,.175)); - background-clip: padding-box; - - // Aligns the dropdown menu to right - // - // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` - &.pull-right { - right: 0; - left: auto; - } - - // Dividers (basically an hr) within the dropdown - .divider { - .nav-divider(@dropdown-divider-bg); - } - - // Links within the dropdown menu - > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: @line-height-base; - color: @dropdown-link-color; - white-space: nowrap; // prevent links from randomly breaking onto new lines - } -} - -// Hover/Focus state -.dropdown-menu > li > a { - &:hover, - &:focus { - text-decoration: none; - color: @dropdown-link-hover-color; - background-color: @dropdown-link-hover-bg; - } -} - -// Active state -.dropdown-menu > .active > a { - &, - &:hover, - &:focus { - color: @dropdown-link-active-color; - text-decoration: none; - outline: 0; - background-color: @dropdown-link-active-bg; - } -} - -// Disabled state -// -// Gray out text and ensure the hover/focus state remains gray - -.dropdown-menu > .disabled > a { - &, - &:hover, - &:focus { - color: @dropdown-link-disabled-color; - } - - // Nuke hover/focus effects - &:hover, - &:focus { - text-decoration: none; - background-color: transparent; - background-image: none; // Remove CSS gradient - .reset-filter(); - cursor: @cursor-disabled; - } -} - -// Open state for the dropdown -.open { - // Show the menu - > .dropdown-menu { - display: block; - } - - // Remove the outline when :focus is triggered - > a { - outline: 0; - } -} - -// Menu positioning -// -// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown -// menu with the parent. -.dropdown-menu-right { - left: auto; // Reset the default from `.dropdown-menu` - right: 0; -} -// With v3, we enabled auto-flipping if you have a dropdown within a right -// aligned nav component. To enable the undoing of that, we provide an override -// to restore the default dropdown menu alignment. -// -// This is only for left-aligning a dropdown menu within a `.navbar-right` or -// `.pull-right` nav component. -.dropdown-menu-left { - left: 0; - right: auto; -} - -// Dropdown section headers -.dropdown-header { - display: block; - padding: 3px 20px; - font-size: @font-size-small; - line-height: @line-height-base; - color: @dropdown-header-color; - white-space: nowrap; // as with > li > a -} - -// Backdrop to catch body clicks on mobile, etc. -.dropdown-backdrop { - position: fixed; - left: 0; - right: 0; - bottom: 0; - top: 0; - z-index: (@zindex-dropdown - 10); -} - -// Right aligned dropdowns -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// -// Just add .dropup after the standard .dropdown class and you're set, bro. -// TODO: abstract this so that the navbar fixed styles are not placed here? - -.dropup, -.navbar-fixed-bottom .dropdown { - // Reverse the caret - .caret { - border-top: 0; - border-bottom: @caret-width-base solid; - content: ""; - } - // Different positioning for bottom up menu - .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; - } -} - - -// Component alignment -// -// Reiterate per navbar.less and the modified component alignment there. - -@media (min-width: @grid-float-breakpoint) { - .navbar-right { - .dropdown-menu { - .dropdown-menu-right(); - } - // Necessary for overrides of the default right aligned menu. - // Will remove come v4 in all likelihood. - .dropdown-menu-left { - .dropdown-menu-left(); - } - } -} diff -r 2b3247d02769 -r f55970e41793 server/src/resources/assets/less/bootstrap/forms.less --- a/server/src/resources/assets/less/bootstrap/forms.less Wed Jun 24 01:36:46 2015 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,546 +0,0 @@ -// -// Forms -// -------------------------------------------------- - - -// Normalize non-controls -// -// Restyle and baseline non-control form elements. - -fieldset { - padding: 0; - margin: 0; - border: 0; - // Chrome and Firefox set a `min-width: min-content;` on fieldsets, - // so we reset that to ensure it behaves more like a standard block element. - // See https://github.com/twbs/bootstrap/issues/12359. - min-width: 0; -} - -legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: @line-height-computed; - font-size: (@font-size-base * 1.5); - line-height: inherit; - color: @legend-color; - border: 0; - border-bottom: 1px solid @legend-border-color; -} - -label { - display: inline-block; - max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) - margin-bottom: 5px; - font-weight: bold; -} - - -// Normalize form controls -// -// While most of our form styles require extra classes, some basic normalization -// is required to ensure optimum display with or without those classes to better -// address browser inconsistencies. - -// Override content-box in Normalize (* isn't specific enough) -input[type="search"] { - .box-sizing(border-box); -} - -// Position radios and checkboxes better -input[type="radio"], -input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; // IE8-9 - line-height: normal; -} - -// Set the height of file controls to match text inputs -input[type="file"] { - display: block; -} - -// Make range inputs behave like textual form controls -input[type="range"] { - display: block; - width: 100%; -} - -// Make multiple select elements height not fixed -select[multiple], -select[size] { - height: auto; -} - -// Focus for file, radio, and checkbox -input[type="file"]:focus, -input[type="radio"]:focus, -input[type="checkbox"]:focus { - .tab-focus(); -} - -// Adjust output element -output { - display: block; - padding-top: (@padding-base-vertical + 1); - font-size: @font-size-base; - line-height: @line-height-base; - color: @input-color; -} - - -// Common form controls -// -// Shared size and type resets for form controls. Apply `.form-control` to any -// of the following form controls: -// -// select -// textarea -// input[type="text"] -// input[type="password"] -// input[type="datetime"] -// input[type="datetime-local"] -// input[type="date"] -// input[type="month"] -// input[type="time"] -// input[type="week"] -// input[type="number"] -// input[type="email"] -// input[type="url"] -// input[type="search"] -// input[type="tel"] -// input[type="color"] - -.form-control { - display: block; - width: 100%; - height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) - padding: @padding-base-vertical @padding-base-horizontal; - font-size: @font-size-base; - line-height: @line-height-base; - color: @input-color; - background-color: @input-bg; - background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 - border: 1px solid @input-border; - border-radius: @input-border-radius; - .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); - .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); - - // Customize the `:focus` state to imitate native WebKit styles. - .form-control-focus(); - - // Placeholder - .placeholder(); - - // Disabled and read-only inputs - // - // HTML5 says that controls under a fieldset > legend:first-child won't be - // disabled if the fieldset is disabled. Due to implementation difficulty, we - // don't honor that edge case; we style them as disabled anyway. - &[disabled], - &[readonly], - fieldset[disabled] & { - cursor: @cursor-disabled; - background-color: @input-bg-disabled; - opacity: 1; // iOS fix for unreadable disabled content - } - - // Reset height for `textarea`s - textarea& { - height: auto; - } -} - - -// Search inputs in iOS -// -// This overrides the extra rounded corners on search inputs in iOS so that our -// `.form-control` class can properly style them. Note that this cannot simply -// be added to `.form-control` as it's not specific enough. For details, see -// https://github.com/twbs/bootstrap/issues/11586. - -input[type="search"] { - -webkit-appearance: none; -} - - -// Special styles for iOS temporal inputs -// -// In Mobile Safari, setting `display: block` on temporal inputs causes the -// text within the input to become vertically misaligned. As a workaround, we -// set a pixel line-height that matches the given height of the input, but only -// for Safari. - -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"], - input[type="time"], - input[type="datetime-local"], - input[type="month"] { - line-height: @input-height-base; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm { - line-height: @input-height-small; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg { - line-height: @input-height-large; - } -} - - -// Form groups -// -// Designed to help with the organization and spacing of vertical forms. For -// horizontal forms, use the predefined grid classes. - -.form-group { - margin-bottom: 15px; -} - - -// Checkboxes and radios -// -// Indent the labels to position radios/checkboxes as hanging controls. - -.radio, -.checkbox { - position: relative; - display: block; - margin-top: 10px; - margin-bottom: 10px; - - label { - min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; - } -} -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { - position: absolute; - margin-left: -20px; - margin-top: 4px \9; -} - -.radio + .radio, -.checkbox + .checkbox { - margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing -} - -// Radios and checkboxes on same line -.radio-inline, -.checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - vertical-align: middle; - font-weight: normal; - cursor: pointer; -} -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; // space out consecutive inline controls -} - -// Apply same disabled cursor tweak as for inputs -// Some special care is needed because