diff --git a/Gruntfile.js b/Gruntfile.js index f3c3af8f8..98cc655f9 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -56,27 +56,64 @@ module.exports = function (grunt) { docs: 'docs/dist' }, - jshint: { - options: { - jshintrc: 'js/.jshintrc' - }, - grunt: { - options: { - jshintrc: 'grunt/.jshintrc' + // JS build configuration + + lineremover: { + es6Import: { + files: { + '<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>' }, - src: ['Gruntfile.js', 'grunt/*.js'] - }, - core: { - src: 'js/*.js' - }, - test: { options: { - jshintrc: 'js/tests/unit/.jshintrc' + exclusionPattern: /^(import|export)/g + } + } + }, + + babel: { + dev: { + options: { + sourceMap: true, + modules: 'ignore' }, - src: 'js/tests/unit/*.js' + files: { + 'js/dist/util.js' : 'js/src/util.js', + 'js/dist/alert.js' : 'js/src/alert.js', + 'js/dist/button.js' : 'js/src/button.js', + 'js/dist/carousel.js' : 'js/src/carousel.js', + 'js/dist/collapse.js' : 'js/src/collapse.js', + 'js/dist/dropdown.js' : 'js/src/dropdown.js', + 'js/dist/modal.js' : 'js/src/modal.js', + 'js/dist/scrollspy.js' : 'js/src/scrollspy.js', + 'js/dist/tab.js' : 'js/src/tab.js', + 'js/dist/tooltip.js' : 'js/src/tooltip.js', + 'js/dist/popover.js' : 'js/src/popover.js' + } }, - assets: { - src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js'] + dist: { + options: { + modules: 'ignore' + }, + files: { + '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>' + } + }, + umd: { + options: { + modules: 'umd' + }, + files: { + 'dist/js/umd/util.js' : 'js/src/util.js', + 'dist/js/umd/alert.js' : 'js/src/alert.js', + 'dist/js/umd/button.js' : 'js/src/button.js', + 'dist/js/umd/carousel.js' : 'js/src/carousel.js', + 'dist/js/umd/collapse.js' : 'js/src/collapse.js', + 'dist/js/umd/dropdown.js' : 'js/src/dropdown.js', + 'dist/js/umd/modal.js' : 'js/src/modal.js', + 'dist/js/umd/scrollspy.js' : 'js/src/scrollspy.js', + 'dist/js/umd/tab.js' : 'js/src/tab.js', + 'dist/js/umd/tooltip.js' : 'js/src/tooltip.js', + 'dist/js/umd/popover.js' : 'js/src/popover.js' + } } }, @@ -85,41 +122,51 @@ module.exports = function (grunt) { config: 'js/.jscsrc' }, grunt: { - src: '<%= jshint.grunt.src %>' + src: ['Gruntfile.js', 'grunt/*.js'] }, core: { - src: '<%= jshint.core.src %>' + src: 'js/src/*.js' }, test: { - src: '<%= jshint.test.src %>' + src: 'js/tests/unit/*.js' }, assets: { options: { requireCamelCaseOrUpperCaseIdentifiers: null }, - src: '<%= jshint.assets.src %>' + src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js'] + } + }, + + stamp: { + options: { + banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n', + footer: '\n}(jQuery);' + }, + bootstrap: { + files: { + src: '<%= concat.bootstrap.dest %>' + } } }, concat: { options: { - banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>', stripBanners: false }, bootstrap: { src: [ - 'js/transition.js', - 'js/alert.js', - 'js/button.js', - 'js/carousel.js', - 'js/collapse.js', - 'js/dropdown.js', - 'js/modal.js', - 'js/tooltip.js', - 'js/popover.js', - 'js/scrollspy.js', - 'js/tab.js', - 'js/affix.js' + 'js/src/util.js', + 'js/src/alert.js', + 'js/src/button.js', + 'js/src/carousel.js', + 'js/src/collapse.js', + 'js/src/dropdown.js', + 'js/src/modal.js', + 'js/src/scrollspy.js', + 'js/src/tab.js', + 'js/src/tooltip.js', + 'js/src/popover.js' ], dest: 'dist/js/<%= pkg.name %>.js' } @@ -154,6 +201,9 @@ module.exports = function (grunt) { files: 'js/tests/index.html' }, + + // CSS build configuration + scsslint: { scss: ['scss/*.scss', '!scss/_normalize.scss'], options: { @@ -301,12 +351,12 @@ module.exports = function (grunt) { watch: { src: { - files: '<%= jshint.core.src %>', - tasks: ['jshint:core', 'qunit', 'concat'] + files: '<%= jscs.core.src %>', + tasks: ['babel:dev'] }, test: { - files: '<%= jshint.test.src %>', - tasks: ['jshint:test', 'qunit'] + files: '<%= jscs.test.src %>', + tasks: ['qunit'] }, sass: { files: 'scss/**/*.scss', @@ -398,10 +448,10 @@ module.exports = function (grunt) { testSubtasks.push('saucelabs-qunit'); } grunt.registerTask('test', testSubtasks); - grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); + grunt.registerTask('test-js', ['jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); // JS distribution task. - grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']); + grunt.registerTask('dist-js', ['concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']); grunt.registerTask('test-scss', ['scsslint:scss']); @@ -425,8 +475,12 @@ module.exports = function (grunt) { // This can be overzealous, so its changes should always be manually reviewed! grunt.registerTask('change-version-number', 'sed'); - grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () { - var srcFiles = grunt.config.get('concat.bootstrap.src'); + grunt.registerTask('commonjs', ['babel:umd', 'npm-js']); + + grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () { + var srcFiles = Object.keys(grunt.config.get('babel.umd.files')).map(function (filename) { + return './' + path.join('umd', path.basename(filename)) + }) var destFilepath = 'dist/js/npm.js'; generateCommonJSModule(grunt, srcFiles, destFilepath); }); @@ -434,7 +488,7 @@ module.exports = function (grunt) { // Docs task. grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']); grunt.registerTask('docs-js', ['uglify:docsJs']); - grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); + grunt.registerTask('lint-docs-js', ['jscs:assets']); grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs']); grunt.registerTask('docs-github', ['jekyll:github']); diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css index acf6ed35f..f7cabd0e0 100644 --- a/dist/css/bootstrap.css +++ b/dist/css/bootstrap.css @@ -1,402 +1,363 @@ -/*! - * Bootstrap v4.0.0-alpha (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ - +@charset "UTF-8"; /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ html { font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } body { - margin: 0; -} + margin: 0; } -article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { - display: block; -} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; } -audio, canvas, progress, video { +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; -} +[hidden], +template { + display: none; } a { - background-color: transparent; -} + background-color: transparent; } a:active { - outline: 0; -} + outline: 0; } + a:hover { - outline: 0; -} + outline: 0; } abbr[title] { - border-bottom: 1px dotted; -} + border-bottom: 1px dotted; } -b, strong { - font-weight: bold; -} +b, +strong { + font-weight: bold; } dfn { - font-style: italic; -} + font-style: italic; } h1 { - margin: .67em 0; font-size: 2em; -} + margin: 0.67em 0; } mark { - color: #000; background: #ff0; -} + color: #000; } small { - font-size: 80%; -} + font-size: 80%; } -sub, sup { - position: relative; +sub, +sup { font-size: 75%; line-height: 0; - vertical-align: baseline; -} + position: relative; + vertical-align: baseline; } sup { - top: -.5em; -} + top: -0.5em; } sub { - bottom: -.25em; -} + bottom: -0.25em; } img { - border: 0; -} + border: 0; } svg:not(:root) { - overflow: hidden; -} + overflow: hidden; } figure { - margin: 1em 40px; -} + margin: 1em 40px; } hr { - height: 0; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; } pre { - overflow: auto; -} + overflow: auto; } -code, kbd, pre, samp { +code, +kbd, +pre, +samp { font-family: monospace, monospace; - font-size: 1em; -} + font-size: 1em; } -button, input, optgroup, select, textarea { - margin: 0; - font: inherit; +button, +input, +optgroup, +select, +textarea { color: inherit; -} + font: inherit; + margin: 0; } button { - overflow: visible; -} + overflow: visible; } -button, select { - text-transform: none; -} +button, +select { + text-transform: none; } -button, html input[type="button"], input[type="reset"], input[type="submit"] { +button, +html input[type="button"], input[type="reset"], +input[type="submit"] { -webkit-appearance: button; - cursor: pointer; -} + cursor: pointer; } -button[disabled], html input[disabled] { - cursor: default; -} +button[disabled], +html input[disabled] { + cursor: default; } -button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; +button::-moz-focus-inner, +input::-moz-focus-inner { border: 0; -} + padding: 0; } input { - line-height: normal; -} + line-height: normal; } -input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; } -input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { - height: auto; -} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } input[type="search"] { - -webkit-box-sizing: content-box; - box-sizing: content-box; -webkit-appearance: textfield; -} + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; } -input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } fieldset { - padding: .35em .625em .75em; - margin: 0 2px; border: 1px solid #c0c0c0; -} + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } legend { - padding: 0; border: 0; -} + padding: 0; } textarea { - overflow: auto; -} + overflow: auto; } optgroup { - font-weight: bold; -} + font-weight: bold; } table { - border-spacing: 0; border-collapse: collapse; -} + border-spacing: 0; } -td, th { - padding: 0; -} +td, +th { + padding: 0; } @media print { - *, *:before, *:after { + *, + *:before, + *:after { text-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, a:visited { - text-decoration: underline; - } + box-shadow: none !important; } + a, + a:visited { + text-decoration: underline; } abbr[title]:after { - content: " (" attr(title) ")"; - } - pre, blockquote { + content: " (" attr(title) ")"; } + pre, + blockquote { border: 1px solid #999; - - page-break-inside: avoid; - } + page-break-inside: avoid; } thead { - display: table-header-group; - } - tr, img { - page-break-inside: avoid; - } + display: table-header-group; } + tr, img { - max-width: 100% !important; - } - p, h2, h3 { + page-break-inside: avoid; } + img { + max-width: 100% !important; } + p, + h2, + h3 { orphans: 3; - widows: 3; - } - h2, h3 { - page-break-after: avoid; - } + widows: 3; } + h2, + h3 { + page-break-after: avoid; } .navbar { - display: none; - } - .btn > .caret, .dropup > .btn > .caret { - border-top-color: #000 !important; - } + display: none; } + .btn > .caret, + .dropup > .btn > .caret { + 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; - } - .table-bordered th, .table-bordered td { - border: 1px solid #ddd !important; - } -} + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; } } html { - -webkit-box-sizing: border-box; - box-sizing: border-box; -} + box-sizing: border-box; } -*, *:before, *:after { - -webkit-box-sizing: inherit; - box-sizing: inherit; -} +*, +*:before, +*:after { + box-sizing: inherit; } -@at-root { - @-moz-viewport { - width: device-width; - } +@-moz-viewport { + width: device-width; } - @-ms-viewport { - width: device-width; - } +@-ms-viewport { + width: device-width; } - @-webkit-viewport { - width: device-width; - } +@-o-viewport { + width: device-width; } - @viewport { - width: device-width; - } -} +@-webkit-viewport { + width: device-width; } + +@viewport { + width: device-width; } html { font-size: 16px; - - -webkit-tap-highlight-color: transparent; -} + -webkit-tap-highlight-color: transparent; } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.5; color: #373a3c; - background-color: #fff; -} + background-color: #fff; } h1, h2, h3, h4, h5, h6 { margin-top: 0; - margin-bottom: .5rem; -} + margin-bottom: .5rem; } p { margin-top: 0; - margin-bottom: 1rem; -} + margin-bottom: 1rem; } -abbr[title], abbr[data-original-title] { +abbr[title], +abbr[data-original-title] { cursor: help; - border-bottom: 1px dotted #818a91; -} + border-bottom: 1px dotted #818a91; } address { margin-bottom: 1rem; font-style: normal; - line-height: inherit; -} + line-height: inherit; } -ol, ul, dl { +ol, +ul, +dl { margin-top: 0; - margin-bottom: 1rem; -} + margin-bottom: 1rem; } -ol ol, ul ul, ol ul, ul ol { - margin-bottom: 0; -} +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } dt { - font-weight: bold; -} + font-weight: bold; } dd { - margin-bottom: .5rem; margin-left: 0; -} + margin-bottom: .5rem; } blockquote { - margin: 0 0 1rem; -} + margin: 0 0 1rem; } a { color: #0275d8; - text-decoration: none; -} -a:focus, a:hover { - color: #014c8c; - text-decoration: underline; -} -a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; -} + text-decoration: none; } + a:focus, + a:hover { + color: #014c8c; + text-decoration: underline; } + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } pre { margin-top: 0; - margin-bottom: 1rem; -} + margin-bottom: 1rem; } figure { - margin: 0 0 1rem; -} + margin: 0 0 1rem; } img { - vertical-align: middle; -} + vertical-align: middle; } [role="button"] { - cursor: pointer; -} + cursor: pointer; } table { - background-color: transparent; -} + background-color: transparent; } caption { - padding-top: .75rem; - padding-bottom: .75rem; - color: #818a91; - text-align: left; caption-side: bottom; -} + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #818a91; + text-align: left; } th { - text-align: left; -} + text-align: left; } label { display: inline-block; - margin-bottom: .5rem; -} + margin-bottom: .5rem; } -input, button, select, textarea { +input, +button, +select, +textarea { margin: 0; - line-height: inherit; -} + line-height: inherit; } textarea { - resize: vertical; -} + resize: vertical; } fieldset { - min-width: 0; padding: 0; margin: 0; border: 0; -} + min-width: 0; } legend { display: block; @@ -404,206 +365,206 @@ legend { padding: 0; margin-bottom: .5rem; font-size: 1.5rem; - line-height: inherit; -} + line-height: inherit; } input[type="search"] { - -webkit-appearance: none; -} + -webkit-appearance: none; } output { - display: inline-block; -} + display: inline-block; } -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; - color: inherit; -} -h1 small, h1 .small, h2 small, h2 .small, h3 small, h3 .small, h4 small, h4 .small, h5 small, h5 .small, h6 small, h6 .small, .h1 small, .h1 .small, .h2 small, .h2 .small, .h3 small, .h3 .small, .h4 small, .h4 .small, .h5 small, .h5 .small, .h6 small, .h6 .small { - font-weight: normal; - line-height: 1; - color: #818a91; -} + 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: #818a91; } -h1, .h1, h2, .h2, h3, .h3 { - margin-bottom: .5rem; -} -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%; -} +h1, .h1, +h2, .h2, +h3, .h3 { + margin-bottom: 0.5rem; } + 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-bottom: .5rem; -} -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%; -} +h4, .h4, +h5, .h5, +h6, .h6 { + margin-bottom: 0.5rem; } + 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: 2.75rem; -} + font-size: 2.75rem; } h2, .h2 { - font-size: 2.25rem; -} + font-size: 2.25rem; } h3, .h3 { - font-size: 1.75rem; -} + font-size: 1.75rem; } h4, .h4 { - font-size: 1.5rem; -} + font-size: 1.5rem; } h5, .h5 { - font-size: 1.25rem; -} + font-size: 1.25rem; } h6, .h6 { - font-size: 1rem; -} + font-size: 1rem; } .lead { font-size: 1.25rem; - font-weight: 300; -} + font-weight: 300; } hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; - border-top: .0625rem solid #eceeef; -} + border-top: 0.0625rem solid #eceeef; } -small, .small { - font-size: 85%; -} +small, +.small { + font-size: 85%; } -mark, .mark { +mark, +.mark { padding: .2em; - background-color: #fcf8e3; -} + background-color: #fcf8e3; } .list-unstyled { padding-left: 0; - list-style: none; -} + list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; - list-style: none; -} -.list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; -} + list-style: none; } + .list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; } .dl-horizontal { margin-right: -1.5rem; - margin-left: -1.5rem; -} -.dl-horizontal:before, .dl-horizontal:after { - display: table; - content: " "; -} -.dl-horizontal:after { - clear: both; -} + margin-left: -1.5rem; } + .dl-horizontal:before, + .dl-horizontal:after { + content: " "; + display: table; } + .dl-horizontal:after { + clear: both; } .initialism { font-size: 90%; - text-transform: uppercase; -} + text-transform: uppercase; } .blockquote { - padding: .5rem 1rem; + padding: 0.5rem 1rem; margin-bottom: 1rem; font-size: 1.25rem; - border-left: .25rem solid #eceeef; -} -.blockquote p:last-child, .blockquote ul:last-child, .blockquote ol:last-child { - margin-bottom: 0; -} -.blockquote footer { - display: block; - font-size: 80%; - line-height: 1.5; - color: #818a91; -} -.blockquote footer:before { - content: "\2014 \00A0"; -} + border-left: 0.25rem solid #eceeef; } + .blockquote p:last-child, + .blockquote ul:last-child, + .blockquote ol:last-child { + margin-bottom: 0; } + .blockquote footer { + display: block; + font-size: 80%; + line-height: 1.5; + color: #818a91; } + .blockquote footer:before { + content: "\2014 \00A0"; } .blockquote-reverse { padding-right: 1rem; padding-left: 0; text-align: right; - border-right: .25rem solid #eceeef; - border-left: 0; -} -.blockquote-reverse footer:before { - content: ""; -} -.blockquote-reverse footer:after { - content: "\00A0 \2014"; -} + border-right: 0.25rem solid #eceeef; + border-left: 0; } + .blockquote-reverse footer:before { + content: ""; } + .blockquote-reverse footer:after { + content: "\00A0 \2014"; } -.img-responsive, .carousel-inner > .carousel-item > img, .carousel-inner > .carousel-item > a > img { +.img-responsive, .carousel-inner > .carousel-item > img, +.carousel-inner > .carousel-item > a > img { display: block; max-width: 100%; - height: auto; -} + height: auto; } .img-rounded { - border-radius: .3rem; -} + border-radius: 0.3rem; } .img-thumbnail { - display: inline-block; - max-width: 100%; - height: auto; - padding: .25rem; + padding: 0.25rem; line-height: 1.5; background-color: #fff; border: 1px solid #ddd; - border-radius: .25rem; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} + border-radius: 0.25rem; + transition: all 0.2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto; } .img-circle { - border-radius: 50%; -} + border-radius: 50%; } -code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { - padding: .2rem .4rem; + padding: 0.2rem 0.4rem; font-size: 90%; color: #d44950; background-color: #f7f7f9; - border-radius: .25rem; -} + border-radius: 0.25rem; } kbd { - padding: .2rem .4rem; + padding: 0.2rem 0.4rem; font-size: 90%; color: #fff; background-color: #333; - border-radius: .2rem; -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; -} + border-radius: 0.2rem; } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; } pre { display: block; @@ -611,1668 +572,1039 @@ pre { margin-bottom: 1rem; font-size: 90%; line-height: 1.5; - color: #373a3c; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - background-color: transparent; - border-radius: 0; -} + color: #373a3c; } + pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; } .pre-scrollable { max-height: 340px; - overflow-y: scroll; -} + overflow-y: scroll; } .container { - padding-right: .75rem; - padding-left: .75rem; margin-right: auto; margin-left: auto; -} -.container:before, .container:after { - display: table; - content: " "; -} -.container:after { - clear: both; -} -@media (min-width: 34em) { - .container { - max-width: 34rem; - } -} -@media (min-width: 48em) { - .container { - max-width: 45rem; - } -} -@media (min-width: 62em) { - .container { - max-width: 60rem; - } -} -@media (min-width: 75em) { - .container { - max-width: 72.25rem; - } -} + padding-left: 0.75rem; + padding-right: 0.75rem; } + .container:before, + .container:after { + content: " "; + display: table; } + .container:after { + clear: both; } + @media (min-width: 34em) { + .container { + max-width: 34rem; } } + @media (min-width: 48em) { + .container { + max-width: 45rem; } } + @media (min-width: 62em) { + .container { + max-width: 60rem; } } + @media (min-width: 75em) { + .container { + max-width: 72.25rem; } } .container-fluid { - padding-right: .75rem; - padding-left: .75rem; margin-right: auto; margin-left: auto; -} -.container-fluid:before, .container-fluid:after { - display: table; - content: " "; -} -.container-fluid:after { - clear: both; -} + padding-left: 0.75rem; + padding-right: 0.75rem; } + .container-fluid:before, + .container-fluid:after { + content: " "; + display: table; } + .container-fluid:after { + clear: both; } .row { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-right: -.75rem; - margin-left: -.75rem; - - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} -.row:before, .row:after { - display: table; - content: " "; -} -.row:after { - clear: both; -} + display: flex; + flex-wrap: wrap; + margin-left: -0.75rem; + margin-right: -0.75rem; } + .row:before, + .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } .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, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { position: relative; min-height: 1px; - padding-right: .75rem; - padding-left: .75rem; -} + padding-left: 0.75rem; + padding-right: 0.75rem; } .col-xs-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; -} + flex: 0 0 8.333333%; } .col-xs-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; -} + flex: 0 0 16.666667%; } .col-xs-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; -} + flex: 0 0 25%; } .col-xs-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; -} + flex: 0 0 33.333333%; } .col-xs-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; -} + flex: 0 0 41.666667%; } .col-xs-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; -} + flex: 0 0 50%; } .col-xs-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; -} + flex: 0 0 58.333333%; } .col-xs-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; -} + flex: 0 0 66.666667%; } .col-xs-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; -} + flex: 0 0 75%; } .col-xs-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; -} + flex: 0 0 83.333333%; } .col-xs-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; -} + flex: 0 0 91.666667%; } .col-xs-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; -} + flex: 0 0 100%; } .col-xs-pull-0 { - right: auto; -} + right: auto; } .col-xs-pull-1 { - right: 8.333333%; -} + right: 8.333333%; } .col-xs-pull-2 { - right: 16.666667%; -} + right: 16.666667%; } .col-xs-pull-3 { - right: 25%; -} + right: 25%; } .col-xs-pull-4 { - right: 33.333333%; -} + right: 33.333333%; } .col-xs-pull-5 { - right: 41.666667%; -} + right: 41.666667%; } .col-xs-pull-6 { - right: 50%; -} + right: 50%; } .col-xs-pull-7 { - right: 58.333333%; -} + right: 58.333333%; } .col-xs-pull-8 { - right: 66.666667%; -} + right: 66.666667%; } .col-xs-pull-9 { - right: 75%; -} + right: 75%; } .col-xs-pull-10 { - right: 83.333333%; -} + right: 83.333333%; } .col-xs-pull-11 { - right: 91.666667%; -} + right: 91.666667%; } .col-xs-pull-12 { - right: 100%; -} + right: 100%; } .col-xs-push-0 { - left: auto; -} + left: auto; } .col-xs-push-1 { - left: 8.333333%; -} + left: 8.333333%; } .col-xs-push-2 { - left: 16.666667%; -} + left: 16.666667%; } .col-xs-push-3 { - left: 25%; -} + left: 25%; } .col-xs-push-4 { - left: 33.333333%; -} + left: 33.333333%; } .col-xs-push-5 { - left: 41.666667%; -} + left: 41.666667%; } .col-xs-push-6 { - left: 50%; -} + left: 50%; } .col-xs-push-7 { - left: 58.333333%; -} + left: 58.333333%; } .col-xs-push-8 { - left: 66.666667%; -} + left: 66.666667%; } .col-xs-push-9 { - left: 75%; -} + left: 75%; } .col-xs-push-10 { - left: 83.333333%; -} + left: 83.333333%; } .col-xs-push-11 { - left: 91.666667%; -} + left: 91.666667%; } .col-xs-push-12 { - left: 100%; -} + left: 100%; } .col-xs-offset-0 { - margin-left: 0; -} + margin-left: 0%; } .col-xs-offset-1 { - margin-left: 8.333333%; -} + margin-left: 8.333333%; } .col-xs-offset-2 { - margin-left: 16.666667%; -} + margin-left: 16.666667%; } .col-xs-offset-3 { - margin-left: 25%; -} + margin-left: 25%; } .col-xs-offset-4 { - margin-left: 33.333333%; -} + margin-left: 33.333333%; } .col-xs-offset-5 { - margin-left: 41.666667%; -} + margin-left: 41.666667%; } .col-xs-offset-6 { - margin-left: 50%; -} + margin-left: 50%; } .col-xs-offset-7 { - margin-left: 58.333333%; -} + margin-left: 58.333333%; } .col-xs-offset-8 { - margin-left: 66.666667%; -} + margin-left: 66.666667%; } .col-xs-offset-9 { - margin-left: 75%; -} + margin-left: 75%; } .col-xs-offset-10 { - margin-left: 83.333333%; -} + margin-left: 83.333333%; } .col-xs-offset-11 { - margin-left: 91.666667%; -} + margin-left: 91.666667%; } .col-xs-offset-12 { - margin-left: 100%; -} + margin-left: 100%; } @media (min-width: 34em) { .col-sm-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - } + flex: 0 0 8.333333%; } .col-sm-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - } + flex: 0 0 16.666667%; } .col-sm-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - } + flex: 0 0 25%; } .col-sm-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - } + flex: 0 0 33.333333%; } .col-sm-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - } + flex: 0 0 41.666667%; } .col-sm-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - } + flex: 0 0 50%; } .col-sm-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - } + flex: 0 0 58.333333%; } .col-sm-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - } + flex: 0 0 66.666667%; } .col-sm-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - } + flex: 0 0 75%; } .col-sm-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - } + flex: 0 0 83.333333%; } .col-sm-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - } + flex: 0 0 91.666667%; } .col-sm-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - } + flex: 0 0 100%; } .col-sm-pull-0 { - right: auto; - } + right: auto; } .col-sm-pull-1 { - right: 8.333333%; - } + right: 8.333333%; } .col-sm-pull-2 { - right: 16.666667%; - } + right: 16.666667%; } .col-sm-pull-3 { - right: 25%; - } + right: 25%; } .col-sm-pull-4 { - right: 33.333333%; - } + right: 33.333333%; } .col-sm-pull-5 { - right: 41.666667%; - } + right: 41.666667%; } .col-sm-pull-6 { - right: 50%; - } + right: 50%; } .col-sm-pull-7 { - right: 58.333333%; - } + right: 58.333333%; } .col-sm-pull-8 { - right: 66.666667%; - } + right: 66.666667%; } .col-sm-pull-9 { - right: 75%; - } + right: 75%; } .col-sm-pull-10 { - right: 83.333333%; - } + right: 83.333333%; } .col-sm-pull-11 { - right: 91.666667%; - } + right: 91.666667%; } .col-sm-pull-12 { - right: 100%; - } + right: 100%; } .col-sm-push-0 { - left: auto; - } + left: auto; } .col-sm-push-1 { - left: 8.333333%; - } + left: 8.333333%; } .col-sm-push-2 { - left: 16.666667%; - } + left: 16.666667%; } .col-sm-push-3 { - left: 25%; - } + left: 25%; } .col-sm-push-4 { - left: 33.333333%; - } + left: 33.333333%; } .col-sm-push-5 { - left: 41.666667%; - } + left: 41.666667%; } .col-sm-push-6 { - left: 50%; - } + left: 50%; } .col-sm-push-7 { - left: 58.333333%; - } + left: 58.333333%; } .col-sm-push-8 { - left: 66.666667%; - } + left: 66.666667%; } .col-sm-push-9 { - left: 75%; - } + left: 75%; } .col-sm-push-10 { - left: 83.333333%; - } + left: 83.333333%; } .col-sm-push-11 { - left: 91.666667%; - } + left: 91.666667%; } .col-sm-push-12 { - left: 100%; - } + left: 100%; } .col-sm-offset-0 { - margin-left: 0; - } + margin-left: 0%; } .col-sm-offset-1 { - margin-left: 8.333333%; - } + margin-left: 8.333333%; } .col-sm-offset-2 { - margin-left: 16.666667%; - } + margin-left: 16.666667%; } .col-sm-offset-3 { - margin-left: 25%; - } + margin-left: 25%; } .col-sm-offset-4 { - margin-left: 33.333333%; - } + margin-left: 33.333333%; } .col-sm-offset-5 { - margin-left: 41.666667%; - } + margin-left: 41.666667%; } .col-sm-offset-6 { - margin-left: 50%; - } + margin-left: 50%; } .col-sm-offset-7 { - margin-left: 58.333333%; - } + margin-left: 58.333333%; } .col-sm-offset-8 { - margin-left: 66.666667%; - } + margin-left: 66.666667%; } .col-sm-offset-9 { - margin-left: 75%; - } + margin-left: 75%; } .col-sm-offset-10 { - margin-left: 83.333333%; - } + margin-left: 83.333333%; } .col-sm-offset-11 { - margin-left: 91.666667%; - } + margin-left: 91.666667%; } .col-sm-offset-12 { - margin-left: 100%; - } -} + margin-left: 100%; } } @media (min-width: 48em) { .col-md-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - } + flex: 0 0 8.333333%; } .col-md-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - } + flex: 0 0 16.666667%; } .col-md-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - } + flex: 0 0 25%; } .col-md-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - } + flex: 0 0 33.333333%; } .col-md-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - } + flex: 0 0 41.666667%; } .col-md-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - } + flex: 0 0 50%; } .col-md-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - } + flex: 0 0 58.333333%; } .col-md-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - } + flex: 0 0 66.666667%; } .col-md-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - } + flex: 0 0 75%; } .col-md-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - } + flex: 0 0 83.333333%; } .col-md-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - } + flex: 0 0 91.666667%; } .col-md-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - } + flex: 0 0 100%; } .col-md-pull-0 { - right: auto; - } + right: auto; } .col-md-pull-1 { - right: 8.333333%; - } + right: 8.333333%; } .col-md-pull-2 { - right: 16.666667%; - } + right: 16.666667%; } .col-md-pull-3 { - right: 25%; - } + right: 25%; } .col-md-pull-4 { - right: 33.333333%; - } + right: 33.333333%; } .col-md-pull-5 { - right: 41.666667%; - } + right: 41.666667%; } .col-md-pull-6 { - right: 50%; - } + right: 50%; } .col-md-pull-7 { - right: 58.333333%; - } + right: 58.333333%; } .col-md-pull-8 { - right: 66.666667%; - } + right: 66.666667%; } .col-md-pull-9 { - right: 75%; - } + right: 75%; } .col-md-pull-10 { - right: 83.333333%; - } + right: 83.333333%; } .col-md-pull-11 { - right: 91.666667%; - } + right: 91.666667%; } .col-md-pull-12 { - right: 100%; - } + right: 100%; } .col-md-push-0 { - left: auto; - } + left: auto; } .col-md-push-1 { - left: 8.333333%; - } + left: 8.333333%; } .col-md-push-2 { - left: 16.666667%; - } + left: 16.666667%; } .col-md-push-3 { - left: 25%; - } + left: 25%; } .col-md-push-4 { - left: 33.333333%; - } + left: 33.333333%; } .col-md-push-5 { - left: 41.666667%; - } + left: 41.666667%; } .col-md-push-6 { - left: 50%; - } + left: 50%; } .col-md-push-7 { - left: 58.333333%; - } + left: 58.333333%; } .col-md-push-8 { - left: 66.666667%; - } + left: 66.666667%; } .col-md-push-9 { - left: 75%; - } + left: 75%; } .col-md-push-10 { - left: 83.333333%; - } + left: 83.333333%; } .col-md-push-11 { - left: 91.666667%; - } + left: 91.666667%; } .col-md-push-12 { - left: 100%; - } + left: 100%; } .col-md-offset-0 { - margin-left: 0; - } + margin-left: 0%; } .col-md-offset-1 { - margin-left: 8.333333%; - } + margin-left: 8.333333%; } .col-md-offset-2 { - margin-left: 16.666667%; - } + margin-left: 16.666667%; } .col-md-offset-3 { - margin-left: 25%; - } + margin-left: 25%; } .col-md-offset-4 { - margin-left: 33.333333%; - } + margin-left: 33.333333%; } .col-md-offset-5 { - margin-left: 41.666667%; - } + margin-left: 41.666667%; } .col-md-offset-6 { - margin-left: 50%; - } + margin-left: 50%; } .col-md-offset-7 { - margin-left: 58.333333%; - } + margin-left: 58.333333%; } .col-md-offset-8 { - margin-left: 66.666667%; - } + margin-left: 66.666667%; } .col-md-offset-9 { - margin-left: 75%; - } + margin-left: 75%; } .col-md-offset-10 { - margin-left: 83.333333%; - } + margin-left: 83.333333%; } .col-md-offset-11 { - margin-left: 91.666667%; - } + margin-left: 91.666667%; } .col-md-offset-12 { - margin-left: 100%; - } -} + margin-left: 100%; } } @media (min-width: 62em) { .col-lg-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - } + flex: 0 0 8.333333%; } .col-lg-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - } + flex: 0 0 16.666667%; } .col-lg-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - } + flex: 0 0 25%; } .col-lg-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - } + flex: 0 0 33.333333%; } .col-lg-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - } + flex: 0 0 41.666667%; } .col-lg-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - } + flex: 0 0 50%; } .col-lg-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - } + flex: 0 0 58.333333%; } .col-lg-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - } + flex: 0 0 66.666667%; } .col-lg-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - } + flex: 0 0 75%; } .col-lg-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - } + flex: 0 0 83.333333%; } .col-lg-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - } + flex: 0 0 91.666667%; } .col-lg-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - } + flex: 0 0 100%; } .col-lg-pull-0 { - right: auto; - } + right: auto; } .col-lg-pull-1 { - right: 8.333333%; - } + right: 8.333333%; } .col-lg-pull-2 { - right: 16.666667%; - } + right: 16.666667%; } .col-lg-pull-3 { - right: 25%; - } + right: 25%; } .col-lg-pull-4 { - right: 33.333333%; - } + right: 33.333333%; } .col-lg-pull-5 { - right: 41.666667%; - } + right: 41.666667%; } .col-lg-pull-6 { - right: 50%; - } + right: 50%; } .col-lg-pull-7 { - right: 58.333333%; - } + right: 58.333333%; } .col-lg-pull-8 { - right: 66.666667%; - } + right: 66.666667%; } .col-lg-pull-9 { - right: 75%; - } + right: 75%; } .col-lg-pull-10 { - right: 83.333333%; - } + right: 83.333333%; } .col-lg-pull-11 { - right: 91.666667%; - } + right: 91.666667%; } .col-lg-pull-12 { - right: 100%; - } + right: 100%; } .col-lg-push-0 { - left: auto; - } + left: auto; } .col-lg-push-1 { - left: 8.333333%; - } + left: 8.333333%; } .col-lg-push-2 { - left: 16.666667%; - } + left: 16.666667%; } .col-lg-push-3 { - left: 25%; - } + left: 25%; } .col-lg-push-4 { - left: 33.333333%; - } + left: 33.333333%; } .col-lg-push-5 { - left: 41.666667%; - } + left: 41.666667%; } .col-lg-push-6 { - left: 50%; - } + left: 50%; } .col-lg-push-7 { - left: 58.333333%; - } + left: 58.333333%; } .col-lg-push-8 { - left: 66.666667%; - } + left: 66.666667%; } .col-lg-push-9 { - left: 75%; - } + left: 75%; } .col-lg-push-10 { - left: 83.333333%; - } + left: 83.333333%; } .col-lg-push-11 { - left: 91.666667%; - } + left: 91.666667%; } .col-lg-push-12 { - left: 100%; - } + left: 100%; } .col-lg-offset-0 { - margin-left: 0; - } + margin-left: 0%; } .col-lg-offset-1 { - margin-left: 8.333333%; - } + margin-left: 8.333333%; } .col-lg-offset-2 { - margin-left: 16.666667%; - } + margin-left: 16.666667%; } .col-lg-offset-3 { - margin-left: 25%; - } + margin-left: 25%; } .col-lg-offset-4 { - margin-left: 33.333333%; - } + margin-left: 33.333333%; } .col-lg-offset-5 { - margin-left: 41.666667%; - } + margin-left: 41.666667%; } .col-lg-offset-6 { - margin-left: 50%; - } + margin-left: 50%; } .col-lg-offset-7 { - margin-left: 58.333333%; - } + margin-left: 58.333333%; } .col-lg-offset-8 { - margin-left: 66.666667%; - } + margin-left: 66.666667%; } .col-lg-offset-9 { - margin-left: 75%; - } + margin-left: 75%; } .col-lg-offset-10 { - margin-left: 83.333333%; - } + margin-left: 83.333333%; } .col-lg-offset-11 { - margin-left: 91.666667%; - } + margin-left: 91.666667%; } .col-lg-offset-12 { - margin-left: 100%; - } -} + margin-left: 100%; } } @media (min-width: 75em) { .col-xl-1 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 8.333333%; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - } + flex: 0 0 8.333333%; } .col-xl-2 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 16.666667%; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - } + flex: 0 0 16.666667%; } .col-xl-3 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 25%; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - } + flex: 0 0 25%; } .col-xl-4 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 33.333333%; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - } + flex: 0 0 33.333333%; } .col-xl-5 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 41.666667%; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - } + flex: 0 0 41.666667%; } .col-xl-6 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 50%; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - } + flex: 0 0 50%; } .col-xl-7 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 58.333333%; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - } + flex: 0 0 58.333333%; } .col-xl-8 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 66.666667%; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - } + flex: 0 0 66.666667%; } .col-xl-9 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 75%; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - } + flex: 0 0 75%; } .col-xl-10 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 83.333333%; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - } + flex: 0 0 83.333333%; } .col-xl-11 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 91.666667%; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - } + flex: 0 0 91.666667%; } .col-xl-12 { - -webkit-box-flex: 0; - -webkit-flex: 0 0 100%; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - } + flex: 0 0 100%; } .col-xl-pull-0 { - right: auto; - } + right: auto; } .col-xl-pull-1 { - right: 8.333333%; - } + right: 8.333333%; } .col-xl-pull-2 { - right: 16.666667%; - } + right: 16.666667%; } .col-xl-pull-3 { - right: 25%; - } + right: 25%; } .col-xl-pull-4 { - right: 33.333333%; - } + right: 33.333333%; } .col-xl-pull-5 { - right: 41.666667%; - } + right: 41.666667%; } .col-xl-pull-6 { - right: 50%; - } + right: 50%; } .col-xl-pull-7 { - right: 58.333333%; - } + right: 58.333333%; } .col-xl-pull-8 { - right: 66.666667%; - } + right: 66.666667%; } .col-xl-pull-9 { - right: 75%; - } + right: 75%; } .col-xl-pull-10 { - right: 83.333333%; - } + right: 83.333333%; } .col-xl-pull-11 { - right: 91.666667%; - } + right: 91.666667%; } .col-xl-pull-12 { - right: 100%; - } + right: 100%; } .col-xl-push-0 { - left: auto; - } + left: auto; } .col-xl-push-1 { - left: 8.333333%; - } + left: 8.333333%; } .col-xl-push-2 { - left: 16.666667%; - } + left: 16.666667%; } .col-xl-push-3 { - left: 25%; - } + left: 25%; } .col-xl-push-4 { - left: 33.333333%; - } + left: 33.333333%; } .col-xl-push-5 { - left: 41.666667%; - } + left: 41.666667%; } .col-xl-push-6 { - left: 50%; - } + left: 50%; } .col-xl-push-7 { - left: 58.333333%; - } + left: 58.333333%; } .col-xl-push-8 { - left: 66.666667%; - } + left: 66.666667%; } .col-xl-push-9 { - left: 75%; - } + left: 75%; } .col-xl-push-10 { - left: 83.333333%; - } + left: 83.333333%; } .col-xl-push-11 { - left: 91.666667%; - } + left: 91.666667%; } .col-xl-push-12 { - left: 100%; - } + left: 100%; } .col-xl-offset-0 { - margin-left: 0; - } + margin-left: 0%; } .col-xl-offset-1 { - margin-left: 8.333333%; - } + margin-left: 8.333333%; } .col-xl-offset-2 { - margin-left: 16.666667%; - } + margin-left: 16.666667%; } .col-xl-offset-3 { - margin-left: 25%; - } + margin-left: 25%; } .col-xl-offset-4 { - margin-left: 33.333333%; - } + margin-left: 33.333333%; } .col-xl-offset-5 { - margin-left: 41.666667%; - } + margin-left: 41.666667%; } .col-xl-offset-6 { - margin-left: 50%; - } + margin-left: 50%; } .col-xl-offset-7 { - margin-left: 58.333333%; - } + margin-left: 58.333333%; } .col-xl-offset-8 { - margin-left: 66.666667%; - } + margin-left: 66.666667%; } .col-xl-offset-9 { - margin-left: 75%; - } + margin-left: 75%; } .col-xl-offset-10 { - margin-left: 83.333333%; - } + margin-left: 83.333333%; } .col-xl-offset-11 { - margin-left: 91.666667%; - } + margin-left: 91.666667%; } .col-xl-offset-12 { - margin-left: 100%; - } -} + margin-left: 100%; } } .col-xs-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} + order: -1; } .col-xs-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; -} + order: 1; } @media (min-width: 34em) { .col-sm-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } + order: -1; } .col-sm-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } -} + order: 1; } } @media (min-width: 48em) { .col-md-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } + order: -1; } .col-md-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } -} + order: 1; } } @media (min-width: 62em) { .col-lg-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } + order: -1; } .col-lg-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } -} + order: 1; } } @media (min-width: 75em) { .col-xl-first { - -webkit-box-ordinal-group: 0; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - } + order: -1; } .col-xl-last { - -webkit-box-ordinal-group: 2; - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - } -} + order: 1; } } .row-xs-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} + align-items: flex-start; } .row-xs-center { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} + align-items: center; } .row-xs-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; -} + align-items: flex-end; } @media (min-width: 34em) { .row-sm-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - } + align-items: flex-start; } .row-sm-center { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } + align-items: center; } .row-sm-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - } -} + align-items: flex-end; } } @media (min-width: 48em) { .row-md-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - } + align-items: flex-start; } .row-md-center { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } + align-items: center; } .row-md-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - } -} + align-items: flex-end; } } @media (min-width: 62em) { .row-lg-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - } + align-items: flex-start; } .row-lg-center { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } + align-items: center; } .row-lg-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - } -} + align-items: flex-end; } } @media (min-width: 75em) { .row-xl-top { - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - } + align-items: flex-start; } .row-xl-center { - -webkit-box-align: center; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - } + align-items: center; } .row-xl-bottom { - -webkit-box-align: end; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; - } -} + align-items: flex-end; } } .col-xs-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; -} + align-self: flex-start; } .col-xs-center { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; -} + align-self: center; } .col-xs-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; -} + align-self: flex-end; } @media (min-width: 34em) { .col-sm-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - } + align-self: flex-start; } .col-sm-center { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - } + align-self: center; } .col-sm-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - } -} + align-self: flex-end; } } @media (min-width: 48em) { .col-md-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - } + align-self: flex-start; } .col-md-center { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - } + align-self: center; } .col-md-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - } -} + align-self: flex-end; } } @media (min-width: 62em) { .col-lg-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - } + align-self: flex-start; } .col-lg-center { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - } + align-self: center; } .col-lg-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - } -} + align-self: flex-end; } } @media (min-width: 75em) { .col-xl-top { - -webkit-align-self: flex-start; - -ms-flex-item-align: start; - align-self: flex-start; - } + align-self: flex-start; } .col-xl-center { - -webkit-align-self: center; - -ms-flex-item-align: center; - align-self: center; - } + align-self: center; } .col-xl-bottom { - -webkit-align-self: flex-end; - -ms-flex-item-align: end; - align-self: flex-end; - } -} + align-self: flex-end; } } .table { width: 100%; max-width: 100%; - margin-bottom: 1rem; -} -.table th, .table td { - padding: .75rem; - line-height: 1.5; - vertical-align: top; - border-top: 1px solid #eceeef; -} -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #eceeef; -} -.table tbody + tbody { - border-top: 2px solid #eceeef; -} -.table .table { - background-color: #fff; -} + margin-bottom: 1rem; } + .table th, + .table td { + padding: 0.75rem; + line-height: 1.5; + vertical-align: top; + border-top: 1px solid #eceeef; } + .table thead th { + vertical-align: bottom; + border-bottom: 2px solid #eceeef; } + .table tbody + tbody { + border-top: 2px solid #eceeef; } + .table .table { + background-color: #fff; } -.table-sm th, .table-sm td { - padding: .3rem; -} +.table-sm th, +.table-sm td { + padding: 0.3rem; } .table-bordered { - border: 1px solid #eceeef; -} -.table-bordered th, .table-bordered td { - border: 1px solid #eceeef; -} -.table-bordered thead th, .table-bordered thead td { - border-bottom-width: 2px; -} + border: 1px solid #eceeef; } + .table-bordered th, + .table-bordered td { + border: 1px solid #eceeef; } + .table-bordered thead th, + .table-bordered thead td { + border-bottom-width: 2px; } .table-striped tbody tr:nth-of-type(odd) { - background-color: #f9f9f9; -} + background-color: #f9f9f9; } .table-hover tbody tr:hover { - background-color: #f5f5f5; -} + background-color: #f5f5f5; } -.table-active, .table-active > th, .table-active > td { - background-color: #f5f5f5; -} +.table-active, +.table-active > th, +.table-active > td { + background-color: #f5f5f5; } .table-hover .table-active:hover { - background-color: #e8e8e8; -} -.table-hover .table-active:hover > td, .table-hover .table-active:hover > th { - background-color: #e8e8e8; -} + background-color: #e8e8e8; } + .table-hover .table-active:hover > td, + .table-hover .table-active:hover > th { + background-color: #e8e8e8; } -.table-success, .table-success > th, .table-success > td { - background-color: #dff0d8; -} +.table-success, +.table-success > th, +.table-success > td { + background-color: #dff0d8; } .table-hover .table-success:hover { - background-color: #d0e9c6; -} -.table-hover .table-success:hover > td, .table-hover .table-success:hover > th { - background-color: #d0e9c6; -} + background-color: #d0e9c6; } + .table-hover .table-success:hover > td, + .table-hover .table-success:hover > th { + background-color: #d0e9c6; } -.table-info, .table-info > th, .table-info > td { - background-color: #d9edf7; -} +.table-info, +.table-info > th, +.table-info > td { + background-color: #d9edf7; } .table-hover .table-info:hover { - background-color: #c4e3f3; -} -.table-hover .table-info:hover > td, .table-hover .table-info:hover > th { - background-color: #c4e3f3; -} + background-color: #c4e3f3; } + .table-hover .table-info:hover > td, + .table-hover .table-info:hover > th { + background-color: #c4e3f3; } -.table-warning, .table-warning > th, .table-warning > td { - background-color: #fcf8e3; -} +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #fcf8e3; } .table-hover .table-warning:hover { - background-color: #faf2cc; -} -.table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { - background-color: #faf2cc; -} + background-color: #faf2cc; } + .table-hover .table-warning:hover > td, + .table-hover .table-warning:hover > th { + background-color: #faf2cc; } -.table-danger, .table-danger > th, .table-danger > td { - background-color: #f2dede; -} +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f2dede; } .table-hover .table-danger:hover { - background-color: #ebcccc; -} -.table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { - background-color: #ebcccc; -} + background-color: #ebcccc; } + .table-hover .table-danger:hover > td, + .table-hover .table-danger:hover > th { + background-color: #ebcccc; } .table-responsive { display: block; width: 100%; - overflow-x: auto; -} + overflow-x: auto; } .thead-inverse th { color: #fff; - background-color: #373a3c; -} + background-color: #373a3c; } .thead-default th { color: #55595c; - background-color: #eceeef; -} + background-color: #eceeef; } .table-inverse { color: #eceeef; - background-color: #373a3c; -} -.table-inverse.table-bordered { - border: 0; -} -.table-inverse th, .table-inverse td, .table-inverse thead th { - border-color: #55595c; -} + background-color: #373a3c; } + .table-inverse.table-bordered { + border: 0; } + .table-inverse th, + .table-inverse td, + .table-inverse thead th { + border-color: #55595c; } .table-reflow thead { - float: left; -} + float: left; } + .table-reflow tbody { display: block; - white-space: nowrap; -} -.table-reflow th, .table-reflow td { + white-space: nowrap; } + +.table-reflow th, +.table-reflow td { border-top: 1px solid #eceeef; - border-left: 1px solid #eceeef; -} -.table-reflow th:last-child, .table-reflow td:last-child { - border-right: 1px solid #eceeef; -} -.table-reflow thead:last-child tr:last-child th, .table-reflow thead:last-child tr:last-child td, .table-reflow tbody:last-child tr:last-child th, .table-reflow tbody:last-child tr:last-child td, .table-reflow tfoot:last-child tr:last-child th, .table-reflow tfoot:last-child tr:last-child td { - border-bottom: 1px solid #eceeef; -} + border-left: 1px solid #eceeef; } + .table-reflow th:last-child, + .table-reflow td:last-child { + border-right: 1px solid #eceeef; } + +.table-reflow thead:last-child tr:last-child th, +.table-reflow thead:last-child tr:last-child td, +.table-reflow tbody:last-child tr:last-child th, +.table-reflow tbody:last-child tr:last-child td, +.table-reflow tfoot:last-child tr:last-child th, +.table-reflow tfoot:last-child tr:last-child td { + border-bottom: 1px solid #eceeef; } + .table-reflow tr { - float: left; -} -.table-reflow tr th, .table-reflow tr td { - display: block !important; - border: 1px solid #eceeef; -} + float: left; } + .table-reflow tr th, + .table-reflow tr td { + display: block !important; + border: 1px solid #eceeef; } .form-control { display: block; width: 100%; - padding: .5rem .75rem; + padding: 0.5rem 0.75rem; font-size: 1rem; line-height: 1.5; color: #55595c; background-color: #fff; background-image: none; border: 1px solid #ccc; - border-radius: .25rem; - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; -} -.form-control:not(textarea), .form-control:not(select[size]), .form-control:not(select[multiple]) { - height: 2.625rem; -} -.form-control:focus { - border-color: #66afe9; - outline: none; -} -.form-control::-webkit-input-placeholder { - color: #999; - opacity: 1; -} -.form-control::-moz-placeholder { - color: #999; - opacity: 1; -} -.form-control:-ms-input-placeholder { - color: #999; - opacity: 1; -} -.form-control::placeholder { - color: #999; - opacity: 1; -} -.form-control:disabled, .form-control[readonly], fieldset[disabled] .form-control { - background-color: #eceeef; - opacity: 1; -} -.form-control[disabled], fieldset[disabled] .form-control { - cursor: false; -} + border-radius: 0.25rem; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } + .form-control:not(textarea), + .form-control:not(select[size]), + .form-control:not(select[multiple]) { + height: 2.625rem; } + .form-control:focus { + border-color: #66afe9; + outline: none; } + .form-control::placeholder { + color: #999; + opacity: 1; } + .form-control:disabled, + .form-control[readonly], + fieldset[disabled] .form-control { + background-color: #eceeef; + opacity: 1; } + .form-control[disabled], + fieldset[disabled] .form-control { + cursor: not-allowed; } -.form-control-file, .form-control-range { - display: block; -} +.form-control-file, +.form-control-range { + display: block; } .form-control-label { - padding: .5625rem .75rem; - margin-bottom: 0; -} + padding: 0.5625rem 0.75rem; + margin-bottom: 0; } .form-control-static { min-height: 2.625rem; - padding-top: .5625rem; - padding-bottom: .5625rem; - margin-bottom: 0; -} -.form-control-static.form-control-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, .form-control-static.form-control-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 { - padding-right: 0; - padding-left: 0; -} + padding-top: 0.5625rem; + padding-bottom: 0.5625rem; + margin-bottom: 0; } + .form-control-static.form-control-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, + .form-control-static.form-control-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 { + padding-right: 0; + padding-left: 0; } -.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { +.form-control-sm, .input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { height: 2rem; - padding: .3rem .75rem; - font-size: .85rem; + padding: 0.3rem 0.75rem; + font-size: 0.85rem; line-height: 1.5; - border-radius: .2rem; -} + border-radius: 0.2rem; } -.form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { +.form-control-lg, .input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { height: 3.291667rem; - padding: .75rem 1.5rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; line-height: 1.333333; - border-radius: .3rem; -} + border-radius: 0.3rem; } .form-group { - margin-bottom: 15px; -} + margin-bottom: 15px; } -.radio, .checkbox { +.radio, +.checkbox { position: relative; display: block; - margin-bottom: .75rem; -} -.radio label, .checkbox label { - padding-left: 1.25rem; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; -} -.radio label input:only-child, .checkbox label input:only-child { - position: static; -} + margin-bottom: 0.75rem; } + .radio label, + .checkbox label { + padding-left: 1.25rem; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } + .radio label input:only-child, + .checkbox label input:only-child { + position: static; } -.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { position: absolute; margin-top: .25rem; - margin-left: -1.25rem; -} + margin-left: -1.25rem; } -.radio + .radio, .checkbox + .checkbox { - margin-top: -.25rem; -} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -.25rem; } -.radio-inline, .checkbox-inline { +.radio-inline, +.checkbox-inline { position: relative; display: inline-block; padding-left: 1.25rem; margin-bottom: 0; font-weight: normal; vertical-align: middle; - cursor: pointer; -} + cursor: pointer; } -.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { margin-top: 0; - margin-left: .75rem; -} + margin-left: .75rem; } -input[type="radio"]:disabled, input[type="radio"].disabled, fieldset[disabled] input[type="radio"], input[type="checkbox"]:disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="checkbox"] { - cursor: false; -} +input[type="radio"]:disabled, +input[type="radio"].disabled, +fieldset[disabled] input[type="radio"], +input[type="checkbox"]:disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; } -.radio-inline.disabled, fieldset[disabled] .radio-inline, .checkbox-inline.disabled, fieldset[disabled] .checkbox-inline { - cursor: false; -} +.radio-inline.disabled, +fieldset[disabled] .radio-inline, +.checkbox-inline.disabled, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; } -.radio.disabled label, fieldset[disabled] .radio label, .checkbox.disabled label, fieldset[disabled] .checkbox label { - cursor: false; -} +.radio.disabled label, +fieldset[disabled] .radio label, +.checkbox.disabled label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; } .has-feedback { - position: relative; -} -.has-feedback .form-control { - padding-right: 3.28125rem; -} + position: relative; } + .has-feedback .form-control { + padding-right: 3.28125rem; } .form-control-feedback { position: absolute; @@ -2284,460 +1616,545 @@ input[type="radio"]:disabled, input[type="radio"].disabled, fieldset[disabled] i height: 2.625rem; line-height: 2.625rem; text-align: center; - pointer-events: none; -} + pointer-events: none; } -.input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback { +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback { width: 3.291667rem; height: 3.291667rem; - line-height: 3.291667rem; -} + line-height: 3.291667rem; } -.input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback { +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback { width: 2rem; height: 2rem; - line-height: 2rem; -} + line-height: 2rem; } + +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; } -.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { - color: #3c763d; -} .has-success .form-control { - border-color: #3c763d; -} -.has-success .form-control:focus { - border-color: #2b542c; -} + border-color: #3c763d; } + .has-success .form-control:focus { + border-color: #2b542c; } + .has-success .input-group-addon { color: #3c763d; - background-color: #dff0d8; border-color: #3c763d; -} -.has-success .form-control-feedback { - color: #3c763d; -} + background-color: #dff0d8; } + +.has-success .form-control-feedback { + color: #3c763d; } + +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; } -.has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { - color: #8a6d3b; -} .has-warning .form-control { - border-color: #8a6d3b; -} -.has-warning .form-control:focus { - border-color: #66512c; -} + border-color: #8a6d3b; } + .has-warning .form-control:focus { + border-color: #66512c; } + .has-warning .input-group-addon { color: #8a6d3b; - background-color: #fcf8e3; border-color: #8a6d3b; -} -.has-warning .form-control-feedback { - color: #8a6d3b; -} + background-color: #fcf8e3; } + +.has-warning .form-control-feedback { + color: #8a6d3b; } + +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; } -.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { - color: #a94442; -} .has-error .form-control { - border-color: #a94442; -} -.has-error .form-control:focus { - border-color: #843534; -} + border-color: #a94442; } + .has-error .form-control:focus { + border-color: #843534; } + .has-error .input-group-addon { color: #a94442; - background-color: #f2dede; border-color: #a94442; -} + background-color: #f2dede; } + .has-error .form-control-feedback { - color: #a94442; -} + color: #a94442; } .has-feedback label ~ .form-control-feedback { - top: 6; -} + top: 6; } + .has-feedback label.sr-only ~ .form-control-feedback { - top: 0; -} + top: 0; } .help-block { display: block; margin-top: .25rem; margin-bottom: .75rem; - color: #747a7f; -} + color: #747a7f; } @media (min-width: 34em) { .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; - } - .form-inline .radio, .form-inline .checkbox { + vertical-align: middle; } + .form-inline .radio, + .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; - vertical-align: middle; - } - .form-inline .radio label, .form-inline .checkbox label { - padding-left: 0; - } - .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { + 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; } } .btn { display: inline-block; - padding: .5rem .75rem; - font-size: 1rem; font-weight: normal; - line-height: 1.5; text-align: center; white-space: nowrap; vertical-align: middle; - -ms-touch-action: manipulation; - touch-action: manipulation; + touch-action: manipulation; cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: .0625rem solid transparent; - border-radius: .25rem; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; -} -.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:focus, .btn:hover { - text-decoration: none; -} -.btn.focus { - text-decoration: none; -} -.btn:active, .btn.active { - background-image: none; - outline: 0; -} -.btn.disabled, .btn:disabled, fieldset[disabled] .btn { - cursor: false; - opacity: .65; -} + user-select: none; + border: 0.0625rem solid transparent; + padding: 0.5rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: all 0.2s ease-in-out; } + .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:focus, + .btn:hover { + text-decoration: none; } + .btn.focus { + text-decoration: none; } + .btn:active, + .btn.active { + background-image: none; + outline: 0; } + .btn.disabled, + .btn:disabled, + fieldset[disabled] .btn { + cursor: not-allowed; + opacity: .65; } -a.btn.disaabled, fieldset[disabled] a.btn { - pointer-events: none; -} +a.btn.disaabled, +fieldset[disabled] a.btn { + pointer-events: none; } .btn-primary { color: #fff; background-color: #0275d8; - border-color: #0267bf; -} -.btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #025aa5; - border-color: #014682; -} -.btn-primary:hover { - color: #fff; - background-color: #025aa5; - border-color: #014682; -} -.btn-primary:active, .btn-primary.active, .open > .btn-primary.dropdown-toggle { - background-image: none; -} -.btn-primary.disabled, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled.active, .btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled.focus, .btn-primary:disabled:active, .btn-primary:disabled.active, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { - background-color: #0275d8; - border-color: #0267bf; -} -.btn-primary.disabled:hover, .btn-primary:disabled:hover, fieldset[disabled] .btn-primary:hover { - background-color: #0275d8; - border-color: #0267bf; -} -.btn-primary .badge { - color: #0275d8; - background-color: #fff; -} + border-color: #0267bf; } + .btn-primary:focus, + .btn-primary.focus, + .btn-primary:active, + .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #025aa5; + border-color: #014682; } + .btn-primary:hover { + color: #fff; + background-color: #025aa5; + border-color: #014682; } + .btn-primary:active, + .btn-primary.active, + .open > .btn-primary.dropdown-toggle { + background-image: none; } + .btn-primary.disabled, + .btn-primary.disabled:focus, + .btn-primary.disabled.focus, + .btn-primary.disabled:active, + .btn-primary.disabled.active, + .btn-primary:disabled, + .btn-primary:disabled:focus, + .btn-primary:disabled.focus, + .btn-primary:disabled:active, + .btn-primary:disabled.active, + fieldset[disabled] .btn-primary, + fieldset[disabled] .btn-primary:focus, + fieldset[disabled] .btn-primary.focus, + fieldset[disabled] .btn-primary:active, + fieldset[disabled] .btn-primary.active { + background-color: #0275d8; + border-color: #0267bf; } + .btn-primary.disabled:hover, + .btn-primary:disabled:hover, + fieldset[disabled] .btn-primary:hover { + background-color: #0275d8; + border-color: #0267bf; } + .btn-primary .badge { + color: #0275d8; + background-color: #fff; } .btn-secondary { color: #373a3c; background-color: #fff; - border-color: #ccc; -} -.btn-secondary:focus, .btn-secondary.focus, .btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle { - color: #373a3c; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-secondary:hover { - color: #373a3c; - background-color: #e6e6e6; - border-color: #adadad; -} -.btn-secondary:active, .btn-secondary.active, .open > .btn-secondary.dropdown-toggle { - background-image: none; -} -.btn-secondary.disabled, .btn-secondary.disabled:focus, .btn-secondary.disabled.focus, .btn-secondary.disabled:active, .btn-secondary.disabled.active, .btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled.focus, .btn-secondary:disabled:active, .btn-secondary:disabled.active, fieldset[disabled] .btn-secondary, fieldset[disabled] .btn-secondary:focus, fieldset[disabled] .btn-secondary.focus, fieldset[disabled] .btn-secondary:active, fieldset[disabled] .btn-secondary.active { - background-color: #fff; - border-color: #ccc; -} -.btn-secondary.disabled:hover, .btn-secondary:disabled:hover, fieldset[disabled] .btn-secondary:hover { - background-color: #fff; - border-color: #ccc; -} -.btn-secondary .badge { - color: #fff; - background-color: #373a3c; -} + border-color: #ccc; } + .btn-secondary:focus, + .btn-secondary.focus, + .btn-secondary:active, + .btn-secondary.active, + .open > .btn-secondary.dropdown-toggle { + color: #373a3c; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-secondary:hover { + color: #373a3c; + background-color: #e6e6e6; + border-color: #adadad; } + .btn-secondary:active, + .btn-secondary.active, + .open > .btn-secondary.dropdown-toggle { + background-image: none; } + .btn-secondary.disabled, + .btn-secondary.disabled:focus, + .btn-secondary.disabled.focus, + .btn-secondary.disabled:active, + .btn-secondary.disabled.active, + .btn-secondary:disabled, + .btn-secondary:disabled:focus, + .btn-secondary:disabled.focus, + .btn-secondary:disabled:active, + .btn-secondary:disabled.active, + fieldset[disabled] .btn-secondary, + fieldset[disabled] .btn-secondary:focus, + fieldset[disabled] .btn-secondary.focus, + fieldset[disabled] .btn-secondary:active, + fieldset[disabled] .btn-secondary.active { + background-color: #fff; + border-color: #ccc; } + .btn-secondary.disabled:hover, + .btn-secondary:disabled:hover, + fieldset[disabled] .btn-secondary:hover { + background-color: #fff; + border-color: #ccc; } + .btn-secondary .badge { + color: #fff; + background-color: #373a3c; } .btn-info { color: #fff; background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:hover { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; -} -.btn-info:active, .btn-info.active, .open > .btn-info.dropdown-toggle { - background-image: none; -} -.btn-info.disabled, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info:disabled, .btn-info:disabled:focus, .btn-info:disabled.focus, .btn-info:disabled:active, .btn-info:disabled.active, fieldset[disabled] .btn-info, 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.disabled:hover, .btn-info:disabled:hover, fieldset[disabled] .btn-info:hover { - background-color: #5bc0de; - border-color: #46b8da; -} -.btn-info .badge { - color: #5bc0de; - background-color: #fff; -} + border-color: #46b8da; } + .btn-info:focus, + .btn-info.focus, + .btn-info:active, + .btn-info.active, + .open > .btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } + .btn-info:active, + .btn-info.active, + .open > .btn-info.dropdown-toggle { + background-image: none; } + .btn-info.disabled, + .btn-info.disabled:focus, + .btn-info.disabled.focus, + .btn-info.disabled:active, + .btn-info.disabled.active, + .btn-info:disabled, + .btn-info:disabled:focus, + .btn-info:disabled.focus, + .btn-info:disabled:active, + .btn-info:disabled.active, + fieldset[disabled] .btn-info, + 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.disabled:hover, + .btn-info:disabled:hover, + fieldset[disabled] .btn-info:hover { + background-color: #5bc0de; + border-color: #46b8da; } + .btn-info .badge { + color: #5bc0de; + background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:hover { - color: #fff; - background-color: #449d44; - border-color: #398439; -} -.btn-success:active, .btn-success.active, .open > .btn-success.dropdown-toggle { - background-image: none; -} -.btn-success.disabled, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success:disabled, .btn-success:disabled:focus, .btn-success:disabled.focus, .btn-success:disabled:active, .btn-success:disabled.active, fieldset[disabled] .btn-success, 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.disabled:hover, .btn-success:disabled:hover, fieldset[disabled] .btn-success:hover { - background-color: #5cb85c; - border-color: #4cae4c; -} -.btn-success .badge { - color: #5cb85c; - background-color: #fff; -} + border-color: #4cae4c; } + .btn-success:focus, + .btn-success.focus, + .btn-success:active, + .btn-success.active, + .open > .btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; } + .btn-success:active, + .btn-success.active, + .open > .btn-success.dropdown-toggle { + background-image: none; } + .btn-success.disabled, + .btn-success.disabled:focus, + .btn-success.disabled.focus, + .btn-success.disabled:active, + .btn-success.disabled.active, + .btn-success:disabled, + .btn-success:disabled:focus, + .btn-success:disabled.focus, + .btn-success:disabled:active, + .btn-success:disabled.active, + fieldset[disabled] .btn-success, + 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.disabled:hover, + .btn-success:disabled:hover, + fieldset[disabled] .btn-success:hover { + background-color: #5cb85c; + border-color: #4cae4c; } + .btn-success .badge { + color: #5cb85c; + background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:hover { - color: #fff; - background-color: #ec971f; - border-color: #d58512; -} -.btn-warning:active, .btn-warning.active, .open > .btn-warning.dropdown-toggle { - background-image: none; -} -.btn-warning.disabled, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning:disabled, .btn-warning:disabled:focus, .btn-warning:disabled.focus, .btn-warning:disabled:active, .btn-warning:disabled.active, fieldset[disabled] .btn-warning, 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.disabled:hover, .btn-warning:disabled:hover, fieldset[disabled] .btn-warning:hover { - background-color: #f0ad4e; - border-color: #eea236; -} -.btn-warning .badge { - color: #f0ad4e; - background-color: #fff; -} + border-color: #eea236; } + .btn-warning:focus, + .btn-warning.focus, + .btn-warning:active, + .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; } + .btn-warning:active, + .btn-warning.active, + .open > .btn-warning.dropdown-toggle { + background-image: none; } + .btn-warning.disabled, + .btn-warning.disabled:focus, + .btn-warning.disabled.focus, + .btn-warning.disabled:active, + .btn-warning.disabled.active, + .btn-warning:disabled, + .btn-warning:disabled:focus, + .btn-warning:disabled.focus, + .btn-warning:disabled:active, + .btn-warning:disabled.active, + fieldset[disabled] .btn-warning, + 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.disabled:hover, + .btn-warning:disabled:hover, + fieldset[disabled] .btn-warning:hover { + background-color: #f0ad4e; + border-color: #eea236; } + .btn-warning .badge { + color: #f0ad4e; + background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:hover { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; -} -.btn-danger:active, .btn-danger.active, .open > .btn-danger.dropdown-toggle { - background-image: none; -} -.btn-danger.disabled, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger:disabled, .btn-danger:disabled:focus, .btn-danger:disabled.focus, .btn-danger:disabled:active, .btn-danger:disabled.active, fieldset[disabled] .btn-danger, 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.disabled:hover, .btn-danger:disabled:hover, fieldset[disabled] .btn-danger:hover { - background-color: #d9534f; - border-color: #d43f3a; -} -.btn-danger .badge { - color: #d9534f; - background-color: #fff; -} + border-color: #d43f3a; } + .btn-danger:focus, + .btn-danger.focus, + .btn-danger:active, + .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } + .btn-danger:active, + .btn-danger.active, + .open > .btn-danger.dropdown-toggle { + background-image: none; } + .btn-danger.disabled, + .btn-danger.disabled:focus, + .btn-danger.disabled.focus, + .btn-danger.disabled:active, + .btn-danger.disabled.active, + .btn-danger:disabled, + .btn-danger:disabled:focus, + .btn-danger:disabled.focus, + .btn-danger:disabled:active, + .btn-danger:disabled.active, + fieldset[disabled] .btn-danger, + 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.disabled:hover, + .btn-danger:disabled:hover, + fieldset[disabled] .btn-danger:hover { + background-color: #d9534f; + border-color: #d43f3a; } + .btn-danger .badge { + color: #d9534f; + background-color: #fff; } .btn-link { font-weight: normal; color: #0275d8; - border-radius: 0; -} -.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled, fieldset[disabled] .btn-link { - background-color: transparent; -} -.btn-link, .btn-link:focus, .btn-link:active { - border-color: transparent; -} -.btn-link:hover { - border-color: transparent; -} -.btn-link:focus, .btn-link:hover { - color: #014c8c; - text-decoration: underline; - background-color: transparent; -} -.btn-link:disabled:focus, .btn-link:disabled:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:hover { - color: #818a91; - text-decoration: none; -} + border-radius: 0; } + .btn-link, + .btn-link:active, + .btn-link.active, + .btn-link:disabled, + fieldset[disabled] .btn-link { + background-color: transparent; } + .btn-link, + .btn-link:focus, + .btn-link:active { + border-color: transparent; } + .btn-link:hover { + border-color: transparent; } + .btn-link:focus, + .btn-link:hover { + color: #014c8c; + text-decoration: underline; + background-color: transparent; } + .btn-link:disabled:focus, + .btn-link:disabled:hover, + fieldset[disabled] .btn-link:focus, + fieldset[disabled] .btn-link:hover { + color: #818a91; + text-decoration: none; } .btn-lg, .btn-group-lg > .btn { - padding: .75rem 1.5rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; line-height: 1.333333; - border-radius: .3rem; -} + border-radius: 0.3rem; } .btn-sm, .btn-group-sm > .btn { - padding: .3rem .75rem; - font-size: .85rem; + padding: 0.3rem 0.75rem; + font-size: 0.85rem; line-height: 1.5; - border-radius: .2rem; -} + border-radius: 0.2rem; } .btn-xs, .btn-group-xs > .btn { - padding: .2rem .5rem; - font-size: .75rem; + padding: 0.2rem 0.5rem; + font-size: 0.75rem; line-height: 1.5; - border-radius: .2rem; -} + border-radius: 0.2rem; } .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%; -} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } .fade { opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; -} -.fade.in { - opacity: 1; -} + transition: opacity 0.15s linear; } + .fade.in { + opacity: 1; } .collapse { - display: none; -} -.collapse.in { - display: block; -} + display: none; } + .collapse.in { + display: block; } .collapsing { position: relative; height: 0; overflow: hidden; - -webkit-transition-timing-function: ease; - -o-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - -o-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height; - -o-transition-property: height; - transition-property: height; -} + transition-timing-function: ease; + transition-duration: .35s; + transition-property: height; } -.dropup, .dropdown { - position: relative; -} +.dropup, +.dropdown { + position: relative; } .dropdown-toggle:after { display: inline-block; @@ -2746,13 +2163,12 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto margin-left: .25rem; vertical-align: middle; content: ""; - border-top: .3em solid; - border-right: .3em solid transparent; - border-left: .3em solid transparent; -} + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; } + .dropdown-toggle:focus { - outline: 0; -} + outline: 0; } .dropdown-menu { position: absolute; @@ -2768,76 +2184,71 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto text-align: left; list-style: none; background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: .25rem; -} -.dropdown-menu .divider { - height: 1px; - margin: -.5 0; - overflow: hidden; - background-color: #e5e5e5; -} -.dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.5; - color: #373a3c; - white-space: nowrap; -} + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } + .dropdown-menu .divider { + height: 1px; + margin: 0.5rem 0; + overflow: hidden; + background-color: #e5e5e5; } + .dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.5; + color: #373a3c; + white-space: nowrap; } -.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover { +.dropdown-menu > li > a:focus, +.dropdown-menu > li > a:hover { color: #2b2d2f; text-decoration: none; - background-color: #f5f5f5; -} + background-color: #f5f5f5; } -.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover { +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:focus, +.dropdown-menu > .active > a:hover { color: #fff; text-decoration: none; background-color: #0275d8; - outline: 0; -} + outline: 0; } -.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover { - color: #818a91; -} -.dropdown-menu > .disabled > a:focus, .dropdown-menu > .disabled > a:hover { +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:focus, +.dropdown-menu > .disabled > a:hover { + color: #818a91; } + +.dropdown-menu > .disabled > a:focus, +.dropdown-menu > .disabled > a:hover { text-decoration: none; - cursor: false; + cursor: not-allowed; background-color: transparent; background-image: none; - filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; -} + filter: "progid:DXImageTransform.Microsoft.gradient(enabled = false)"; } .open > .dropdown-menu { - display: block; -} + display: block; } + .open > a { - outline: 0; -} + outline: 0; } .dropdown-menu-right { right: 0; - left: auto; -} + left: auto; } .dropdown-menu-left { right: auto; - left: 0; -} + left: 0; } .dropdown-header { display: block; padding: 3px 20px; - font-size: .85rem; + font-size: 0.85rem; line-height: 1.5; color: #818a91; - white-space: nowrap; -} + white-space: nowrap; } .dropdown-backdrop { position: fixed; @@ -2845,208 +2256,197 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto right: 0; bottom: 0; left: 0; - z-index: 990; -} + z-index: 990; } .pull-right > .dropdown-menu { right: 0; - left: auto; -} + left: auto; } -.dropup .caret, .navbar-fixed-bottom .dropdown .caret { +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; - border-bottom: .3em solid; -} -.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { + border-bottom: 0.3em solid; } + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; - margin-bottom: 2px; -} + margin-bottom: 2px; } -.btn-group, .btn-group-vertical { +.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:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { - z-index: 2; -} -.btn-group > .btn:hover, .btn-group-vertical > .btn:hover { - z-index: 2; -} + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + float: left; } + .btn-group > .btn:focus, + .btn-group > .btn:active, + .btn-group > .btn.active, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 2; } + .btn-group > .btn:hover, + .btn-group-vertical > .btn:hover { + z-index: 2; } -.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { - margin-left: -1px; -} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; } .btn-toolbar { - margin-left: -5px; -} -.btn-toolbar:before, .btn-toolbar:after { - display: table; - content: " "; -} -.btn-toolbar:after { - clear: both; -} -.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-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-top-right-radius: 0; - border-bottom-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-top-left-radius: 0; +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { border-bottom-left-radius: 0; -} + border-top-left-radius: 0; } .btn-group > .btn-group { - float: left; -} + float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} + border-radius: 0; } -.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-top-right-radius: 0; +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; -} + border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; border-bottom-left-radius: 0; -} + border-top-left-radius: 0; } -.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { - outline: 0; -} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; - padding-left: 8px; -} + padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { padding-right: 12px; - padding-left: 12px; -} + padding-left: 12px; } .btn .caret { - margin-left: 0; -} + margin-left: 0; } .btn-lg .caret, .btn-group-lg > .btn .caret { - border-width: .3em .3em 0; - border-bottom-width: 0; -} + border-width: 0.3em 0.3em 0; + border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { - border-width: 0 .3em .3em; -} + border-width: 0 0.3em 0.3em; } -.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; - max-width: 100%; -} -.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { - display: table; - content: " "; -} + max-width: 100%; } + +.btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after { - clear: both; -} + content: " "; + display: table; } + +.btn-group-vertical > .btn-group:after { + clear: both; } + .btn-group-vertical > .btn-group > .btn { - float: none; -} -.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { + 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: .25rem; + border-top-right-radius: 0.25rem; 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-top-left-radius: 0; + border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; - border-bottom-left-radius: .25rem; -} + 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 { +.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-left-radius: 0; border-top-right-radius: 0; -} + border-top-left-radius: 0; } -[data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); - pointer-events: none; -} + pointer-events: none; } .input-group { position: relative; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.input-group .form-control { - position: relative; - z-index: 2; - margin-bottom: 0; + display: flex; } + .input-group .form-control { + position: relative; + z-index: 2; + flex: 1; + margin-bottom: 0; } - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} +.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: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 { +.input-group-addon, +.input-group-btn { white-space: nowrap; - vertical-align: middle; -} + vertical-align: middle; } .input-group-addon { - padding: .5rem .75rem; + padding: 0.5rem 0.75rem; font-size: 1rem; font-weight: normal; line-height: 1; @@ -3054,84 +2454,84 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto text-align: center; background-color: #eceeef; border: 1px solid #ccc; - border-radius: .25rem; -} -.input-group-addon.form-control-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { - padding: .3rem .75rem; - font-size: .85rem; - border-radius: .2rem; -} -.input-group-addon.form-control-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { - padding: .75rem 1.5rem; - font-size: 1.25rem; - border-radius: .3rem; -} -.input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { - margin-top: 0; -} + border-radius: 0.25rem; } + .input-group-addon.form-control-sm, .input-group-sm > .input-group-addon, + .input-group-sm > .input-group-btn > .input-group-addon.btn { + padding: 0.3rem 0.75rem; + font-size: 0.85rem; + border-radius: 0.2rem; } + .input-group-addon.form-control-lg, .input-group-lg > .input-group-addon, + .input-group-lg > .input-group-btn > .input-group-addon.btn { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + border-radius: 0.3rem; } + .input-group-addon input[type="radio"], + .input-group-addon input[type="checkbox"] { + margin-top: 0; } -.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; -} + border-top-right-radius: 0; } .input-group-addon:first-child { - border-right: 0; -} + border-right: 0; } -.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; -} + border-top-left-radius: 0; } .input-group-addon:last-child { - border-left: 0; -} + 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:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover { - z-index: 2; -} -.input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { - margin-right: -1px; -} -.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { - margin-left: -1px; -} + white-space: nowrap; } + .input-group-btn > .btn { + position: relative; } + .input-group-btn > .btn + .btn { + margin-left: -1px; } + .input-group-btn > .btn:focus, + .input-group-btn > .btn:active, + .input-group-btn > .btn:hover { + z-index: 2; } + .input-group-btn:first-child > .btn, + .input-group-btn:first-child > .btn-group { + margin-right: -1px; } + .input-group-btn:last-child > .btn, + .input-group-btn:last-child > .btn-group { + margin-left: -1px; } .c-input { position: relative; display: inline; padding-left: 1.5rem; color: #555; - cursor: pointer; -} -.c-input > input { - position: absolute; - z-index: -1; - opacity: 0; -} -.c-input > input:checked ~ .c-indicator { - color: #fff; - background-color: #0074d9; -} -.c-input > input:active ~ .c-indicator { - color: #fff; - background-color: #84c6ff; -} -.c-input + .c-input { - margin-left: 1rem; -} + cursor: pointer; } + .c-input > input { + position: absolute; + z-index: -1; + opacity: 0; } + .c-input > input:checked ~ .c-indicator { + color: #fff; + background-color: #0074d9; } + .c-input > input:active ~ .c-indicator { + color: #fff; + background-color: #84c6ff; } + .c-input + .c-input { + margin-left: 1rem; } .c-indicator { position: absolute; @@ -3144,123 +2544,97 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto line-height: 1rem; color: #eee; text-align: center; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + user-select: none; background-color: #eee; background-repeat: no-repeat; background-position: center center; - -webkit-background-size: 50% 50%; - background-size: 50% 50%; -} + background-size: 50% 50%; } .c-checkbox .c-indicator { - border-radius: .25rem; -} + border-radius: .25rem; } + .c-checkbox input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); -} + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); } + .c-checkbox input:indeterminate ~ .c-indicator { background-color: #0074d9; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); -} + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); } .c-radio .c-indicator { - border-radius: 50%; -} + border-radius: 50%; } + .c-radio input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); -} + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); } .c-inputs-stacked .c-input { - display: inline; -} -.c-inputs-stacked .c-input:after { - display: block; - margin-bottom: .25rem; - content: ""; -} -.c-inputs-stacked .c-input + .c-input { - margin-left: 0; -} + display: inline; } + .c-inputs-stacked .c-input:after { + display: block; + margin-bottom: .25rem; + content: ""; } + .c-inputs-stacked .c-input + .c-input { + margin-left: 0; } .select { position: relative; display: inline-block; - color: #555; -} -.select > select { - display: inline-block; - width: 100%; - -webkit-appearance: none; - padding: .5rem 2.25rem .5rem 1rem; - margin: 0; - line-height: 1.5; - color: #555; - cursor: pointer; - background-color: #eee; - border: 0; - border-radius: .25rem; - outline: 0; - - appearance: none; -} -.select > select:focus { - -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; - box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -} -.select > select:focus:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #000; -} -.select > select:active { - color: #fff; - background-color: #0074d9; -} -.select > select::-ms-expand { - display: none; -} -.select:after { - position: absolute; - top: 50%; - right: 1.25rem; - display: inline-block; - width: 0; - height: 0; - margin-top: -.15rem; - pointer-events: none; - content: ""; - border-top: .35rem solid; - border-right: .35rem solid transparent; - border-bottom: .35rem solid transparent; - border-left: .35rem solid transparent; -} + color: #555; } + .select > select { + display: inline-block; + width: 100%; + padding: 0.5rem 2.25rem 0.5rem 1rem; + margin: 0; + line-height: 1.5; + color: #555; + cursor: pointer; + background-color: #eee; + border: 0; + border-radius: .25rem; + outline: 0; + -webkit-appearance: none; + appearance: none; } + .select > select:focus { + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } + .select > select:focus:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #000; } + .select > select:active { + color: #fff; + background-color: #0074d9; } + .select > select::-ms-expand { + display: none; } + .select:after { + position: absolute; + top: 50%; + right: 1.25rem; + display: inline-block; + width: 0; + height: 0; + margin-top: -.15rem; + pointer-events: none; + content: ""; + border-top: .35rem solid; + border-right: .35rem solid transparent; + border-bottom: .35rem solid transparent; + border-left: .35rem solid transparent; } .select select:hover { - background-color: #ddd; -} + background-color: #ddd; } @-moz-document url-prefix() { .select select { padding-right: 1rem; - text-indent: .01px; - text-overflow: ""; - } - + text-indent: 0.01px; + text-overflow: ""; } .select option { - background-color: #fff; - } -} + background-color: #fff; } } -@media screen and (min-width: 0\0) { +@media screen and (min-width: 0 \0) { .select select { z-index: 1; - padding: .5rem 1.5rem .5rem 1rem; - } + padding: 0.5rem 1.5rem 0.5rem 1rem; } .select:after { - z-index: 5; - } + z-index: 5; } .select:before { position: absolute; top: 0; @@ -3270,27 +2644,24 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto display: block; width: 1.5rem; content: ""; - background-color: #eee; - } - .select select:focus, .select select:active, .select select:hover { + background-color: #eee; } + .select select:focus, + .select select:active, + .select select:hover { color: #555; - background-color: #eee; - } -} + background-color: #eee; } } .file { position: relative; display: inline-block; height: 2.5rem; - cursor: pointer; -} + cursor: pointer; } .file input { min-width: 14rem; margin: 0; filter: alpha(opacity=0); - opacity: 0; -} + opacity: 0; } .file-custom { position: absolute; @@ -3299,23 +2670,17 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto left: 0; z-index: 5; height: 2.5rem; - padding: .5rem 1rem; + padding: 0.5rem 1rem; line-height: 1.5; color: #555; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + user-select: none; background-color: #fff; border: .075rem solid #ddd; border-radius: .25rem; - -webkit-box-shadow: inset 0 .2rem .4rem rgba(0, 0, 0, .05); - box-shadow: inset 0 .2rem .4rem rgba(0, 0, 0, .05); -} + box-shadow: inset 0 0.2rem 0.4rem rgba(0, 0, 0, 0.05); } .file-custom:after { - content: "Choose file..."; -} + content: "Choose file..."; } .file-custom:before { position: absolute; @@ -3325,427 +2690,417 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto z-index: 6; display: block; height: 2.5rem; - padding: .5rem 1rem; + padding: 0.5rem 1rem; line-height: 1.5; color: #555; content: "Browse"; background-color: #eee; border: .075rem solid #ddd; - border-radius: 0 .25rem .25rem 0; -} + border-radius: 0 0.25rem 0.25rem 0; } .file input:focus ~ .file-custom { - -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; - box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; -} + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } .nav { padding-left: 0; margin-bottom: 0; - list-style: none; -} -.nav:before, .nav:after { - display: table; - content: " "; -} -.nav:after { - clear: both; -} + list-style: none; } + .nav:before, + .nav:after { + content: " "; + display: table; } + .nav:after { + clear: both; } .nav-item { position: relative; - display: inline-block; -} + display: inline-block; } .nav-link { display: inline-block; - padding: .75em 1em; - line-height: 1; -} -.nav-link:focus, .nav-link:hover { - text-decoration: none; - background-color: #eceeef; -} -.disabled > .nav-link, .nav-link.disabled { - color: #818a91; -} -.disabled > .nav-link, .disabled > .nav-link:focus, .disabled > .nav-link:hover, .nav-link.disabled, .nav-link.disabled:focus, .nav-link.disabled:hover { - color: #818a91; - cursor: false; - background-color: transparent; -} + padding: 0.75em 1em; + line-height: 1; } + .nav-link:focus, + .nav-link:hover { + text-decoration: none; + background-color: #eceeef; } + .disabled > .nav-link, + .nav-link.disabled { + color: #818a91; } + .disabled > .nav-link, + .disabled > .nav-link:focus, + .disabled > .nav-link:hover, + .nav-link.disabled, + .nav-link.disabled:focus, + .nav-link.disabled:hover { + color: #818a91; + cursor: not-allowed; + background-color: transparent; } .nav-tabs { - border-bottom: 1px solid #ddd; -} -.nav-tabs .nav-item { - float: left; - margin-bottom: -1px; -} -.nav-tabs .nav-item + .nav-item { - margin-left: .2rem; -} -.nav-tabs .nav-link { - display: block; - border: 1px solid transparent; - border-radius: .25rem .25rem 0 0; -} -.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { - border-color: #eceeef #eceeef #ddd; -} -.nav-tabs .open > .nav-link, .nav-tabs .open > .nav-link:focus, .nav-tabs .open > .nav-link:hover, .nav-tabs .active > .nav-link, .nav-tabs .active > .nav-link:focus, .nav-tabs .active > .nav-link:hover, .nav-tabs .nav-link.open, .nav-tabs .nav-link.open:focus, .nav-tabs .nav-link.open:hover, .nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover { - color: #55595c; - background-color: #fff; - border-color: #ddd #ddd transparent; -} -.nav-tabs .disabled > .nav-link, .nav-tabs .disabled > .nav-link:focus, .nav-tabs .disabled > .nav-link:hover, .nav-tabs .nav-link.disabled, .nav-tabs .nav-link.disabled:focus, .nav-tabs .nav-link.disabled:hover { - color: #818a91; - background-color: transparent; - border-color: transparent; -} + border-bottom: 1px solid #ddd; } + .nav-tabs .nav-item { + float: left; + margin-bottom: -1px; } + .nav-tabs .nav-item + .nav-item { + margin-left: .2rem; } + .nav-tabs .nav-link { + display: block; + border: 1px solid transparent; + border-radius: 0.25rem 0.25rem 0 0; } + .nav-tabs .nav-link:focus, + .nav-tabs .nav-link:hover { + border-color: #eceeef #eceeef #ddd; } + .nav-tabs .open > .nav-link, + .nav-tabs .open > .nav-link:focus, + .nav-tabs .open > .nav-link:hover, + .nav-tabs .active > .nav-link, + .nav-tabs .active > .nav-link:focus, + .nav-tabs .active > .nav-link:hover, + .nav-tabs .nav-link.open, + .nav-tabs .nav-link.open:focus, + .nav-tabs .nav-link.open:hover, + .nav-tabs .nav-link.active, + .nav-tabs .nav-link.active:focus, + .nav-tabs .nav-link.active:hover { + color: #55595c; + background-color: #fff; + border-color: #ddd #ddd transparent; } + .nav-tabs .disabled > .nav-link, + .nav-tabs .disabled > .nav-link:focus, + .nav-tabs .disabled > .nav-link:hover, + .nav-tabs .nav-link.disabled, + .nav-tabs .nav-link.disabled:focus, + .nav-tabs .nav-link.disabled:hover { + color: #818a91; + background-color: transparent; + border-color: transparent; } .nav-pills .nav-item { - float: left; -} -.nav-pills .nav-item + .nav-item { - margin-left: .2rem; -} + float: left; } + .nav-pills .nav-item + .nav-item { + margin-left: .2rem; } + .nav-pills .nav-link { display: block; - border-radius: .25rem; -} -.nav-pills .open > .nav-link, .nav-pills .open > .nav-link:focus, .nav-pills .open > .nav-link:hover, .nav-pills .active > .nav-link, .nav-pills .active > .nav-link:focus, .nav-pills .active > .nav-link:hover, .nav-pills .nav-link.open, .nav-pills .nav-link.open:focus, .nav-pills .nav-link.open:hover, .nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover { + border-radius: 0.25rem; } + +.nav-pills .open > .nav-link, +.nav-pills .open > .nav-link:focus, +.nav-pills .open > .nav-link:hover, +.nav-pills .active > .nav-link, +.nav-pills .active > .nav-link:focus, +.nav-pills .active > .nav-link:hover, +.nav-pills .nav-link.open, +.nav-pills .nav-link.open:focus, +.nav-pills .nav-link.open:hover, +.nav-pills .nav-link.active, +.nav-pills .nav-link.active:focus, +.nav-pills .nav-link.active:hover { color: #fff; cursor: default; - background-color: #0275d8; -} + background-color: #0275d8; } .nav-stacked .nav-item { display: block; - float: none; -} -.nav-stacked .nav-item + .nav-item { - margin-top: .2rem; - margin-left: 0; -} + float: none; } + .nav-stacked .nav-item + .nav-item { + margin-top: .2rem; + margin-left: 0; } .tab-content > .tab-pane { - display: none; -} + display: none; } + .tab-content > .active { - display: block; -} + display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; - border-top-left-radius: 0; border-top-right-radius: 0; -} + border-top-left-radius: 0; } .navbar { position: relative; padding: 1rem; - margin-bottom: 1; -} -.navbar:before, .navbar:after { - display: table; - content: " "; -} -.navbar:after { - clear: both; -} -@media (min-width: 34em) { - .navbar { - border-radius: .25rem; - } -} + margin-bottom: 1; } + .navbar:before, + .navbar:after { + content: " "; + display: table; } + .navbar:after { + clear: both; } + @media (min-width: 34em) { + .navbar { + border-radius: 0.25rem; } } .navbar-static-top { - z-index: 1000; -} -@media (min-width: 34em) { - .navbar-static-top { - border-radius: 0; - } -} + z-index: 1000; } + @media (min-width: 34em) { + .navbar-static-top { + border-radius: 0; } } -.navbar-fixed-top, .navbar-fixed-bottom { +.navbar-fixed-top, +.navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; - margin-bottom: 0; -} -@media (min-width: 34em) { - .navbar-fixed-top, .navbar-fixed-bottom { - border-radius: 0; - } -} + margin-bottom: 0; } + @media (min-width: 34em) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; } } .navbar-fixed-top { - top: 0; -} + top: 0; } .navbar-fixed-bottom { - bottom: 0; -} + bottom: 0; } .navbar-sticky-top { - position: -webkit-sticky; - position: sticky; + position: sticky; top: 0; - z-index: 1030; width: 100%; -} -@media (min-width: 34em) { - .navbar-sticky-top { - border-radius: 0; - } -} + z-index: 1030; } + @media (min-width: 34em) { + .navbar-sticky-top { + border-radius: 0; } } .navbar-brand { float: left; - padding: .625rem .75rem; + padding: 0.625rem 0.75rem; margin-right: 1rem; margin-bottom: 0; font-size: 1.25rem; - line-height: 1; -} -.navbar-brand > a:focus, .navbar-brand > a:hover { - text-decoration: none; -} -.navbar-brand > img { - display: block; -} + line-height: 1; } + .navbar-brand > a:focus, + .navbar-brand > a:hover { + text-decoration: none; } + .navbar-brand > img { + display: block; } .navbar-toggler { - padding: .55rem .75rem; + padding: 0.55rem 0.75rem; margin-right: 1rem; margin-bottom: 0; font-size: 1.25rem; line-height: 1; background: none; - border: 0; -} -.navbar-toggler:focus, .navbar-toggler:hover { - text-decoration: none; -} + border: 0; } + .navbar-toggler:focus, + .navbar-toggler:hover { + text-decoration: none; } @media (min-width: 34em) { .navbar-toggleable-xs { - display: block !important; - } -} + display: block !important; } } + @media (min-width: 48em) { .navbar-toggleable-sm { - display: block !important; - } -} + display: block !important; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; - border-top-left-radius: 0; border-top-right-radius: 0; -} + border-top-left-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-top-left-radius: .25rem; - border-top-right-radius: .25rem; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} + border-bottom-left-radius: 0; } .navbar-condensed { padding-top: 0; - padding-bottom: 0; -} -.navbar-condensed .navbar-brand { - padding-top: .95rem; - padding-bottom: .95rem; -} -.navbar-condensed .form-inline { - margin-top: .6rem; -} + padding-bottom: 0; } + .navbar-condensed .navbar-brand { + padding-top: .95rem; + padding-bottom: .95rem; } + .navbar-condensed .form-inline { + margin-top: .6rem; } .navbar-nav .nav-item { - float: left; -} + float: left; } + .navbar-nav .nav-link { display: block; padding-top: .95rem; padding-bottom: .95rem; - line-height: 1.25; -} -.navbar-nav .open > .nav-link, .navbar-nav .open > .nav-link:focus, .navbar-nav .open > .nav-link:hover, .navbar-nav .active > .nav-link, .navbar-nav .active > .nav-link:focus, .navbar-nav .active > .nav-link:hover, .navbar-nav .nav-link.open, .navbar-nav .nav-link.open:focus, .navbar-nav .nav-link.open:hover, .navbar-nav .nav-link.active, .navbar-nav .nav-link.active:focus, .navbar-nav .nav-link.active:hover { + line-height: 1.25; } + +.navbar-nav .open > .nav-link, +.navbar-nav .open > .nav-link:focus, +.navbar-nav .open > .nav-link:hover, +.navbar-nav .active > .nav-link, +.navbar-nav .active > .nav-link:focus, +.navbar-nav .active > .nav-link:hover, +.navbar-nav .nav-link.open, +.navbar-nav .nav-link.open:focus, +.navbar-nav .nav-link.open:hover, +.navbar-nav .nav-link.active, +.navbar-nav .nav-link.active:focus, +.navbar-nav .nav-link.active:hover { color: #555; cursor: default; - background-color: #e7e7e7; -} + background-color: #e7e7e7; } .navbar-default { background-color: #f8f8f8; - border-color: #e7e7e7; -} -.navbar-default .navbar-brand { - color: #777; -} -.navbar-default .navbar-brand:focus, .navbar-default .navbar-brand:hover { - color: #5e5e5e; - background-color: transparent; -} + border-color: #e7e7e7; } + .navbar-default .navbar-brand { + color: #777; } + .navbar-default .navbar-brand:focus, + .navbar-default .navbar-brand:hover { + color: #5e5e5e; + background-color: transparent; } .navbar-inverse { background-color: #373a3c; - border-color: #1f2021; -} -.navbar-inverse .navbar-toggler, .navbar-inverse .navbar-brand > a, .navbar-inverse .nav-pills > .nav-item > .nav-link { - color: #aab0b5; -} -.navbar-inverse .navbar-toggler:focus, .navbar-inverse .navbar-toggler:hover, .navbar-inverse .navbar-brand > a:focus, .navbar-inverse .navbar-brand > a:hover, .navbar-inverse .nav-pills > .nav-item > .nav-link:focus, .navbar-inverse .nav-pills > .nav-item > .nav-link:hover { - color: #fff; -} -.navbar-inverse .nav-pills > .nav-item > .nav-link:focus, .navbar-inverse .nav-pills > .nav-item > .nav-link:hover { - color: #fff; - background-color: #1f2021; -} -.navbar-inverse .nav-pills > .active > .nav-link, .navbar-inverse .nav-pills > .nav-link.active { - color: #fff; - background-color: #1f2021; -} -.navbar-inverse .navbar-brand { - color: #aab0b5; -} -.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-text { - color: #a2a8ae; -} -.navbar-inverse .navbar-nav > li > a { - color: #aab0b5; -} -.navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover { - color: #fff; - background-color: transparent; -} -.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:focus, .navbar-inverse .navbar-nav > .active > a:hover { - color: #fff; - background-color: #1f2021; -} -.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:focus, .navbar-inverse .navbar-nav > .disabled > a:hover { - color: #444; - background-color: transparent; -} -.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { - border-color: #262829; -} -.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover { - color: #fff; - background-color: #1f2021; -} -.navbar-inverse .navbar-link { - color: #aab0b5; -} -.navbar-inverse .navbar-link:hover { - color: #fff; -} -.navbar-inverse .btn-link { - color: #aab0b5; -} -.navbar-inverse .btn-link:focus, .navbar-inverse .btn-link:hover { - color: #fff; -} -.navbar-inverse .btn-link:disabled:focus, .navbar-inverse .btn-link:disabled:hover, fieldset[disabled] .navbar-inverse .btn-link:focus, fieldset[disabled] .navbar-inverse .btn-link:hover { - color: #444; -} + border-color: #1f2021; } + .navbar-inverse .navbar-toggler, + .navbar-inverse .navbar-brand > a, + .navbar-inverse .nav-pills > .nav-item > .nav-link { + color: #aab0b5; } + .navbar-inverse .navbar-toggler:focus, + .navbar-inverse .navbar-toggler:hover, + .navbar-inverse .navbar-brand > a:focus, + .navbar-inverse .navbar-brand > a:hover, + .navbar-inverse .nav-pills > .nav-item > .nav-link:focus, + .navbar-inverse .nav-pills > .nav-item > .nav-link:hover { + color: #fff; } + .navbar-inverse .nav-pills > .nav-item > .nav-link:focus, + .navbar-inverse .nav-pills > .nav-item > .nav-link:hover { + color: #fff; + background-color: #1f2021; } + .navbar-inverse .nav-pills > .active > .nav-link, + .navbar-inverse .nav-pills > .nav-link.active { + color: #fff; + background-color: #1f2021; } + .navbar-inverse .navbar-brand { + color: #aab0b5; } + .navbar-inverse .navbar-brand:focus, + .navbar-inverse .navbar-brand:hover { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-text { + color: #a2a8ae; } + .navbar-inverse .navbar-nav > li > a { + color: #aab0b5; } + .navbar-inverse .navbar-nav > li > a:focus, + .navbar-inverse .navbar-nav > li > a:hover { + color: #fff; + background-color: transparent; } + .navbar-inverse .navbar-nav > .active > a, + .navbar-inverse .navbar-nav > .active > a:focus, + .navbar-inverse .navbar-nav > .active > a:hover { + color: #fff; + background-color: #1f2021; } + .navbar-inverse .navbar-nav > .disabled > a, + .navbar-inverse .navbar-nav > .disabled > a:focus, + .navbar-inverse .navbar-nav > .disabled > a:hover { + color: #444; + background-color: transparent; } + .navbar-inverse .navbar-collapse, + .navbar-inverse .navbar-form { + border-color: #262829; } + .navbar-inverse .navbar-nav > .open > a, + .navbar-inverse .navbar-nav > .open > a:focus, + .navbar-inverse .navbar-nav > .open > a:hover { + color: #fff; + background-color: #1f2021; } + .navbar-inverse .navbar-link { + color: #aab0b5; } + .navbar-inverse .navbar-link:hover { + color: #fff; } + .navbar-inverse .btn-link { + color: #aab0b5; } + .navbar-inverse .btn-link:focus, + .navbar-inverse .btn-link:hover { + color: #fff; } + .navbar-inverse .btn-link:disabled:focus, + .navbar-inverse .btn-link:disabled:hover, + fieldset[disabled] .navbar-inverse .btn-link:focus, + fieldset[disabled] .navbar-inverse .btn-link:hover { + color: #444; } .card { position: relative; padding: 1.25rem; margin-bottom: 1.25rem; - border: .075rem solid #eee; -} + border: .075rem solid #eee; } .card-title { margin-top: 0; - margin-bottom: .75rem; -} + margin-bottom: .75rem; } .card-text:last-child { - margin-bottom: 0; -} + margin-bottom: 0; } .card-actions .card-link + .card-link { - margin-left: .75rem; -} + margin-left: .75rem; } .card-link:hover { - text-decoration: none; -} + text-decoration: none; } .card-header { - padding: .75rem 1.25rem; + padding: 0.75rem 1.25rem; margin: -1.25rem -1.25rem 1.25rem; border-bottom: .075rem solid #eee; - border-radius: .25rem .25rem 0 0; -} + border-radius: 0.25rem 0.25rem 0 0; } .card-footer { - padding: .75rem 1.25rem; + padding: 0.75rem 1.25rem; margin: 1.25rem -1.25rem -1.25rem; border-top: .075rem solid #eee; - border-radius: 0 0 .25rem .25rem; -} + border-radius: 0 0 0.25rem 0.25rem; } .card-primary { background-color: #0275d8; - border-color: #0275d8; -} + border-color: #0275d8; } .card-success { background-color: #5cb85c; - border-color: #5cb85c; -} + border-color: #5cb85c; } .card-info { background-color: #5bc0de; - border-color: #5bc0de; -} + border-color: #5bc0de; } .card-warning { background-color: #f0ad4e; - border-color: #f0ad4e; -} + border-color: #f0ad4e; } .card-danger { background-color: #d9534f; - border-color: #d9534f; -} + border-color: #d9534f; } -.card-inverse .card-header, .card-inverse .card-footer { - border-bottom: .075rem solid rgba(255, 255, 255, .2); -} -.card-inverse .card-header, .card-inverse .card-footer, .card-inverse .card-title, .card-inverse .card-blockquote { - color: #fff; -} -.card-inverse .card-link, .card-inverse .card-text, .card-inverse .card-blockquote > footer { - color: rgba(255, 255, 255, .65); -} -.card-inverse .card-link:focus, .card-inverse .card-link:hover { - color: #fff; -} +.card-inverse .card-header, +.card-inverse .card-footer { + border-bottom: 0.075rem solid rgba(255, 255, 255, 0.2); } + +.card-inverse .card-header, +.card-inverse .card-footer, +.card-inverse .card-title, +.card-inverse .card-blockquote { + color: #fff; } + +.card-inverse .card-link, +.card-inverse .card-text, +.card-inverse .card-blockquote > footer { + color: rgba(255, 255, 255, 0.65); } + +.card-inverse .card-link:focus, +.card-inverse .card-link:hover { + color: #fff; } .card-blockquote { padding: 0; margin-bottom: 0; - border-left: 0; -} + border-left: 0; } .card-img { margin: -1.325rem; - border-radius: .25rem; -} + border-radius: 0.25rem; } .card-img-overlay { position: absolute; @@ -3753,206 +3108,199 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto right: 0; bottom: 0; left: 0; - padding: 1.25rem; -} + padding: 1.25rem; } .card-img-top { margin: -1.325rem -1.325rem 1.25rem; - border-radius: .25rem .25rem 0 0; -} + border-radius: 0.25rem 0.25rem 0 0; } .card-img-bottom { margin: 1.25rem -1.325rem -1.325rem; - border-radius: 0 0 .25rem .25rem; -} + border-radius: 0 0 0.25rem 0.25rem; } .card-set { display: table; table-layout: fixed; - border-spacing: 1.25rem 0; -} -.card-set .card { - display: table-cell; - float: none; - max-width: none; -} + border-spacing: 1.25rem 0; } + .card-set .card { + display: table-cell; + float: none; + max-width: none; } .card-set-wrapper { margin-right: -1.25rem; - margin-left: -1.25rem; -} + margin-left: -1.25rem; } .card-group { display: table; width: 100%; - table-layout: fixed; -} -.card-group .card { - display: table-cell; - float: none; - max-width: none; -} -.card-group .card + .card { - margin-left: 0; - border-left: 0; -} + table-layout: fixed; } + .card-group .card { + display: table-cell; + float: none; + max-width: none; } + .card-group .card + .card { + margin-left: 0; + border-left: 0; } .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1rem; - -moz-column-gap: 1rem; - column-gap: 1rem; -} -.card-columns .card { - display: inline-block; - width: 100%; -} + column-count: 3; + column-gap: 1rem; } + .card-columns .card { + display: inline-block; + width: 100%; } .breadcrumb { - padding: .75rem 1rem; + padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; background-color: #eceeef; - border-radius: .25rem; -} -.breadcrumb > li { - display: inline-block; -} -.breadcrumb > li + li:before { - padding-right: .5rem; - padding-left: .5rem; - color: #818a91; - content: "/\00a0"; -} -.breadcrumb > .active { - color: #818a91; -} + border-radius: 0.25rem; } + .breadcrumb > li { + display: inline-block; } + .breadcrumb > li + li:before { + padding-right: .5rem; + padding-left: .5rem; + color: #818a91; + content: "/ "; } + .breadcrumb > .active { + color: #818a91; } .pagination { display: inline-block; padding-left: 0; + margin-top: 1rem; + margin-bottom: 1rem; margin: 1 0; - border-radius: .25rem; -} -.pagination > li { - display: inline; -} -.pagination > li > a, .pagination > li > span { - position: relative; - float: left; - padding: .5rem .75rem; - margin-left: -1px; - line-height: 1.5; - color: #0275d8; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -.pagination > li:first-child > a, .pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; -} -.pagination > li:last-child > a, .pagination > li:last-child > span { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; -} -.pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover { - color: #014c8c; - background-color: #eceeef; - border-color: #ddd; -} -.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover { - z-index: 2; - color: #fff; - cursor: default; - background-color: #0275d8; - border-color: #0275d8; -} -.pagination > .disabled > span, .pagination > .disabled > span:focus, .pagination > .disabled > span:hover, .pagination > .disabled > a, .pagination > .disabled > a:focus, .pagination > .disabled > a:hover { - color: #818a91; - cursor: false; - background-color: #fff; - border-color: #ddd; -} + border-radius: 0.25rem; } + .pagination > li { + display: inline; } + .pagination > li > a, + .pagination > li > span { + position: relative; + float: left; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.5; + color: #0275d8; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; } + .pagination > li:first-child > a, + .pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .pagination > li:last-child > a, + .pagination > li:last-child > span { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .pagination > li > a:focus, + .pagination > li > a:hover, + .pagination > li > span:focus, + .pagination > li > span:hover { + color: #014c8c; + background-color: #eceeef; + border-color: #ddd; } + .pagination > .active > a, + .pagination > .active > a:focus, + .pagination > .active > a:hover, + .pagination > .active > span, + .pagination > .active > span:focus, + .pagination > .active > span:hover { + z-index: 2; + color: #fff; + cursor: default; + background-color: #0275d8; + border-color: #0275d8; } + .pagination > .disabled > span, + .pagination > .disabled > span:focus, + .pagination > .disabled > span:hover, + .pagination > .disabled > a, + .pagination > .disabled > a:focus, + .pagination > .disabled > a:hover { + color: #818a91; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; } -.pagination-lg > li > a, .pagination-lg > li > span { - padding: .75rem 1.5rem; - font-size: 1.25rem; -} -.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { - border-top-left-radius: .3rem; - border-bottom-left-radius: .3rem; -} -.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { - border-top-right-radius: .3rem; - border-bottom-right-radius: .3rem; -} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; } -.pagination-sm > li > a, .pagination-sm > li > span { - padding: .3rem .75rem; - font-size: .85rem; -} -.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { - border-top-left-radius: .2rem; - border-bottom-left-radius: .2rem; -} -.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { - border-top-right-radius: .2rem; - border-bottom-right-radius: .2rem; -} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 0.3rem; + border-top-left-radius: 0.3rem; } + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 0.3rem; + border-top-right-radius: 0.3rem; } + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 0.3rem 0.75rem; + font-size: 0.85rem; } + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; } + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; } .pager { padding-left: 0; - margin: 1 0; + margin-top: 1rem; + margin-bottom: 1rem; text-align: center; - list-style: none; -} -.pager:before, .pager:after { - display: table; - content: " "; -} -.pager:after { - clear: both; -} -.pager li { - display: inline; -} -.pager li > a, .pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; -} -.pager li > a:focus, .pager li > a:hover { - text-decoration: none; - background-color: #eceeef; -} -.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover { - color: #818a91; - cursor: false; - background-color: #fff; -} -.pager .disabled > span { - color: #818a91; - cursor: false; - background-color: #fff; -} + list-style: none; } + .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:focus, + .pager li > a:hover { + text-decoration: none; + background-color: #eceeef; } + .pager .disabled > a, + .pager .disabled > a:focus, + .pager .disabled > a:hover { + color: #818a91; + cursor: not-allowed; + background-color: #fff; } + .pager .disabled > span { + color: #818a91; + cursor: not-allowed; + background-color: #fff; } -.pager-next > a, .pager-next > span { - float: right; -} +.pager-next > a, +.pager-next > span { + float: right; } -.pager-prev > a, .pager-prev > span { - float: left; -} +.pager-prev > a, +.pager-prev > span { + float: left; } .label { display: inline-block; - padding: .25em .4em; + padding: 0.25em 0.4em; font-size: 75%; font-weight: bold; line-height: 1; @@ -3960,63 +3308,54 @@ input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="butto text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: .25rem; -} -.label:empty { - display: none; -} -.btn .label { - position: relative; - top: -1px; -} + border-radius: 0.25rem; } + .label:empty { + display: none; } + .btn .label { + position: relative; + top: -1px; } -a.label:focus, a.label:hover { +a.label:focus, +a.label:hover { color: #fff; text-decoration: none; - cursor: pointer; -} + cursor: pointer; } .label-default { - background-color: #818a91; -} -.label-default[href]:focus, .label-default[href]:hover { - background-color: #687077; -} + background-color: #818a91; } + .label-default[href]:focus, + .label-default[href]:hover { + background-color: #687077; } .label-primary { - background-color: #0275d8; -} -.label-primary[href]:focus, .label-primary[href]:hover { - background-color: #025aa5; -} + background-color: #0275d8; } + .label-primary[href]:focus, + .label-primary[href]:hover { + background-color: #025aa5; } .label-success { - background-color: #5cb85c; -} -.label-success[href]:focus, .label-success[href]:hover { - background-color: #449d44; -} + background-color: #5cb85c; } + .label-success[href]:focus, + .label-success[href]:hover { + background-color: #449d44; } .label-info { - background-color: #5bc0de; -} -.label-info[href]:focus, .label-info[href]:hover { - background-color: #31b0d5; -} + background-color: #5bc0de; } + .label-info[href]:focus, + .label-info[href]:hover { + background-color: #31b0d5; } .label-warning { - background-color: #f0ad4e; -} -.label-warning[href]:focus, .label-warning[href]:hover { - background-color: #ec971f; -} + background-color: #f0ad4e; } + .label-warning[href]:focus, + .label-warning[href]:hover { + background-color: #ec971f; } .label-danger { - background-color: #d9534f; -} -.label-danger[href]:focus, .label-danger[href]:hover { - background-color: #c9302c; -} + background-color: #d9534f; } + .label-danger[href]:focus, + .label-danger[href]:hover { + background-color: #c9302c; } .badge { position: relative; @@ -4030,362 +3369,260 @@ a.label:focus, a.label:hover { text-align: center; white-space: nowrap; background-color: #818a91; - border-radius: 2em; -} -.badge:empty { - display: none; -} -.badge.pull-left, .badge.pull-right { - top: .2em; -} -.list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #0275d8; - 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; -} + border-radius: 2em; } + .badge:empty { + display: none; } + .badge.pull-left, + .badge.pull-right { + top: .2em; } + .list-group-item.active > .badge, + .nav-pills > .active > a > .badge { + color: #0275d8; + background-color: #fff; } + .list-group-item > .badge { + float: right; } + .list-group-item > .badge + .badge { + margin-right: 5px; } + .nav-pills > li > a > .badge { + margin-left: 3px; } -a.badge:focus, a.badge:hover { +a.badge:focus, +a.badge:hover { color: #fff; text-decoration: none; - cursor: pointer; -} + cursor: pointer; } .jumbotron { padding: 2rem 1rem; margin-bottom: 2rem; color: inherit; background-color: #eceeef; - border-radius: .3rem; -} + border-radius: 0.3rem; } .jumbotron-heading { - color: inherit; -} + color: inherit; } .jumbotron-hr { - border-top-color: #d0d5d8; -} + border-top-color: #d0d5d8; } @media (min-width: 34em) { .jumbotron { - padding: 4rem 2rem; - } + padding: 4rem 2rem; } .jumbotron-heading { - font-size: 4.5rem; - } -} + font-size: 4.5rem; } } .jumbotron-fluid { padding-right: 0; padding-left: 0; - border-radius: 0; -} + border-radius: 0; } .alert { padding: 15px; margin-bottom: 1rem; border: 1px solid transparent; - border-radius: .25rem; -} -.alert > p, .alert > ul { - margin-bottom: 0; -} -.alert > p + p { - margin-top: 5px; -} + border-radius: 0.25rem; } + .alert > p, + .alert > ul { + margin-bottom: 0; } + .alert > p + p { + margin-top: 5px; } .alert-heading { margin-top: 0; - color: inherit; -} + color: inherit; } .alert-link { - font-weight: bold; -} + font-weight: bold; } .alert-dismissible { - padding-right: 35px; -} -.alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} + padding-right: 35px; } + .alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; } .alert-success { - color: #3c763d; background-color: #dff0d8; border-color: #d0e9c6; -} -.alert-success hr { - border-top-color: #c1e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} + color: #3c763d; } + .alert-success hr { + border-top-color: #c1e2b3; } + .alert-success .alert-link { + color: #2b542c; } .alert-info { - color: #31708f; background-color: #d9edf7; border-color: #bcdff1; -} -.alert-info hr { - border-top-color: #a6d5ec; -} -.alert-info .alert-link { - color: #245269; -} + color: #31708f; } + .alert-info hr { + border-top-color: #a6d5ec; } + .alert-info .alert-link { + color: #245269; } .alert-warning { - color: #8a6d3b; background-color: #fcf8e3; border-color: #faf2cc; -} -.alert-warning hr { - border-top-color: #f7ecb5; -} -.alert-warning .alert-link { - color: #66512c; -} + color: #8a6d3b; } + .alert-warning hr { + border-top-color: #f7ecb5; } + .alert-warning .alert-link { + color: #66512c; } .alert-danger { - color: #a94442; background-color: #f2dede; border-color: #ebcccc; -} -.alert-danger hr { - border-top-color: #e4b9b9; -} -.alert-danger .alert-link { - color: #843534; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1 0; - } - - to { - background-position: 0 0; - } -} - -@-o-keyframes progress-bar-stripes { - from { - background-position: 1 0; - } - - to { - background-position: 0 0; - } -} + color: #a94442; } + .alert-danger hr { + border-top-color: #e4b9b9; } + .alert-danger .alert-link { + color: #843534; } @keyframes progress-bar-stripes { from { - background-position: 1 0; - } - + background-position: 1rem 0; } to { - background-position: 0 0; - } -} + background-position: 0 0; } } .progress { display: block; width: 100%; - height: 1; - margin-bottom: 1; -} + height: 1rem; + margin-bottom: 1rem; } .progress[value] { color: #0074d9; border: 0; - - appearance: none; -} + appearance: none; } .progress[value]::-webkit-progress-bar { background-color: #eee; - border-radius: .25rem; -} + border-radius: 0.25rem; } .progress[value]::-webkit-progress-value::before { - content: attr(value); -} + content: attr(value); } .progress[value]::-webkit-progress-value { background-color: #0074d9; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; -} + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .progress[value="100"]::-webkit-progress-value { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; -} + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } -@media screen and ("min-width:0\0") { +@media screen and ("min-width:0�") { .progress { background-color: #eee; - border-radius: .25rem; - } + border-radius: 0.25rem; } .progress-bar { display: inline-block; - height: 1; + height: 1rem; text-indent: -999rem; background-color: #0074d9; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - } + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .progress[width^="0"] { min-width: 2rem; color: #818a91; background-color: transparent; - background-image: none; - } + background-image: none; } .progress[width="100%"] { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; - } -} + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } } .progress-striped[value]::-webkit-progress-value { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 1 1; - background-size: 1 1; -} + 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: 1rem 1rem; } .progress-striped[value]::-moz-progress-bar { - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-size: 1 1; -} + 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: 1rem 1rem; } -@media screen and ("min-width:0\0") { +@media screen and ("min-width:0�") { .progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - -webkit-background-size: 1 1; - background-size: 1 1; - } -} + 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: 1rem 1rem; } } .progress-animated[value]::-webkit-progress-value { - -webkit-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; -} + animation: progress-bar-stripes 2s linear infinite; } .progress-animated[value]::-moz-progress-bar { - animation: progress-bar-stripes 2s linear infinite; -} + animation: progress-bar-stripes 2s linear infinite; } -@media screen and ("min-width:0\0") { +@media screen and ("min-width:0�") { .progress-animated .progress-bar-striped { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; - } -} + animation: progress-bar-stripes 2s linear infinite; } } .progress-success[value]::-webkit-progress-value { - background-color: #5cb85c; -} + background-color: #5cb85c; } + .progress-success[value]::-moz-progress-bar { - background-color: #5cb85c; -} -@media screen and ("min-width:0\0") { + background-color: #5cb85c; } + +@media screen and ("min-width:0�") { .progress-success .progress-bar { - background-color: #5cb85c; - } -} + background-color: #5cb85c; } } .progress-info[value]::-webkit-progress-value { - background-color: #5bc0de; -} + background-color: #5bc0de; } + .progress-info[value]::-moz-progress-bar { - background-color: #5bc0de; -} -@media screen and ("min-width:0\0") { + background-color: #5bc0de; } + +@media screen and ("min-width:0�") { .progress-info .progress-bar { - background-color: #5bc0de; - } -} + background-color: #5bc0de; } } .progress-warning[value]::-webkit-progress-value { - background-color: #f0ad4e; -} + background-color: #f0ad4e; } + .progress-warning[value]::-moz-progress-bar { - background-color: #f0ad4e; -} -@media screen and ("min-width:0\0") { + background-color: #f0ad4e; } + +@media screen and ("min-width:0�") { .progress-warning .progress-bar { - background-color: #f0ad4e; - } -} + background-color: #f0ad4e; } } .progress-danger[value]::-webkit-progress-value { - background-color: #d9534f; -} + background-color: #d9534f; } + .progress-danger[value]::-moz-progress-bar { - background-color: #d9534f; -} -@media screen and ("min-width:0\0") { + background-color: #d9534f; } + +@media screen and ("min-width:0�") { .progress-danger .progress-bar { - background-color: #d9534f; - } -} + background-color: #d9534f; } } .media { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-bottom: 1rem; -} + display: flex; + margin-bottom: 1rem; } .media-body { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; -} + flex: 1; } .media-object { - display: block; -} + display: block; } -.media-right, .media > .pull-right { - padding-left: 10px; -} +.media-right, +.media > .pull-right { + padding-left: 10px; } -.media-left, .media > .pull-left { - padding-right: 10px; -} +.media-left, +.media > .pull-left { + padding-right: 10px; } .media-heading { margin-top: 0; - margin-bottom: 5px; -} + margin-bottom: 5px; } .media-list { padding-left: 0; - list-style: none; -} + list-style: none; } .list-group { padding-left: 0; - margin-bottom: 20px; -} + margin-bottom: 20px; } .list-group-item { position: relative; @@ -4393,172 +3630,170 @@ a.badge:focus, a.badge:hover { padding: 10px 15px; margin-bottom: -1px; background-color: #fff; - border: 1px solid #ddd; -} -.list-group-item:first-child { - border-top-left-radius: .25rem; - border-top-right-radius: .25rem; -} -.list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: .25rem; -} + border: 1px solid #ddd; } + .list-group-item:first-child { + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } a.list-group-item { - color: #555; -} -a.list-group-item .list-group-item-heading { - color: #333; -} -a.list-group-item:focus, a.list-group-item:hover { - color: #555; - text-decoration: none; - background-color: #f5f5f5; -} + color: #555; } + a.list-group-item .list-group-item-heading { + color: #333; } + a.list-group-item:focus, + a.list-group-item:hover { + color: #555; + text-decoration: none; + background-color: #f5f5f5; } -.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { +.list-group-item.disabled, +.list-group-item.disabled:focus, +.list-group-item.disabled:hover { color: #818a91; - cursor: false; - background-color: #eceeef; -} -.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading { - color: inherit; -} -.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text { - color: #818a91; -} -.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { + cursor: not-allowed; + background-color: #eceeef; } + .list-group-item.disabled .list-group-item-heading, + .list-group-item.disabled:focus .list-group-item-heading, + .list-group-item.disabled:hover .list-group-item-heading { + color: inherit; } + .list-group-item.disabled .list-group-item-text, + .list-group-item.disabled:focus .list-group-item-text, + .list-group-item.disabled:hover .list-group-item-text { + color: #818a91; } + +.list-group-item.active, +.list-group-item.active:focus, +.list-group-item.active:hover { z-index: 2; color: #fff; background-color: #0275d8; - border-color: #0275d8; -} -.list-group-item.active .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > .small { - color: inherit; -} -.list-group-item.active .list-group-item-text, .list-group-item.active:focus .list-group-item-text, .list-group-item.active:hover .list-group-item-text { - color: #a8d6fe; -} + border-color: #0275d8; } + .list-group-item.active .list-group-item-heading, + .list-group-item.active .list-group-item-heading > small, + .list-group-item.active .list-group-item-heading > .small, + .list-group-item.active:focus .list-group-item-heading, + .list-group-item.active:focus .list-group-item-heading > small, + .list-group-item.active:focus .list-group-item-heading > .small, + .list-group-item.active:hover .list-group-item-heading, + .list-group-item.active:hover .list-group-item-heading > small, + .list-group-item.active:hover .list-group-item-heading > .small { + color: inherit; } + .list-group-item.active .list-group-item-text, + .list-group-item.active:focus .list-group-item-text, + .list-group-item.active:hover .list-group-item-text { + color: #a8d6fe; } .list-group-item-state { color: #3c763d; - background-color: #dff0d8; -} + background-color: #dff0d8; } a.list-group-item-state { - color: #3c763d; -} -a.list-group-item-state .list-group-item-heading { - color: inherit; -} -a.list-group-item-state:focus, a.list-group-item-state:hover { - color: #3c763d; - background-color: #d0e9c6; -} -a.list-group-item-state.active, a.list-group-item-state.active:focus, a.list-group-item-state.active:hover { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; -} + color: #3c763d; } + a.list-group-item-state .list-group-item-heading { + color: inherit; } + a.list-group-item-state:focus, + a.list-group-item-state:hover { + color: #3c763d; + background-color: #d0e9c6; } + a.list-group-item-state.active, + a.list-group-item-state.active:focus, + a.list-group-item-state.active:hover { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } .list-group-item-state { color: #31708f; - background-color: #d9edf7; -} + background-color: #d9edf7; } a.list-group-item-state { - color: #31708f; -} -a.list-group-item-state .list-group-item-heading { - color: inherit; -} -a.list-group-item-state:focus, a.list-group-item-state:hover { - color: #31708f; - background-color: #c4e3f3; -} -a.list-group-item-state.active, a.list-group-item-state.active:focus, a.list-group-item-state.active:hover { - color: #fff; - background-color: #31708f; - border-color: #31708f; -} + color: #31708f; } + a.list-group-item-state .list-group-item-heading { + color: inherit; } + a.list-group-item-state:focus, + a.list-group-item-state:hover { + color: #31708f; + background-color: #c4e3f3; } + a.list-group-item-state.active, + a.list-group-item-state.active:focus, + a.list-group-item-state.active:hover { + color: #fff; + background-color: #31708f; + border-color: #31708f; } .list-group-item-state { color: #8a6d3b; - background-color: #fcf8e3; -} + background-color: #fcf8e3; } a.list-group-item-state { - color: #8a6d3b; -} -a.list-group-item-state .list-group-item-heading { - color: inherit; -} -a.list-group-item-state:focus, a.list-group-item-state:hover { - color: #8a6d3b; - background-color: #faf2cc; -} -a.list-group-item-state.active, a.list-group-item-state.active:focus, a.list-group-item-state.active:hover { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; -} + color: #8a6d3b; } + a.list-group-item-state .list-group-item-heading { + color: inherit; } + a.list-group-item-state:focus, + a.list-group-item-state:hover { + color: #8a6d3b; + background-color: #faf2cc; } + a.list-group-item-state.active, + a.list-group-item-state.active:focus, + a.list-group-item-state.active:hover { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } .list-group-item-state { color: #a94442; - background-color: #f2dede; -} + background-color: #f2dede; } a.list-group-item-state { - color: #a94442; -} -a.list-group-item-state .list-group-item-heading { - color: inherit; -} -a.list-group-item-state:focus, a.list-group-item-state:hover { - color: #a94442; - background-color: #ebcccc; -} -a.list-group-item-state.active, a.list-group-item-state.active:focus, a.list-group-item-state.active:hover { - color: #fff; - background-color: #a94442; - border-color: #a94442; -} + color: #a94442; } + a.list-group-item-state .list-group-item-heading { + color: inherit; } + a.list-group-item-state:focus, + a.list-group-item-state:hover { + color: #a94442; + background-color: #ebcccc; } + a.list-group-item-state.active, + a.list-group-item-state.active:focus, + a.list-group-item-state.active:hover { + 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; } .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; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} + overflow: hidden; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } .embed-responsive-16by9 { - padding-bottom: 56.25%; -} + padding-bottom: 56.25%; } .embed-responsive-4by3 { - padding-bottom: 75%; -} + padding-bottom: 75%; } .close { float: right; @@ -4567,26 +3802,23 @@ a.list-group-item-state.active, a.list-group-item-state.active:focus, a.list-gro line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; - opacity: .2; -} -.close:focus, .close:hover { - color: #000; - text-decoration: none; - cursor: pointer; - opacity: .5; -} + opacity: .2; } + .close:focus, + .close:hover { + color: #000; + text-decoration: none; + cursor: pointer; + opacity: .5; } button.close { - -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; -} + -webkit-appearance: none; } .modal-open { - overflow: hidden; -} + overflow: hidden; } .modal { position: fixed; @@ -4597,42 +3829,29 @@ button.close { z-index: 1050; display: none; overflow: hidden; - -webkit-overflow-scrolling: touch; outline: 0; -} -.modal.fade .modal-dialog { - -webkit-transform: transition .3s ease-out, translate(0, -25%); - -ms-transform: transition .3s ease-out, translate(0, -25%); - -o-transform: transition .3s ease-out, translate(0, -25%); - transform: transition .3s ease-out, translate(0, -25%); -} -.modal.in .modal-dialog { - -webkit-transform: translate(0, 0); - -ms-transform: translate(0, 0); - -o-transform: translate(0, 0); - transform: translate(0, 0); -} + -webkit-overflow-scrolling: touch; } + .modal.fade .modal-dialog { + transform: transition 0.3s ease-out, translate(0, -25%); } + .modal.in .modal-dialog { + 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: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; - outline: 0; -} + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; } .modal-backdrop { position: fixed; @@ -4641,115 +3860,119 @@ button.close { bottom: 0; left: 0; z-index: 1040; - background-color: #000; -} -.modal-backdrop.fade { - opacity: 0; -} -.modal-backdrop.in { - opacity: .5; -} + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.in { + opacity: 0.5; } .modal-header { min-height: 16.5px; padding: 15px; - border-bottom: 1px solid #e5e5e5; -} + border-bottom: 1px solid #e5e5e5; } .modal-header .close { - margin-top: -2px; -} + margin-top: -2px; } .modal-title { margin: 0; - line-height: 1.5; -} + line-height: 1.5; } .modal-body { position: relative; - padding: 15px; -} + padding: 15px; } .modal-footer { padding: 15px; text-align: right; - border-top: 1px solid #e5e5e5; -} -.modal-footer:before, .modal-footer:after { - display: table; - content: " "; -} -.modal-footer:after { - clear: both; -} -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} -.modal-footer .btn-block + .btn-block { - margin-left: 0; -} + border-top: 1px solid #e5e5e5; } + .modal-footer:before, + .modal-footer:after { + content: " "; + display: table; } + .modal-footer:after { + clear: both; } + .modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; } + .modal-footer .btn-group .btn + .btn { + margin-left: -1px; } + .modal-footer .btn-block + .btn-block { + margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; - overflow: scroll; -} + overflow: scroll; } @media (min-width: 34em) { .modal-dialog { width: 600px; - margin: 30px auto; - } + margin: 30px auto; } .modal-sm { - width: 300px; - } -} + width: 300px; } } @media (min-width: 48em) { .modal-lg { - width: 900px; - } -} + width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: .85rem; + font-size: 0.85rem; font-weight: normal; line-height: 1.4; - opacity: 0; -} -.tooltip.in { - opacity: .9; -} - -.tooltip-top { - padding: 5px 0; - margin-top: -3px; -} - -.tooltip-right { - padding: 0 5px; - margin-left: 3px; -} - -.tooltip-bottom { - padding: 5px 0; - margin-top: 3px; -} - -.tooltip-left { - padding: 0 5px; - margin-left: -3px; -} + opacity: 0; } + .tooltip.in { + opacity: 0.9; } + .tooltip.tooltip-top, + .tooltip.bs-tether-element-attached-bottom { + padding: 5px 0; + margin-top: -3px; } + .tooltip.tooltip-top .tooltip-arrow, + .tooltip.bs-tether-element-attached-bottom .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } + .tooltip.tooltip-right, + .tooltip.bs-tether-element-attached-left { + padding: 0 5px; + margin-left: 3px; } + .tooltip.tooltip-right .tooltip-arrow, + .tooltip.bs-tether-element-attached-left .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; } + .tooltip.tooltip-bottom, + .tooltip.bs-tether-element-attached-top { + padding: 5px 0; + margin-top: 3px; } + .tooltip.tooltip-bottom .tooltip-arrow, + .tooltip.bs-tether-element-attached-top .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } + .tooltip.tooltip-left, + .tooltip.bs-tether-element-attached-right { + padding: 0 5px; + margin-left: -3px; } + .tooltip.tooltip-left .tooltip-arrow, + .tooltip.bs-tether-element-attached-right .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; } .tooltip-inner { max-width: 200px; @@ -4758,55 +3981,21 @@ button.close { text-align: center; text-decoration: none; background-color: #000; - border-radius: .25rem; -} + border-radius: 0.25rem; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; - border-style: solid; -} - -.tooltip-top .tooltip-arrow { - bottom: 0; - left: 50%; - margin-left: -5px; - border-width: 5px 5px 0; - border-top-color: #000; -} - -.tooltip-right .tooltip-arrow { - top: 50%; - left: 0; - margin-top: -5px; - border-width: 5px 5px 5px 0; - border-right-color: #000; -} - -.tooltip-left .tooltip-arrow { - top: 50%; - right: 0; - margin-top: -5px; - border-width: 5px 0 5px 5px; - border-left-color: #000; -} - -.tooltip-bottom .tooltip-arrow { - top: 0; - left: 50%; - margin-left: -5px; - border-width: 0 5px 5px; - border-bottom-color: #000; -} + border-style: solid; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; - display: none; + display: block; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -4816,27 +4005,77 @@ button.close { text-align: left; white-space: normal; background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; -} - -.popover-top { - margin-top: -10px; -} - -.popover-right { - margin-left: 10px; -} - -.popover-bottom { - margin-top: 10px; -} - -.popover-left { - margin-left: -10px; -} + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; } + .popover.popover-top, + .popover.bs-tether-element-attached-bottom { + margin-top: -10px; } + .popover.popover-top .popover-arrow, + .popover.bs-tether-element-attached-bottom .popover-arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; } + .popover.popover-top .popover-arrow:after, + .popover.bs-tether-element-attached-bottom .popover-arrow:after { + bottom: 1px; + margin-left: -10px; + content: ""; + border-top-color: #fff; + border-bottom-width: 0; } + .popover.popover-right, + .popover.bs-tether-element-attached-left { + margin-left: 10px; } + .popover.popover-right .popover-arrow, + .popover.bs-tether-element-attached-left .popover-arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; } + .popover.popover-right .popover-arrow:after, + .popover.bs-tether-element-attached-left .popover-arrow:after { + bottom: -10px; + left: 1px; + content: ""; + border-right-color: #fff; + border-left-width: 0; } + .popover.popover-bottom, + .popover.bs-tether-element-attached-top { + margin-top: 10px; } + .popover.popover-bottom .popover-arrow, + .popover.bs-tether-element-attached-top .popover-arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); } + .popover.popover-bottom .popover-arrow:after, + .popover.bs-tether-element-attached-top .popover-arrow:after { + top: 1px; + margin-left: -10px; + content: ""; + border-top-width: 0; + border-bottom-color: #fff; } + .popover.popover-left, + .popover.bs-tether-element-attached-right { + margin-left: -10px; } + .popover.popover-left .popover-arrow, + .popover.bs-tether-element-attached-right .popover-arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: rgba(0, 0, 0, 0.25); } + .popover.popover-left .popover-arrow:after, + .popover.bs-tether-element-attached-right .popover-arrow:after { + right: 1px; + bottom: -10px; + content: ""; + border-right-width: 0; + border-left-color: #fff; } .popover-title { padding: 8px 14px; @@ -4844,163 +4083,81 @@ button.close { font-size: 1rem; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; - border-radius: -.7rem -.7rem 0 0; -} + border-radius: -0.7rem -0.7rem 0 0; } .popover-content { - padding: 9px 14px; -} + padding: 9px 14px; } -.popover-arrow, .popover-arrow:after { +.popover-arrow, +.popover-arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; - border-style: solid; -} + border-style: solid; } .popover-arrow { - border-width: 11px; -} + border-width: 11px; } .popover-arrow:after { content: ""; - border-width: 10px; -} - -.popover-top > .popover-arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0; -} -.popover-top > .popover-arrow:after { - bottom: 1px; - margin-left: -10px; - content: ""; - border-top-color: #fff; - border-bottom-width: 0; -} - -.popover-right > .popover-arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0; -} -.popover-right > .popover-arrow:after { - bottom: -10px; - left: 1px; - content: ""; - border-right-color: #fff; - border-left-width: 0; -} - -.popover-bottom > .popover-arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: rgba(0, 0, 0, .25); -} -.popover-bottom > .popover-arrow:after { - top: 1px; - margin-left: -10px; - content: ""; - border-top-width: 0; - border-bottom-color: #fff; -} - -.popover-left > .popover-arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: rgba(0, 0, 0, .25); -} -.popover-left > .popover-arrow:after { - right: 1px; - bottom: -10px; - content: ""; - border-right-width: 0; - border-left-color: #fff; -} + border-width: 10px; } .carousel { - position: relative; -} + position: relative; } .carousel-inner { position: relative; width: 100%; - overflow: hidden; -} -.carousel-inner > .carousel-item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; -} -.carousel-inner > .carousel-item > img, .carousel-inner > .carousel-item > a > img { - line-height: 1; -} -@media all and (transform-3d), (-webkit-transform-3d) { + overflow: hidden; } .carousel-inner > .carousel-item { - -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: -o-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000; - perspective: 1000; - } - .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right { - left: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left { - left: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active { - left: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -.carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { - display: block; -} -.carousel-inner > .active { - left: 0; -} -.carousel-inner > .next, .carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; -} -.carousel-inner > .next { - left: 100%; -} -.carousel-inner > .prev { - left: -100%; -} -.carousel-inner > .next.left, .carousel-inner > .prev.right { - left: 0; -} -.carousel-inner > .active.left { - left: -100%; -} -.carousel-inner > .active.right { - left: 100%; -} + position: relative; + display: none; + transition: .6s ease-in-out left; } + .carousel-inner > .carousel-item > img, + .carousel-inner > .carousel-item > a > img { + line-height: 1; } + @media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .carousel-item { + transition: transform 0.6s ease-in-out; + backface-visibility: hidden; + perspective: 1000; } + .carousel-inner > .carousel-item.next, + .carousel-inner > .carousel-item.active.right { + left: 0; + transform: translate3d(100%, 0, 0); } + .carousel-inner > .carousel-item.prev, + .carousel-inner > .carousel-item.active.left { + left: 0; + transform: translate3d(-100%, 0, 0); } + .carousel-inner > .carousel-item.next.left, + .carousel-inner > .carousel-item.prev.right, + .carousel-inner > .carousel-item.active { + left: 0; + transform: translate3d(0, 0, 0); } } + .carousel-inner > .active, + .carousel-inner > .next, + .carousel-inner > .prev { + display: block; } + .carousel-inner > .active { + left: 0; } + .carousel-inner > .next, + .carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; } + .carousel-inner > .next { + left: 100%; } + .carousel-inner > .prev { + left: -100%; } + .carousel-inner > .next.left, + .carousel-inner > .prev.right { + left: 0; } + .carousel-inner > .active.left { + left: -100%; } + .carousel-inner > .active.right { + left: 100%; } .carousel-control { position: absolute; @@ -5011,58 +4168,45 @@ button.close { font-size: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - opacity: .5; -} -.carousel-control.left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; -} -.carousel-control:focus, .carousel-control:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} -.carousel-control .icon-prev, .carousel-control .icon-next { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; - line-height: 1; -} -.carousel-control .icon-prev { - left: 50%; - margin-left: -10px; -} -.carousel-control .icon-next { - right: 50%; - margin-right: -10px; -} -.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); + opacity: 0.5; } + .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 { + right: 0; + left: auto; + 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:focus, + .carousel-control:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: .9; } + .carousel-control .icon-prev, + .carousel-control .icon-next { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; + line-height: 1; } + .carousel-control .icon-prev { + left: 50%; + margin-left: -10px; } + .carousel-control .icon-next { + right: 50%; + margin-right: -10px; } + .carousel-control .icon-prev:before { + content: "\2039"; } + .carousel-control .icon-next:before { + content: "\203a"; } .carousel-indicators { position: absolute; @@ -5073,25 +4217,22 @@ button.close { padding-left: 0; margin-left: -30%; text-align: center; - list-style: none; -} -.carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: transparent; - border: 1px solid #fff; - border-radius: 10px; -} -.carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; -} + list-style: none; } + .carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: transparent; + border: 1px solid #fff; + border-radius: 10px; } + .carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; } .carousel-caption { position: absolute; @@ -5103,56 +4244,46 @@ button.close { padding-bottom: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(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 (min-width: 34em) { - .carousel-control .icon-prev, .carousel-control .icon-next { + .carousel-control .icon-prev, + .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; - font-size: 30px; - } + font-size: 30px; } .carousel-control .icon-prev { - margin-left: -15px; - } + margin-left: -15px; } .carousel-control .icon-next { - margin-right: -15px; - } + margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; - padding-bottom: 30px; - } + padding-bottom: 30px; } .carousel-indicators { - bottom: 20px; - } -} + bottom: 20px; } } -.clearfix:before, .clearfix:after { - display: table; - content: " "; -} +.clearfix:before, .clearfix:after { - clear: both; -} + content: " "; + display: table; } + +.clearfix:after { + clear: both; } .center-block { display: block; - margin-right: auto; margin-left: auto; -} + margin-right: auto; } .pull-right { - float: right !important; -} + float: right !important; } .pull-left { - float: left !important; -} + float: left !important; } .sr-only { position: absolute; @@ -5162,463 +4293,360 @@ button.close { margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); - border: 0; -} + border: 0; } -.sr-only-focusable:active, .sr-only-focusable:focus { +.sr-only-focusable:active, +.sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; - clip: auto; -} + clip: auto; } .m-a-0 { - margin: 0; -} + margin: 0; } .m-t-0 { - margin-top: 0; -} + margin-top: 0; } .m-r-0 { - margin-right: 0; -} + margin-right: 0; } .m-b-0 { - margin-bottom: 0; -} + margin-bottom: 0; } .m-l-0 { - margin-left: 0; -} + margin-left: 0; } .m-a { - margin: 1rem; -} + margin: 1rem; } .m-t { - margin-top: 1rem; -} + margin-top: 1rem; } .m-r { - margin-right: 1rem; -} + margin-right: 1rem; } .m-b { - margin-bottom: 1rem; -} + margin-bottom: 1rem; } .m-l { - margin-left: 1rem; -} + margin-left: 1rem; } .m-x { margin-right: 1rem; - margin-left: 1rem; -} + margin-left: 1rem; } .m-y { margin-top: 1rem; - margin-bottom: 1rem; -} + margin-bottom: 1rem; } .m-t-md { - margin-top: 1.5rem; -} + margin-top: 1.5rem; } .m-r-md { - margin-right: 1.5rem; -} + margin-right: 1.5rem; } .m-b-md { - margin-bottom: 1.5rem; -} + margin-bottom: 1.5rem; } .m-l-md { - margin-left: 1.5rem; -} + margin-left: 1.5rem; } .m-x-md { margin-right: 1.5rem; - margin-left: 1.5rem; -} + margin-left: 1.5rem; } .m-y-md { margin-top: 1.5rem; - margin-bottom: 1.5rem; -} + margin-bottom: 1.5rem; } .m-t-lg { - margin-top: 3rem; -} + margin-top: 3rem; } .m-r-lg { - margin-right: 3rem; -} + margin-right: 3rem; } .m-b-lg { - margin-bottom: 3rem; -} + margin-bottom: 3rem; } .m-l-lg { - margin-left: 3rem; -} + margin-left: 3rem; } .m-x-lg { margin-right: 3rem; - margin-left: 3rem; -} + margin-left: 3rem; } .m-y-lg { margin-top: 3rem; - margin-bottom: 3rem; -} + margin-bottom: 3rem; } .p-a-0 { - padding: 0; -} + padding: 0; } .p-t-0 { - padding-top: 0; -} + padding-top: 0; } .p-r-0 { - padding-right: 0; -} + padding-right: 0; } .p-b-0 { - padding-bottom: 0; -} + padding-bottom: 0; } .p-l-0 { - padding-left: 0; -} + padding-left: 0; } .p-a { - padding: 1rem; -} + padding: 1rem; } .p-t { - padding-top: 1rem; -} + padding-top: 1rem; } .p-r { - padding-right: 1rem; -} + padding-right: 1rem; } .p-b { - padding-bottom: 1rem; -} + padding-bottom: 1rem; } .p-l { - padding-left: 1rem; -} + padding-left: 1rem; } .p-x { padding-right: 1rem; - padding-left: 1rem; -} + padding-left: 1rem; } .p-y { padding-top: 1rem; - padding-bottom: 1rem; -} + padding-bottom: 1rem; } .p-t-md { - padding-top: 1.5rem; -} + padding-top: 1.5rem; } .p-r-md { - padding-right: 1.5rem; -} + padding-right: 1.5rem; } .p-b-md { - padding-bottom: 1.5rem; -} + padding-bottom: 1.5rem; } .p-l-md { - padding-left: 1.5rem; -} + padding-left: 1.5rem; } .p-x-md { padding-right: 1.5rem; - padding-left: 1.5rem; -} + padding-left: 1.5rem; } .p-y-md { padding-top: 1.5rem; - padding-bottom: 1.5rem; -} + padding-bottom: 1.5rem; } .p-t-lg { - padding-top: 3rem; -} + padding-top: 3rem; } .p-r-lg { - padding-right: 3rem; -} + padding-right: 3rem; } .p-b-lg { - padding-bottom: 3rem; -} + padding-bottom: 3rem; } .p-l-lg { - padding-left: 3rem; -} + padding-left: 3rem; } .p-x-lg { padding-right: 3rem; - padding-left: 3rem; -} + padding-left: 3rem; } .p-y-lg { padding-top: 3rem; - padding-bottom: 3rem; -} + padding-bottom: 3rem; } .pos-f-t { position: fixed; top: 0; right: 0; left: 0; - z-index: 1030; -} + z-index: 1030; } [hidden] { - display: none !important; -} + display: none !important; } .invisible { - visibility: hidden; -} + visibility: hidden; } .text-hide { font: "0/0" a; color: transparent; text-shadow: none; background-color: transparent; - border: 0; -} + border: 0; } .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-truncate { overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; -} + white-space: nowrap; } .text-lowercase { - text-transform: lowercase; -} + text-transform: lowercase; } .text-uppercase { - text-transform: uppercase; -} + text-transform: uppercase; } .text-capitalize { - text-transform: capitalize; -} + text-transform: capitalize; } .text-muted { - color: #818a91; -} + color: #818a91; } .text-primary { - color: #0275d8; -} + color: #0275d8; } -a.text-primary:focus, a.text-primary:hover { - color: #025aa5; -} +a.text-primary:focus, +a.text-primary:hover { + color: #025aa5; } .text-success { - color: #3c763d; -} + color: #3c763d; } -a.text-success:focus, a.text-success:hover { - color: #2b542c; -} +a.text-success:focus, +a.text-success:hover { + color: #2b542c; } .text-info { - color: #31708f; -} + color: #31708f; } -a.text-info:focus, a.text-info:hover { - color: #245269; -} +a.text-info:focus, +a.text-info:hover { + color: #245269; } .text-warning { - color: #8a6d3b; -} + color: #8a6d3b; } -a.text-warning:focus, a.text-warning:hover { - color: #66512c; -} +a.text-warning:focus, +a.text-warning:hover { + color: #66512c; } .text-danger { - color: #a94442; -} + color: #a94442; } -a.text-danger:focus, a.text-danger:hover { - color: #843534; -} +a.text-danger:focus, +a.text-danger:hover { + color: #843534; } .inverse { color: #eceeef; - background-color: #373a3c; -} + background-color: #373a3c; } .bg-primary { - color: #fff; -} + color: #fff; } .bg-primary { - background-color: #0275d8; -} + background-color: #0275d8; } -a.bg-primary:focus, a.bg-primary:hover { - background-color: #025aa5; -} +a.bg-primary:focus, +a.bg-primary:hover { + background-color: #025aa5; } .bg-success { - background-color: #dff0d8; -} + background-color: #dff0d8; } -a.bg-success:focus, a.bg-success:hover { - background-color: #c1e2b3; -} +a.bg-success:focus, +a.bg-success:hover { + background-color: #c1e2b3; } .bg-info { - background-color: #d9edf7; -} + background-color: #d9edf7; } -a.bg-info:focus, a.bg-info:hover { - background-color: #afd9ee; -} +a.bg-info:focus, +a.bg-info:hover { + background-color: #afd9ee; } .bg-warning { - background-color: #fcf8e3; -} + background-color: #fcf8e3; } -a.bg-warning:focus, a.bg-warning:hover { - background-color: #f7ecb5; -} +a.bg-warning:focus, +a.bg-warning:hover { + background-color: #f7ecb5; } .bg-danger { - background-color: #f2dede; -} + background-color: #f2dede; } -a.bg-danger:focus, a.bg-danger:hover { - background-color: #e4b9b9; -} +a.bg-danger:focus, +a.bg-danger:hover { + background-color: #e4b9b9; } .hidden-xs-up { - display: none !important; -} + display: none !important; } @media (max-width: 33.9em) { .hidden-xs-down { - display: none !important; - } -} + display: none !important; } } @media (min-width: 34em) { .hidden-sm-up { - display: none !important; - } -} + display: none !important; } } @media (max-width: 47.9em) { .hidden-sm-down { - display: none !important; - } -} + display: none !important; } } @media (min-width: 48em) { .hidden-md-up { - display: none !important; - } -} + display: none !important; } } @media (max-width: 61.9em) { .hidden-md-down { - display: none !important; - } -} + display: none !important; } } @media (min-width: 62em) { .hidden-lg-up { - display: none !important; - } -} + display: none !important; } } @media (max-width: 74.9em) { .hidden-lg-down { - display: none !important; - } -} + display: none !important; } } @media (min-width: 75em) { .hidden-xl-up { - display: none !important; - } -} + display: none !important; } } .hidden-xl-down { - display: none !important; -} + display: none !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 .hidden-print { - display: none !important; - } -} -/*# sourceMappingURL=bootstrap.css.map */ + display: none !important; } } + +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map index 1d038873a..e21e231a9 100644 Binary files a/dist/css/bootstrap.css.map and b/dist/css/bootstrap.css.map differ diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js index a6827d652..01f0a6dac 100644 --- a/dist/js/bootstrap.js +++ b/dist/js/bootstrap.js @@ -15,2348 +15,3491 @@ if (typeof jQuery === 'undefined') { } }(jQuery); -/* ======================================================================== - * Bootstrap: transition.js v3.3.4 - * http://getbootstrap.com/javascript/#transitions - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - +function ($) { - 'use strict'; - // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) - // ============================================================ +'use strict'; - function transitionEnd() { - var el = document.createElement('bootstrap') +var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - var transEndEventNames = { - WebkitTransition : 'webkitTransitionEnd', - MozTransition : 'transitionend', - OTransition : 'oTransitionEnd otransitionend', - transition : 'transitionend' +function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Util = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + + var transition = false; + + var TransitionEndEvent = { + WebkitTransition: 'webkitTransitionEnd', + MozTransition: 'transitionend', + OTransition: 'oTransitionEnd otransitionend', + transition: 'transitionend' + }; + + // shoutout AngusCroll (https://goo.gl/pxwQGp) + function toType(obj) { + return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); + } + + function isElement(obj) { + return (obj[0] || obj).nodeType; + } + + function getSpecialTransitionEndEvent() { + return { + bindType: transition.end, + delegateType: transition.end, + handle: function handle(event) { + if ($(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); + } + } + }; + } + + function transitionEndTest() { + if (window.QUnit) { + return false; } - for (var name in transEndEventNames) { + var el = document.createElement('bootstrap'); + + for (var name in TransitionEndEvent) { if (el.style[name] !== undefined) { - return { end: transEndEventNames[name] } + return { end: TransitionEndEvent[name] }; } } - return false // explicit for ie8 ( ._.) + return false; } - // http://blog.alexmaccaw.com/css-transitions - $.fn.emulateTransitionEnd = function (duration) { - var called = false - var $el = this - $(this).one('bsTransitionEnd', function () { called = true }) - var callback = function () { if (!called) $($el).trigger($.support.transition.end) } - setTimeout(callback, duration) - return this + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + + $(this).one(Util.TRANSITION_END, function () { + called = true; + }); + + setTimeout(function () { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + + return this; } - $(function () { - $.support.transition = transitionEnd() + function setTransitionEndSupport() { + transition = transitionEndTest(); - if (!$.support.transition) return + $.fn.emulateTransitionEnd = transitionEndEmulator; - $.event.special.bsTransitionEnd = { - bindType: $.support.transition.end, - delegateType: $.support.transition.end, - handle: function (e) { - if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + if (Util.supportsTransitionEnd()) { + $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + } + + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ + + var Util = { + + TRANSITION_END: 'bsTransitionEnd', + + getUID: function getUID(prefix) { + do prefix += ~ ~(Math.random() * 1000000); while (document.getElementById(prefix)); + return prefix; + }, + + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute('data-target'); + + if (!selector) { + selector = element.getAttribute('href') || ''; + selector = /^#[a-z]/i.test(selector) ? selector : null; + } + + return selector; + }, + + reflow: function reflow(element) { + new Function('bs', 'return bs')(element.offsetHeight); + }, + + triggerTransitionEnd: function triggerTransitionEnd(element) { + $(element).trigger(transition.end); + }, + + supportsTransitionEnd: function supportsTransitionEnd() { + return !!transition; + }, + + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + + for (var property in configTypes) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = undefined; + + if (value && isElement(value)) valueType = 'element';else valueType = toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error('' + componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".')); + } } } - }) -}(jQuery); + }; -/* ======================================================================== - * Bootstrap: alert.js v3.3.4 - * http://getbootstrap.com/javascript/#alerts - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. + setTransitionEndSupport(); + + return Util; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): alert.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ + * -------------------------------------------------------------------------- + */ +var Alert = (function ($) { -+function ($) { - 'use strict'; + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ - // ALERT CLASS DEFINITION - // ====================== + var NAME = 'alert'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.alert'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; - var dismiss = '[data-dismiss="alert"]' - var Alert = function (el) { - $(el).on('click', dismiss, this.close) - } + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; - Alert.VERSION = '3.3.4' + var Event = { + CLOSE: 'close' + EVENT_KEY, + CLOSED: 'closed' + EVENT_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY + }; - Alert.TRANSITION_DURATION = 150 + var ClassName = { + ALERT: 'alert', + FADE: 'fade', + IN: 'in' + }; - Alert.prototype.close = function (e) { - var $this = $(this) - var selector = $this.attr('data-target') + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + var Alert = (function () { + function Alert(element) { + _classCallCheck(this, Alert); + + this._element = element; } - var $parent = $(selector) + _createClass(Alert, [{ + key: 'close', - if (e) e.preventDefault() + // public - if (!$parent.length) { - $parent = $this.closest('.alert') - } + value: function close(element) { + element = element || this._element; - $parent.trigger(e = $.Event('close.bs.alert')) + var rootElement = this._getRootElement(element); + var customEvent = this._triggerCloseEvent(rootElement); - if (e.isDefaultPrevented()) return + if (customEvent.isDefaultPrevented()) { + return; + } - $parent.removeClass('in') - - function removeElement() { - // detach from parent, fire event then clean up data - $parent.detach().trigger('closed.bs.alert').remove() - } - - $.support.transition && $parent.hasClass('fade') ? - $parent - .one('bsTransitionEnd', removeElement) - .emulateTransitionEnd(Alert.TRANSITION_DURATION) : - removeElement() - } - - - // ALERT PLUGIN DEFINITION - // ======================= - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.alert') - - if (!data) $this.data('bs.alert', (data = new Alert(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - var old = $.fn.alert - - $.fn.alert = Plugin - $.fn.alert.Constructor = Alert - - - // ALERT NO CONFLICT - // ================= - - $.fn.alert.noConflict = function () { - $.fn.alert = old - return this - } - - - // ALERT DATA-API - // ============== - - $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: button.js v3.3.4 - * http://getbootstrap.com/javascript/#buttons - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // BUTTON PUBLIC CLASS DEFINITION - // ============================== - - var Button = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Button.DEFAULTS, options) - this.isLoading = false - } - - Button.VERSION = '3.3.4' - - Button.DEFAULTS = { - loadingText: 'loading...' - } - - Button.prototype.setState = function (state) { - var d = 'disabled' - var $el = this.$element - var val = $el.is('input') ? 'val' : 'html' - var data = $el.data() - - state += 'Text' - - if (data.resetText == null) $el.data('resetText', $el[val]()) - - // push to event loop to allow forms to submit - setTimeout($.proxy(function () { - $el[val](data[state] == null ? this.options[state] : data[state]) - - if (state == 'loadingText') { - this.isLoading = true - $el.addClass(d).attr(d, d) - } else if (this.isLoading) { - this.isLoading = false - $el.removeClass(d).removeAttr(d) + this._removeElement(rootElement); } - }, this), 0) - } - - Button.prototype.toggle = function () { - var changed = true - var $parent = this.$element.closest('[data-toggle="buttons"]') - - if ($parent.length) { - var $input = this.$element.find('input') - if ($input.prop('type') == 'radio') { - if ($input.prop('checked')) changed = false - $parent.find('.active').removeClass('active') - this.$element.addClass('active') - } else if ($input.prop('type') == 'checkbox') { - if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false - this.$element.toggleClass('active') + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; } - $input.prop('checked', this.$element.hasClass('active')) - if (changed) $input.trigger('change') - } else { - this.$element.attr('aria-pressed', !this.$element.hasClass('active')) - this.$element.toggleClass('active') - } - } + }, { + key: '_getRootElement', + // private - // BUTTON PLUGIN DEFINITION - // ======================== + value: function _getRootElement(element) { + var parent = false; + var selector = Util.getSelectorFromElement(element); - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.button') - var options = typeof option == 'object' && option + if (selector) { + parent = $(selector)[0]; + } - if (!data) $this.data('bs.button', (data = new Button(this, options))) + if (!parent) { + parent = $(element).closest('.' + ClassName.ALERT)[0]; + } - if (option == 'toggle') data.toggle() - else if (option) data.setState(option) - }) - } + return parent; + } + }, { + key: '_triggerCloseEvent', + value: function _triggerCloseEvent(element) { + var closeEvent = $.Event(Event.CLOSE); + $(element).trigger(closeEvent); + return closeEvent; + } + }, { + key: '_removeElement', + value: function _removeElement(element) { + $(element).removeClass(ClassName.IN); - var old = $.fn.button + if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + return; + } - $.fn.button = Plugin - $.fn.button.Constructor = Button + $(element).one(Util.TRANSITION_END, this._destroyElement.bind(this, element)).emulateTransitionEnd(TRANSITION_DURATION); + } + }, { + key: '_destroyElement', + value: function _destroyElement(element) { + $(element).detach().trigger(Event.CLOSED).remove(); + } + }], [{ + key: 'VERSION', + // getters - // BUTTON NO CONFLICT - // ================== + get: function () { + return VERSION; + } + }, { + key: '_jQueryInterface', - $.fn.button.noConflict = function () { - $.fn.button = old - return this - } + // static + value: function _jQueryInterface(config) { + return this.each(function () { + var $element = $(this); + var data = $element.data(DATA_KEY); - // BUTTON DATA-API - // =============== + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } - $(document) - .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { - var $btn = $(e.target) - if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') - Plugin.call($btn, 'toggle') - if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() - }) - .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { - $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) - }) + if (config === 'close') { + data[config](this); + } + }); + } + }, { + key: '_handleDismiss', + value: function _handleDismiss(alertInstance) { + return function (event) { + if (event) { + event.preventDefault(); + } -}(jQuery); + alertInstance.close(this); + }; + } + }]); -/* ======================================================================== - * Bootstrap: carousel.js v3.3.4 - * http://getbootstrap.com/javascript/#carousel - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. + return Alert; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Alert._jQueryInterface; + $.fn[NAME].Constructor = Alert; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; + + return Alert; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): button.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ + * -------------------------------------------------------------------------- + */ +var Button = (function ($) { -+function ($) { - 'use strict'; + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ - // CAROUSEL CLASS DEFINITION - // ========================= + var NAME = 'button'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.button'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; - var Carousel = function (element, options) { - this.$element = $(element) - this.$indicators = this.$element.find('.carousel-indicators') - this.options = options - this.paused = null - this.sliding = null - this.interval = null - this.$active = null - this.$items = null + var ClassName = { + ACTIVE: 'active', + BUTTON: 'btn', + FOCUS: 'focus' + }; - this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: 'input', + ACTIVE: '.active', + BUTTON: '.btn' + }; - this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element - .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) - .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) - } + var Event = { + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY, + FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + '' + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + '' + DATA_API_KEY) + }; - Carousel.VERSION = '3.3.4' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - Carousel.TRANSITION_DURATION = 600 + var Button = (function () { + function Button(element) { + _classCallCheck(this, Button); - Carousel.DEFAULTS = { + this._element = element; + } + + _createClass(Button, [{ + key: 'toggle', + + // public + + value: function toggle() { + var triggerChangeEvent = true; + var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = $(this._element).find(Selector.INPUT)[0]; + + if (input) { + if (input.type === 'radio') { + if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) { + triggerChangeEvent = false; + } else { + var activeElement = $(rootElement).find(Selector.ACTIVE)[0]; + + if (activeElement) { + $(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + input.checked = !$(this._element).hasClass(ClassName.ACTIVE); + $(this._element).trigger('change'); + } + } + } else { + this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE)); + } + + if (triggerChangeEvent) { + $(this._element).toggleClass(ClassName.ACTIVE); + } + } + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $(this).data(DATA_KEY, data); + } + + if (config === 'toggle') { + data[config](); + } + }); + } + }]); + + return Button; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + event.preventDefault(); + + var button = event.target; + + if (!$(button).hasClass(ClassName.BUTTON)) { + button = $(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($(button), 'toggle'); + }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { + var button = $(event.target).closest(Selector.BUTTON)[0]; + $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Button._jQueryInterface; + $.fn[NAME].Constructor = Button; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; + + return Button; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Carousel = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'carousel'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.carousel'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + + var Default = { interval: 5000, + keyboard: true, + slide: false, pause: 'hover', - wrap: true, - keyboard: true - } + wrap: true + }; - Carousel.prototype.keydown = function (e) { - if (/input|textarea/i.test(e.target.tagName)) return - switch (e.which) { - case 37: this.prev(); break - case 39: this.next(); break - default: return + var DefaultType = { + interval: '(number|boolean)', + keyboard: 'boolean', + slide: '(boolean|string)', + pause: '(string|boolean)', + wrap: 'boolean' + }; + + var Direction = { + NEXT: 'next', + PREVIOUS: 'prev' + }; + + var Event = { + SLIDE: 'slide' + EVENT_KEY, + SLID: 'slid' + EVENT_KEY, + KEYDOWN: 'keydown' + EVENT_KEY, + MOUSEENTER: 'mouseenter' + EVENT_KEY, + MOUSELEAVE: 'mouseleave' + EVENT_KEY, + LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY + }; + + var ClassName = { + CAROUSEL: 'carousel', + ACTIVE: 'active', + SLIDE: 'slide', + RIGHT: 'right', + LEFT: 'left', + ITEM: 'carousel-item' + }; + + var Selector = { + ACTIVE: '.active', + ACTIVE_ITEM: '.active.carousel-item', + ITEM: '.carousel-item', + NEXT_PREV: '.next, .prev', + INDICATORS: '.carousel-indicators', + DATA_SLIDE: '[data-slide], [data-slide-to]', + DATA_RIDE: '[data-ride="carousel"]' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Carousel = (function () { + function Carousel(element, config) { + _classCallCheck(this, Carousel); + + this._items = null; + this._interval = null; + this._activeElement = null; + + this._isPaused = false; + this._isSliding = false; + + this._config = this._getConfig(config); + this._element = $(element)[0]; + this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]; + + this._addEventListeners(); } - e.preventDefault() - } + _createClass(Carousel, [{ + key: 'next', - Carousel.prototype.cycle = function (e) { - e || (this.paused = false) + // public - this.interval && clearInterval(this.interval) + value: function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + } + }, { + key: 'prev', + value: function prev() { + if (!this._isSliding) { + this._slide(Direction.PREVIOUS); + } + } + }, { + key: 'pause', + value: function pause(event) { + if (!event) { + this._isPaused = true; + } - this.options.interval - && !this.paused - && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } - return this - } + clearInterval(this._interval); + this._interval = null; + } + }, { + key: 'cycle', + value: function cycle(event) { + if (!event) { + this._isPaused = false; + } - Carousel.prototype.getItemIndex = function (item) { - this.$items = item.parent().children('.item') - return this.$items.index(item || this.$active) - } + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } - Carousel.prototype.getItemForDirection = function (direction, active) { - var activeIndex = this.getItemIndex(active) - var willWrap = (direction == 'prev' && activeIndex === 0) - || (direction == 'next' && activeIndex == (this.$items.length - 1)) - if (willWrap && !this.options.wrap) return active - var delta = direction == 'prev' ? -1 : 1 - var itemIndex = (activeIndex + delta) % this.$items.length - return this.$items.eq(itemIndex) - } + if (this._config.interval && !this._isPaused) { + this._interval = setInterval($.proxy(this.next, this), this._config.interval); + } + } + }, { + key: 'to', + value: function to(index) { + var _this2 = this; - Carousel.prototype.to = function (pos) { - var that = this - var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; - if (pos > (this.$items.length - 1) || pos < 0) return + var activeIndex = this._getItemIndex(this._activeElement); - if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" - if (activeIndex == pos) return this.pause().cycle() + if (index > this._items.length - 1 || index < 0) { + return; + } - return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) - } + if (this._isSliding) { + $(this._element).one(Event.SLID, function () { + return _this2.to(index); + }); + return; + } - Carousel.prototype.pause = function (e) { - e || (this.paused = true) + if (activeIndex == index) { + this.pause(); + this.cycle(); + return; + } - if (this.$element.find('.next, .prev').length && $.support.transition) { - this.$element.trigger($.support.transition.end) - this.cycle(true) - } + var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS; - this.interval = clearInterval(this.interval) + this._slide(direction, this._items[index]); + } + }, { + key: 'dispose', + value: function dispose() { + $(this._element).off(EVENT_KEY); + $.removeData(this._element, DATA_KEY); - return this - } + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + } + }, { + key: '_getConfig', - Carousel.prototype.next = function () { - if (this.sliding) return - return this.slide('next') - } + // private - Carousel.prototype.prev = function () { - if (this.sliding) return - return this.slide('prev') - } + value: function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + } + }, { + key: '_addEventListeners', + value: function _addEventListeners() { + if (this._config.keyboard) { + $(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this)); + } - Carousel.prototype.slide = function (type, next) { - var $active = this.$element.find('.item.active') - var $next = next || this.getItemForDirection(type, $active) - var isCycling = this.interval - var direction = type == 'next' ? 'left' : 'right' - var that = this + if (this._config.pause == 'hover' && !('ontouchstart' in document.documentElement)) { + $(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this)); + } + } + }, { + key: '_keydown', + value: function _keydown(event) { + event.preventDefault(); - if ($next.hasClass('active')) return (this.sliding = false) + if (/input|textarea/i.test(event.target.tagName)) return; - var relatedTarget = $next[0] - var slideEvent = $.Event('slide.bs.carousel', { - relatedTarget: relatedTarget, - direction: direction - }) - this.$element.trigger(slideEvent) - if (slideEvent.isDefaultPrevented()) return + switch (event.which) { + case 37: + this.prev();break; + case 39: + this.next();break; + default: + return; + } + } + }, { + key: '_getItemIndex', + value: function _getItemIndex(element) { + this._items = $.makeArray($(element).parent().find(Selector.ITEM)); + return this._items.indexOf(element); + } + }, { + key: '_getItemByDirection', + value: function _getItemByDirection(direction, activeElement) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREVIOUS; + var activeIndex = this._getItemIndex(activeElement); + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex == lastItemIndex; - this.sliding = true + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } - isCycling && this.pause() + var delta = direction == Direction.PREVIOUS ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; - if (this.$indicators.length) { - this.$indicators.find('.active').removeClass('active') - var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) - $nextIndicator && $nextIndicator.addClass('active') - } + return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; + } + }, { + key: '_triggerSlideEvent', + value: function _triggerSlideEvent(relatedTarget, directionalClassname) { + var slideEvent = $.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: directionalClassname + }); - var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" - if ($.support.transition && this.$element.hasClass('slide')) { - $next.addClass(type) - $next[0].offsetWidth // force reflow - $active.addClass(direction) - $next.addClass(direction) - $active - .one('bsTransitionEnd', function () { - $next.removeClass([type, direction].join(' ')).addClass('active') - $active.removeClass(['active', direction].join(' ')) - that.sliding = false - setTimeout(function () { - that.$element.trigger(slidEvent) - }, 0) - }) - .emulateTransitionEnd(Carousel.TRANSITION_DURATION) - } else { - $active.removeClass('active') - $next.addClass('active') - this.sliding = false - this.$element.trigger(slidEvent) - } + $(this._element).trigger(slideEvent); - isCycling && this.cycle() + return slideEvent; + } + }, { + key: '_setActiveIndicatorElement', + value: function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); - return this - } + var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + if (nextIndicator) { + $(nextIndicator).addClass(ClassName.ACTIVE); + } + } + } + }, { + key: '_slide', + value: function _slide(direction, element) { + var _this3 = this; - // CAROUSEL PLUGIN DEFINITION - // ========================== + var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; + var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.carousel') - var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) - var action = typeof option == 'string' ? option : options.slide + var isCycling = !!this._interval; - if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) - if (typeof option == 'number') data.to(option) - else if (action) data[action]() - else if (options.interval) data.pause().cycle() - }) - } + var directionalClassName = direction == Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT; - var old = $.fn.carousel + if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } - $.fn.carousel = Plugin - $.fn.carousel.Constructor = Carousel + var slideEvent = this._triggerSlideEvent(nextElement, directionalClassName); + if (slideEvent.isDefaultPrevented()) { + return; + } + if (!activeElement || !nextElement) { + // some weirdness is happening, so we bail + return; + } - // CAROUSEL NO CONFLICT - // ==================== + this._isSliding = true; - $.fn.carousel.noConflict = function () { - $.fn.carousel = old - return this - } + if (isCycling) { + this.pause(); + } + this._setActiveIndicatorElement(nextElement); - // CAROUSEL DATA-API - // ================= + var slidEvent = $.Event(Event.SLID, { + relatedTarget: nextElement, + direction: directionalClassName + }); - var clickHandler = function (e) { - var href - var $this = $(this) - var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 - if (!$target.hasClass('carousel')) return - var options = $.extend({}, $target.data(), $this.data()) - var slideIndex = $this.attr('data-slide-to') - if (slideIndex) options.interval = false + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) { - Plugin.call($target, options) + $(nextElement).addClass(direction); - if (slideIndex) { - $target.data('bs.carousel').to(slideIndex) - } + Util.reflow(nextElement); - e.preventDefault() - } + $(activeElement).addClass(directionalClassName); + $(nextElement).addClass(directionalClassName); - $(document) - .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) - .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + $(activeElement).one(Util.TRANSITION_END, function () { + $(nextElement).removeClass(directionalClassName).removeClass(direction); - $(window).on('load', function () { - $('[data-ride="carousel"]').each(function () { - var $carousel = $(this) - Plugin.call($carousel, $carousel.data()) - }) - }) + $(nextElement).addClass(ClassName.ACTIVE); -}(jQuery); + $(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName); -/* ======================================================================== - * Bootstrap: collapse.js v3.3.4 - * http://getbootstrap.com/javascript/#collapse - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. + _this3._isSliding = false; + + setTimeout(function () { + return $(_this3._element).trigger(slidEvent); + }, 0); + }).emulateTransitionEnd(TRANSITION_DURATION); + } else { + $(activeElement).removeClass(ClassName.ACTIVE); + $(nextElement).addClass(ClassName.ACTIVE); + + this._isSliding = false; + $(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: 'Default', + get: function () { + return Default; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + var _config = $.extend({}, Default, $(this).data()); + + if (typeof config === 'object') { + $.extend(_config, config); + } + + var action = typeof config === 'string' ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config == 'number') { + data.to(config); + } else if (action) { + data[action](); + } else if (_config.interval) { + data.pause(); + data.cycle(); + } + }); + } + }, { + key: '_dataApiClickHandler', + value: function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $(selector)[0]; + + if (!target || !$(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = $.extend({}, $(target).data(), $(this).data()); + + var slideIndex = this.getAttribute('data-slide-to'); + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($(target), config); + + if (slideIndex) { + $(target).data(DATA_KEY).to(slideIndex); + } + + event.preventDefault(); + } + }]); + + return Carousel; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + + $(window).on(Event.LOAD_DATA_API, function () { + $(Selector.DATA_RIDE).each(function () { + var $carousel = $(this); + Carousel._jQueryInterface.call($carousel, $carousel.data()); + }); + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Carousel._jQueryInterface; + $.fn[NAME].Constructor = Carousel; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; + + return Carousel; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): collapse.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // COLLAPSE PUBLIC CLASS DEFINITION - // ================================ - - var Collapse = function (element, options) { - this.$element = $(element) - this.options = $.extend({}, Collapse.DEFAULTS, options) - this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + - '[data-toggle="collapse"][data-target="#' + element.id + '"]') - this.transitioning = null - - if (this.options.parent) { - this.$parent = this.getParent() - } else { - this.addAriaAndCollapsedClass(this.$element, this.$trigger) - } - - if (this.options.toggle) this.toggle() - } - - Collapse.VERSION = '3.3.4' - - Collapse.TRANSITION_DURATION = 350 - - Collapse.DEFAULTS = { - toggle: true - } - - Collapse.prototype.dimension = function () { - var hasWidth = this.$element.hasClass('width') - return hasWidth ? 'width' : 'height' - } - - Collapse.prototype.show = function () { - if (this.transitioning || this.$element.hasClass('in')) return - - var activesData - var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') - - if (actives && actives.length) { - activesData = actives.data('bs.collapse') - if (activesData && activesData.transitioning) return - } - - var startEvent = $.Event('show.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - if (actives && actives.length) { - Plugin.call(actives, 'hide') - activesData || actives.data('bs.collapse', null) - } - - var dimension = this.dimension() - - this.$element - .removeClass('collapse') - .addClass('collapsing')[dimension](0) - .attr('aria-expanded', true) - - this.$trigger - .removeClass('collapsed') - .attr('aria-expanded', true) - - this.transitioning = 1 - - var complete = function () { - this.$element - .removeClass('collapsing') - .addClass('collapse in')[dimension]('') - this.transitioning = 0 - this.$element - .trigger('shown.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - var scrollSize = $.camelCase(['scroll', dimension].join('-')) - - this.$element - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) - } - - Collapse.prototype.hide = function () { - if (this.transitioning || !this.$element.hasClass('in')) return - - var startEvent = $.Event('hide.bs.collapse') - this.$element.trigger(startEvent) - if (startEvent.isDefaultPrevented()) return - - var dimension = this.dimension() - - this.$element[dimension](this.$element[dimension]())[0].offsetHeight - - this.$element - .addClass('collapsing') - .removeClass('collapse in') - .attr('aria-expanded', false) - - this.$trigger - .addClass('collapsed') - .attr('aria-expanded', false) - - this.transitioning = 1 - - var complete = function () { - this.transitioning = 0 - this.$element - .removeClass('collapsing') - .addClass('collapse') - .trigger('hidden.bs.collapse') - } - - if (!$.support.transition) return complete.call(this) - - this.$element - [dimension](0) - .one('bsTransitionEnd', $.proxy(complete, this)) - .emulateTransitionEnd(Collapse.TRANSITION_DURATION) - } - - Collapse.prototype.toggle = function () { - this[this.$element.hasClass('in') ? 'hide' : 'show']() - } - - Collapse.prototype.getParent = function () { - return $(this.options.parent) - .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') - .each($.proxy(function (i, element) { - var $element = $(element) - this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) - }, this)) - .end() - } - - Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { - var isOpen = $element.hasClass('in') - - $element.attr('aria-expanded', isOpen) - $trigger - .toggleClass('collapsed', !isOpen) - .attr('aria-expanded', isOpen) - } - - function getTargetFromTrigger($trigger) { - var href - var target = $trigger.attr('data-target') - || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 - - return $(target) - } - - - // COLLAPSE PLUGIN DEFINITION - // ========================== - - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.collapse') - var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) - - if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false - if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) - if (typeof option == 'string') data[option]() - }) - } - - var old = $.fn.collapse - - $.fn.collapse = Plugin - $.fn.collapse.Constructor = Collapse - - - // COLLAPSE NO CONFLICT - // ==================== - - $.fn.collapse.noConflict = function () { - $.fn.collapse = old - return this - } - - - // COLLAPSE DATA-API - // ================= - - $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { - var $this = $(this) - - if (!$this.attr('data-target')) e.preventDefault() - - var $target = getTargetFromTrigger($this) - var data = $target.data('bs.collapse') - var option = data ? 'toggle' : $this.data() - - Plugin.call($target, option) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: dropdown.js v3.3.4 - * http://getbootstrap.com/javascript/#dropdowns - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ - - -+function ($) { - 'use strict'; - - // DROPDOWN CLASS DEFINITION - // ========================= - - var backdrop = '.dropdown-backdrop' - var toggle = '[data-toggle="dropdown"]' - var Dropdown = function (element) { - $(element).on('click.bs.dropdown', this.toggle) - } - - Dropdown.VERSION = '3.3.4' - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector && $(selector) - - return $parent && $parent.length ? $parent : $this.parent() - } - - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) - }) - } - - Dropdown.prototype.toggle = function (e) { - var $this = $(this) - - if ($this.is('.disabled, :disabled')) return - - var $parent = getParent($this) - var isActive = $parent.hasClass('open') - - clearMenus() - - if (!isActive) { - if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { - // if mobile we use a backdrop because click events don't delegate - $(document.createElement('div')) - .addClass('dropdown-backdrop') - .insertAfter($(this)) - .on('click', clearMenus) + * -------------------------------------------------------------------------- + */ + +var Collapse = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'collapse'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.collapse'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 600; + + var Default = { + toggle: true, + parent: '' + }; + + var DefaultType = { + toggle: 'boolean', + parent: 'string' + }; + + var Event = { + SHOW: 'show' + EVENT_KEY, + SHOWN: 'shown' + EVENT_KEY, + HIDE: 'hide' + EVENT_KEY, + HIDDEN: 'hidden' + EVENT_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY + }; + + var ClassName = { + IN: 'in', + COLLAPSE: 'collapse', + COLLAPSING: 'collapsing', + COLLAPSED: 'collapsed' + }; + + var Dimension = { + WIDTH: 'width', + HEIGHT: 'height' + }; + + var Selector = { + ACTIVES: '.panel > .in, .panel > .collapsing', + DATA_TOGGLE: '[data-toggle="collapse"]' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Collapse = (function () { + function Collapse(element, config) { + _classCallCheck(this, Collapse); + + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]'))); + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); } - var relatedTarget = { relatedTarget: this } - $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this - .trigger('focus') - .attr('aria-expanded', 'true') - - $parent - .toggleClass('open') - .trigger('shown.bs.dropdown', relatedTarget) + if (this._config.toggle) { + this.toggle(); + } } - return false - } + _createClass(Collapse, [{ + key: 'toggle', - Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + // public - var $this = $(this) + value: function toggle() { + if ($(this._element).hasClass(ClassName.IN)) { + this.hide(); + } else { + this.show(); + } + } + }, { + key: 'show', + value: function show() { + var _this4 = this; - e.preventDefault() - e.stopPropagation() + if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) { + return; + } - if ($this.is('.disabled, :disabled')) return + var actives = undefined; + var activesData = undefined; - var $parent = getParent($this) - var isActive = $parent.hasClass('open') + if (this._parent) { + actives = $.makeArray($(Selector.ACTIVES)); + if (!actives.length) { + actives = null; + } + } - if (!isActive && e.which != 27 || isActive && e.which == 27) { - if (e.which == 27) $parent.find(toggle).trigger('focus') - return $this.trigger('click') - } + if (actives) { + activesData = $(actives).data(DATA_KEY); + if (activesData && activesData._isTransitioning) { + return; + } + } - var desc = ' li:not(.disabled):visible a' - var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc) + var startEvent = $.Event(Event.SHOW); + $(this._element).trigger(startEvent); + if (startEvent.isDefaultPrevented()) { + return; + } - if (!$items.length) return + if (actives) { + Collapse._jQueryInterface.call($(actives), 'hide'); + if (!activesData) { + $(actives).data(DATA_KEY, null); + } + } - var index = $items.index(e.target) + var dimension = this._getDimension(); - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 + $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); - $items.eq(index).trigger('focus') - } + this._element.style[dimension] = 0; + this._element.setAttribute('aria-expanded', true); + if (this._triggerArray.length) { + $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); + } - // DROPDOWN PLUGIN DEFINITION - // ========================== + this.setTransitioning(true); - function Plugin(option) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.dropdown') + var complete = function complete() { + $(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN); - if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } + _this4._element.style[dimension] = ''; - var old = $.fn.dropdown + _this4.setTransitioning(false); - $.fn.dropdown = Plugin - $.fn.dropdown.Constructor = Dropdown + $(_this4._element).trigger(Event.SHOWN); + }; + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } - // DROPDOWN NO CONFLICT - // ==================== + var scrollSize = 'scroll' + (dimension[0].toUpperCase() + dimension.slice(1)); - $.fn.dropdown.noConflict = function () { - $.fn.dropdown = old - return this - } + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + this._element.style[dimension] = this._element[scrollSize] + 'px'; + } + }, { + key: 'hide', + value: function hide() { + var _this5 = this; - // APPLY TO STANDARD DROPDOWN ELEMENTS - // =================================== + if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) { + return; + } - $(document) - .on('click.bs.dropdown.data-api', clearMenus) - .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) - .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) - .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) - .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + var startEvent = $.Event(Event.HIDE); + $(this._element).trigger(startEvent); + if (startEvent.isDefaultPrevented()) { + return; + } -}(jQuery); + var dimension = this._getDimension(); + var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight'; -/* ======================================================================== - * Bootstrap: modal.js v3.3.4 - * http://getbootstrap.com/javascript/#modals - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. + this._element.style[dimension] = this._element[offsetDimension] + 'px'; + + Util.reflow(this._element); + + $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN); + + this._element.setAttribute('aria-expanded', false); + + if (this._triggerArray.length) { + $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); + } + + this.setTransitioning(true); + + var complete = function complete() { + _this5.setTransitioning(false); + $(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = 0; + + if (!Util.supportsTransitionEnd()) { + return complete(); + } + + $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } + }, { + key: 'setTransitioning', + value: function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + } + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + } + }, { + key: '_getConfig', + + // private + + value: function _getConfig(config) { + config = $.extend({}, Default, config); + config.toggle = !!config.toggle; // coerce string values + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + } + }, { + key: '_getDimension', + value: function _getDimension() { + var hasWidth = $(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + } + }, { + key: '_getParent', + value: function _getParent() { + var _this6 = this; + + var parent = $(this._config.parent)[0]; + var selector = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]'; + + $(parent).find(selector).each(function (i, element) { + _this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); + }); + + return parent; + } + }, { + key: '_addAriaAndCollapsedClass', + value: function _addAriaAndCollapsedClass(element, triggerArray) { + if (element) { + var isOpen = $(element).hasClass(ClassName.IN); + element.setAttribute('aria-expanded', isOpen); + + if (triggerArray.length) { + $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); + } + } + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: 'Default', + get: function () { + return Default; + } + }, { + key: '_getTargetFromElement', + + // static + + value: function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? $(selector)[0] : null; + } + }, { + key: '_jQueryInterface', + value: function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config); + + if (!data && _config.toggle && /show|hide/.test(config)) { + _config.toggle = false; + } + + if (!data) { + data = new Collapse(this, _config); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + data[config](); + } + }); + } + }]); + + return Collapse; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + + var target = Collapse._getTargetFromElement(this); + + var data = $(target).data(DATA_KEY); + var config = data ? 'toggle' : $(this).data(); + + Collapse._jQueryInterface.call($(target), config); + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Collapse._jQueryInterface; + $.fn[NAME].Constructor = Collapse; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; + + return Collapse; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): dropdown.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ + * -------------------------------------------------------------------------- + */ +var Dropdown = (function ($) { -+function ($) { - 'use strict'; + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ - // MODAL CLASS DEFINITION - // ====================== + var NAME = 'dropdown'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.dropdown'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Modal = function (element, options) { - this.options = options - this.$body = $(document.body) - this.$element = $(element) - this.$dialog = this.$element.find('.modal-dialog') - this.$backdrop = null - this.isShown = null - this.originalBodyPad = null - this.scrollbarWidth = 0 - this.ignoreBackdropClick = false + var Event = { + HIDE: 'hide' + EVENT_KEY, + HIDDEN: 'hidden' + EVENT_KEY, + SHOW: 'show' + EVENT_KEY, + SHOWN: 'shown' + EVENT_KEY, + CLICK: 'click' + EVENT_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY, + KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + '' + DATA_API_KEY + }; - if (this.options.remote) { - this.$element - .find('.modal-content') - .load(this.options.remote, $.proxy(function () { - this.$element.trigger('loaded.bs.modal') - }, this)) + var ClassName = { + BACKDROP: 'dropdown-backdrop', + DISABLED: 'disabled', + OPEN: 'open' + }; + + var Selector = { + BACKDROP: '.dropdown-backdrop', + DATA_TOGGLE: '[data-toggle="dropdown"]', + FORM_CHILD: '.dropdown form', + ROLE_MENU: '[role="menu"]', + ROLE_LISTBOX: '[role="listbox"]', + NAVBAR_NAV: '.navbar-nav', + VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Dropdown = (function () { + function Dropdown(element) { + _classCallCheck(this, Dropdown); + + this._element = element; + + this._addEventListeners(); } - } - Modal.VERSION = '3.3.4' + _createClass(Dropdown, [{ + key: 'toggle', - Modal.TRANSITION_DURATION = 300 - Modal.BACKDROP_TRANSITION_DURATION = 150 + // public - Modal.DEFAULTS = { + value: function toggle() { + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + var isActive = $(parent).hasClass(ClassName.OPEN); + + Dropdown._clearMenus(); + + if (isActive) { + return false; + } + + if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) { + + // if mobile we use a backdrop because click events don't delegate + var dropdown = document.createElement('div'); + dropdown.className = ClassName.BACKDROP; + $(dropdown).insertBefore(this); + $(dropdown).on('click', Dropdown._clearMenus); + } + + var relatedTarget = { relatedTarget: this }; + var showEvent = $.Event(Event.SHOW, relatedTarget); + + $(parent).trigger(showEvent); + + if (showEvent.isDefaultPrevented()) { + return; + } + + this.focus(); + this.setAttribute('aria-expanded', 'true'); + + $(parent).toggleClass(ClassName.OPEN); + $(parent).trigger(Event.SHOWN, relatedTarget); + + return false; + } + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._element).off(EVENT_KEY); + this._element = null; + } + }, { + key: '_addEventListeners', + + // private + + value: function _addEventListeners() { + $(this._element).on(Event.CLICK, this.toggle); + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + + if (!data) { + $(this).data(DATA_KEY, data = new Dropdown(this)); + } + + if (typeof config === 'string') { + data[config].call(this); + } + }); + } + }, { + key: '_clearMenus', + value: function _clearMenus(event) { + if (event && event.which === 3) { + return; + } + + var backdrop = $(Selector.BACKDROP)[0]; + if (backdrop) { + backdrop.parentNode.removeChild(backdrop); + } + + var toggles = $.makeArray($(Selector.DATA_TOGGLE)); + + for (var i = 0; i < toggles.length; i++) { + var _parent = Dropdown._getParentFromElement(toggles[i]); + var relatedTarget = { relatedTarget: toggles[i] }; + + if (!$(_parent).hasClass(ClassName.OPEN)) { + continue; + } + + if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(_parent, event.target)) { + continue; + } + + var hideEvent = $.Event(Event.HIDE, relatedTarget); + $(_parent).trigger(hideEvent); + if (hideEvent.isDefaultPrevented()) { + continue; + } + + toggles[i].setAttribute('aria-expanded', 'false'); + + $(_parent).removeClass(ClassName.OPEN).trigger(Event.HIDDEN, relatedTarget); + } + } + }, { + key: '_getParentFromElement', + value: function _getParentFromElement(element) { + var parent = undefined; + var selector = Util.getSelectorFromElement(element); + + if (selector) { + parent = $(selector)[0]; + } + + return parent || element.parentNode; + } + }, { + key: '_dataApiKeydownHandler', + value: function _dataApiKeydownHandler(event) { + if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + + if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { + return; + } + + var parent = Dropdown._getParentFromElement(this); + var isActive = $(parent).hasClass(ClassName.OPEN); + + if (!isActive && event.which !== 27 || isActive && event.which === 27) { + + if (event.which === 27) { + var toggle = $(parent).find(Selector.DATA_TOGGLE)[0]; + $(toggle).trigger('focus'); + } + + $(this).trigger('click'); + return; + } + + var items = $.makeArray($(Selector.VISIBLE_ITEMS)); + + items = items.filter(function (item) { + return item.offsetWidth || item.offsetHeight; + }); + + if (!items.length) { + return; + } + + var index = items.indexOf(event.target); + + if (event.which === 38 && index > 0) index--; // up + if (event.which === 40 && index < items.length - 1) index++; // down + if (! ~index) index = 0; + + items[index].focus(); + } + }]); + + return Dropdown; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { + e.stopPropagation(); + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Dropdown._jQueryInterface; + $.fn[NAME].Constructor = Dropdown; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Dropdown._jQueryInterface; + }; + + return Dropdown; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): modal.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Modal = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'modal'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.modal'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 300; + var BACKDROP_TRANSITION_DURATION = 150; + + var Default = { backdrop: true, keyboard: true, + focus: true, show: true - } + }; - Modal.prototype.toggle = function (_relatedTarget) { - return this.isShown ? this.hide() : this.show(_relatedTarget) - } + var DefaultType = { + backdrop: '(boolean|string)', + keyboard: 'boolean', + focus: 'boolean', + show: 'boolean' + }; - Modal.prototype.show = function (_relatedTarget) { - var that = this - var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + var Event = { + HIDE: 'hide' + EVENT_KEY, + HIDDEN: 'hidden' + EVENT_KEY, + SHOW: 'show' + EVENT_KEY, + SHOWN: 'shown' + EVENT_KEY, + FOCUSIN: 'focusin' + EVENT_KEY, + RESIZE: 'resize' + EVENT_KEY, + CLICK_DISMISS: 'click.dismiss' + EVENT_KEY, + KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY, + MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY, + MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY + }; - this.$element.trigger(e) + var ClassName = { + BACKDROP: 'modal-backdrop', + OPEN: 'modal-open', + FADE: 'fade', + IN: 'in' + }; - if (this.isShown || e.isDefaultPrevented()) return + var Selector = { + DIALOG: '.modal-dialog', + DATA_TOGGLE: '[data-toggle="modal"]', + DATA_DISMISS: '[data-dismiss="modal"]', + SCROLLBAR_MEASURER: 'modal-scrollbar-measure' + }; - this.isShown = true + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ - this.checkScrollbar() - this.setScrollbar() - this.$body.addClass('modal-open') + var Modal = (function () { + function Modal(element, config) { + _classCallCheck(this, Modal); - this.escape() - this.resize() + this._config = this._getConfig(config); + this._element = element; + this._dialog = $(element).find(Selector.DIALOG)[0]; + this._backdrop = null; + this._isShown = false; + this._isBodyOverflowing = false; + this._ignoreBackdropClick = false; + this._originalBodyPadding = 0; + this._scrollbarWidth = 0; + } - this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + _createClass(Modal, [{ + key: 'toggle', - this.$dialog.on('mousedown.dismiss.bs.modal', function () { - that.$element.one('mouseup.dismiss.bs.modal', function (e) { - if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true - }) - }) + // public - this.backdrop(function () { - var transition = $.support.transition && that.$element.hasClass('fade') - - if (!that.$element.parent().length) { - that.$element.appendTo(that.$body) // don't move modals dom position + value: function toggle(relatedTarget) { + return this._isShown ? this.hide() : this.show(relatedTarget); } + }, { + key: 'show', + value: function show(relatedTarget) { + var _this7 = this; - that.$element - .show() - .scrollTop(0) + var showEvent = $.Event(Event.SHOW, { + relatedTarget: relatedTarget + }); - that.adjustDialog() + $(this._element).trigger(showEvent); - if (transition) { - that.$element[0].offsetWidth // force reflow - } - - that.$element.addClass('in') - - that.enforceFocus() - - var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) - - transition ? - that.$dialog // wait for modal to slide in - .one('bsTransitionEnd', function () { - that.$element.trigger('focus').trigger(e) - }) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - that.$element.trigger('focus').trigger(e) - }) - } - - Modal.prototype.hide = function (e) { - if (e) e.preventDefault() - - e = $.Event('hide.bs.modal') - - this.$element.trigger(e) - - if (!this.isShown || e.isDefaultPrevented()) return - - this.isShown = false - - this.escape() - this.resize() - - $(document).off('focusin.bs.modal') - - this.$element - .removeClass('in') - .off('click.dismiss.bs.modal') - .off('mouseup.dismiss.bs.modal') - - this.$dialog.off('mousedown.dismiss.bs.modal') - - $.support.transition && this.$element.hasClass('fade') ? - this.$element - .one('bsTransitionEnd', $.proxy(this.hideModal, this)) - .emulateTransitionEnd(Modal.TRANSITION_DURATION) : - this.hideModal() - } - - Modal.prototype.enforceFocus = function () { - $(document) - .off('focusin.bs.modal') // guard against infinite focus loop - .on('focusin.bs.modal', $.proxy(function (e) { - if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { - this.$element.trigger('focus') + if (this._isShown || showEvent.isDefaultPrevented()) { + return; } - }, this)) - } - Modal.prototype.escape = function () { - if (this.isShown && this.options.keyboard) { - this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { - e.which == 27 && this.hide() - }, this)) - } else if (!this.isShown) { - this.$element.off('keydown.dismiss.bs.modal') - } - } + this._isShown = true; - Modal.prototype.resize = function () { - if (this.isShown) { - $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) - } else { - $(window).off('resize.bs.modal') - } - } + this._checkScrollbar(); + this._setScrollbar(); - Modal.prototype.hideModal = function () { - var that = this - this.$element.hide() - this.backdrop(function () { - that.$body.removeClass('modal-open') - that.resetAdjustments() - that.resetScrollbar() - that.$element.trigger('hidden.bs.modal') - }) - } + $(document.body).addClass(ClassName.OPEN); - Modal.prototype.removeBackdrop = function () { - this.$backdrop && this.$backdrop.remove() - this.$backdrop = null - } + this._setEscapeEvent(); + this._setResizeEvent(); - Modal.prototype.backdrop = function (callback) { - var that = this - var animate = this.$element.hasClass('fade') ? 'fade' : '' + $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, $.proxy(this.hide, this)); - if (this.isShown && this.options.backdrop) { - var doAnimate = $.support.transition && animate + $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { + $(_this7._element).one(Event.MOUSEUP_DISMISS, function (event) { + if ($(event.target).is(_this7._element)) { + that._ignoreBackdropClick = true; + } + }); + }); - this.$backdrop = $(document.createElement('div')) - .addClass('modal-backdrop ' + animate) - .appendTo(this.$body) - - this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { - if (this.ignoreBackdropClick) { - this.ignoreBackdropClick = false - return - } - if (e.target !== e.currentTarget) return - this.options.backdrop == 'static' - ? this.$element[0].focus() - : this.hide() - }, this)) - - if (doAnimate) this.$backdrop[0].offsetWidth // force reflow - - this.$backdrop.addClass('in') - - if (!callback) return - - doAnimate ? - this.$backdrop - .one('bsTransitionEnd', callback) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callback() - - } else if (!this.isShown && this.$backdrop) { - this.$backdrop.removeClass('in') - - var callbackRemove = function () { - that.removeBackdrop() - callback && callback() + this._showBackdrop($.proxy(this._showElement, this, relatedTarget)); } - $.support.transition && this.$element.hasClass('fade') ? - this.$backdrop - .one('bsTransitionEnd', callbackRemove) - .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : - callbackRemove() + }, { + key: 'hide', + value: function hide(event) { + if (event) { + event.preventDefault(); + } - } else if (callback) { - callback() + var hideEvent = $.Event(Event.HIDE); + + $(this._element).trigger(hideEvent); + + if (!this._isShown || hideEvent.isDefaultPrevented()) { + return; + } + + this._isShown = false; + + this._setEscapeEvent(); + this._setResizeEvent(); + + $(document).off(Event.FOCUSIN); + + $(this._element).removeClass(ClassName.IN); + + $(this._element).off(Event.CLICK_DISMISS); + $(this._dialog).off(Event.MOUSEDOWN_DISMISS); + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + + $(this._element).one(Util.TRANSITION_END, $.proxy(this._hideModal, this)).emulateTransitionEnd(TRANSITION_DURATION); + } else { + this._hideModal(); + } + } + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + + $(window).off(EVENT_KEY); + $(document).off(EVENT_KEY); + $(this._element).off(EVENT_KEY); + $(this._backdrop).off(EVENT_KEY); + + this._config = null; + this._element = null; + this._dialog = null; + this._backdrop = null; + this._isShown = null; + this._isBodyOverflowing = null; + this._ignoreBackdropClick = null; + this._originalBodyPadding = null; + this._scrollbarWidth = null; + } + }, { + key: '_getConfig', + + // private + + value: function _getConfig(config) { + config = $.extend({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + } + }, { + key: '_showElement', + value: function _showElement(relatedTarget) { + var _this8 = this; + + var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE); + + if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) { + // don't move modals dom position + document.body.appendChild(this._element); + } + + this._element.style.display = 'block'; + this._element.scrollTop = 0; + + if (transition) { + Util.reflow(this._element); + } + + $(this._element).addClass(ClassName.IN); + + if (this._config.focus) this._enforceFocus(); + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: relatedTarget + }); + + var transitionComplete = function transitionComplete() { + if (_this8._config.focus) _this8._element.focus(); + $(_this8._element).trigger(shownEvent); + }; + + if (transition) { + $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + transitionComplete(); + } + } + }, { + key: '_enforceFocus', + value: function _enforceFocus() { + var _this9 = this; + + $(document).off(Event.FOCUSIN) // guard against infinite focus loop + .on(Event.FOCUSIN, function (event) { + if (_this9._element !== event.target && !$(_this9._element).has(event.target).length) { + _this9._element.focus(); + } + }); + } + }, { + key: '_setEscapeEvent', + value: function _setEscapeEvent() { + var _this10 = this; + + if (this._isShown && this._config.keyboard) { + $(this._element).on(Event.KEYDOWN_DISMISS, function (event) { + if (event.which === 27) { + _this10.hide(); + } + }); + } else if (!this._isShown) { + $(this._element).off(Event.KEYDOWN_DISMISS); + } + } + }, { + key: '_setResizeEvent', + value: function _setResizeEvent() { + if (this._isShown) { + $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this)); + } else { + $(window).off(Event.RESIZE); + } + } + }, { + key: '_hideModal', + value: function _hideModal() { + var _this11 = this; + + this._element.style.display = 'none'; + this._showBackdrop(function () { + $(document.body).removeClass(ClassName.OPEN); + _this11._resetAdjustments(); + _this11._resetScrollbar(); + $(_this11._element).trigger(Event.HIDDEN); + }); + } + }, { + key: '_removeBackdrop', + value: function _removeBackdrop() { + if (this._backdrop) { + $(this._backdrop).remove(); + this._backdrop = null; + } + } + }, { + key: '_showBackdrop', + value: function _showBackdrop(callback) { + var _this12 = this; + + var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : ''; + + if (this._isShown && this._config.backdrop) { + var doAnimate = Util.supportsTransitionEnd() && animate; + + this._backdrop = document.createElement('div'); + this._backdrop.className = ClassName.BACKDROP; + + if (animate) { + $(this._backdrop).addClass(animate); + } + + $(this._backdrop).appendTo(this.$body); + + $(this._element).on(Event.CLICK_DISMISS, function (event) { + if (_this12._ignoreBackdropClick) { + _this12._ignoreBackdropClick = false; + return; + } + if (event.target !== event.currentTarget) { + return; + } + if (_this12._config.backdrop === 'static') { + _this12._element.focus(); + } else { + _this12.hide(); + } + }); + + if (doAnimate) { + Util.reflow(this._backdrop); + } + + $(this._backdrop).addClass(ClassName.IN); + + if (!callback) { + return; + } + + if (!doAnimate) { + callback(); + return; + } + + $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else if (!this._isShown && this._backdrop) { + $(this._backdrop).removeClass(ClassName.IN); + + var callbackRemove = function callbackRemove() { + _this12._removeBackdrop(); + if (callback) { + callback(); + } + }; + + if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) { + $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + } else { + callbackRemove(); + } + } else if (callback) { + callback(); + } + } + }, { + key: '_handleUpdate', + + // ---------------------------------------------------------------------- + // the following methods are used to handle overflowing modals + // todo (fat): these should probably be refactored out of modal.js + // ---------------------------------------------------------------------- + + value: function _handleUpdate() { + this._adjustDialog(); + } + }, { + key: '_adjustDialog', + value: function _adjustDialog() { + var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight; + + if (!this._isBodyOverflowing && isModalOverflowing) { + this._element.style.paddingLeft = this._scrollbarWidth + 'px'; + } + + if (this._isBodyOverflowing && !isModalOverflowing) { + this._element.style.paddingRight = this._scrollbarWidth + 'px'; + } + } + }, { + key: '_resetAdjustments', + value: function _resetAdjustments() { + this._element.style.paddingLeft = ''; + this._element.style.paddingRight = ''; + } + }, { + key: '_checkScrollbar', + value: function _checkScrollbar() { + var fullWindowWidth = window.innerWidth; + if (!fullWindowWidth) { + // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect(); + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); + } + this._isBodyOverflowing = document.body.clientWidth < fullWindowWidth; + this._scrollbarWidth = this._getScrollbarWidth(); + } + }, { + key: '_setScrollbar', + value: function _setScrollbar() { + var bodyPadding = parseInt($(document.body).css('padding-right') || 0, 10); + + this._originalBodyPadding = document.body.style.paddingRight || ''; + + if (this._isBodyOverflowing) { + document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px'; + } + } + }, { + key: '_resetScrollbar', + value: function _resetScrollbar() { + document.body.style.paddingRight = this._originalBodyPadding; + } + }, { + key: '_getScrollbarWidth', + value: function _getScrollbarWidth() { + // thx d.walsh + var scrollDiv = document.createElement('div'); + scrollDiv.className = Selector.SCROLLBAR_MEASURER; + document.body.appendChild(scrollDiv); + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; + document.body.removeChild(scrollDiv); + return scrollbarWidth; + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: 'Default', + get: function () { + return Default; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config, relatedTarget) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config); + + if (!data) { + data = new Modal(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + data[config](relatedTarget); + } else if (_config.show) { + data.show(relatedTarget); + } + }); + } + }]); + + return Modal; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + var _this13 = this; + + var target = undefined; + var selector = Util.getSelectorFromElement(this); + + if (selector) { + target = $(selector)[0]; } - } - // these following methods are used to handle overflowing modals + var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data()); - Modal.prototype.handleUpdate = function () { - this.adjustDialog() - } - - Modal.prototype.adjustDialog = function () { - var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight - - this.$element.css({ - paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', - paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' - }) - } - - Modal.prototype.resetAdjustments = function () { - this.$element.css({ - paddingLeft: '', - paddingRight: '' - }) - } - - Modal.prototype.checkScrollbar = function () { - var fullWindowWidth = window.innerWidth - if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 - var documentElementRect = document.documentElement.getBoundingClientRect() - fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + if (this.tagName === 'A') { + event.preventDefault(); } - this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth - this.scrollbarWidth = this.measureScrollbar() - } - Modal.prototype.setScrollbar = function () { - var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) - this.originalBodyPad = document.body.style.paddingRight || '' - if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) - } + var $target = $(target).one(Event.SHOW, function (showEvent) { + if (showEvent.isDefaultPrevented()) { + // only register focus restorer if modal will actually get shown + return; + } - Modal.prototype.resetScrollbar = function () { - this.$body.css('padding-right', this.originalBodyPad) - } + $target.one(Event.HIDDEN, function () { + if ($(_this13).is(':visible')) { + _this13.focus(); + } + }); + }); - Modal.prototype.measureScrollbar = function () { // thx walsh - var scrollDiv = document.createElement('div') - scrollDiv.className = 'modal-scrollbar-measure' - this.$body.append(scrollDiv) - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth - this.$body[0].removeChild(scrollDiv) - return scrollbarWidth - } + Modal._jQueryInterface.call($(target), config, this); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - // MODAL PLUGIN DEFINITION - // ======================= + $.fn[NAME] = Modal._jQueryInterface; + $.fn[NAME].Constructor = Modal; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Modal._jQueryInterface; + }; - function Plugin(option, _relatedTarget) { - return this.each(function () { - var $this = $(this) - var data = $this.data('bs.modal') - var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + return Modal; +})(jQuery); - if (!data) $this.data('bs.modal', (data = new Modal(this, options))) - if (typeof option == 'string') data[option](_relatedTarget) - else if (options.show) data.show(_relatedTarget) - }) - } - - var old = $.fn.modal - - $.fn.modal = Plugin - $.fn.modal.Constructor = Modal - - - // MODAL NO CONFLICT - // ================= - - $.fn.modal.noConflict = function () { - $.fn.modal = old - return this - } - - - // MODAL DATA-API - // ============== - - $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { - var $this = $(this) - var href = $this.attr('href') - var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 - var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) - - if ($this.is('a')) e.preventDefault() - - $target.one('show.bs.modal', function (showEvent) { - if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown - $target.one('hidden.bs.modal', function () { - $this.is(':visible') && $this.trigger('focus') - }) - }) - Plugin.call($target, option, this) - }) - -}(jQuery); - -/* ======================================================================== - * Bootstrap: tooltip.js v3.3.4 - * http://getbootstrap.com/javascript/#tooltip - * Inspired by the original jQuery.tipsy by Jason Frame - * ======================================================================== - * Copyright 2011-2015 Twitter, Inc. +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): scrollspy.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * ======================================================================== */ + * -------------------------------------------------------------------------- + */ +var ScrollSpy = (function ($) { -+function ($) { - 'use strict'; + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ - // TOOLTIP PUBLIC CLASS DEFINITION - // =============================== + var NAME = 'scrollspy'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.scrollspy'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Tooltip = function (element, options) { - this.type = null - this.options = null - this.enabled = null - this.timeout = null - this.hoverState = null - this.$element = null - this.inState = null + var Default = { + offset: 10, + method: 'auto', + target: '' + }; - this.init('tooltip', element, options) - } + var DefaultType = { + offset: 'number', + method: 'string', + target: '(string|element)' + }; - Tooltip.VERSION = '3.3.4' + var Event = { + ACTIVATE: 'activate' + EVENT_KEY, + SCROLL: 'scroll' + EVENT_KEY, + LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY + }; - Tooltip.TRANSITION_DURATION = 150 + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active' + }; - Tooltip.DEFAULTS = { + var Selector = { + DATA_SPY: '[data-spy="scroll"]', + ACTIVE: '.active', + LI: 'li', + LI_DROPDOWN: 'li.dropdown', + NAV_ANCHORS: '.nav li > a' + }; + + var OffsetMethod = { + OFFSET: 'offset', + POSITION: 'position' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var ScrollSpy = (function () { + function ScrollSpy(element, config) { + _classCallCheck(this, ScrollSpy); + + this._element = element; + this._scrollElement = element.tagName === 'BODY' ? window : element; + this._config = this._getConfig(config); + this._selector = '' + this._config.target + ' ' + Selector.NAV_ANCHORS; + this._offsets = []; + this._targets = []; + this._activeTarget = null; + this._scrollHeight = 0; + + $(this._scrollElement).on(Event.SCROLL, $.proxy(this._process, this)); + + this.refresh(); + this._process(); + } + + _createClass(ScrollSpy, [{ + key: 'refresh', + + // public + + value: function refresh() { + var _this14 = this; + + var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET; + + var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method; + + var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0; + + this._offsets = []; + this._targets = []; + + this._scrollHeight = this._getScrollHeight(); + + var targets = $.makeArray($(this._selector)); + + targets.map(function (element) { + var target = undefined; + var targetSelector = Util.getSelectorFromElement(element); + + if (targetSelector) { + target = $(targetSelector)[0]; + } + + if (target && (target.offsetWidth || target.offsetHeight)) { + // todo (fat): remove sketch reliance on jQuery position/offset + return [$(target)[offsetMethod]().top + offsetBase, targetSelector]; + } + }).filter(function (item) { + return item; + }).sort(function (a, b) { + return a[0] - b[0]; + }).forEach(function (item) { + _this14._offsets.push(item[0]); + _this14._targets.push(item[1]); + }); + } + }, { + key: 'dispose', + value: function dispose() { + $.removeData(this._element, DATA_KEY); + $(this._scrollElement).off(EVENT_KEY); + + this._element = null; + this._scrollElement = null; + this._config = null; + this._selector = null; + this._offsets = null; + this._targets = null; + this._activeTarget = null; + this._scrollHeight = null; + } + }, { + key: '_getConfig', + + // private + + value: function _getConfig(config) { + config = $.extend({}, Default, config); + + if (typeof config.target !== 'string') { + var id = $(config.target).attr('id'); + if (!id) { + id = Util.getUID(NAME); + $(config.target).attr('id', id); + } + config.target = '#' + id; + } + + Util.typeCheckConfig(NAME, config, DefaultType); + + return config; + } + }, { + key: '_getScrollTop', + value: function _getScrollTop() { + return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop; + } + }, { + key: '_getScrollHeight', + value: function _getScrollHeight() { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + } + }, { + key: '_process', + value: function _process() { + var scrollTop = this._getScrollTop() + this._config.offset; + var scrollHeight = this._getScrollHeight(); + var maxScroll = this._config.offset + scrollHeight - this._scrollElement.offsetHeight; + + if (this._scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + var target = this._targets[this._targets.length - 1]; + + if (this._activeTarget !== target) { + this._activate(target); + } + } + + if (this._activeTarget && scrollTop < this._offsets[0]) { + this._activeTarget = null; + this._clear(); + return; + } + + for (var i = this._offsets.length; i--;) { + var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]); + + if (isActiveTarget) { + this._activate(this._targets[i]); + } + } + } + }, { + key: '_activate', + value: function _activate(target) { + this._activeTarget = target; + + this._clear(); + + var selector = '' + this._selector + '[data-target="' + target + '"],' + ('' + this._selector + '[href="' + target + '"]'); + + // todo (fat): getting all the raw li's up the tree is not great. + var parentListItems = $(selector).parents(Selector.LI); + + for (var i = parentListItems.length; i--;) { + $(parentListItems[i]).addClass(ClassName.ACTIVE); + + var itemParent = parentListItems[i].parentNode; + + if (itemParent && $(itemParent).hasClass(ClassName.DROPDOWN_MENU)) { + var closestDropdown = $(itemParent).closest(Selector.LI_DROPDOWN)[0]; + $(closestDropdown).addClass(ClassName.ACTIVE); + } + } + + $(this._scrollElement).trigger(Event.ACTIVATE, { + relatedTarget: target + }); + } + }, { + key: '_clear', + value: function _clear() { + var activeParents = $(this._selector).parentsUntil(this._config.target, Selector.ACTIVE); + + for (var i = activeParents.length; i--;) { + $(activeParents[i]).removeClass(ClassName.ACTIVE); + } + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: 'Default', + get: function () { + return Default; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + var _config = typeof config === 'object' && config || null; + + if (!data) { + data = new ScrollSpy(this, _config); + $(this).data(DATA_KEY, data); + } + + if (typeof config === 'string') { + data[config](); + } + }); + } + }]); + + return ScrollSpy; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(window).on(Event.LOAD_DATA_API, function () { + var scrollSpys = $.makeArray($(Selector.DATA_SPY)); + + for (var i = scrollSpys.length; i--;) { + var $spy = $(scrollSpys[i]); + ScrollSpy._jQueryInterface.call($spy, $spy.data()); + } + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = ScrollSpy._jQueryInterface; + $.fn[NAME].Constructor = ScrollSpy; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return ScrollSpy._jQueryInterface; + }; + + return ScrollSpy; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): tab.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tab = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tab'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.tab'; + var EVENT_KEY = '.' + DATA_KEY; + var DATA_API_KEY = '.data-api'; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + + var Event = { + HIDE: 'hide' + EVENT_KEY, + HIDDEN: 'hidden' + EVENT_KEY, + SHOW: 'show' + EVENT_KEY, + SHOWN: 'shown' + EVENT_KEY, + CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY + }; + + var ClassName = { + DROPDOWN_MENU: 'dropdown-menu', + ACTIVE: 'active', + FADE: 'fade', + IN: 'in' + }; + + var Selector = { + A: 'a', + LI: 'li', + LI_DROPDOWN: 'li.dropdown', + UL: 'ul:not(.dropdown-menu)', + FADE_CHILD: '> .fade', + ACTIVE: '.active', + ACTIVE_CHILD: '> .active', + DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]', + DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu > .active' + }; + + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + + var Tab = (function () { + function Tab(element) { + _classCallCheck(this, Tab); + + this._element = element; + } + + _createClass(Tab, [{ + key: 'show', + + // public + + value: function show() { + var _this15 = this; + + if (this._element.parentNode && this._element.parentNode.nodeType == Node.ELEMENT_NODE && $(this._element).parent().hasClass(ClassName.ACTIVE)) { + return; + } + + var target = undefined; + var previous = undefined; + var ulElement = $(this._element).closest(Selector.UL)[0]; + var selector = Util.getSelectorFromElement(this._element); + + if (ulElement) { + previous = $.makeArray($(ulElement).find(Selector.ACTIVE)); + previous = previous[previous.length - 1]; + + if (previous) { + previous = $(previous).find(Selector.A)[0]; + } + } + + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); + + if (previous) { + $(previous).trigger(hideEvent); + } + + $(this._element).trigger(showEvent); + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } + + if (selector) { + target = $(selector)[0]; + } + + this._activate($(this._element).closest(Selector.LI)[0], ulElement); + + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this15._element + }); + + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + + $(previous).trigger(hiddenEvent); + $(_this15._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + } + }, { + key: 'dispose', + value: function dispose() { + $.removeClass(this._element, DATA_KEY); + this._element = null; + } + }, { + key: '_activate', + + // private + + value: function _activate(element, container, callback) { + var active = $(container).find(Selector.ACTIVE_CHILD)[0]; + var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || !!$(container).find(Selector.FADE_CHILD)[0]); + + var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback); + + if (active && isTransitioning) { + $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } + + if (active) { + $(active).removeClass(ClassName.IN); + } + } + }, { + key: '_transitionComplete', + value: function _transitionComplete(element, active, isTransitioning, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + + var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); + } + + var activeToggle = $(active).find(Selector.DATA_TOGGLE)[0]; + if (activeToggle) { + activeToggle.setAttribute('aria-expanded', false); + } + } + + $(element).addClass(ClassName.ACTIVE); + + var elementToggle = $(element).find(Selector.DATA_TOGGLE)[0]; + if (elementToggle) { + elementToggle.setAttribute('aria-expanded', true); + } + + if (isTransitioning) { + Util.reflow(element); + $(element).addClass(ClassName.IN); + } else { + $(element).removeClass(ClassName.FADE); + } + + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + + var dropdownElement = $(element).closest(Selector.LI_DROPDOWN)[0]; + if (dropdownElement) { + $(dropdownElement).addClass(ClassName.ACTIVE); + } + + elementToggle = $(element).find(Selector.DATA_TOGGLE)[0]; + if (elementToggle) { + elementToggle.setAttribute('aria-expanded', true); + } + } + + if (callback) { + callback(); + } + } + }], [{ + key: 'VERSION', + + // getters + + get: function () { + return VERSION; + } + }, { + key: '_jQueryInterface', + + // static + + value: function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); + + if (!data) { + data = data = new Tab(this); + $this.data(DATA_KEY, data); + } + + if (typeof config === 'string') { + data[config](); + } + }); + } + }]); + + return Tab; + })(); + + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { + event.preventDefault(); + Tab._jQueryInterface.call($(this), 'show'); + }); + + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ + + $.fn[NAME] = Tab._jQueryInterface; + $.fn[NAME].Constructor = Tab; + $.fn[NAME].noConflict = function () { + $.fn[NAME] = JQUERY_NO_CONFLICT; + return Tab._jQueryInterface; + }; + + return Tab; +})(jQuery); + +/** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0): tooltip.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ + +var Tooltip = (function ($) { + + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + + var NAME = 'tooltip'; + var VERSION = '4.0.0'; + var DATA_KEY = 'bs.tooltip'; + var EVENT_KEY = '.' + DATA_KEY; + var JQUERY_NO_CONFLICT = $.fn[NAME]; + var TRANSITION_DURATION = 150; + var CLASS_PREFIX = 'bs-tether'; + + var Default = { animation: true, - placement: 'top', - selector: false, - template: '
Testing affix-top class is added
' - + 'Holy guacamole! Best check yo self, you\'re not looking too good.
' + '' - var $alert = $(alertHTML).bootstrapAlert() + + var $alert = $(alertHTML).bootstrapAlert().appendTo($('#qunit-fixture')) $alert.find('.close').trigger('click') diff --git a/js/tests/unit/button.js b/js/tests/unit/button.js index 691796c42..5648506cf 100644 --- a/js/tests/unit/button.js +++ b/js/tests/unit/button.js @@ -32,64 +32,6 @@ $(function () { assert.strictEqual($button[0], $el[0], 'collection contains element') }) - QUnit.test('should return set state to loading', function (assert) { - assert.expect(4) - var $btn = $('') - assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo') - $btn.bootstrapButton('loading') - var done = assert.async() - setTimeout(function () { - assert.strictEqual($btn.html(), 'fat', 'btn text equals fat') - assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled') - assert.ok($btn.hasClass('disabled'), 'btn has disabled class') - done() - }, 0) - }) - - QUnit.test('should return reset state', function (assert) { - assert.expect(7) - var $btn = $('') - assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo') - $btn.bootstrapButton('loading') - var doneOne = assert.async() - setTimeout(function () { - assert.strictEqual($btn.html(), 'fat', 'btn text equals fat') - assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled') - assert.ok($btn.hasClass('disabled'), 'btn has disabled class') - doneOne() - var doneTwo = assert.async() - $btn.bootstrapButton('reset') - setTimeout(function () { - assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo') - assert.ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') - assert.ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') - doneTwo() - }, 0) - }, 0) - }) - - QUnit.test('should work with an empty string as reset state', function (assert) { - assert.expect(7) - var $btn = $('') - assert.strictEqual($btn.html(), '', 'btn text equals ""') - $btn.bootstrapButton('loading') - var doneOne = assert.async() - setTimeout(function () { - assert.strictEqual($btn.html(), 'fat', 'btn text equals fat') - assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled') - assert.ok($btn.hasClass('disabled'), 'btn has disabled class') - doneOne() - var doneTwo = assert.async() - $btn.bootstrapButton('reset') - setTimeout(function () { - assert.strictEqual($btn.html(), '', 'btn text equals ""') - assert.ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled') - assert.ok(!$btn.hasClass('disabled'), 'btn does not have disabled class') - doneTwo() - }, 0) - }, 0) - }) - QUnit.test('should toggle active', function (assert) { assert.expect(2) var $btn = $('') diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js index 39d250598..017bd9bee 100644 --- a/js/tests/unit/carousel.js +++ b/js/tests/unit/carousel.js @@ -32,6 +32,38 @@ $(function () { assert.strictEqual($carousel[0], $el[0], 'collection contains element') }) + QUnit.test('should type check config options', function (assert) { + assert.expect(2) + + var message + var expectedMessage = 'CAROUSEL: Option "interval" provided type "string" but expected type "(number|boolean)".' + var config = { + interval: 'fat sux' + } + + try { + $('').bootstrapCarousel(config) + } catch (e) { + message = e.message + } + + assert.ok(message === expectedMessage, 'correct error message') + + config = { + keyboard: document.createElement('div') + } + expectedMessage = 'CAROUSEL: Option "keyboard" provided type "element" but expected type "boolean".' + + try { + $('').bootstrapCarousel(config) + } catch (e) { + message = e.message + } + + assert.ok(message === expectedMessage, 'correct error message') + }) + + QUnit.test('should not fire slid when slide is prevented', function (assert) { assert.expect(1) var done = assert.async() @@ -56,13 +88,13 @@ $(function () { + '' + '' + '