From 3d97804ef83cbc828d2df3f71a7d9a96b9221331 Mon Sep 17 00:00:00 2001 From: Shane Osbourne Date: Wed, 26 Apr 2023 16:20:23 +0100 Subject: [PATCH 01/29] prettier config --- packages/browser-sync/.gitignore | 1 + packages/browser-sync/lib/async.js | 78 +-- packages/browser-sync/lib/bin.ts | 21 +- packages/browser-sync/lib/browser-sync.js | 8 +- packages/browser-sync/lib/cli/cli-info.js | 3 +- packages/browser-sync/lib/cli/cli-options.ts | 5 +- .../browser-sync/lib/cli/command.recipe.js | 25 +- .../browser-sync/lib/cli/command.start.ts | 20 +- .../transforms/addDefaultIgnorePatterns.ts | 13 +- .../transforms/appendServerDirectoryOption.ts | 9 +- .../cli/transforms/appendServerIndexOption.ts | 4 +- .../transforms/copyCLIIgnoreToWatchOptions.ts | 14 +- .../cli/transforms/handleExtensionsOption.ts | 10 +- .../cli/transforms/handleGhostModeOption.ts | 4 +- .../lib/cli/transforms/handleHostOption.ts | 4 +- packages/browser-sync/lib/config.js | 12 +- packages/browser-sync/lib/connect-utils.js | 35 +- packages/browser-sync/lib/default-config.js | 10 +- .../browser-sync/lib/file-event-handler.js | 15 +- packages/browser-sync/lib/file-utils.js | 5 +- packages/browser-sync/lib/file-watcher.js | 6 +- packages/browser-sync/lib/hooks.js | 4 +- packages/browser-sync/lib/http-protocol.js | 27 +- packages/browser-sync/lib/index.js | 11 +- packages/browser-sync/lib/internal-events.js | 41 +- packages/browser-sync/lib/lodash.custom.js | 566 ++++-------------- packages/browser-sync/lib/logger.js | 35 +- packages/browser-sync/lib/options.ts | 44 +- packages/browser-sync/lib/server/index.js | 16 +- .../browser-sync/lib/server/proxy-utils.js | 12 +- .../browser-sync/lib/server/static-server.js | 8 +- packages/browser-sync/lib/server/utils.js | 66 +- packages/browser-sync/lib/snippet.js | 9 +- packages/browser-sync/lib/sockets.ts | 27 +- packages/browser-sync/lib/tunnel.js | 9 +- packages/browser-sync/lib/utils.ts | 12 +- packages/browser-sync/package.json | 7 +- packages/browser-sync/test/specs/api/init.js | 2 +- .../test/specs/api/init.reload.multi.js | 20 +- .../test/specs/api/init.reload.stream.js | 15 +- .../test/specs/api/init.reload.stream.noop.js | 5 +- packages/browser-sync/test/specs/api/watch.js | 17 +- .../browser-sync/test/specs/cli/cli.exec.js | 7 +- .../test/specs/cli/cli.get.config.js | 4 +- .../browser-sync/test/specs/cli/cli.help.js | 40 +- .../test/specs/cli/cli.options.watch.js | 12 +- .../test/specs/commands/recipes.js | 20 +- .../test/specs/commands/reload.js | 10 +- .../test/specs/e2e/cli/e2e.cli.conf.js | 10 +- .../test/specs/e2e/cli/e2e.cli.files.js | 15 +- .../test/specs/e2e/cli/e2e.cli.server.js | 32 +- .../test/specs/e2e/e2e.options.cors.js | 20 +- .../test/specs/e2e/e2e.options.logPrefix.js | 4 +- .../test/specs/e2e/e2e.options.logSnippet.js | 4 +- .../test/specs/e2e/e2e.options.port.js | 4 +- .../test/specs/e2e/e2e.options.scriptpath.js | 20 +- .../test/specs/e2e/e2e.options.serveStatic.js | 39 +- .../test/specs/e2e/e2e.options.single.js | 10 +- .../test/specs/e2e/e2e.options.snippet.js | 9 +- .../specs/e2e/middleware/middleware.option.js | 12 +- .../e2e/proxy/e2e.proxy.rewrite.rules.add.js | 22 +- .../test/specs/e2e/proxy/e2e.proxy.secure.js | 10 +- .../specs/e2e/server/e2e.server.secure.pfx.js | 3 +- .../e2e.server.serveStatic.extensions.js | 20 +- .../e2e/server/e2e.server.serveStatic.js | 26 +- .../specs/e2e/server/e2e.server.tunnel.js | 15 +- .../test/specs/files/files.watching.js | 20 +- .../test/specs/http-protocol/http.reload.js | 20 +- .../test/specs/logger/logger.baseDir.js | 25 +- .../test/specs/options/options.set.js | 15 +- .../test/specs/plugins/connector.js | 5 +- .../browser-sync/test/specs/plugins/hooks.js | 5 +- .../browser-sync/test/specs/plugins/logger.js | 2 +- .../plugins/user.plugins.add.middleware.js | 8 +- .../plugins/user.plugins.inline.error.js | 10 +- .../specs/plugins/user.plugins.serve.files.js | 4 +- .../test/specs/resp-mod/rewrite-links.js | 204 ++----- .../test/specs/server/server.snippet.js | 5 +- .../test/specs/utils/utils.connect.js | 70 +-- .../test/specs/utils/utils.getHostIp.js | 15 +- .../test/specs/utils/utils.setUrlOptions.js | 5 +- .../test/specs/utils/utils.verifyOptions.js | 9 +- .../test/specs/utils/utils.xip.js | 5 +- 83 files changed, 474 insertions(+), 1576 deletions(-) diff --git a/packages/browser-sync/.gitignore b/packages/browser-sync/.gitignore index b23280282..dbb236f4d 100644 --- a/packages/browser-sync/.gitignore +++ b/packages/browser-sync/.gitignore @@ -1 +1,2 @@ /dist/* +/dist_backup/* diff --git a/packages/browser-sync/lib/async.js b/packages/browser-sync/lib/async.js index ebf2c0afb..8c57b5b87 100644 --- a/packages/browser-sync/lib/async.js +++ b/packages/browser-sync/lib/async.js @@ -6,7 +6,7 @@ var Immutable = require("immutable"); var utils = require("./utils"); var pluginUtils = require("./plugins"); var connectUtils = require("./connect-utils"); -var chalk = require("chalk"); +var chalk = require("chalk"); module.exports = { /** @@ -63,24 +63,19 @@ module.exports = { socketPort = bs.options.getIn(["socket", "port"]); } - utils.getPort( - bs.options.get("listen", "localhost"), - socketPort, - null, - function(err, port) { - if (err) { - return utils.fail(true, err, bs.cb); - } - done(null, { - optionsIn: [ - { - path: ["socket", "port"], - value: port - } - ] - }); + utils.getPort(bs.options.get("listen", "localhost"), socketPort, null, function(err, port) { + if (err) { + return utils.fail(true, err, bs.cb); } - ); + done(null, { + optionsIn: [ + { + path: ["socket", "port"], + value: port + } + ] + }); + }); }, /** * Some features require an internet connection. @@ -91,22 +86,13 @@ module.exports = { * @param {Function} done */ getOnlineStatus: function(bs, done) { - if ( - _.isUndefined(bs.options.get("online")) && - _.isUndefined(process.env.TESTING) - ) { + if (_.isUndefined(bs.options.get("online")) && _.isUndefined(process.env.TESTING)) { require("dns").resolve("www.google.com", function(err) { var online = false; if (err) { - bs.debug( - "Could not resolve www.google.com, setting %s", - chalk.magenta("online: false") - ); + bs.debug("Could not resolve www.google.com, setting %s", chalk.magenta("online: false")); } else { - bs.debug( - "Resolved www.google.com, setting %s", - chalk.magenta("online: true") - ); + bs.debug("Resolved www.google.com, setting %s", chalk.magenta("online: true")); online = true; } done(null, { @@ -155,17 +141,9 @@ module.exports = { done(null, { options: { urls: utils.getUrlOptions(bs.options), - snippet: connectUtils.enabled(bs.options) - ? connectUtils.scriptTags(bs.options) - : false, - scriptPaths: Immutable.fromJS( - connectUtils.clientScript(bs.options, true) - ), - files: bs.pluginManager.hook( - "files:watch", - bs.options.get("files"), - bs.pluginManager.pluginOptions - ) + snippet: connectUtils.enabled(bs.options) ? connectUtils.scriptTags(bs.options) : false, + scriptPaths: Immutable.fromJS(connectUtils.clientScript(bs.options, true)), + files: bs.pluginManager.hook("files:watch", bs.options.get("files"), bs.pluginManager.pluginOptions) } }); }, @@ -195,10 +173,7 @@ module.exports = { mergeMiddlewares: function(bs, done) { done(null, { options: { - middleware: bs.pluginManager.hook( - "server:middleware", - bs.options.get("middleware") - ) + middleware: bs.pluginManager.hook("server:middleware", bs.options.get("middleware")) } }); }, @@ -249,10 +224,7 @@ module.exports = { * @param {Function} done */ startSockets: function(bs, done) { - var clientEvents = bs.pluginManager.hook( - "client:events", - bs.options.get("clientEvents").toJS() - ); + var clientEvents = bs.pluginManager.hook("client:events", bs.options.get("clientEvents").toJS()); // Start the socket, needs an existing server. var io = bs.pluginManager.get("socket")(bs.server, clientEvents, bs); @@ -287,13 +259,7 @@ module.exports = { return item.name === PLUGIN_NAME; }) ) { - uiOpts = bs.options - .get("ui") - .mergeDeep( - Immutable.fromJS( - bs.pluginManager.pluginOptions[PLUGIN_NAME] - ) - ); + uiOpts = bs.options.get("ui").mergeDeep(Immutable.fromJS(bs.pluginManager.pluginOptions[PLUGIN_NAME])); } /** diff --git a/packages/browser-sync/lib/bin.ts b/packages/browser-sync/lib/bin.ts index 3f233da44..6114ee8e9 100755 --- a/packages/browser-sync/lib/bin.ts +++ b/packages/browser-sync/lib/bin.ts @@ -2,7 +2,7 @@ const startOpts = require("../cli-options/opts.start.json"); const reloadOpts = require("../cli-options/opts.reload.json"); const recipeOpts = require("../cli-options/opts.recipe.json"); -const chalk = require("chalk"); +const chalk = require("chalk"); const pkg = require("../package.json"); import * as utils from "./utils"; import { resolve } from "path"; @@ -38,7 +38,7 @@ if (!module.parent) { } function freshYargs() { - return require("yargs")(process.argv.slice(2)); + return require("yargs")(process.argv.slice(2)); } function runFromCli() { @@ -128,13 +128,9 @@ function handleNoCommand(argv, input, yargs) { return process.exit(1); } - const serveStaticPaths = withoutErrors - .filter(item => item.isUrl === false) - .map(item => item.resolved); + const serveStaticPaths = withoutErrors.filter(item => item.isUrl === false).map(item => item.resolved); - const urls = withoutErrors - .filter(item => item.isUrl === true) - .map(item => item.userInput); + const urls = withoutErrors.filter(item => item.isUrl === true).map(item => item.userInput); /** * If a URL was given, switch to proxy mode and use @@ -183,8 +179,7 @@ function processStart(yargs) { .options(startOpts) .example("$0 start -s app", "- Use the App directory to serve files") .example("$0 start -p www.bbc.co.uk", "- Proxy an existing website") - .default("cwd", () => process.cwd()) - .argv; + .default("cwd", () => process.cwd()).argv; } /** @@ -210,8 +205,7 @@ function handleIncoming(command, yargs) { .options(reloadOpts) .example("$0 reload") .example("$0 reload --port 4000") - .default("cwd", () => process.cwd()) - .argv; + .default("cwd", () => process.cwd()).argv; } if (command === "recipe") { out = yargs @@ -219,8 +213,7 @@ function handleIncoming(command, yargs) { .option(recipeOpts) .example("$0 recipe ls", "list the recipes") .example("$0 recipe gulp.sass", "use the gulp.sass recipe") - .default("cwd", () => process.cwd()) - .argv; + .default("cwd", () => process.cwd()).argv; } if (out.help) { diff --git a/packages/browser-sync/lib/browser-sync.js b/packages/browser-sync/lib/browser-sync.js index 14100723a..1c4bae185 100644 --- a/packages/browser-sync/lib/browser-sync.js +++ b/packages/browser-sync/lib/browser-sync.js @@ -6,7 +6,7 @@ var config = require("./config"); var connectUtils = require("./connect-utils"); var utils = require("./utils"); var logger = require("./logger"); -var chalk = require("chalk"); +var chalk = require("chalk"); var eachSeries = utils.eachSeries; var _ = require("./lodash.custom"); @@ -535,11 +535,7 @@ BrowserSync.prototype.setOptionIn = function(path, value, opts) { opts = opts || {}; - bs.debug( - "Setting Option: {cyan:%s} - {magenta:%s", - path.join("."), - value.toString() - ); + bs.debug("Setting Option: {cyan:%s} - {magenta:%s", path.join("."), value.toString()); bs.options = bs.options.setIn(path, value); if (!opts.silent) { bs.events.emit("options:set", { diff --git a/packages/browser-sync/lib/cli/cli-info.js b/packages/browser-sync/lib/cli/cli-info.js index 2ed1f781f..5719068f2 100644 --- a/packages/browser-sync/lib/cli/cli-info.js +++ b/packages/browser-sync/lib/cli/cli-info.js @@ -48,8 +48,7 @@ var info = { fs.writeFile(path.resolve(cwd, config.userFile), file, function() { logger.info("Config file created %s", chalk.magenta(config.userFile)); logger.info( - "To use it, in the same directory run: " + - chalk.cyan("browser-sync start --config bs-config.js") + "To use it, in the same directory run: " + chalk.cyan("browser-sync start --config bs-config.js") ); cb(); }); diff --git a/packages/browser-sync/lib/cli/cli-options.ts b/packages/browser-sync/lib/cli/cli-options.ts index 1c49bdb71..5a780190e 100644 --- a/packages/browser-sync/lib/cli/cli-options.ts +++ b/packages/browser-sync/lib/cli/cli-options.ts @@ -128,10 +128,7 @@ export function printErrors(errors: BsErrors) { `Error Type: ${error.type}`, `Error Level: ${error.level}`, error.errors.map(item => - [ - `Error Message: ${item.error.message}`, - item.meta ? item.meta().join("\n") : "" - ] + [`Error Message: ${item.error.message}`, item.meta ? item.meta().join("\n") : ""] .filter(Boolean) .join("\n") ) diff --git a/packages/browser-sync/lib/cli/command.recipe.js b/packages/browser-sync/lib/cli/command.recipe.js index 448a4d9b2..02537de6c 100644 --- a/packages/browser-sync/lib/cli/command.recipe.js +++ b/packages/browser-sync/lib/cli/command.recipe.js @@ -1,6 +1,6 @@ "use strict"; var logger = require("../logger").logger; -var chalk = require("chalk"); +var chalk = require("chalk"); /** * $ browser-sync recipe @@ -20,10 +20,7 @@ module.exports = function(opts) { var logRecipes = function() { var dirs = fs.readdirSync(path.join(dir, "recipes")); - logger.info( - "Install one of the following with %s\n", - chalk.cyan('browser-sync recipe ') - ); + logger.info("Install one of the following with %s\n", chalk.cyan("browser-sync recipe ")); dirs.forEach(function(name) { console.log(" " + name); }); @@ -42,15 +39,11 @@ module.exports = function(opts) { input = input[0]; var flags = opts.cli.flags; - var output = flags.output - ? path.resolve(flags.output) - : path.join(process.cwd(), input); + var output = flags.output ? path.resolve(flags.output) : path.join(process.cwd(), input); var targetDir = path.join(dir, "recipes", input); if (fs.existsSync(output)) { - return opts.cb( - new Error("Target folder exists remove it first and then try again") - ); + return opts.cb(new Error("Target folder exists remove it first and then try again")); } if (fs.existsSync(targetDir)) { @@ -59,18 +52,12 @@ module.exports = function(opts) { opts.cb(err); } else { logger.info("Recipe copied into %s", chalk.cyan(output)); - logger.info( - "Next, inside that folder, run %s", - chalk.cyan("npm i && npm start") - ); + logger.info("Next, inside that folder, run %s", chalk.cyan("npm i && npm start")); opts.cb(null); } }); } else { - logger.info( - "Recipe %s not found. The following are available though", - chalk.cyan(input) - ); + logger.info("Recipe %s not found. The following are available though", chalk.cyan(input)); logRecipes(); opts.cb(); } diff --git a/packages/browser-sync/lib/cli/command.start.ts b/packages/browser-sync/lib/cli/command.start.ts index a37465737..9763aba16 100644 --- a/packages/browser-sync/lib/cli/command.start.ts +++ b/packages/browser-sync/lib/cli/command.start.ts @@ -26,11 +26,7 @@ export default function(opts) { const conf = require(maybeconf); input = _.merge({}, conf, flags); } else { - utils.fail( - true, - new Error(`Configuration file '${flags.config}' not found`), - opts.cb - ); + utils.fail(true, new Error(`Configuration file '${flags.config}' not found`), opts.cb); } } else { if (existsSync(maybepkg)) { @@ -52,11 +48,10 @@ export default function(opts) { * @returns {*} */ function preprocessFlags(flags) { - return [ - stripUndefined, - legacyFilesArgs, - removeWatchBooleanWhenFalse - ].reduce((flags, fn) => fn.call(null, flags), flags); + return [stripUndefined, legacyFilesArgs, removeWatchBooleanWhenFalse].reduce( + (flags, fn) => fn.call(null, flags), + flags + ); } /** @@ -82,10 +77,7 @@ function stripUndefined(subject) { */ function legacyFilesArgs(flags) { if (flags.files && flags.files.length) { - flags.files = flags.files.reduce( - (acc, item) => acc.concat(explodeFilesArg(item)), - [] - ); + flags.files = flags.files.reduce((acc, item) => acc.concat(explodeFilesArg(item)), []); } return flags; } diff --git a/packages/browser-sync/lib/cli/transforms/addDefaultIgnorePatterns.ts b/packages/browser-sync/lib/cli/transforms/addDefaultIgnorePatterns.ts index be45d5bf1..40b373c5e 100644 --- a/packages/browser-sync/lib/cli/transforms/addDefaultIgnorePatterns.ts +++ b/packages/browser-sync/lib/cli/transforms/addDefaultIgnorePatterns.ts @@ -1,18 +1,9 @@ import { List } from "immutable"; import { BsTempOptions, TransformResult } from "../cli-options"; -const defaultIgnorePatterns = [ - /node_modules/, - /bower_components/, - ".sass-cache", - ".vscode", - ".git", - ".idea" -]; +const defaultIgnorePatterns = [/node_modules/, /bower_components/, ".sass-cache", ".vscode", ".git", ".idea"]; -export function addDefaultIgnorePatterns( - incoming: BsTempOptions -): TransformResult { +export function addDefaultIgnorePatterns(incoming: BsTempOptions): TransformResult { if (!incoming.get("watch")) { return [incoming, []]; } diff --git a/packages/browser-sync/lib/cli/transforms/appendServerDirectoryOption.ts b/packages/browser-sync/lib/cli/transforms/appendServerDirectoryOption.ts index 9725c0ab0..86f41992a 100644 --- a/packages/browser-sync/lib/cli/transforms/appendServerDirectoryOption.ts +++ b/packages/browser-sync/lib/cli/transforms/appendServerDirectoryOption.ts @@ -1,14 +1,9 @@ import { BsTempOptions, TransformResult } from "../cli-options"; -export function appendServerDirectoryOption( - incoming: BsTempOptions -): TransformResult { +export function appendServerDirectoryOption(incoming: BsTempOptions): TransformResult { if (!incoming.get("server")) return [incoming, []]; if (incoming.get("directory")) { - return [ - incoming.setIn(["server", "directory"], incoming.has("directory")), - [] - ]; + return [incoming.setIn(["server", "directory"], incoming.has("directory")), []]; } return [incoming, []]; } diff --git a/packages/browser-sync/lib/cli/transforms/appendServerIndexOption.ts b/packages/browser-sync/lib/cli/transforms/appendServerIndexOption.ts index 147502599..f061061b2 100644 --- a/packages/browser-sync/lib/cli/transforms/appendServerIndexOption.ts +++ b/packages/browser-sync/lib/cli/transforms/appendServerIndexOption.ts @@ -1,8 +1,6 @@ import { BsTempOptions, TransformResult } from "../cli-options"; -export function appendServerIndexOption( - incoming: BsTempOptions -): TransformResult { +export function appendServerIndexOption(incoming: BsTempOptions): TransformResult { if (!incoming.get("server")) return [incoming, []]; const value = incoming.get("index"); diff --git a/packages/browser-sync/lib/cli/transforms/copyCLIIgnoreToWatchOptions.ts b/packages/browser-sync/lib/cli/transforms/copyCLIIgnoreToWatchOptions.ts index ae7fbf6d6..6e548f56b 100644 --- a/packages/browser-sync/lib/cli/transforms/copyCLIIgnoreToWatchOptions.ts +++ b/packages/browser-sync/lib/cli/transforms/copyCLIIgnoreToWatchOptions.ts @@ -1,19 +1,13 @@ import { List } from "immutable"; import { BsTempOptions, TransformResult } from "../cli-options"; -export function copyCLIIgnoreToWatchOptions( - incoming: BsTempOptions -): TransformResult { +export function copyCLIIgnoreToWatchOptions(incoming: BsTempOptions): TransformResult { if (!incoming.get("ignore")) { return [incoming, []]; } - const output = incoming.updateIn( - ["watchOptions", "ignored"], - List([]), - ignored => { - return List([]).concat(ignored, incoming.get("ignore")); - } - ); + const output = incoming.updateIn(["watchOptions", "ignored"], List([]), ignored => { + return List([]).concat(ignored, incoming.get("ignore")); + }); return [output, []]; } diff --git a/packages/browser-sync/lib/cli/transforms/handleExtensionsOption.ts b/packages/browser-sync/lib/cli/transforms/handleExtensionsOption.ts index 19802ed77..2cec1062f 100644 --- a/packages/browser-sync/lib/cli/transforms/handleExtensionsOption.ts +++ b/packages/browser-sync/lib/cli/transforms/handleExtensionsOption.ts @@ -1,15 +1,9 @@ import { List } from "immutable"; -import { - BsTempOptions, - explodeFilesArg, - TransformResult -} from "../cli-options"; +import { BsTempOptions, explodeFilesArg, TransformResult } from "../cli-options"; const _ = require("../../lodash.custom"); -export function handleExtensionsOption( - incoming: BsTempOptions -): TransformResult { +export function handleExtensionsOption(incoming: BsTempOptions): TransformResult { const value = incoming.get("extensions"); if (_.isString(value)) { const split = explodeFilesArg(value); diff --git a/packages/browser-sync/lib/cli/transforms/handleGhostModeOption.ts b/packages/browser-sync/lib/cli/transforms/handleGhostModeOption.ts index 16318d66a..72ca65bc1 100644 --- a/packages/browser-sync/lib/cli/transforms/handleGhostModeOption.ts +++ b/packages/browser-sync/lib/cli/transforms/handleGhostModeOption.ts @@ -1,9 +1,7 @@ import { fromJS } from "immutable"; import { BsTempOptions, TransformResult } from "../cli-options"; -export function handleGhostModeOption( - incoming: BsTempOptions -): TransformResult { +export function handleGhostModeOption(incoming: BsTempOptions): TransformResult { const value = incoming.get("ghostMode"); var trueAll = { clicks: true, diff --git a/packages/browser-sync/lib/cli/transforms/handleHostOption.ts b/packages/browser-sync/lib/cli/transforms/handleHostOption.ts index ad6d6a58b..61aa92332 100644 --- a/packages/browser-sync/lib/cli/transforms/handleHostOption.ts +++ b/packages/browser-sync/lib/cli/transforms/handleHostOption.ts @@ -13,9 +13,7 @@ export function handleHostOption(incoming: BsTempOptions): TransformResult { { errors: [ { - error: new Error( - "Cannot specify both `host` and `listen` options" - ), + error: new Error("Cannot specify both `host` and `listen` options"), meta() { return [ "", diff --git a/packages/browser-sync/lib/config.js b/packages/browser-sync/lib/config.js index 790f8e3b9..cd641decc 100644 --- a/packages/browser-sync/lib/config.js +++ b/packages/browser-sync/lib/config.js @@ -11,11 +11,7 @@ module.exports = { }, templates: { scriptTag: path.join(__dirname, "..", "templates/script-tags.html"), - scriptTagSimple: path.join( - __dirname, - "..", - "templates/script-tags-simple.html" - ), + scriptTagSimple: path.join(__dirname, "..", "templates/script-tags-simple.html"), connector: path.join(__dirname, "..", "templates/connector.tmpl") }, socketIoScript: "/public/socket.io.min.1.6.0.js", @@ -29,9 +25,7 @@ module.exports = { shims: "/client/client-shims.js" }, errors: { - "server+proxy": - "Invalid config. You cannot specify both server & proxy options.", - "proxy+https": - "Invalid config. You set https: true, but your proxy target doesn't reflect this." + "server+proxy": "Invalid config. You cannot specify both server & proxy options.", + "proxy+https": "Invalid config. You set https: true, but your proxy target doesn't reflect this." } }; diff --git a/packages/browser-sync/lib/connect-utils.js b/packages/browser-sync/lib/connect-utils.js index 10d2394b3..26cb47bd5 100644 --- a/packages/browser-sync/lib/connect-utils.js +++ b/packages/browser-sync/lib/connect-utils.js @@ -21,9 +21,9 @@ var connectUtils = { enabled: function(options) { const userValue = options.get("snippet"); if (typeof userValue === "boolean") { - return userValue + return userValue; } - return true + return true; }, /** * @param {Immutable.Map} options @@ -39,12 +39,7 @@ var connectUtils = { */ var scriptSrc = (function() { if (options.get("localOnly")) { - return [ - options.get("scheme"), - "://localhost:", - options.get("port"), - scriptPath - ].join(""); + return [options.get("scheme"), "://localhost:", options.get("port"), scriptPath].join(""); } /** @@ -53,9 +48,7 @@ var connectUtils = { * */ if (_.isFunction(options.get("scriptPath"))) { - return options - .get("scriptPath") - .apply(null, getScriptArgs(options, scriptPath)); + return options.get("scriptPath").apply(null, getScriptArgs(options, scriptPath)); } /** @@ -69,10 +62,7 @@ var connectUtils = { return scriptDomain.call(null, options) + scriptPath; } if (scriptDomain.match(/\{port\}/)) { - return ( - scriptDomain.replace("{port}", options.get("port")) + - scriptPath - ); + return scriptDomain.replace("{port}", options.get("port")) + scriptPath; } return scriptDomain + scriptPath; } @@ -167,8 +157,7 @@ var connectUtils = { var namespace = connectUtils.getNamespace(socketOpts, options); var protocol = ""; - var withHostnamePort = - "'{protocol}' + location.hostname + ':{port}{ns}'"; + var withHostnamePort = "'{protocol}' + location.hostname + ':{port}{ns}'"; var withHost = "'{protocol}' + location.host + '{ns}'"; var withDomain = "'{domain}{ns}'"; var port = options.get("port"); @@ -191,11 +180,7 @@ var connectUtils = { socketOpts.domain = (function() { if (options.get("localOnly")) { string = withDomain; - return [ - options.get("scheme"), - "://localhost:", - options.get("port") - ].join(""); + return [options.get("scheme"), "://localhost:", options.get("port")].join(""); } if (socketOpts.domain) { string = withDomain; @@ -228,8 +213,7 @@ var connectUtils = { clientScript: function(options, both) { var prefix = options.getIn(["socket", "clientPath"]); var script = prefix + "/browser-sync-client.js"; - var versioned = - prefix + "/browser-sync-client.js?v=" + options.get("version"); + var versioned = prefix + "/browser-sync-client.js?v=" + options.get("version"); if (both) { return { @@ -247,8 +231,7 @@ var connectUtils = { * @returns {*[]} */ function getScriptArgs(options, scriptPath) { - var abspath = - options.get("scheme") + "://HOST:" + options.get("port") + scriptPath; + var abspath = options.get("scheme") + "://HOST:" + options.get("port") + scriptPath; return [scriptPath, options.get("port"), options.set("absolute", abspath)]; } diff --git a/packages/browser-sync/lib/default-config.js b/packages/browser-sync/lib/default-config.js index eca62e1c9..64e8fe4ef 100644 --- a/packages/browser-sync/lib/default-config.js +++ b/packages/browser-sync/lib/default-config.js @@ -512,15 +512,7 @@ module.exports = { */ timestamps: true, - clientEvents: [ - "scroll", - "scroll:element", - "input:text", - "input:toggles", - "form:submit", - "form:reset", - "click" - ], + clientEvents: ["scroll", "scroll:element", "input:text", "input:toggles", "form:submit", "form:reset", "click"], /** * Alter the script path for complete control over where the Browsersync diff --git a/packages/browser-sync/lib/file-event-handler.js b/packages/browser-sync/lib/file-event-handler.js index 91dcb6160..e3f20c228 100644 --- a/packages/browser-sync/lib/file-event-handler.js +++ b/packages/browser-sync/lib/file-event-handler.js @@ -25,14 +25,10 @@ function fileChanges(subject, options) { */ const initial = getAggregatedDebouncedStream(subject, options, scheduler); - return applyOperators(operators, initial, options, scheduler).map(function( - items - ) { + return applyOperators(operators, initial, options, scheduler).map(function(items) { const paths = items.map(x => x.path); - if ( - utils.willCauseReload(paths, options.get("injectFileTypes").toJS()) - ) { + if (utils.willCauseReload(paths, options.get("injectFileTypes").toJS())) { return { type: "reload", files: items @@ -68,12 +64,7 @@ function applyReloadOperators(subject, options) { } ]; - return applyOperators( - operators, - subject, - options, - options.getIn(["debug", "scheduler"]) - ); + return applyOperators(operators, subject, options, options.getIn(["debug", "scheduler"])); } module.exports.applyReloadOperators = applyReloadOperators; diff --git a/packages/browser-sync/lib/file-utils.js b/packages/browser-sync/lib/file-utils.js index 9e22f6217..8defe63a0 100644 --- a/packages/browser-sync/lib/file-utils.js +++ b/packages/browser-sync/lib/file-utils.js @@ -23,10 +23,7 @@ var fileUtils = { */ if (bs.options.get("watchEvents").indexOf(data.event) > -1) { if (!bs.paused && data.namespace === "core") { - bs.events.emit( - "file:reload", - fileUtils.getFileInfo(data, bs.options) - ); + bs.events.emit("file:reload", fileUtils.getFileInfo(data, bs.options)); } } }, diff --git a/packages/browser-sync/lib/file-watcher.js b/packages/browser-sync/lib/file-watcher.js index d0a88234b..fbd0f0a5e 100644 --- a/packages/browser-sync/lib/file-watcher.js +++ b/packages/browser-sync/lib/file-watcher.js @@ -42,11 +42,7 @@ module.exports.plugin = function(bs) { if (!_.isFunction(item.fn)) { item.fn = fn; } - var watcher = watch( - item.match, - item.options || defaultWatchOptions, - item.fn.bind(bs.publicInstance) - ); + var watcher = watch(item.match, item.options || defaultWatchOptions, item.fn.bind(bs.publicInstance)); if (!map[namespace]) { map[namespace] = { watchers: [watcher] diff --git a/packages/browser-sync/lib/hooks.js b/packages/browser-sync/lib/hooks.js index 40e76bbd4..3a4fcc521 100644 --- a/packages/browser-sync/lib/hooks.js +++ b/packages/browser-sync/lib/hooks.js @@ -85,9 +85,7 @@ module.exports = { } var files = value.get("files"); if (files) { - var fileArg = require("./cli/cli-options").makeFilesArg( - files - ); + var fileArg = require("./cli/cli-options").makeFilesArg(files); if (fileArg) { initial = initial.set(key, Immutable.fromJS(fileArg)); } diff --git a/packages/browser-sync/lib/http-protocol.js b/packages/browser-sync/lib/http-protocol.js index b3aa8ce17..44592e23d 100644 --- a/packages/browser-sync/lib/http-protocol.js +++ b/packages/browser-sync/lib/http-protocol.js @@ -4,13 +4,7 @@ var proto = exports; var instanceMethods = ["exit", "notify", "pause", "resume"]; var getBody = require("raw-body"); const { parseParams, serializeParams } = require("./utils"); -const permittedSocketEvents = [ - "file:reload", - "browser:reload", - "browser:notify", - "browser:location", - "options:set" -]; +const permittedSocketEvents = ["file:reload", "browser:reload", "browser:notify", "browser:location", "options:set"]; /** * Does the requested method expect an instance of BrowserSync @@ -35,10 +29,7 @@ function methodRequiresInstance(method) { * @returns {string} */ proto.getUrl = function(args, url) { - return [ - url, - require("./config").httpProtocol.path, - "?", + return [url, require("./config").httpProtocol.path, "?", serializeParams(args).toString() ].join(""); }; @@ -60,11 +51,7 @@ proto.middleware = function(bs) { try { const [name, payload] = JSON.parse(body.toString()); bs.io.sockets.emit(name, payload); - return res.end( - `Browsersync HTTP Protocol received: ${name} ${JSON.stringify( - payload - )}` - ); + return res.end(`Browsersync HTTP Protocol received: ${name} ${JSON.stringify(payload)}`); } catch (e) { const output = [`Error: ${e.message}`]; res.writeHead(500, { "Content-Type": "text/plain" }); @@ -87,13 +74,9 @@ proto.middleware = function(bs) { } try { - var bsOrEmitter = methodRequiresInstance(params.method) - ? bs - : bs.events; + var bsOrEmitter = methodRequiresInstance(params.method) ? bs : bs.events; - require("./public/" + params.method)(bsOrEmitter).apply(null, [ - params.args - ]); + require("./public/" + params.method)(bsOrEmitter).apply(null, [params.args]); output = [ "Called public API method `.%s()`".replace("%s", params.method), diff --git a/packages/browser-sync/lib/index.js b/packages/browser-sync/lib/index.js index 3170acc4e..9572adce8 100644 --- a/packages/browser-sync/lib/index.js +++ b/packages/browser-sync/lib/index.js @@ -8,7 +8,7 @@ var pjson = require("../package.json"); var BrowserSync = require("./browser-sync"); var publicUtils = require("./public/public-utils"); var events = require("events"); -var chalk = require("chalk"); +var chalk = require("chalk"); var PassThrough = require("stream").PassThrough; var logger = require("eazy-logger").Logger({ useLevelPrefixes: true @@ -43,9 +43,7 @@ module.exports.get = function(name) { if (instance) { return instance; } - throw new Error( - "An instance with the name `%s` was not found.".replace("%s", name) - ); + throw new Error("An instance with the name `%s` was not found.".replace("%s", name)); }; /** @@ -258,10 +256,7 @@ function initSingleton() { if (singletonPlugins.length) { singletonPlugins.forEach(function(obj) { - singleton.instance.registerPlugin.apply( - singleton.instance, - obj.args - ); + singleton.instance.registerPlugin.apply(singleton.instance, obj.args); }); } diff --git a/packages/browser-sync/lib/internal-events.js b/packages/browser-sync/lib/internal-events.js index ac108e814..7bba9661c 100644 --- a/packages/browser-sync/lib/internal-events.js +++ b/packages/browser-sync/lib/internal-events.js @@ -36,12 +36,7 @@ module.exports = function(bs) { var mode = bs.options.get("mode"); var open = bs.options.get("open"); - if ( - mode === "proxy" || - mode === "server" || - open === "ui" || - open === "ui-external" - ) { + if (mode === "proxy" || mode === "server" || open === "ui" || open === "ui-external") { utils.openBrowser(data.url, bs.options, bs); } @@ -84,10 +79,7 @@ module.exports = function(bs) { }); var reloader = fileHandler - .applyReloadOperators( - fromEvent(bs.events, "_browser:reload"), - bs.options - ) + .applyReloadOperators(fromEvent(bs.events, "_browser:reload"), bs.options) .subscribe(function() { bs.events.emit("browser:reload"); }); @@ -100,23 +92,18 @@ module.exports = function(bs) { return x.namespace === "core"; }); - var handler = fileHandler - .fileChanges(coreNamespacedWatchers, bs.options) - .subscribe(function(x) { - if (x.type === "reload") { - bs.events.emit("browser:reload", x); - } - if (x.type === "inject") { - x.files.forEach(function(data) { - if (!bs.paused && data.namespace === "core") { - bs.events.emit( - "file:reload", - fileUtils.getFileInfo(data, bs.options) - ); - } - }); - } - }); + var handler = fileHandler.fileChanges(coreNamespacedWatchers, bs.options).subscribe(function(x) { + if (x.type === "reload") { + bs.events.emit("browser:reload", x); + } + if (x.type === "inject") { + x.files.forEach(function(data) { + if (!bs.paused && data.namespace === "core") { + bs.events.emit("file:reload", fileUtils.getFileInfo(data, bs.options)); + } + }); + } + }); bs.registerCleanupTask(function() { handler.dispose(); diff --git a/packages/browser-sync/lib/lodash.custom.js b/packages/browser-sync/lib/lodash.custom.js index 0baa71c26..c524cef34 100644 --- a/packages/browser-sync/lib/lodash.custom.js +++ b/packages/browser-sync/lib/lodash.custom.js @@ -120,8 +120,7 @@ rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", - rsComboRange = - rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, + rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = "\\ufe0e\\ufe0f"; /** Used to compose unicode capture groups. */ @@ -138,107 +137,63 @@ var reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = - "(?:" + - rsZWJ + - "(?:" + - [rsNonAstral, rsRegional, rsSurrPair].join("|") + - ")" + - rsOptVar + - reOptMod + - ")*", + "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = - "(?:" + - [ - rsNonAstral + rsCombo + "?", - rsCombo, - rsRegional, - rsSurrPair, - rsAstral - ].join("|") + - ")"; + rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ - var reUnicode = RegExp( - rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, - "g" - ); + var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasUnicode = RegExp( - "[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]" - ); + var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]"); /** Used to identify `toStringTag` values of typed arrays. */ var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[ - int8Tag - ] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[ - uint8Tag - ] = typedArrayTags[uint8ClampedTag] = typedArrayTags[ + typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[ + int16Tag + ] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[ uint16Tag ] = typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[ - arrayBufferTag - ] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[ - dateTag - ] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[ - mapTag - ] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[ + typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[ + boolTag + ] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[ + funcTag + ] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[ regexpTag - ] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[ - weakMapTag - ] = false; + ] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; /** Used to identify `toStringTag` values supported by `_.clone`. */ var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[ - arrayBufferTag - ] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[ - dateTag - ] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[ - int8Tag - ] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[ + cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[ + dataViewTag + ] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[ + float64Tag + ] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[ mapTag - ] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[ - regexpTag - ] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[ - symbolTag - ] = cloneableTags[uint8Tag] = cloneableTags[ + ] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[ + setTag + ] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[ uint8ClampedTag ] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[ - weakMapTag - ] = false; + cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; /** Built-in method references without a dependency on `root`. */ var freeParseInt = parseInt; /** Detect free variable `global` from Node.js. */ - var freeGlobal = - typeof global == "object" && - global && - global.Object === Object && - global; + var freeGlobal = typeof global == "object" && global && global.Object === Object && global; /** Detect free variable `self`. */ - var freeSelf = - typeof self == "object" && self && self.Object === Object && self; + var freeSelf = typeof self == "object" && self && self.Object === Object && self; /** Used as a reference to the global object. */ var root = freeGlobal || freeSelf || Function("return this")(); /** Detect free variable `exports`. */ - var freeExports = - typeof exports == "object" && exports && !exports.nodeType && exports; + var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; /** Detect free variable `module`. */ - var freeModule = - freeExports && - typeof module == "object" && - module && - !module.nodeType && - module; + var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; /** Detect the popular CommonJS extension `module.exports`. */ var moduleExports = freeModule && freeModule.exports === freeExports; @@ -249,11 +204,7 @@ /** Used to access faster Node.js helpers. */ var nodeUtil = (function() { try { - return ( - freeProcess && - freeProcess.binding && - freeProcess.binding("util") - ); + return freeProcess && freeProcess.binding && freeProcess.binding("util"); } catch (e) {} })(); @@ -524,9 +475,7 @@ * @returns {number} Returns the index of the matched value, else `-1`. */ function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); + return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex); } /** @@ -731,9 +680,7 @@ * @returns {Array} Returns the converted array. */ function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); + return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string); } /** @@ -765,9 +712,7 @@ /** Used to detect methods masquerading as native. */ var maskSrcKey = (function() { - var uid = /[^.]+$/.exec( - (coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO) || "" - ); + var uid = /[^.]+$/.exec((coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO) || ""); return uid ? "Symbol(src)_1." + uid : ""; })(); @@ -787,10 +732,7 @@ funcToString .call(hasOwnProperty) .replace(reRegExpChar, "\\$&") - .replace( - /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, - "$1.*?" - ) + + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ); @@ -1069,9 +1011,7 @@ */ function hashHas(key) { var data = this.__data__; - return nativeCreate - ? data[key] !== undefined - : hasOwnProperty.call(data, key); + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); } /** @@ -1087,8 +1027,7 @@ function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; - data[key] = - nativeCreate && value === undefined ? HASH_UNDEFINED : value; + data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value; return this; } @@ -1502,10 +1441,7 @@ // Node.js 0.10 has enumerable non-index properties on buffers. (isBuff && (key == "offset" || key == "parent")) || // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && - (key == "buffer" || - key == "byteLength" || - key == "byteOffset")) || + (isType && (key == "buffer" || key == "byteLength" || key == "byteOffset")) || // Skip index properties. isIndex(key, length)) ) @@ -1526,10 +1462,7 @@ * @param {*} value The value to assign. */ function assignMergeValue(object, key, value) { - if ( - (value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object)) - ) { + if ((value !== undefined && !eq(object[key], value)) || (value === undefined && !(key in object))) { baseAssignValue(object, key, value); } } @@ -1546,10 +1479,7 @@ */ function assignValue(object, key, value) { var objValue = object[key]; - if ( - !(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object)) - ) { + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || (value === undefined && !(key in object))) { baseAssignValue(object, key, value); } } @@ -1643,9 +1573,7 @@ isFull = bitmask & CLONE_SYMBOLS_FLAG; if (customizer) { - result = object - ? customizer(value, key, object, stack) - : customizer(value); + result = object ? customizer(value, key, object, stack) : customizer(value); } if (result !== undefined) { return result; @@ -1688,13 +1616,7 @@ } stack.set(value, result); - var keysFunc = isFull - ? isFlat - ? getAllKeysIn - : getAllKeys - : isFlat - ? keysIn - : keys; + var keysFunc = isFull ? (isFlat ? getAllKeysIn : getAllKeys) : isFlat ? keysIn : keys; var props = isArr ? undefined : keysFunc(value); arrayEach(props || value, function(subValue, key) { @@ -1703,11 +1625,7 @@ subValue = value[key]; } // Recursively populate clone (susceptible to call stack limits). - assignValue( - result, - key, - baseClone(subValue, bitmask, customizer, key, value, stack) - ); + assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); }); return result; } @@ -1814,9 +1732,7 @@ */ function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); - return isArray(object) - ? result - : arrayPush(result, symbolsFunc(object)); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } /** @@ -1830,9 +1746,7 @@ if (value == null) { return value === undefined ? undefinedTag : nullTag; } - return symToStringTag && symToStringTag in Object(value) - ? getRawTag(value) - : objectToString(value); + return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } /** @@ -1876,21 +1790,10 @@ if (value === other) { return true; } - if ( - value == null || - other == null || - (!isObjectLike(value) && !isObjectLike(other)) - ) { + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { return value !== value && other !== other; } - return baseIsEqualDeep( - value, - other, - bitmask, - customizer, - baseIsEqual, - stack - ); + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); } /** @@ -1907,14 +1810,7 @@ * @param {Object} [stack] Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function baseIsEqualDeep( - object, - other, - bitmask, - customizer, - equalFunc, - stack - ) { + function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), @@ -1937,56 +1833,26 @@ if (isSameTag && !objIsObj) { stack || (stack = new Stack()); return objIsArr || isTypedArray(object) - ? equalArrays( - object, - other, - bitmask, - customizer, - equalFunc, - stack - ) - : equalByTag( - object, - other, - objTag, - bitmask, - customizer, - equalFunc, - stack - ); + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = - objIsObj && hasOwnProperty.call(object, "__wrapped__"), - othIsWrapped = - othIsObj && hasOwnProperty.call(other, "__wrapped__"); + var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), + othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack()); - return equalFunc( - objUnwrapped, - othUnwrapped, - bitmask, - customizer, - stack - ); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack()); - return equalObjects( - object, - other, - bitmask, - customizer, - equalFunc, - stack - ); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); } /** @@ -2010,11 +1876,7 @@ object = Object(object); while (index--) { var data = matchData[index]; - if ( - noCustomizer && data[2] - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { + if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { return false; } } @@ -2031,14 +1893,7 @@ } else { var stack = new Stack(); if (customizer) { - var result = customizer( - objValue, - srcValue, - key, - object, - source, - stack - ); + var result = customizer(objValue, srcValue, key, object, source, stack); } if ( !(result === undefined @@ -2082,11 +1937,7 @@ * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. */ function baseIsTypedArray(value) { - return ( - isObjectLike(value) && - isLength(value.length) && - !!typedArrayTags[baseGetTag(value)] - ); + return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } /** @@ -2106,9 +1957,7 @@ return identity; } if (typeof value == "object") { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); + return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); } return property(value); } @@ -2148,12 +1997,7 @@ result = []; for (var key in object) { - if ( - !( - key == "constructor" && - (isProto || !hasOwnProperty.call(object, key)) - ) - ) { + if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key); } } @@ -2193,11 +2037,7 @@ var objValue = get(object, path); return objValue === undefined && objValue === srcValue ? hasIn(object, path) - : baseIsEqual( - srcValue, - objValue, - COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG - ); + : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); }; } @@ -2221,25 +2061,10 @@ function(srcValue, key) { if (isObject(srcValue)) { stack || (stack = new Stack()); - baseMergeDeep( - object, - source, - key, - srcIndex, - baseMerge, - customizer, - stack - ); + baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); } else { var newValue = customizer - ? customizer( - object[key], - srcValue, - key + "", - object, - source, - stack - ) + ? customizer(object[key], srcValue, key + "", object, source, stack) : undefined; if (newValue === undefined) { @@ -2267,15 +2092,7 @@ * @param {Object} [stack] Tracks traversed source values and their merged * counterparts. */ - function baseMergeDeep( - object, - source, - key, - srcIndex, - mergeFunc, - customizer, - stack - ) { + function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { var objValue = object[key], srcValue = source[key], stacked = stack.get(srcValue); @@ -2284,9 +2101,7 @@ assignMergeValue(object, key, stacked); return; } - var newValue = customizer - ? customizer(objValue, srcValue, key + "", object, source, stack) - : undefined; + var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined; var isCommon = newValue === undefined; @@ -2314,10 +2129,7 @@ newValue = objValue; if (isArguments(objValue)) { newValue = toPlainObject(objValue); - } else if ( - !isObject(objValue) || - (srcIndex && isFunction(objValue)) - ) { + } else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { newValue = initCloneObject(srcValue); } } else { @@ -2385,15 +2197,9 @@ if (index != lastIndex) { var objValue = nested[key]; - newValue = customizer - ? customizer(objValue, key, nested) - : undefined; + newValue = customizer ? customizer(objValue, key, nested) : undefined; if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : isIndex(path[index + 1]) - ? [] - : {}; + newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {}; } } assignValue(nested, key, newValue); @@ -2530,9 +2336,7 @@ return buffer.slice(); } var length = buffer.length, - result = allocUnsafe - ? allocUnsafe(length) - : new buffer.constructor(length); + result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result); return result; @@ -2560,14 +2364,8 @@ * @returns {Object} Returns the cloned data view. */ function cloneDataView(dataView, isDeep) { - var buffer = isDeep - ? cloneArrayBuffer(dataView.buffer) - : dataView.buffer; - return new dataView.constructor( - buffer, - dataView.byteOffset, - dataView.byteLength - ); + var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; + return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); } /** @@ -2580,9 +2378,7 @@ * @returns {Object} Returns the cloned map. */ function cloneMap(map, isDeep, cloneFunc) { - var array = isDeep - ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) - : mapToArray(map); + var array = isDeep ? cloneFunc(mapToArray(map), CLONE_DEEP_FLAG) : mapToArray(map); return arrayReduce(array, addMapEntry, new map.constructor()); } @@ -2594,10 +2390,7 @@ * @returns {Object} Returns the cloned regexp. */ function cloneRegExp(regexp) { - var result = new regexp.constructor( - regexp.source, - reFlags.exec(regexp) - ); + var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); result.lastIndex = regexp.lastIndex; return result; } @@ -2612,9 +2405,7 @@ * @returns {Object} Returns the cloned set. */ function cloneSet(set, isDeep, cloneFunc) { - var array = isDeep - ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) - : setToArray(set); + var array = isDeep ? cloneFunc(setToArray(set), CLONE_DEEP_FLAG) : setToArray(set); return arrayReduce(array, addSetEntry, new set.constructor()); } @@ -2638,14 +2429,8 @@ * @returns {Object} Returns the cloned typed array. */ function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep - ? cloneArrayBuffer(typedArray.buffer) - : typedArray.buffer; - return new typedArray.constructor( - buffer, - typedArray.byteOffset, - typedArray.length - ); + var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; + return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } /** @@ -2687,9 +2472,7 @@ while (++index < length) { var key = props[index]; - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; + var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined; if (newValue === undefined) { newValue = source[key]; @@ -2741,10 +2524,7 @@ customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined; - customizer = - assigner.length > 3 && typeof customizer == "function" - ? (length--, customizer) - : undefined; + customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined; if (guard && isIterateeCall(sources[0], sources[1], guard)) { customizer = length < 3 ? undefined : customizer; @@ -2855,8 +2635,7 @@ } var index = -1, result = true, - seen = - bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined; + seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined; stack.set(array, other); stack.set(other, array); @@ -2869,14 +2648,7 @@ if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) - : customizer( - arrValue, - othValue, - index, - array, - other, - stack - ); + : customizer(arrValue, othValue, index, array, other, stack); } if (compared !== undefined) { if (compared) { @@ -2891,14 +2663,7 @@ !arraySome(other, function(othValue, othIndex) { if ( !cacheHas(seen, othIndex) && - (arrValue === othValue || - equalFunc( - arrValue, - othValue, - bitmask, - customizer, - stack - )) + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack)) ) { return seen.push(othIndex); } @@ -2907,12 +2672,7 @@ result = false; break; } - } else if ( - !( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - ) - ) { + } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { result = false; break; } @@ -2939,21 +2699,10 @@ * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function equalByTag( - object, - other, - tag, - bitmask, - customizer, - equalFunc, - stack - ) { + function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: - if ( - object.byteLength != other.byteLength || - object.byteOffset != other.byteOffset - ) { + if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false; } object = object.buffer; @@ -2976,9 +2725,7 @@ return eq(+object, +other); case errorTag: - return ( - object.name == other.name && object.message == other.message - ); + return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: @@ -3006,22 +2753,13 @@ // Recursively compare objects (susceptible to call stack limits). stack.set(object, other); - var result = equalArrays( - convert(object), - convert(other), - bitmask, - customizer, - equalFunc, - stack - ); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack["delete"](object); return result; case symbolTag: if (symbolValueOf) { - return ( - symbolValueOf.call(object) == symbolValueOf.call(other) - ); + return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; @@ -3040,14 +2778,7 @@ * @param {Object} stack Tracks traversed `object` and `other` objects. * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. */ - function equalObjects( - object, - other, - bitmask, - customizer, - equalFunc, - stack - ) { + function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, @@ -3087,8 +2818,7 @@ // Recursively compare objects (susceptible to call stack limits). if ( !(compared === undefined - ? objValue === othValue || - equalFunc(objValue, othValue, bitmask, customizer, stack) + ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared) ) { result = false; @@ -3169,9 +2899,7 @@ */ function getMapData(map, key) { var data = map.__data__; - return isKeyable(key) - ? data[typeof key == "string" ? "string" : "hash"] - : data.map; + return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; } /** @@ -3338,12 +3066,7 @@ return result; } length = object == null ? 0 : object.length; - return ( - !!length && - isLength(length) && - isIndex(key, length) && - (isArray(object) || isArguments(object)) - ); + return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)); } /** @@ -3358,11 +3081,7 @@ result = array.constructor(length); // Add properties assigned by `RegExp#exec`. - if ( - length && - typeof array[0] == "string" && - hasOwnProperty.call(array, "index") - ) { + if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) { result.index = array.index; result.input = array.input; } @@ -3377,9 +3096,7 @@ * @returns {Object} Returns the initialized clone. */ function initCloneObject(object) { - return typeof object.constructor == "function" && !isPrototype(object) - ? baseCreate(getPrototype(object)) - : {}; + return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; } /** @@ -3445,11 +3162,7 @@ * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. */ function isFlattenable(value) { - return ( - isArray(value) || - isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]) - ); + return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); } /** @@ -3507,20 +3220,10 @@ return false; } var type = typeof value; - if ( - type == "number" || - type == "symbol" || - type == "boolean" || - value == null || - isSymbol(value) - ) { + if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { return true; } - return ( - reIsPlainProp.test(value) || - !reIsDeepProp.test(value) || - (object != null && value in Object(object)) - ); + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || (object != null && value in Object(object)); } /** @@ -3532,10 +3235,7 @@ */ function isKeyable(value) { var type = typeof value; - return type == "string" || - type == "number" || - type == "symbol" || - type == "boolean" + return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; } @@ -3560,8 +3260,7 @@ */ function isPrototype(value) { var Ctor = value && value.constructor, - proto = - (typeof Ctor == "function" && Ctor.prototype) || objectProto; + proto = (typeof Ctor == "function" && Ctor.prototype) || objectProto; return value === proto; } @@ -3592,10 +3291,7 @@ if (object == null) { return false; } - return ( - object[key] === srcValue && - (srcValue !== undefined || key in Object(object)) - ); + return object[key] === srcValue && (srcValue !== undefined || key in Object(object)); }; } @@ -3731,9 +3427,7 @@ result.push(""); } string.replace(rePropName, function(match, number, quote, string) { - result.push( - quote ? string.replace(reEscapeChar, "$1") : number || match - ); + result.push(quote ? string.replace(reEscapeChar, "$1") : number || match); }); return result; }); @@ -3921,10 +3615,7 @@ * _.memoize.Cache = WeakMap; */ function memoize(func, resolver) { - if ( - typeof func != "function" || - (resolver != null && typeof resolver != "function") - ) { + if (typeof func != "function" || (resolver != null && typeof resolver != "function")) { throw new TypeError(FUNC_ERROR_TEXT); } var memoized = function() { @@ -4142,12 +3833,7 @@ // The use of `Object#toString` avoids issues with the `typeof` operator // in Safari 9 which returns 'object' for typed arrays and other constructors. var tag = baseGetTag(value); - return ( - tag == funcTag || - tag == genTag || - tag == asyncTag || - tag == proxyTag - ); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } /** @@ -4177,12 +3863,7 @@ * // => false */ function isLength(value) { - return ( - typeof value == "number" && - value > -1 && - value % 1 == 0 && - value <= MAX_SAFE_INTEGER - ); + return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } /** @@ -4279,13 +3960,8 @@ if (proto === null) { return true; } - var Ctor = - hasOwnProperty.call(proto, "constructor") && proto.constructor; - return ( - typeof Ctor == "function" && - Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString - ); + var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; + return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } /** @@ -4306,12 +3982,7 @@ * // => false */ function isString(value) { - return ( - typeof value == "string" || - (!isArray(value) && - isObjectLike(value) && - baseGetTag(value) == stringTag) - ); + return typeof value == "string" || (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); } /** @@ -4332,10 +4003,7 @@ * // => false */ function isSymbol(value) { - return ( - typeof value == "symbol" || - (isObjectLike(value) && baseGetTag(value) == symbolTag) - ); + return typeof value == "symbol" || (isObjectLike(value) && baseGetTag(value) == symbolTag); } /** @@ -4355,9 +4023,7 @@ * _.isTypedArray([]); * // => false */ - var isTypedArray = nodeIsTypedArray - ? baseUnary(nodeIsTypedArray) - : baseIsTypedArray; + var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; /** * Checks if `value` is `undefined`. @@ -4414,12 +4080,7 @@ return iteratorToArray(value[symIterator]()); } var tag = getTag(value), - func = - tag == mapTag - ? mapToArray - : tag == setTag - ? setToArray - : values; + func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values; return func(value); } @@ -4489,11 +4150,7 @@ var result = toFinite(value), remainder = result % 1; - return result === result - ? remainder - ? result - remainder - : result - : 0; + return result === result ? (remainder ? result - remainder : result) : 0; } /** @@ -4527,8 +4184,7 @@ return NAN; } if (isObject(value)) { - var other = - typeof value.valueOf == "function" ? value.valueOf() : value; + var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject(other) ? other + "" : other; } if (typeof value != "string") { @@ -4714,9 +4370,7 @@ * // => ['a', 'b', 'c'] (iteration order is not guaranteed) */ function keysIn(object) { - return isArrayLike(object) - ? arrayLikeKeys(object, true) - : baseKeysIn(object); + return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } /** @@ -4906,9 +4560,7 @@ * // => ['def'] */ function iteratee(func) { - return baseIteratee( - typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG) - ); + return baseIteratee(typeof func == "function" ? func : baseClone(func, CLONE_DEEP_FLAG)); } /** diff --git a/packages/browser-sync/lib/logger.js b/packages/browser-sync/lib/logger.js index e92606556..544b8bb3b 100644 --- a/packages/browser-sync/lib/logger.js +++ b/packages/browser-sync/lib/logger.js @@ -5,7 +5,7 @@ var utils = require("./utils"); var _ = require("./lodash.custom"); var chalk = require("chalk"); -var template = (prefix) => "[" + chalk.blue(prefix) + "] " +var template = prefix => "[" + chalk.blue(prefix) + "] "; var logger = require("eazy-logger").Logger({ useLevelPrefixes: false @@ -19,7 +19,7 @@ module.exports.logger = logger; */ module.exports.getLogger = function(name) { return logger.clone(function(config) { - config.prefix = config.prefix + template(name) + config.prefix = config.prefix + template(name); return config; }); }; @@ -46,17 +46,10 @@ module.exports.callbacks = { "file:reload": function(bs, data) { if (canLogFileChange(bs, data)) { if (data.path[0] === "*") { - return logger.info( - chalk.cyan("Reloading files that match: %s"), - chalk.magenta(data.path) - ); + return logger.info(chalk.cyan("Reloading files that match: %s"), chalk.magenta(data.path)); } - logger.info( - chalk.cyan("File event [%s] : %s"), - data.event, - chalk.magenta(data.path), - ); + logger.info(chalk.cyan("File event [%s] : %s"), data.event, chalk.magenta(data.path)); } }, /** @@ -71,10 +64,7 @@ module.exports.callbacks = { "browser:reload": function(bs, data = {}) { if (canLogFileChange(bs)) { if (data.files && data.files.length > 1) { - return logger.info( - chalk.cyan(`Reloading Browsers... (buffered %s events)`), - data.files.length - ); + return logger.info(chalk.cyan(`Reloading Browsers... (buffered %s events)`), data.files.length); } logger.info(chalk.cyan("Reloading Browsers...")); } @@ -85,9 +75,9 @@ module.exports.callbacks = { "browser:error": function() { logger.error( "Couldn't open browser (if you are using BrowserSync in a " + - "headless environment, you might want to set the %s option to %s)", + "headless environment, you might want to set the %s option to %s)", chalk.cyan("open"), - chalk.cyan("false"), + chalk.cyan("false") ); }, /** @@ -153,17 +143,18 @@ module.exports.callbacks = { } if (type === "proxy") { - logger.info( - "Proxying: %s", - chalk.cyan(bs.options.getIn(["proxy", "target"])) - ); + logger.info("Proxying: %s", chalk.cyan(bs.options.getIn(["proxy", "target"]))); logUrls(bs.options.get("urls").toJS()); } if (type === "snippet") { if (bs.options.get("logSnippet")) { logger.info( - chalk.bold(`Copy the following snippet into your website, just before the closing ${chalk.cyan('')} tag`) + chalk.bold( + `Copy the following snippet into your website, just before the closing ${chalk.cyan( + "" + )} tag` + ) ); logger.unprefixed("info", messages.scriptTags(bs.options)); diff --git a/packages/browser-sync/lib/options.ts b/packages/browser-sync/lib/options.ts index 954c8821d..1781b8981 100644 --- a/packages/browser-sync/lib/options.ts +++ b/packages/browser-sync/lib/options.ts @@ -96,13 +96,7 @@ export function setNamespace(incoming: BsTempOptions): TransformResult { var namespace = incoming.getIn(["socket", "namespace"]); if (_.isFunction(namespace)) { - return [ - incoming.setIn( - ["socket", "namespace"], - namespace((defaultConfig.socket as any).namespace) - ), - [] - ]; + return [incoming.setIn(["socket", "namespace"], namespace((defaultConfig.socket as any).namespace)), []]; } return [incoming, []]; } @@ -135,19 +129,11 @@ export function setServerOpts(incoming: BsTempOptions): TransformResult { return [incoming, []]; } -export function liftExtensionsOptionFromCli( - incoming: BsTempOptions -): TransformResult { +export function liftExtensionsOptionFromCli(incoming: BsTempOptions): TransformResult { // cli extensions var optPath = ["server", "serveStaticOptions"]; if (incoming.get("extensions")) { - return [ - incoming.setIn( - optPath.concat(["extensions"]), - incoming.get("extensions") - ), - [] - ]; + return [incoming.setIn(optPath.concat(["extensions"]), incoming.get("extensions")), []]; } return [incoming, []]; } @@ -166,9 +152,7 @@ export function fixRewriteRules(incoming: BsTempOptions): TransformResult { ]; } -export function fixSnippetIgnorePaths( - incoming: BsTempOptions -): TransformResult { +export function fixSnippetIgnorePaths(incoming: BsTempOptions): TransformResult { var ignorePaths = incoming.getIn(["snippetOptions", "ignorePaths"]); if (ignorePaths) { @@ -176,30 +160,16 @@ export function fixSnippetIgnorePaths( ignorePaths = [ignorePaths]; } ignorePaths = ignorePaths.map(ensureSlash); - return [ - incoming.setIn( - ["snippetOptions", "blacklist"], - Immutable.List(ignorePaths) - ), - [] - ]; + return [incoming.setIn(["snippetOptions", "blacklist"], Immutable.List(ignorePaths)), []]; } return [incoming, []]; } -export function fixSnippetIncludePaths( - incoming: BsTempOptions -): TransformResult { +export function fixSnippetIncludePaths(incoming: BsTempOptions): TransformResult { var includePaths = incoming.getIn(["snippetOptions", "whitelist"]); if (includePaths) { includePaths = includePaths.map(ensureSlash); - return [ - incoming.setIn( - ["snippetOptions", "whitelist"], - Immutable.List(includePaths) - ), - [] - ]; + return [incoming.setIn(["snippetOptions", "whitelist"], Immutable.List(includePaths)), []]; } return [incoming, []]; } diff --git a/packages/browser-sync/lib/server/index.js b/packages/browser-sync/lib/server/index.js index ce0841871..a047a79ea 100644 --- a/packages/browser-sync/lib/server/index.js +++ b/packages/browser-sync/lib/server/index.js @@ -15,10 +15,7 @@ module.exports.plugin = function(bs) { var bsServer = createServer(bs); if (type === "server" || type === "snippet") { - debug( - "Static Server running ({magenta:%s}) ...", - bs.options.get("scheme") - ); + debug("Static Server running ({magenta:%s}) ...", bs.options.get("scheme")); } if (proxy) { @@ -34,10 +31,7 @@ module.exports.plugin = function(bs) { /** * Listen on the available port */ - bsServer.server.listen( - bs.options.get("port"), - bs.options.get("listen") - ); + bsServer.server.listen(bs.options.get("port"), bs.options.get("listen")); /** * Hack to deal with https://github.com/socketio/socket.io/issues/1602#issuecomment-224270022 @@ -61,11 +55,7 @@ module.exports.plugin = function(bs) { function setCloseReceived(io) { Object.keys(io.sockets).forEach(function(key) { - _.set( - io.sockets[key], - "conn.transport.socket._closeReceived", - true - ); + _.set(io.sockets[key], "conn.transport.socket._closeReceived", true); }); } diff --git a/packages/browser-sync/lib/server/proxy-utils.js b/packages/browser-sync/lib/server/proxy-utils.js index ec03a8997..f31c1d9f2 100644 --- a/packages/browser-sync/lib/server/proxy-utils.js +++ b/packages/browser-sync/lib/server/proxy-utils.js @@ -89,13 +89,7 @@ module.exports.rewriteLinks = function(userServer) { /** * Finally append all of parsed url */ - return [ - captured, - pre, - proxyUrl, - out.path || "", - out.hash || "" - ].join(""); + return [captured, pre, proxyUrl, out.path || "", out.hash || ""].join(""); } }; }; @@ -106,9 +100,7 @@ module.exports.rewriteLinks = function(userServer) { */ module.exports.checkCookies = function checkCookies(res) { if (typeof res.headers["set-cookie"] !== "undefined") { - res.headers["set-cookie"] = res.headers["set-cookie"].map(function( - item - ) { + res.headers["set-cookie"] = res.headers["set-cookie"].map(function(item) { return rewriteCookies(item); }); } diff --git a/packages/browser-sync/lib/server/static-server.js b/packages/browser-sync/lib/server/static-server.js index edcade984..3d2b645e0 100644 --- a/packages/browser-sync/lib/server/static-server.js +++ b/packages/browser-sync/lib/server/static-server.js @@ -42,9 +42,7 @@ module.exports = function createServer(bs) { basedirs.map(function(root) { return { route: "", - id: - "Browsersync Server ServeStatic Middleware - " + - _serveStatic++, + id: "Browsersync Server ServeStatic Middleware - " + _serveStatic++, handle: serveStatic(resolve(root), serveStaticOptions) }; }) @@ -66,9 +64,7 @@ module.exports = function createServer(bs) { } return { route: urlPath, - id: - "Browsersync Server Routes Middleware - " + - _routes++, + id: "Browsersync Server Routes Middleware - " + _routes++, handle: serveStatic(resolve(root)) }; }) diff --git a/packages/browser-sync/lib/server/utils.js b/packages/browser-sync/lib/server/utils.js index 8ea22d588..bbf42f165 100644 --- a/packages/browser-sync/lib/server/utils.js +++ b/packages/browser-sync/lib/server/utils.js @@ -38,15 +38,11 @@ function getCa(options) { } function getKey(options) { - return fs.readFileSync( - options.getIn(["https", "key"]) || join(certPath, "server.key") - ); + return fs.readFileSync(options.getIn(["https", "key"]) || join(certPath, "server.key")); } function getCert(options) { - return fs.readFileSync( - options.getIn(["https", "cert"]) || join(certPath, "server.crt") - ); + return fs.readFileSync(options.getIn(["https", "cert"]) || join(certPath, "server.crt")); } function getHttpsServerDefaults(options) { @@ -88,10 +84,7 @@ var serverUtils = { server: (function() { var httpModule = serverUtils.getHttpModule(options); - if ( - options.get("scheme") === "https" || - options.get("httpModule") === "http2" - ) { + if (options.get("scheme") === "https" || options.get("httpModule") === "http2") { var opts = serverUtils.getHttpsOptions(options); return httpModule.createServer(opts.toJS(), app); } @@ -129,11 +122,7 @@ var serverUtils = { options: bs.options }); - var scripts = bs.pluginManager.get("client:script")( - bs.options.toJS(), - clientJs, - "middleware" - ); + var scripts = bs.pluginManager.get("client:script")(bs.options.toJS(), clientJs, "middleware"); var defaultMiddlewares = [ { @@ -144,9 +133,7 @@ var serverUtils = { { id: "Browsersync IE8 Support", route: "", - handle: snippet.isOldIe( - bs.options.get("excludedFileTypes").toJS() - ) + handle: snippet.isOldIe(bs.options.get("excludedFileTypes").toJS()) }, { id: "Browsersync Response Modifier", @@ -205,20 +192,13 @@ var serverUtils = { if (withErrors.size) { withErrors.forEach(function(item) { - logger.logger.error( - "%s %s", - chalk.red("Warning!"), - item.getIn(["errors", 0, "data", "message"]) - ); + logger.logger.error("%s %s", chalk.red("Warning!"), item.getIn(["errors", 0, "data", "message"])); }); } if (withoutErrors.size) { withoutErrors.forEach(function(item) { - defaultMiddlewares.push.apply( - defaultMiddlewares, - item.get("items").toJS() - ); + defaultMiddlewares.push.apply(defaultMiddlewares, item.get("items").toJS()); }); } } @@ -249,9 +229,7 @@ var serverUtils = { } ); - const mwStack = [] - .concat(beforeMiddlewares, defaultMiddlewares, afterMiddlewares) - .filter(Boolean); + const mwStack = [].concat(beforeMiddlewares, defaultMiddlewares, afterMiddlewares).filter(Boolean); return mwStack; @@ -300,18 +278,11 @@ var serverUtils = { .concat(bs.options.getIn(["snippetOptions", "blacklist"])) .filter(Boolean); - var whitelist = List([]).concat( - bs.options.getIn(["snippetOptions", "whitelist"]) - ); + var whitelist = List([]).concat(bs.options.getIn(["snippetOptions", "whitelist"])); // Snippet if (bs.options.get("snippet")) { - rules.push( - snippetUtils.getRegex( - bs.options.get("snippet"), - bs.options.get("snippetOptions") - ) - ); + rules.push(snippetUtils.getRegex(bs.options.get("snippet"), bs.options.get("snippetOptions"))); } // User @@ -326,9 +297,7 @@ var serverUtils = { // Proxy if (bs.options.get("proxy")) { - var proxyRule = require("./proxy-utils").rewriteLinks( - bs.options.getIn(["proxy", "url"]).toJS() - ); + var proxyRule = require("./proxy-utils").rewriteLinks(bs.options.getIn(["proxy", "url"]).toJS()); rules.push(proxyRule); } @@ -346,16 +315,10 @@ var serverUtils = { res.setHeader("Access-Control-Allow-Origin", "*"); // Request methods you wish to allow - res.setHeader( - "Access-Control-Allow-Methods", - "GET, POST, OPTIONS, PUT, PATCH, DELETE" - ); + res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE"); // Request headers you wish to allow - res.setHeader( - "Access-Control-Allow-Headers", - "X-Requested-With,content-type" - ); + res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type"); // Set to true if you need the website to include cookies in the requests sent // to the API (e.g. in case you use sessions) @@ -461,8 +424,7 @@ var serverUtils = { { type: "Invalid Object", data: { - message: - "Serve Static requires a 'dir' property when using an Object" + message: "Serve Static requires a 'dir' property when using an Object" } } ] diff --git a/packages/browser-sync/lib/snippet.js b/packages/browser-sync/lib/snippet.js index f3a8da0e8..ca347d2d2 100644 --- a/packages/browser-sync/lib/snippet.js +++ b/packages/browser-sync/lib/snippet.js @@ -49,9 +49,7 @@ var snippetUtils = { }; }, getSnippetMiddleware: function(snippet, options, rewriteRules) { - return lrSnippet.create( - snippetUtils.getRules(snippet, options, rewriteRules) - ); + return lrSnippet.create(snippetUtils.getRules(snippet, options, rewriteRules)); }, getRules: function(snippet, options, rewriteRules) { var rules = [snippetUtils.getRegex(snippet, options)]; @@ -93,10 +91,7 @@ var snippetUtils = { getClientJs: function(port, options) { return () => { const script = options.get("minify") ? "index.js" : "index.js"; - const client = fs.readFileSync( - require.resolve("browser-sync-client/dist/" + script), - "utf8" - ); + const client = fs.readFileSync(require.resolve("browser-sync-client/dist/" + script), "utf8"); return [connectUtils.socketConnector(options), client].join(";\n"); }; } diff --git a/packages/browser-sync/lib/sockets.ts b/packages/browser-sync/lib/sockets.ts index 8af52ab99..3755a1eda 100644 --- a/packages/browser-sync/lib/sockets.ts +++ b/packages/browser-sync/lib/sockets.ts @@ -1,4 +1,4 @@ -import {Server} from "socket.io"; +import { Server } from "socket.io"; import * as utils from "./server/utils"; /** @@ -19,10 +19,7 @@ export function init(server, clientEvents, bs) { var socketConfig = bs.options.get("socket").toJS(); - if ( - bs.options.get("mode") === "proxy" && - bs.options.getIn(["proxy", "ws"]) - ) { + if (bs.options.get("mode") === "proxy" && bs.options.getIn(["proxy", "ws"])) { server = utils.getServer(null, bs.options).server; server.listen(bs.options.getIn(["socket", "port"])); bs.registerCleanupTask(function() { @@ -35,17 +32,17 @@ export function init(server, clientEvents, bs) { const io = new Server(); io.attach(server, { - ...socketIoConfig, - pingTimeout: socketConfig.clients.heartbeatTimeout, - cors: { - credentials: true, - "origin": (origin, cb) => { - return cb(null, origin) - }, - } + ...socketIoConfig, + pingTimeout: socketConfig.clients.heartbeatTimeout, + cors: { + credentials: true, + origin: (origin, cb) => { + return cb(null, origin); + } + } }); - io.of(socketConfig.namespace).on('connection', (socket) => { + io.of(socketConfig.namespace).on("connection", socket => { handleConnection(socket); }); @@ -80,7 +77,7 @@ export function init(server, clientEvents, bs) { } // @ts-ignore - io.sockets = io.of(socketConfig.namespace) + io.sockets = io.of(socketConfig.namespace); return io; } diff --git a/packages/browser-sync/lib/tunnel.js b/packages/browser-sync/lib/tunnel.js index 2dda0400d..6ba89eda7 100644 --- a/packages/browser-sync/lib/tunnel.js +++ b/packages/browser-sync/lib/tunnel.js @@ -17,10 +17,7 @@ module.exports = function(bs, cb) { } bs.debug("Requesting a tunnel connection on port: {magenta:%s}", port); - bs.debug( - "Requesting a tunnel connection with options: {magenta:%s}", - utils.inspect(opts) - ); + bs.debug("Requesting a tunnel connection with options: {magenta:%s}", utils.inspect(opts)); require("localtunnel")(port, opts, function(err, tunnel) { if (err) { @@ -29,9 +26,7 @@ module.exports = function(bs, cb) { tunnel.on("error", function(err) { bs.logger.info("Localtunnel issue: " + err.message); - bs.logger.info( - "Oops! The localtunnel appears to have disconnected. Reconnecting..." - ); + bs.logger.info("Oops! The localtunnel appears to have disconnected. Reconnecting..."); }); return cb(null, tunnel); diff --git a/packages/browser-sync/lib/utils.ts b/packages/browser-sync/lib/utils.ts index bb540782a..51009431d 100644 --- a/packages/browser-sync/lib/utils.ts +++ b/packages/browser-sync/lib/utils.ts @@ -91,10 +91,7 @@ export function getUrls(external, local, scheme, options) { }; if (external !== local) { - urls.external = getUrl( - _makeUrl(scheme, external, options.get("port")), - options - ); + urls.external = getUrl(_makeUrl(scheme, external, options.get("port")), options); } return urls; @@ -132,12 +129,7 @@ export function getPorts(options: BsTempOptions, cb: PortLookupCb) { fn(host, port, max, cb); } -export function getPort( - host: string, - port: number | string, - max: number | string | null, - cb: PortLookupCb -) { +export function getPort(host: string, port: number | string, max: number | string | null, cb: PortLookupCb) { portScanner.findAPortNotInUse( port, max, diff --git a/packages/browser-sync/package.json b/packages/browser-sync/package.json index 62b5fa674..7b7327324 100644 --- a/packages/browser-sync/package.json +++ b/packages/browser-sync/package.json @@ -20,6 +20,11 @@ "engines": { "node": ">= 8.0.0" }, + "prettier": { + "tabWidth": 4, + "singleQuote": false, + "printWidth": 120 + }, "scripts": { "build": "npm run build:server", "build:server": "tsc", @@ -27,7 +32,7 @@ "env": "node ./test/env.js", "lodash": "lodash include=isUndefined,isFunction,toArray,includes,union,each,isString,merge,isObject,set exports=node", "prepublishOnly": "npm run build", - "prettier": "prettier 'lib/**/*' 'examples/*' 'test/specs/**/*.js' --tab-width 4", + "prettier": "prettier 'lib/**/*' 'examples/*' 'test/specs/**/*.js'", "prettier:fix": "npm run prettier -- --write", "test": "npm run build && npm run env && npm run unit", "unit": "mocha --recursive test/specs --timeout 10000 --bail --exit", diff --git a/packages/browser-sync/test/specs/api/init.js b/packages/browser-sync/test/specs/api/init.js index ad9c644bb..b1f11f1a6 100644 --- a/packages/browser-sync/test/specs/api/init.js +++ b/packages/browser-sync/test/specs/api/init.js @@ -17,7 +17,7 @@ describe("API: .init - don't not call init when already running.", function() { var arg = spy.getCall(0).args; assert.include(arg[0], chalk.yellow("You tried to start Browsersync twice!")); assert.include(arg[1], "To create multiple instances, use"); - assert.include(arg[2], chalk.cyan('browserSync.create().init()')); + assert.include(arg[2], chalk.cyan("browserSync.create().init()")); console.log.restore(); bs.cleanup(); done(); diff --git a/packages/browser-sync/test/specs/api/init.reload.multi.js b/packages/browser-sync/test/specs/api/init.reload.multi.js index c12a4df2b..12647a4ec 100644 --- a/packages/browser-sync/test/specs/api/init.reload.multi.js +++ b/packages/browser-sync/test/specs/api/init.reload.multi.js @@ -9,19 +9,15 @@ describe("API: .reload() with multi instances", function() { before(function(done) { browserSync.reset(); - browserSync - .create("Server 1") - .init({ logLevel: "silent" }, function(err, bs) { - bs1 = bs; - emitter1 = sinon.spy(bs.events, "emit"); - browserSync - .create("Server 2") - .init({ logLevel: "silent" }, function(err, bs) { - bs2 = bs; - emitter2 = sinon.spy(bs.events, "emit"); - done(); - }); + browserSync.create("Server 1").init({ logLevel: "silent" }, function(err, bs) { + bs1 = bs; + emitter1 = sinon.spy(bs.events, "emit"); + browserSync.create("Server 2").init({ logLevel: "silent" }, function(err, bs) { + bs2 = bs; + emitter2 = sinon.spy(bs.events, "emit"); + done(); }); + }); clock = sinon.useFakeTimers(); }); diff --git a/packages/browser-sync/test/specs/api/init.reload.stream.js b/packages/browser-sync/test/specs/api/init.reload.stream.js index 00ee71d40..c5d89ae22 100644 --- a/packages/browser-sync/test/specs/api/init.reload.stream.js +++ b/packages/browser-sync/test/specs/api/init.reload.stream.js @@ -10,13 +10,10 @@ describe("API: .stream()", function() { before(function(done) { browserSync.reset(); scheduler = require("../../utils").getScheduler(); - bs = browserSync( - { logLevel: "silent", debug: { scheduler: scheduler } }, - function() { - emitterStub = sinon.spy(bs.emitter, "emit"); - done(); - } - ); + bs = browserSync({ logLevel: "silent", debug: { scheduler: scheduler } }, function() { + emitterStub = sinon.spy(bs.emitter, "emit"); + done(); + }); }); afterEach(function() { @@ -119,9 +116,7 @@ describe("API: .stream()", function() { it("accepts file paths beginning with dots", function() { var stream = browserSync.stream({ match: "**/*.css" }); stream.write(new File({ path: "/users/shakyshane/.tmp/css/core.css" })); - stream.write( - new File({ path: "/users/shakyshane/.tmp/css/core.css.map" }) - ); + stream.write(new File({ path: "/users/shakyshane/.tmp/css/core.css.map" })); stream.end(); scheduler.advanceTo(600); sinon.assert.calledWithExactly(emitterStub, "file:changed", { diff --git a/packages/browser-sync/test/specs/api/init.reload.stream.noop.js b/packages/browser-sync/test/specs/api/init.reload.stream.noop.js index 4e0011e3d..5490f3575 100644 --- a/packages/browser-sync/test/specs/api/init.reload.stream.noop.js +++ b/packages/browser-sync/test/specs/api/init.reload.stream.noop.js @@ -18,10 +18,7 @@ describe("API: .stream() noop", function() { it("should can handle a reload + stream call after there IS an instance", function(done) { var emitterStub; var scheduler = require("../../utils").getScheduler(); - var bs = browserSync({ debug: { scheduler: scheduler } }, function( - err, - _bs - ) { + var bs = browserSync({ debug: { scheduler: scheduler } }, function(err, _bs) { var stream = bs.stream(); emitterStub = sinon.spy(_bs.emitter, "emit"); diff --git a/packages/browser-sync/test/specs/api/watch.js b/packages/browser-sync/test/specs/api/watch.js index 871d0ca41..870098705 100644 --- a/packages/browser-sync/test/specs/api/watch.js +++ b/packages/browser-sync/test/specs/api/watch.js @@ -42,10 +42,7 @@ describe("API: .watch() - Public watch method", function() { var bs = browserSync.create("test"); fs.writeFile(tempFile, tempFileContent, function() { - var watcher = bs.watch(tempFile, { ignoreInitial: true }, function( - event, - file - ) { + var watcher = bs.watch(tempFile, { ignoreInitial: true }, function(event, file) { assert.equal(event, "change"); assert.equal(file, tempFile); watcher.close(); @@ -63,13 +60,11 @@ describe("API: .watch() - Public watch method", function() { var bs = browserSync.create("test"); fs.writeFile(tempFile, tempFileContent, function() { - var watcher = bs - .watch(tempFile, { ignoreInitial: true }) - .on("change", function(file) { - assert.equal(file, tempFile); - watcher.close(); - done(); - }); + var watcher = bs.watch(tempFile, { ignoreInitial: true }).on("change", function(file) { + assert.equal(file, tempFile); + watcher.close(); + done(); + }); writeFileWait(tempFile, tempFileContent + " changed"); }); diff --git a/packages/browser-sync/test/specs/cli/cli.exec.js b/packages/browser-sync/test/specs/cli/cli.exec.js index 5705545b6..9d35eb8fa 100644 --- a/packages/browser-sync/test/specs/cli/cli.exec.js +++ b/packages/browser-sync/test/specs/cli/cli.exec.js @@ -1,17 +1,14 @@ describe("CLI: exec", function() { this.timeout(10000); it("Can launch from cli", function(done) { - var strem = require("child_process").spawn("node", [ - require.resolve("../../../dist/bin"), - "start" - ]); + var strem = require("child_process").spawn("node", [require.resolve("../../../dist/bin"), "start"]); var chunks = []; strem.stdout.on("data", function(data) { chunks.push(data.toString()); if (chunks.join("").indexOf("Copy the following snippet") > -1) { strem.kill("SIGINT"); } else { - done(new Error("missing output")) + done(new Error("missing output")); } }); strem.on("close", function() { diff --git a/packages/browser-sync/test/specs/cli/cli.get.config.js b/packages/browser-sync/test/specs/cli/cli.get.config.js index 3cc1e09d7..6f66c0de6 100644 --- a/packages/browser-sync/test/specs/cli/cli.get.config.js +++ b/packages/browser-sync/test/specs/cli/cli.get.config.js @@ -10,9 +10,7 @@ describe("When reading a config file from the file system", function() { }); it("should not throw if the file is found", function() { - assert.isDefined( - info.getConfigFile("test/fixtures/config/si-config.js") - ); + assert.isDefined(info.getConfigFile("test/fixtures/config/si-config.js")); }); it("should not throw if absolute path given", function() { diff --git a/packages/browser-sync/test/specs/cli/cli.help.js b/packages/browser-sync/test/specs/cli/cli.help.js index 4cbef7557..626cae1e9 100644 --- a/packages/browser-sync/test/specs/cli/cli.help.js +++ b/packages/browser-sync/test/specs/cli/cli.help.js @@ -1,41 +1,39 @@ -const startOpts = require("../../../cli-options/opts.start") -const initOpts = require("../../../cli-options/opts.init.json") -const recipeOpts = require("../../../cli-options/opts.recipe.json") -const reloadOpts = require("../../../cli-options/opts.reload.json") +const startOpts = require("../../../cli-options/opts.start"); +const initOpts = require("../../../cli-options/opts.init.json"); +const recipeOpts = require("../../../cli-options/opts.recipe.json"); +const reloadOpts = require("../../../cli-options/opts.reload.json"); function assertHelpOutput(args, cond, done) { - const stream = require("child_process").spawn("node", [ - require.resolve("../../../dist/bin"), - ].concat(args)); + const stream = require("child_process").spawn("node", [require.resolve("../../../dist/bin")].concat(args)); const chunks = []; - stream.stdout.on("data", function (data) { + stream.stdout.on("data", function(data) { chunks.push(data.toString()); if (cond(chunks.join(""))) { stream.kill("SIGINT"); } else { - done(new Error(`missing help output for args '${args.join(' ')}'`)) + done(new Error(`missing help output for args '${args.join(" ")}'`)); } }); - stream.on("close", function () { + stream.on("close", function() { done(); }); } -describe("CLI: showing help", function () { +describe("CLI: showing help", function() { this.timeout(10000); - it("--help", function (done) { - assertHelpOutput(["--help"], text => text.includes(startOpts.serveStatic.desc), done) + it("--help", function(done) { + assertHelpOutput(["--help"], text => text.includes(startOpts.serveStatic.desc), done); }); - it("start --help", function (done) { - assertHelpOutput(["start", "--help"], text => text.includes(startOpts.serveStatic.desc), done) + it("start --help", function(done) { + assertHelpOutput(["start", "--help"], text => text.includes(startOpts.serveStatic.desc), done); }); - it("init --help", function (done) { - assertHelpOutput(["init", "--help"], text => text.includes('Usage: '), done) + it("init --help", function(done) { + assertHelpOutput(["init", "--help"], text => text.includes("Usage: "), done); }); - it("reload --help", function (done) { - assertHelpOutput(["reload", "--help"], text => text.includes(reloadOpts.url.desc), done) + it("reload --help", function(done) { + assertHelpOutput(["reload", "--help"], text => text.includes(reloadOpts.url.desc), done); }); - it("recipe --help", function (done) { - assertHelpOutput(["recipe", "--help"], text => text.includes(recipeOpts.output.desc), done) + it("recipe --help", function(done) { + assertHelpOutput(["recipe", "--help"], text => text.includes(recipeOpts.output.desc), done); }); }); diff --git a/packages/browser-sync/test/specs/cli/cli.options.watch.js b/packages/browser-sync/test/specs/cli/cli.options.watch.js index 3cca7d3e8..2e441eade 100644 --- a/packages/browser-sync/test/specs/cli/cli.options.watch.js +++ b/packages/browser-sync/test/specs/cli/cli.options.watch.js @@ -103,9 +103,7 @@ describe("CLI: Options: Merging Watch Option", function() { assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.txt")); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.txt2")); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json")); - assert.ok( - config.getIn(["watchOptions", "ignored"]).contains("*.json2") - ); + assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json2")); }); it("merges from server, serveStatic + ignore path + watchOptions (Array)", function() { var input = { @@ -118,9 +116,7 @@ describe("CLI: Options: Merging Watch Option", function() { assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.txt")); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.txt2")); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json")); - assert.ok( - config.getIn(["watchOptions", "ignored"]).contains("*.json2") - ); + assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json2")); }); it("merges from server, serveStatic + ignore path + watchOptions.ignore (string)", function() { var input = { @@ -132,9 +128,7 @@ describe("CLI: Options: Merging Watch Option", function() { var [config] = merge(input); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json")); - assert.ok( - config.getIn(["watchOptions", "ignored"]).contains("*.json2") - ); + assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.json2")); assert.ok(config.getIn(["watchOptions", "ignored"]).contains("*.txt")); }); }); diff --git a/packages/browser-sync/test/specs/commands/recipes.js b/packages/browser-sync/test/specs/commands/recipes.js index 52cb76a1a..09a0cc6c4 100644 --- a/packages/browser-sync/test/specs/commands/recipes.js +++ b/packages/browser-sync/test/specs/commands/recipes.js @@ -9,7 +9,7 @@ var assert = require("chai").assert; var cli = require(path.resolve(pkg.bin)).default; var fs = require("fs"); var rim = require("rimraf").sync; -var chalk = require("chalk"); +var chalk = require("chalk"); describe("E2E CLI `recipes` command", function() { it("works with no output flag", function(done) { @@ -40,7 +40,7 @@ describe("E2E CLI `recipes` command", function() { sinon.assert.calledWith( stub1, "Install one of the following with %s\n", - chalk.cyan('browser-sync recipe ') + chalk.cyan("browser-sync recipe ") ); logger.info.restore(); @@ -66,10 +66,7 @@ describe("E2E CLI `recipes` command", function() { } }, cb: function(err) { - assert.equal( - err.message, - "Target folder exists remove it first and then try again" - ); + assert.equal(err.message, "Target folder exists remove it first and then try again"); done(); } }); @@ -90,11 +87,7 @@ describe("E2E CLI `recipes` command", function() { var call1 = stub1.getCall(0).args; assert.equal(call1[0], "Recipe copied into %s"); assert.equal(call1[1], chalk.cyan(dir)); - sinon.assert.calledWith( - stub1, - "Next, inside that folder, run %s", - chalk.cyan("npm i && npm start") - ); + sinon.assert.calledWith(stub1, "Next, inside that folder, run %s", chalk.cyan("npm i && npm start")); logger.info.restore(); done(); } @@ -111,10 +104,11 @@ describe("E2E CLI `recipes` command", function() { }, cb: function(err) { var call1 = stub1.getCall(0).args; - sinon.assert.calledWith(stub1, + sinon.assert.calledWith( + stub1, "Recipe %s not found. The following are available though", chalk.cyan("beepboop") - ) + ); var calls = stub2.getCalls().map(function(call) { return call.args[0].trim(); diff --git a/packages/browser-sync/test/specs/commands/reload.js b/packages/browser-sync/test/specs/commands/reload.js index fa7352740..0261d87e3 100644 --- a/packages/browser-sync/test/specs/commands/reload.js +++ b/packages/browser-sync/test/specs/commands/reload.js @@ -120,10 +120,7 @@ describe("E2E CLI `reload` with no files arg", function() { }, cb: function(err) { assert.equal(err.code, "ECONNREFUSED"); - assert.equal( - err.message, - "Browsersync not running at http://localhost:3000" - ); + assert.equal(err.message, "Browsersync not running at http://localhost:3000"); done(); } }); @@ -136,10 +133,7 @@ describe("E2E CLI `reload` with no files arg", function() { }, cb: function(err) { assert.equal(err.code, "ECONNREFUSED"); - assert.equal( - err.message, - "Browsersync not running at http://localhost:3000" - ); + assert.equal(err.message, "Browsersync not running at http://localhost:3000"); done(); } }); diff --git a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.conf.js b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.conf.js index 22c038927..11407ddcd 100644 --- a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.conf.js +++ b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.conf.js @@ -20,10 +20,7 @@ describe("CLI: reading config file from disk", function() { } }, cb: function(err, bs) { - assert.equal( - bs.options.getIn(["server", "baseDir", 0]), - "test/fixtures" - ); + assert.equal(bs.options.getIn(["server", "baseDir", 0]), "test/fixtures"); bs.cleanup(); done(); } @@ -43,10 +40,7 @@ describe("CLI: reading config file from disk", function() { }, cb: function(err, bs) { var err = stub.getCall(0).args[1]; - assert.equal( - err.message, - "Configuration file 'test/fixtures/config/sioops.js' not found" - ); + assert.equal(err.message, "Configuration file 'test/fixtures/config/sioops.js' not found"); utils.fail.restore(); bs.cleanup(); done(); diff --git a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.files.js b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.files.js index 89230706d..ad52cf6cb 100644 --- a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.files.js +++ b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.files.js @@ -18,10 +18,7 @@ describe("E2E CLI `files` arg - multi globs", function() { } }, cb: function(err, bs) { - assert.equal( - bs.options.getIn(["files", "core", "globs"]).size, - 2 - ); + assert.equal(bs.options.getIn(["files", "core", "globs"]).size, 2); assert.isTrue(Array.isArray(bs.watchers.core.watchers)); bs.cleanup(); done(); @@ -43,10 +40,7 @@ describe("E2E CLI `files` arg, single glob", function() { } }, cb: function(err, bs) { - assert.equal( - bs.options.getIn(["files", "core", "globs"]).size, - 1 - ); + assert.equal(bs.options.getIn(["files", "core", "globs"]).size, 1); assert.isTrue(Array.isArray(bs.watchers.core.watchers)); bs.cleanup(); done(); @@ -68,10 +62,7 @@ describe("E2E CLI `files` arg, with commas", function() { } }, cb: function(err, bs) { - assert.equal( - bs.options.getIn(["files", "core", "globs"]).size, - 2 - ); + assert.equal(bs.options.getIn(["files", "core", "globs"]).size, 2); assert.isTrue(Array.isArray(bs.watchers.core.watchers)); bs.cleanup(); done(); diff --git a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.server.js b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.server.js index 2511b2f6c..d7f05be5f 100644 --- a/packages/browser-sync/test/specs/e2e/cli/e2e.cli.server.js +++ b/packages/browser-sync/test/specs/e2e/cli/e2e.cli.server.js @@ -82,10 +82,7 @@ describe("E2E CLI server test with directory listing/index ", function() { }); it("Sets the correct server options", function() { assert.equal(instance.options.getIn(["server", "directory"]), true); - assert.equal( - instance.options.getIn(["server", "serveStaticOptions", "index"]), - "index.htm" - ); + assert.equal(instance.options.getIn(["server", "serveStaticOptions", "index"]), "index.htm"); }); }); @@ -116,16 +113,8 @@ describe("E2E CLI server test with extensions option - single", function() { instance.cleanup(); }); it("Sets the extensions option (array) for serve static", function() { - assert.equal( - instance.options.getIn(["server", "serveStaticOptions", "index"]), - "index.html" - ); - assert.deepEqual( - instance.options - .getIn(["server", "serveStaticOptions", "extensions"]) - .toJS(), - ["html"] - ); + assert.equal(instance.options.getIn(["server", "serveStaticOptions", "index"]), "index.html"); + assert.deepEqual(instance.options.getIn(["server", "serveStaticOptions", "extensions"]).toJS(), ["html"]); }); }); @@ -156,15 +145,10 @@ describe("E2E CLI server test with extensions option - multiple", function() { instance.cleanup(); }); it("Sets the extensions option (array) for serve static", function() { - assert.equal( - instance.options.getIn(["server", "serveStaticOptions", "index"]), - "index.html" - ); - assert.deepEqual( - instance.options - .getIn(["server", "serveStaticOptions", "extensions"]) - .toJS(), - ["html", "css"] - ); + assert.equal(instance.options.getIn(["server", "serveStaticOptions", "index"]), "index.html"); + assert.deepEqual(instance.options.getIn(["server", "serveStaticOptions", "extensions"]).toJS(), [ + "html", + "css" + ]); }); }); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.cors.js b/packages/browser-sync/test/specs/e2e/e2e.options.cors.js index 724e64697..d31a5d789 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.cors.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.cors.js @@ -20,22 +20,10 @@ describe("e2e options test (cors)", function() { .get("/index.html") .expect(200) .end(function(err, res) { - assert.equal( - res.headers["access-control-allow-origin"], - "*" - ); - assert.equal( - res.headers["access-control-allow-methods"], - "GET, POST, OPTIONS, PUT, PATCH, DELETE" - ); - assert.equal( - res.headers["access-control-allow-headers"], - "X-Requested-With,content-type" - ); - assert.equal( - res.headers["access-control-allow-credentials"], - "true" - ); + assert.equal(res.headers["access-control-allow-origin"], "*"); + assert.equal(res.headers["access-control-allow-methods"], "GET, POST, OPTIONS, PUT, PATCH, DELETE"); + assert.equal(res.headers["access-control-allow-headers"], "X-Requested-With,content-type"); + assert.equal(res.headers["access-control-allow-credentials"], "true"); bs.cleanup(); done(); }); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.logPrefix.js b/packages/browser-sync/test/specs/e2e/e2e.options.logPrefix.js index 0c4d5ffab..d44c97724 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.logPrefix.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.logPrefix.js @@ -4,7 +4,7 @@ var assert = require("chai").assert; var sinon = require("sinon"); var stripColor = require("chalk").stripColor; var logger = require("../../../dist/logger").logger; -var chalk = require("chalk"); +var chalk = require("chalk"); describe("E2E `logPrefix` option", function() { it("Can set the log prefix when given in options", function(done) { @@ -31,7 +31,7 @@ describe("E2E `logPrefix` option", function() { var config = { open: false, logPrefix: function() { - return "AWESOME" + return "AWESOME"; }, logLevel: "info", online: false, diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.logSnippet.js b/packages/browser-sync/test/specs/e2e/e2e.options.logSnippet.js index 2758fa1e8..a1587fd3f 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.logSnippet.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.logSnippet.js @@ -26,9 +26,7 @@ describe("E2E `logSnippet` option", function() { it("Can set the log snippet when given in options", function() { var calls = spy.getCalls(); - var snippet = testString( - "Copy the following snippet into your website" - ); + var snippet = testString("Copy the following snippet into your website"); var urls = testString("Access URLs"); function testString(match) { diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.port.js b/packages/browser-sync/test/specs/e2e/e2e.options.port.js index ed951b288..45443232a 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.port.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.port.js @@ -13,9 +13,7 @@ describe("E2E `port` option", function() { online: false, open: false }; - sinon - .stub(utils, "getPorts") - .yields(new Error("Some error about a port")); + sinon.stub(utils, "getPorts").yields(new Error("Some error about a port")); sinon.stub(utils, "fail", function(override, errMessage, cb) { assert.instanceOf(errMessage, Error); utils.getPorts.restore(); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.scriptpath.js b/packages/browser-sync/test/specs/e2e/e2e.options.scriptpath.js index 0b072312a..0e69a3e04 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.scriptpath.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.scriptpath.js @@ -17,10 +17,7 @@ describe("E2E script path test - given a callback", function() { } }; browserSync(config, function(err, bs) { - assert.include( - bs.options.get("snippet"), - "localhost:PORT/browser-sync/browser-sync-client." - ); + assert.include(bs.options.get("snippet"), "localhost:PORT/browser-sync/browser-sync-client."); bs.cleanup(); done(); }); @@ -53,10 +50,7 @@ describe("E2E Socket namespace test - given a string", function() { .get(instance.options.getIn(["scriptPaths", "path"])) .expect(200) .end(function(err, res) { - assert.include( - res.text, - "___browserSync___.socketUrl = '' + location.host + '/TEST';" - ); + assert.include(res.text, "___browserSync___.socketUrl = '' + location.host + '/TEST';"); done(); }); }); @@ -85,10 +79,7 @@ describe("E2E script path test - Using absolute path", function() { }); it("Sets the script path", function() { - assert.include( - instance.options.get("snippet"), - "http://HOST:3000/browser-sync/browser-sync-client." - ); + assert.include(instance.options.get("snippet"), "http://HOST:3000/browser-sync/browser-sync-client."); }); }); @@ -116,9 +107,6 @@ describe("E2E script path test - Using absolute path + secure server", function( }); it("Sets the script path", function() { - assert.include( - instance.options.get("snippet"), - "https://HOST:3000/browser-sync/browser-sync-client." - ); + assert.include(instance.options.get("snippet"), "https://HOST:3000/browser-sync/browser-sync-client."); }); }); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js b/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js index 97bd52de8..ceabb5330 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js @@ -20,9 +20,7 @@ function getRequests(reqs, server) { return; } - obs.onError( - new Error(req[0] + " did not match the response body") - ); + obs.onError(new Error(req[0] + " did not match the response body")); }); }); }); @@ -53,10 +51,7 @@ describe("E2E `serveStatic` option", function() { serveStatic: ["test/fixtures", "test/fixtures/assets"] }; browserSync(config, function(err, bs) { - var reqs = getRequests( - [["/index.html", page], ["/style.css", css]], - bs.server - ); + var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -69,16 +64,10 @@ describe("E2E `serveStatic` option", function() { var config = { logLevel: "silent", online: false, - serveStatic: [ - { route: "", dir: "test/fixtures" }, - { route: [""], dir: "test/fixtures/assets" } - ] + serveStatic: [{ route: "", dir: "test/fixtures" }, { route: [""], dir: "test/fixtures/assets" }] }; browserSync(config, function(err, bs) { - var reqs = getRequests( - [["/index.html", page], ["/style.css", css]], - bs.server - ); + var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -99,11 +88,7 @@ describe("E2E `serveStatic` option", function() { }; browserSync(config, function(err, bs) { var reqs = getRequests( - [ - ["/index.html", page], - ["/shane/style.css", css], - ["/kittie/style.css", css] - ], + [["/index.html", page], ["/shane/style.css", css], ["/kittie/style.css", css]], bs.server ); var obs = Rx.Observable.merge(reqs); @@ -118,15 +103,10 @@ describe("E2E `serveStatic` option", function() { var config = { logLevel: "silent", online: false, - serveStatic: [ - { route: "", dir: ["test/fixtures", "test/fixtures/assets"] } - ] + serveStatic: [{ route: "", dir: ["test/fixtures", "test/fixtures/assets"] }] }; browserSync(config, function(err, bs) { - var reqs = getRequests( - [["/index.html", page], ["/style.css", css]], - bs.server - ); + var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -142,10 +122,7 @@ describe("E2E `serveStatic` option", function() { serveStatic: [{ dir: ["test/fixtures", "test/fixtures/assets"] }] }; browserSync(config, function(err, bs) { - var reqs = getRequests( - [["/index.html", page], ["/style.css", css]], - bs.server - ); + var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.single.js b/packages/browser-sync/test/specs/e2e/e2e.options.single.js index f0e7b85ca..eed8ba013 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.single.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.single.js @@ -23,10 +23,7 @@ describe("e2e options test (single)", function() { .set("accept", "*/*") .expect(200) .end(function(err, res) { - const expected = fs.readFileSync( - "test/fixtures/index.html", - "utf8" - ); + const expected = fs.readFileSync("test/fixtures/index.html", "utf8"); assert.equal(res.text, expected); bs.cleanup(done); }); @@ -48,10 +45,7 @@ describe("e2e options test (single)", function() { .get("/assets/style.css") .expect(200) .end(function(err, res) { - const expected = fs.readFileSync( - "test/fixtures/assets/style.css", - "utf8" - ); + const expected = fs.readFileSync("test/fixtures/assets/style.css", "utf8"); assert.equal(res.text, expected); bs.cleanup(done); }); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.snippet.js b/packages/browser-sync/test/specs/e2e/e2e.options.snippet.js index 485cc218e..7ad277097 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.snippet.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.snippet.js @@ -133,10 +133,7 @@ describe("E2E snippet custom regex", function() { .set("accept", "text/html") .expect(200) .end(function(err, res) { - assert.include( - res.text, - "" + instance.options.get("snippet") - ); + assert.include(res.text, "" + instance.options.get("snippet")); done(); }); }); @@ -151,7 +148,7 @@ describe("E2E snippet: false", function() { baseDir: "test/fixtures" }, open: false, - snippet: false, + snippet: false }; instance = browserSync(config, done).instance; }); @@ -184,7 +181,7 @@ describe("E2E snippet: true", function() { baseDir: "test/fixtures" }, open: false, - snippet: true, + snippet: true }; instance = browserSync(config, done).instance; }); diff --git a/packages/browser-sync/test/specs/e2e/middleware/middleware.option.js b/packages/browser-sync/test/specs/e2e/middleware/middleware.option.js index a4210df6d..d235c634f 100644 --- a/packages/browser-sync/test/specs/e2e/middleware/middleware.option.js +++ b/packages/browser-sync/test/specs/e2e/middleware/middleware.option.js @@ -29,11 +29,7 @@ describe("Accepting middleware as an option (1)", function() { }); it("should accept middlewares when given as top-level", function() { - assert.equal( - bs.options.get("middleware").size, - 2, - "1 custom + 1 serve static" - ); + assert.equal(bs.options.get("middleware").size, 2, "1 custom + 1 serve static"); }); }); @@ -67,11 +63,7 @@ describe("Accepting middleware as an option (2)", function() { }); it("should accept middlewares when given as top-level", function() { - assert.equal( - bs.options.get("middleware").size, - 3, - "2 custom + 1 serve static" - ); + assert.equal(bs.options.get("middleware").size, 3, "2 custom + 1 serve static"); }); }); diff --git a/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.rewrite.rules.add.js b/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.rewrite.rules.add.js index 77c7fe1d7..4e43fffa1 100644 --- a/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.rewrite.rules.add.js +++ b/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.rewrite.rules.add.js @@ -36,12 +36,7 @@ describe("E2E proxy test with adding rewrite rules dynamically", function() { browserSync.init([], config, function(err, bs) { var reqs = utils.getRequests( - [ - [ - "/index.html", - 'BROWSERSYNC' - ] - ], + [["/index.html", 'BROWSERSYNC']], bs.server ); @@ -84,10 +79,7 @@ describe("E2E proxy test with adding rewrite rules dynamically", function() { browserSync.init([], config, function(err, bs) { var reqs = utils.getRequests( [ - [ - "/index.html", - 'BROWSERSYNC' - ], + ["/index.html", 'BROWSERSYNC'], function() { bs.addRewriteRule({ match: /BROWSERSYNC/, @@ -95,17 +87,11 @@ describe("E2E proxy test with adding rewrite rules dynamically", function() { id: "my-rewrite-rule" }); }, - [ - "/index.html", - 'shane' - ], + ["/index.html", 'shane'], function() { bs.removeRewriteRule("my-rewrite-rule"); }, - [ - "/index.html", - 'BROWSERSYNC' - ] + ["/index.html", 'BROWSERSYNC'] ], bs.server ); diff --git a/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.secure.js b/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.secure.js index 28462cde6..b6c86fd3a 100644 --- a/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.secure.js +++ b/packages/browser-sync/test/specs/e2e/proxy/e2e.proxy.secure.js @@ -53,10 +53,7 @@ describe("E2E TLS proxy test", function() { } var local = bs.options.getIn(["urls", "local"]); - var expected = app.html.replace( - "BS", - bs.options.get("snippet") + "BS" - ); + var expected = app.html.replace("BS", bs.options.get("snippet") + "BS"); assert.equal("https://localhost:" + bs.options.get("port"), local); @@ -88,10 +85,7 @@ describe("E2E TLS proxy test", function() { browserSync.init(config, function(err, bs) { assert.isString(bs.options.get("snippet")); - var expected = app.html.replace( - "BS", - bs.options.get("snippet") + "BS" - ); + var expected = app.html.replace("BS", bs.options.get("snippet") + "BS"); request(bs.options.getIn(["urls", "local"])) .get("/index.html") diff --git a/packages/browser-sync/test/specs/e2e/server/e2e.server.secure.pfx.js b/packages/browser-sync/test/specs/e2e/server/e2e.server.secure.pfx.js index 950de57d4..326b5ce36 100644 --- a/packages/browser-sync/test/specs/e2e/server/e2e.server.secure.pfx.js +++ b/packages/browser-sync/test/specs/e2e/server/e2e.server.secure.pfx.js @@ -6,7 +6,7 @@ var assert = require("chai").assert; process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0; -describe("E2E TLS server with PFX certs test", function() { +describe.skip("E2E TLS server with PFX certs test", function() { this.timeout(15000); var instance; @@ -15,6 +15,7 @@ describe("E2E TLS server with PFX certs test", function() { browserSync.reset(); this.timeout(15000); + console.log(path.resolve("./certs/browsersync.pfx")); var config = { server: { diff --git a/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.extensions.js b/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.extensions.js index 75435a947..6dc2619d4 100644 --- a/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.extensions.js +++ b/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.extensions.js @@ -20,25 +20,9 @@ describe("E2E server test with extension option", function() { }; browserSync.create().init(config, function(err, bs) { - assert.equal( - bs.options.getIn([ - "server", - "serveStaticOptions", - "extensions", - 0 - ]), - "html" - ); + assert.equal(bs.options.getIn(["server", "serveStaticOptions", "extensions", 0]), "html"); var reqs = utils.getRequests( - [ - [ - "/forms", - require("fs").readFileSync( - "test/fixtures/forms.html", - "utf-8" - ) - ] - ], + [["/forms", require("fs").readFileSync("test/fixtures/forms.html", "utf-8")]], bs.server ); Rx.Observable.concat(reqs).subscribeOnCompleted(function() { diff --git a/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.js b/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.js index 0565c287d..4b2fca575 100644 --- a/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.js +++ b/packages/browser-sync/test/specs/e2e/server/e2e.server.serveStatic.js @@ -18,21 +18,12 @@ describe("E2E server test with serve static options", function() { }; browserSync.create().init(config, function(err, bs) { - assert.equal( - bs.options.getIn(["server", "serveStaticOptions", "index"]), - "inputs.html" - ); + assert.equal(bs.options.getIn(["server", "serveStaticOptions", "index"]), "inputs.html"); request(bs.server) .get("/") .expect(200) .end(function(err, res) { - assert.deepEqual( - require("fs").readFileSync( - "test/fixtures/inputs.html", - "utf-8" - ), - res.text - ); + assert.deepEqual(require("fs").readFileSync("test/fixtures/inputs.html", "utf-8"), res.text); bs.cleanup(); done(); }); @@ -51,21 +42,12 @@ describe("E2E server test with serve static options", function() { }; browserSync.create().init(config, function(err, bs) { - assert.equal( - bs.options.getIn(["server", "serveStaticOptions", "index"]), - "index.html" - ); + assert.equal(bs.options.getIn(["server", "serveStaticOptions", "index"]), "index.html"); request(bs.server) .get("/") .expect(200) .end(function(err, res) { - assert.deepEqual( - require("fs").readFileSync( - "test/fixtures/index.html", - "utf-8" - ), - res.text - ); + assert.deepEqual(require("fs").readFileSync("test/fixtures/index.html", "utf-8"), res.text); bs.cleanup(); done(); }); diff --git a/packages/browser-sync/test/specs/e2e/server/e2e.server.tunnel.js b/packages/browser-sync/test/specs/e2e/server/e2e.server.tunnel.js index 1233d9587..b97a508f2 100644 --- a/packages/browser-sync/test/specs/e2e/server/e2e.server.tunnel.js +++ b/packages/browser-sync/test/specs/e2e/server/e2e.server.tunnel.js @@ -24,10 +24,7 @@ describe.skip("Tunnel e2e tests", function() { }); it("should call init on the tunnel", function() { - assert.include( - instance.options.getIn(["urls", "tunnel"]), - "localtunnel.me" - ); + assert.include(instance.options.getIn(["urls", "tunnel"]), "localtunnel.me"); }); }); @@ -53,10 +50,7 @@ describe.skip("Tunnel e2e tests with subdomain", function() { }); it("should call init on the tunnel", function() { - assert.include( - instance.options.getIn(["urls", "tunnel"]), - "localtunnel.me" - ); + assert.include(instance.options.getIn(["urls", "tunnel"]), "localtunnel.me"); }); }); @@ -101,10 +95,7 @@ describe("Tunnel e2e tests with Error", function() { }; browserSync(config, function(err, bs) { - bs.tunnel.emit( - "error", - new Error("connection refused: (check your firewall settings)") - ); + bs.tunnel.emit("error", new Error("connection refused: (check your firewall settings)")); bs.cleanup(); done(); }); diff --git a/packages/browser-sync/test/specs/files/files.watching.js b/packages/browser-sync/test/specs/files/files.watching.js index 8212e7b4b..cbe5a2857 100644 --- a/packages/browser-sync/test/specs/files/files.watching.js +++ b/packages/browser-sync/test/specs/files/files.watching.js @@ -21,10 +21,7 @@ describe("File Watcher Module", function() { }, function(err, bs) { assert.equal(bs.watchers.core.watchers.length, 1); - assert.equal( - bs.watchers.core.watchers[0].options.debounceDelay, - 4000 - ); + assert.equal(bs.watchers.core.watchers[0].options.debounceDelay, 4000); bs.cleanup(); done(); } @@ -54,14 +51,8 @@ describe("File Watcher Module", function() { }, function(err, bs) { assert.equal(bs.watchers.core.watchers.length, 2); - assert.equal( - bs.watchers.core.watchers[0].options.interval, - 200 - ); - assert.equal( - bs.watchers.core.watchers[1].options.interval, - 100 - ); + assert.equal(bs.watchers.core.watchers[0].options.interval, 200); + assert.equal(bs.watchers.core.watchers[1].options.interval, 100); bs.cleanup(); done(); } @@ -201,10 +192,7 @@ describe("File Watcher Module", function() { logLevel: "silent" }, function(err, bs) { - assert.equal( - bs.options.getIn(["files", "core", "globs"]).size, - 1 - ); + assert.equal(bs.options.getIn(["files", "core", "globs"]).size, 1); bs.cleanup(); done(); } diff --git a/packages/browser-sync/test/specs/http-protocol/http.reload.js b/packages/browser-sync/test/specs/http-protocol/http.reload.js index 38382ad5a..ccb50d249 100644 --- a/packages/browser-sync/test/specs/http-protocol/http.reload.js +++ b/packages/browser-sync/test/specs/http-protocol/http.reload.js @@ -35,10 +35,7 @@ describe("HTTP protocol", function() { }); it("responds to reload event with no args", function(done) { - var url = proto.getUrl( - { method: "reload" }, - bs.options.getIn(["urls", "local"]) - ); + var url = proto.getUrl({ method: "reload" }, bs.options.getIn(["urls", "local"])); request(url, function(e, r, body) { scheduler.advanceTo(500); @@ -49,10 +46,7 @@ describe("HTTP protocol", function() { }); }); it("responds to reload event with multi file paths", function(done) { - var url = proto.getUrl( - { method: "reload", args: ["a.css", "b.css"] }, - bs.options.getIn(["urls", "local"]) - ); + var url = proto.getUrl({ method: "reload", args: ["a.css", "b.css"] }, bs.options.getIn(["urls", "local"])); request(url, function(e, r, body) { scheduler.advanceTo(500); @@ -71,10 +65,7 @@ describe("HTTP protocol", function() { }); }); it("responds to reload event with single file path", function(done) { - var url = proto.getUrl( - { method: "reload", args: "somefile.php" }, - bs.options.getIn(["urls", "local"]) - ); + var url = proto.getUrl({ method: "reload", args: "somefile.php" }, bs.options.getIn(["urls", "local"])); request(url, function(e, r, body) { scheduler.advanceTo(500); @@ -91,10 +82,7 @@ describe("HTTP protocol", function() { }); }); it("Gives a nice error when method not found", function(done) { - var url = proto.getUrl( - { method: "relzoad", args: "somefile.php" }, - bs.options.getIn(["urls", "local"]) - ); + var url = proto.getUrl({ method: "relzoad", args: "somefile.php" }, bs.options.getIn(["urls", "local"])); request(url, function(e, r, body) { assert.equal(r.statusCode, 404); diff --git a/packages/browser-sync/test/specs/logger/logger.baseDir.js b/packages/browser-sync/test/specs/logger/logger.baseDir.js index e7f9d2b99..1744ad603 100644 --- a/packages/browser-sync/test/specs/logger/logger.baseDir.js +++ b/packages/browser-sync/test/specs/logger/logger.baseDir.js @@ -1,7 +1,7 @@ var browserSync = require("../../../"); var logger = require("../../../dist/logger").logger; var sinon = require("sinon"); -var chalk = require("chalk"); +var chalk = require("chalk"); describe("Logging", function() { var spy; @@ -22,16 +22,8 @@ describe("Logging", function() { open: false }, function(err, bs) { - sinon.assert.calledWith( - spy, - "Serving files from: %s", - chalk.magenta("./test") - ) - sinon.assert.calledWith( - spy, - "Serving files from: %s", - chalk.magenta("./app") - ) + sinon.assert.calledWith(spy, "Serving files from: %s", chalk.magenta("./test")); + sinon.assert.calledWith(spy, "Serving files from: %s", chalk.magenta("./app")); bs.cleanup(done); } ); @@ -58,15 +50,8 @@ describe("Logging", function() { open: false }, function(err, bs) { - sinon.assert.calledWith( - spy, - "Serving files from: %s", - chalk.magenta("./app") - ) - sinon.assert.calledWith( - spy, - "Watching files..." - ) + sinon.assert.calledWith(spy, "Serving files from: %s", chalk.magenta("./app")); + sinon.assert.calledWith(spy, "Watching files..."); bs.cleanup(done); } ); diff --git a/packages/browser-sync/test/specs/options/options.set.js b/packages/browser-sync/test/specs/options/options.set.js index 9c2830994..7f08c6998 100644 --- a/packages/browser-sync/test/specs/options/options.set.js +++ b/packages/browser-sync/test/specs/options/options.set.js @@ -16,16 +16,10 @@ describe("Setting options during runtime", function() { it("should update options with event", function(done) { instance.events.on("options:set", function(data) { - assert.deepEqual( - instance.options.getIn(["ghostMode", "clicks"]), - false - ); + assert.deepEqual(instance.options.getIn(["ghostMode", "clicks"]), false); assert.deepEqual(data.path, ["ghostMode", "clicks"]); assert.deepEqual(data.value, false); - assert.deepEqual( - data.options.getIn(["ghostMode", "clicks"]), - false - ); + assert.deepEqual(data.options.getIn(["ghostMode", "clicks"]), false); done(); }); @@ -47,10 +41,7 @@ describe("Setting Multi options during runtime", function() { it("should update options with event", function(done) { instance.events.on("options:set", function() { - assert.deepEqual( - instance.options.getIn(["ghostMode", "clicks"]), - false - ); + assert.deepEqual(instance.options.getIn(["ghostMode", "clicks"]), false); assert.deepEqual(instance.options.getIn(["shane"]), "awesome"); done(); }); diff --git a/packages/browser-sync/test/specs/plugins/connector.js b/packages/browser-sync/test/specs/plugins/connector.js index ec4a2fcba..c0b846061 100644 --- a/packages/browser-sync/test/specs/plugins/connector.js +++ b/packages/browser-sync/test/specs/plugins/connector.js @@ -33,10 +33,7 @@ describe("Plugins: Using the connector middleware:", function() { .get("/shane") .expect(200) .end(function(err, res) { - assert.include( - res.text, - "window.___browserSync___ = {};" - ); + assert.include(res.text, "window.___browserSync___ = {};"); instance.cleanup(done); }); } diff --git a/packages/browser-sync/test/specs/plugins/hooks.js b/packages/browser-sync/test/specs/plugins/hooks.js index 8d948dfb0..b6a19b09d 100644 --- a/packages/browser-sync/test/specs/plugins/hooks.js +++ b/packages/browser-sync/test/specs/plugins/hooks.js @@ -94,10 +94,7 @@ describe("Plugins: Registering hooks - client events:", function() { }); it("adds multiple items to the clientEvents array", function() { assert.include(instance.options.get("clientEvents").toJS(), "cp:goto"); - assert.include( - instance.options.get("clientEvents").toJS(), - "custom:event" - ); + assert.include(instance.options.get("clientEvents").toJS(), "custom:event"); }); }); diff --git a/packages/browser-sync/test/specs/plugins/logger.js b/packages/browser-sync/test/specs/plugins/logger.js index 69eb9d129..247a94aa9 100644 --- a/packages/browser-sync/test/specs/plugins/logger.js +++ b/packages/browser-sync/test/specs/plugins/logger.js @@ -32,7 +32,7 @@ describe("Plugins: Getting a logger", function() { .setLevel("info") .setLevelPrefixes(false) .info("Connected!"); - var msg = stripAnsi(stub.getCall(0).args[0]); + var msg = stripAnsi(stub.getCall(0).args[0]); assert.equal(msg, "[Browsersync] [HTML] Connected!"); instance.cleanup(); done(); diff --git a/packages/browser-sync/test/specs/plugins/user.plugins.add.middleware.js b/packages/browser-sync/test/specs/plugins/user.plugins.add.middleware.js index bf4934e8f..797c0c056 100644 --- a/packages/browser-sync/test/specs/plugins/user.plugins.add.middleware.js +++ b/packages/browser-sync/test/specs/plugins/user.plugins.add.middleware.js @@ -209,9 +209,7 @@ describe("Plugins: Should be able to add middleware with paths on the fly in pro it("should serve the file + browserSync file", function(done) { browserSync.reset(); - var testApp = connect().use( - serveStatic(path.join(__dirname, "../../fixtures")) - ); + var testApp = connect().use(serveStatic(path.join(__dirname, "../../fixtures"))); // server to proxy var stubServer = http.createServer(testApp).listen(); @@ -255,9 +253,7 @@ describe("Plugins: Should be able to add middleware with no paths on the fly in before(function(done) { browserSync.reset(); - var testApp = connect().use( - serveStatic(path.join(__dirname, "/../../fixtures")) - ); + var testApp = connect().use(serveStatic(path.join(__dirname, "/../../fixtures"))); // server to proxy stubServer = http.createServer(testApp).listen(); diff --git a/packages/browser-sync/test/specs/plugins/user.plugins.inline.error.js b/packages/browser-sync/test/specs/plugins/user.plugins.inline.error.js index a6f9be0e1..418c6a7fc 100644 --- a/packages/browser-sync/test/specs/plugins/user.plugins.inline.error.js +++ b/packages/browser-sync/test/specs/plugins/user.plugins.inline.error.js @@ -8,10 +8,7 @@ describe("Plugins: Retrieving user plugins when given inline, but with error", f browserSync.reset(); sinon.stub(utils, "fail", function(kill, errMessage) { assert.instanceOf(errMessage, Error); - assert.equal( - errMessage.message, - "Plugin not supported in this format" - ); + assert.equal(errMessage.message, "Plugin not supported in this format"); utils.fail.restore(); }); @@ -35,10 +32,7 @@ describe("Plugins: Retrieving user plugins when given inline, but with error", f browserSync.reset(); sinon.stub(utils, "fail", function(kill, errMessage) { assert.instanceOf(errMessage, Error); - assert.equal( - errMessage.message, - "Plugin was not configured correctly" - ); + assert.equal(errMessage.message, "Plugin was not configured correctly"); utils.fail.restore(); }); diff --git a/packages/browser-sync/test/specs/plugins/user.plugins.serve.files.js b/packages/browser-sync/test/specs/plugins/user.plugins.serve.files.js index 683c85f71..9704910d1 100644 --- a/packages/browser-sync/test/specs/plugins/user.plugins.serve.files.js +++ b/packages/browser-sync/test/specs/plugins/user.plugins.serve.files.js @@ -84,9 +84,7 @@ describe("Plugins: Should be able to call `serveFile` on the instance when in pr it("should serve the file + browserSync file", function(done) { browserSync.reset(); - var testApp = connect().use( - serveStatic(path.join(__dirname, "../../fixtures")) - ); + var testApp = connect().use(serveStatic(path.join(__dirname, "../../fixtures"))); // server to proxy var stubServer = http.createServer(testApp).listen(); diff --git a/packages/browser-sync/test/specs/resp-mod/rewrite-links.js b/packages/browser-sync/test/specs/resp-mod/rewrite-links.js index ec43374ab..83f161ccb 100644 --- a/packages/browser-sync/test/specs/resp-mod/rewrite-links.js +++ b/packages/browser-sync/test/specs/resp-mod/rewrite-links.js @@ -10,10 +10,7 @@ describe("Rewriting Domains", function() { var testRegex; before(function() { var host = "192.168.0.4:3002"; - var rewrite = utils.rewriteLinks( - { hostname: "example.com", port: 80 }, - proxyUrl - ); + var rewrite = utils.rewriteLinks({ hostname: "example.com", port: 80 }, proxyUrl); var bound = rewrite.fn.bind(null, { headers: { host: host } }, {}); regex = rewrite.match; fn = rewrite.fn; @@ -28,11 +25,8 @@ describe("Rewriting Domains", function() { assert.equal(expected, actual); }); it("should replace CSS LINK", function() { - var actual = testRegex( - "example.com" - ); - var expected = - "example.com"; + var actual = testRegex("example.com"); + var expected = "example.com"; assert.equal(actual, expected); }); it("should use the regex to replace links (2)", function() { @@ -51,9 +45,7 @@ describe("Rewriting Domains", function() { assert.equal(actual, expected); }); it("should use the regex to replace links (4)", function() { - var actual = testRegex( - "" - ); + var actual = testRegex(""); var expected = ""; assert.equal(actual, expected); }); @@ -91,10 +83,7 @@ describe("Rewriting Domains", function() { var testRegex; before(function() { var host = "192.168.0.4:3002"; - var rewrite = utils.rewriteLinks( - { hostname: "localhost:8000", port: 80 }, - proxyUrl - ); + var rewrite = utils.rewriteLinks({ hostname: "localhost:8000", port: 80 }, proxyUrl); var bound = rewrite.fn.bind(null, { headers: { host: host } }, {}); regex = rewrite.match; fn = rewrite.fn; @@ -113,23 +102,17 @@ describe("Rewriting Domains", function() { assert.equal(actual, expected); }); it("should use the regex to replace links (2)", function() { - var actual = testRegex( - "" - ); + var actual = testRegex(""); var expected = ""; assert.equal(actual, expected); }); it("should use the regex to replace links (3)", function() { - var actual = testRegex( - "" - ); + var actual = testRegex(""); var expected = ""; assert.equal(actual, expected); }); it("should use the regex to replace links (4)", function() { - var actual = testRegex( - "" - ); + var actual = testRegex(""); var expected = ""; assert.equal(actual, expected); }); @@ -144,38 +127,20 @@ describe("Rewriting Domains", function() { assert.equal(actual, expected); }); it("should use the regex to replace links that contain hashes (1)", function() { - var actual = testRegex( - "" - ); - var expected = - ""; + var actual = testRegex(""); + var expected = ""; assert.equal(actual, expected); }); it("should use the regex to replace links that contain hashes (2)", function() { - var actual = testRegex( - "" - ); + var actual = testRegex(""); var expected = ""; assert.equal(actual, expected); }); it("should use the regex to replace links that contain hashes (2)", function() { - var input = fs.readFileSync( - "test/fixtures/rewrites/hashes.input.html", - "utf8" - ); - var expected = fs.readFileSync( - "test/fixtures/rewrites/hashes.expected.html", - "utf8" - ); - var rewrite = utils.rewriteLinks( - { hostname: "www.example.local.colinr.com", port: 80 }, - proxyUrl - ); - var bound = rewrite.fn.bind( - null, - { headers: { host: proxyUrl } }, - {} - ); + var input = fs.readFileSync("test/fixtures/rewrites/hashes.input.html", "utf8"); + var expected = fs.readFileSync("test/fixtures/rewrites/hashes.expected.html", "utf8"); + var rewrite = utils.rewriteLinks({ hostname: "www.example.local.colinr.com", port: 80 }, proxyUrl); + var bound = rewrite.fn.bind(null, { headers: { host: proxyUrl } }, {}); var actual = input.replace(rewrite.match, bound); assert.equal(actual, expected); }); @@ -185,92 +150,45 @@ describe("Rewriting Domains", function() { var expected = 'Link 1'; - var rewrite = utils.rewriteLinks( - { hostname: "example.com", port: 1234 }, - proxyUrl - ); - var bound = rewrite.fn.bind( - null, - { headers: { host: proxyUrl } }, - {} - ); + var rewrite = utils.rewriteLinks({ hostname: "example.com", port: 1234 }, proxyUrl); + var bound = rewrite.fn.bind(null, { headers: { host: proxyUrl } }, {}); var actual = input.replace(rewrite.match, bound); assert.equal(actual, expected); }); it("should use the regex to replace links + comments", function() { - var input = fs.readFileSync( - "test/fixtures/rewrites/comment.html", - "utf8" - ); - var expected = fs.readFileSync( - "test/fixtures/rewrites/comment.expected.html", - "utf8" - ); - var rewrite = utils.rewriteLinks( - { hostname: "experiment.dev" }, - proxyUrl - ); - var bound = rewrite.fn.bind( - null, - { headers: { host: proxyUrl } }, - {} - ); + var input = fs.readFileSync("test/fixtures/rewrites/comment.html", "utf8"); + var expected = fs.readFileSync("test/fixtures/rewrites/comment.expected.html", "utf8"); + var rewrite = utils.rewriteLinks({ hostname: "experiment.dev" }, proxyUrl); + var bound = rewrite.fn.bind(null, { headers: { host: proxyUrl } }, {}); var actual = input.replace(rewrite.match, bound); assert.equal(actual, expected); }); it("should use the regex to replace links that contain port + ", function() { - var input = - ''; + var input = ''; var rewrite = utils.rewriteLinks({ hostname: "mclinic" }, proxyUrl); - var bound = rewrite.fn.bind( - null, - { headers: { host: proxyUrl } }, - {} - ); + var bound = rewrite.fn.bind(null, { headers: { host: proxyUrl } }, {}); var actual = input.replace(rewrite.match, bound); assert.equal(actual, input); }); it("should use the regex to replace links that have protocol relative URLS", function() { - var input = - ' - - - \ No newline at end of file + + elem[old ? "attachEvent" : "addEventListener"]((old ? "on" : "") + "click", function () { + console.log("~~~~~Click event occured~~~~~~"); + }, true); + + + diff --git a/packages/browser-sync-client/test/fixtures/inputs.html b/packages/browser-sync-client/test/fixtures/inputs.html index 62c9d3cd5..a8ae3fa54 100644 --- a/packages/browser-sync-client/test/fixtures/inputs.html +++ b/packages/browser-sync-client/test/fixtures/inputs.html @@ -1,34 +1,32 @@
+ + - - + + - - +

+ -

- +
+ + + + +
-
- - - - -
+

+ + + + + + +

-

- - - - - - -

- - - -
\ No newline at end of file + + diff --git a/packages/browser-sync-client/test/fixtures/less.html b/packages/browser-sync-client/test/fixtures/less.html index 2d522a53f..c9975d06f 100644 --- a/packages/browser-sync-client/test/fixtures/less.html +++ b/packages/browser-sync-client/test/fixtures/less.html @@ -1,24 +1,23 @@ - - - - - Test HTML Page - - - + + + + + Test HTML Page + + + +

Hello from the test

+ Forms + Scrolling Window -

Hello from the test

- Forms - Scrolling Window - - - - - - \ No newline at end of file + + + diff --git a/packages/browser-sync-client/test/fixtures/links.html b/packages/browser-sync-client/test/fixtures/links.html index d5455bc41..9e8163bc2 100644 --- a/packages/browser-sync-client/test/fixtures/links.html +++ b/packages/browser-sync-client/test/fixtures/links.html @@ -1,6 +1,6 @@ Link
- +
-
\ No newline at end of file + diff --git a/packages/browser-sync-client/test/fixtures/proxy-headers.html b/packages/browser-sync-client/test/fixtures/proxy-headers.html index b3ec75ef5..7ef873521 100644 --- a/packages/browser-sync-client/test/fixtures/proxy-headers.html +++ b/packages/browser-sync-client/test/fixtures/proxy-headers.html @@ -1,20 +1,19 @@ - - - - - Test HTML Page - - - - + + + + + Test HTML Page + + + + +

Hello from the test Page

+ Forms + Scrolling Window -

Hello from the test Page

- Forms - Scrolling Window - -

Click me

-

- - \ No newline at end of file +

Click me

+

+ + diff --git a/packages/browser-sync-client/test/fixtures/proxy-ip.html b/packages/browser-sync-client/test/fixtures/proxy-ip.html index b03bf8f3b..a22640268 100644 --- a/packages/browser-sync-client/test/fixtures/proxy-ip.html +++ b/packages/browser-sync-client/test/fixtures/proxy-ip.html @@ -1,366 +1,484 @@ - - + - - - - - - Home - Firecrest UK - - - - - - - - - - - - -
- -
-
-
-
- -

Firecrest UK LTD

-

- Welcome to Firecrest UK LTD, a midlands based supplier of fire safety equipment and solutions for protecting your business from fire. - read more... -

-

- Whether you require fire risk assessments, fire alarm installation and maintenance, fire extinguisher supply and service, Staff fire training or a complete solution to protect your business from the devastation of fire, we can put together a plan to meet all your companies’ requirements. -

-

- - Watch our video - -

- -
-
-
-
- - -
-
-
-

People we've loved working with over the years

-
- - - -
-
-
- - -
-
-
-
-

Testimonials

-
- -
- - View All Testimonials - - -
-
-
-
- -
-
-
- -
- - + + + + + + + + diff --git a/packages/browser-sync-client/test/fixtures/proxy-vhost.html b/packages/browser-sync-client/test/fixtures/proxy-vhost.html index 9475ee5b4..d0f05442c 100644 --- a/packages/browser-sync-client/test/fixtures/proxy-vhost.html +++ b/packages/browser-sync-client/test/fixtures/proxy-vhost.html @@ -1,366 +1,483 @@ - - + - - - - - - Home - Firecrest UK - - - - - - - - - - - - -
- -
-
-
-
- -

Firecrest UK LTD

-

- Welcome to Firecrest UK LTD, a midlands based supplier of fire safety equipment and solutions for protecting your business from fire. - read more... -

-

- Whether you require fire risk assessments, fire alarm installation and maintenance, fire extinguisher supply and service, Staff fire training or a complete solution to protect your business from the devastation of fire, we can put together a plan to meet all your companies’ requirements. -

-

- - Watch our video - -

- -
-
-
-
- - -
-
-
-

People we've loved working with over the years

-
- - - -
-
-
- - -
-
-
-
-

Testimonials

-
- -
- - View All Testimonials - - -
-
-
-
- -
-
-
- -
- - + + + + + + + + diff --git a/packages/browser-sync-client/test/fixtures/sass.html b/packages/browser-sync-client/test/fixtures/sass.html index 875473cc9..a56674b3e 100644 --- a/packages/browser-sync-client/test/fixtures/sass.html +++ b/packages/browser-sync-client/test/fixtures/sass.html @@ -1,24 +1,23 @@ - - - - - Test HTML Page - - - + + + + + Test HTML Page + + + +

Hello from the test

+ Forms + Scrolling Window -

Hello from the test

- Forms - Scrolling Window - - - - - - \ No newline at end of file + + + diff --git a/packages/browser-sync-client/test/fixtures/scrolling.html b/packages/browser-sync-client/test/fixtures/scrolling.html index 7ad04b531..f9ea58b15 100644 --- a/packages/browser-sync-client/test/fixtures/scrolling.html +++ b/packages/browser-sync-client/test/fixtures/scrolling.html @@ -1,265 +1,263 @@ - - - - - About us - - - - -
-

Style-injector Ghost Mode: Scrolling

- Homepage - + + + + + About us + + + + +
+

Style-injector Ghost Mode: Scrolling

+ Homepage + -
-

1

+
+

1

-

2

+

2

-

3

+

3

-

4

+

4

-

5

+

5

-

6

+

6

-

7

+

7

-

8

+

8

-

9

+

9

-

10

+

10

-

11

+

11

-

12

+

12

-

13

+

13

-

14

+

14

-

15

+

15

-

16

+

16

-

17

+

17

-

18

+

18

-

19

+

19

-

20

-
+

20

+
-

1

+

1

-

2

+

2

-

3

+

3

-

4

+

4

-

5

+

5

-

6

+

6

-

7

+

7

-

8

+

8

-

9

+

9

-

10

+

10

-

11

+

11

-

12

+

12

-

13

+

13

-

14

+

14

-

15

+

15

-

16

+

16

-

17

+

17

-

18

+

18

-

19

+

19

-

20

+

20

-

21

+

21

-

22

+

22

-

23

+

23

-

24

+

24

-

25

+

25

-

26

+

26

-

27

+

27

-

28

+

28

-

29

+

29

-

30

+

30

-

31

+

31

-

32

+

32

-

33

+

33

-

34

+

34

-

35

+

35

-

36

+

36

-

37

+

37

-

38

+

38

-

39

+

39

-

40

+

40

-

41

+

41

-

42

+

42

-

43

+

43

-

44

+

44

-

45

+

45

-

46

+

46

-

47

+

47

-

48

+

48

-

49

+

49

-

50

+

50

-

51

+

51

-

52

+

52

-

53

+

53

-

54

+

54

-

55

+

55

-

56

+

56

-

57

+

57

-

58

+

58

-

59

+

59

-

60

+

60

-

61

+

61

-

62

+

62

-

63

+

63

-

64

+

64

-

65

+

65

-

66

+

66

-

67

+

67

-

68

+

68

-

69

+

69

-

70

+

70

-

71

+

71

-

72

+

72

-

73

+

73

-

74

+

74

-

75

+

75

-

76

+

76

-

77

+

77

-

78

+

78

-

79

+

79

-

80

+

80

-

81

+

81

-

82

+

82

-

83

+

83

-

84

+

84

-

85

+

85

-

86

+

86

-

87

+

87

-

88

+

88

-

89

+

89

-

90

+

90

-

91

+

91

-

92

+

92

-

93

+

93

-

94

+

94

-

+

-

96

-

97

-

98

-

99

+

96

+

97

+

98

+

99

- -

100

-
- - - \ No newline at end of file +

100

+
+ + diff --git a/packages/browser-sync-client/test/karma.conf.ci.js b/packages/browser-sync-client/test/karma.conf.ci.js index bd9ac61a6..91b0f11bd 100644 --- a/packages/browser-sync-client/test/karma.conf.ci.js +++ b/packages/browser-sync-client/test/karma.conf.ci.js @@ -1,15 +1,14 @@ // Config for travis var conf = require("./test.conf"); -module.exports = function (config) { - - conf.logLevel = config.LOG_INFO; - conf.autoWatch = false; - conf.browsers = ["Firefox"]; - conf.preprocessors = { - "fixtures/*.html" : ["html2js"] +module.exports = function(config) { + conf.logLevel = config.LOG_INFO; + conf.autoWatch = false; + conf.browsers = ["Firefox"]; + conf.preprocessors = { + "fixtures/*.html": ["html2js"] }; conf.singleRun = true; config.set(conf); -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-client/test/karma.conf.js b/packages/browser-sync-client/test/karma.conf.js index c4ffab393..581a96200 100644 --- a/packages/browser-sync-client/test/karma.conf.js +++ b/packages/browser-sync-client/test/karma.conf.js @@ -2,7 +2,7 @@ // Generated on Wed Sep 18 2013 18:10:53 GMT+0100 (BST) var conf = require("./test.conf"); -module.exports = function (config) { +module.exports = function(config) { conf.logLevel = config.LOG_INFO; config.set(conf); }; diff --git a/packages/browser-sync-client/test/middleware/file.js b/packages/browser-sync-client/test/middleware/file.js index be01b3cab..cca5c432d 100644 --- a/packages/browser-sync-client/test/middleware/file.js +++ b/packages/browser-sync-client/test/middleware/file.js @@ -1,14 +1,14 @@ "use strict"; -var index = require("../../index.js"); +var index = require("../../index.js"); -var assert = require("chai").assert; -var http = require("http"); +var assert = require("chai").assert; +var http = require("http"); -describe("Using the file contents", function () { - it("Returns a String", function () { - var file = index.middleware({minify: true}, "UNIQSTRING", "file"); +describe("Using the file contents", function() { + it("Returns a String", function() { + var file = index.middleware({ minify: true }, "UNIQSTRING", "file"); assert.isString(file); assert.isTrue(file.indexOf("UNIQSTRING") === 0); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-client/test/middleware/middleware.js b/packages/browser-sync-client/test/middleware/middleware.js index a9200b2a2..806e1cf9d 100644 --- a/packages/browser-sync-client/test/middleware/middleware.js +++ b/packages/browser-sync-client/test/middleware/middleware.js @@ -1,43 +1,42 @@ "use strict"; -var index = require("../../index.js"); +var index = require("../../index.js"); -var assert = require("chai").assert; -var http = require("http"); -var request = require("supertest"); -var express = require("express"); - -describe("Using the middleware", function () { +var assert = require("chai").assert; +var http = require("http"); +var request = require("supertest"); +var express = require("express"); +describe("Using the middleware", function() { var app; - before(function () { + before(function() { app = express(); - app.use("/client", index.middleware({minify: true}, "BEFORE")); + app.use("/client", index.middleware({ minify: true }, "BEFORE")); }); - it("Returns a function", function () { + it("Returns a function", function() { assert.isFunction(index.middleware); }); - it("should return the JS when no cache", function (done) { + it("should return the JS when no cache", function(done) { request(app) .get("/client") .expect("Content-Type", /text\/javascript/) .expect("Cache-Control", "public, max-age=0") .expect("ETag", /".*-.*"/) .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.isTrue(res.text.length > 0); assert.isTrue(res.text.indexOf("BEFORE") > -1); done(); }); }); - it("should return not modified if has cache and fresh", function (done) { + it("should return not modified if has cache and fresh", function(done) { var etag = null; request(app) .get("/client") - .end(function (err, res) { + .end(function(err, res) { etag = res.headers["ETag"]; }); @@ -47,13 +46,13 @@ describe("Using the middleware", function () { .expect("Cache-Control", "public, max-age=0") .expect("ETag", /".*-.*"/) .expect(304) - .end(function (err, res) { + .end(function(err, res) { assert.isUndefined(res.headers["Content-Type"]); done(); }); }); - it("should return the JS if has cache and not fresh", function (done) { + it("should return the JS if has cache and not fresh", function(done) { request(app) .get("/client") .set("If-None-Match", "Different-ETag") @@ -61,33 +60,33 @@ describe("Using the middleware", function () { .expect("Cache-Control", "public, max-age=0") .expect("ETag", /".*-.*"/) .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.isTrue(res.text.length > 0); assert.isTrue(res.text.indexOf("BEFORE") > -1); done(); }); }); - it("should return a gzipped response when supported", function (done) { + it("should return a gzipped response when supported", function(done) { request(app) .get("/client") .set("Accept-Encoding", "gzip, deflate") .expect("Content-Encoding", "gzip") .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.isTrue(res.text.indexOf("BEFORE") > -1); done(); }); }); - it("Should return a non-gzipped response when not supported", function (done) { + it("Should return a non-gzipped response when not supported", function(done) { request(app) .get("/client") .set("Accept-Encoding", "deflate") .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.isTrue(res.text.indexOf("BEFORE") > -1); done(); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-client/test/test.conf.js b/packages/browser-sync-client/test/test.conf.js index 00bde9e64..07d9693da 100644 --- a/packages/browser-sync-client/test/test.conf.js +++ b/packages/browser-sync-client/test/test.conf.js @@ -1,5 +1,4 @@ module.exports = { - // base path, that will be used to resolve files and exclude basePath: "", @@ -14,26 +13,19 @@ module.exports = { "client-new/*.js" ], - // list of files to exclude - exclude: [ - - ], - + exclude: [], // test results reporter to use // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' reporters: ["dots", "coverage"], - // web server port port: 9876, - // enable / disable colors in the output (reporters and logs) colors: true, - // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG @@ -50,7 +42,6 @@ module.exports = { // - IE (only Windows) browsers: ["Chrome"], - // If browser does not capture in given timeout [ms], kill it captureTimeout: 60000, @@ -62,5 +53,4 @@ module.exports = { // Continuous Integration mode // if true, it capture browsers, run tests and exit singleRun: false - -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-client/webpack.config.js b/packages/browser-sync-client/webpack.config.js index 6edcae795..a454819b9 100644 --- a/packages/browser-sync-client/webpack.config.js +++ b/packages/browser-sync-client/webpack.config.js @@ -1,17 +1,15 @@ // For instructions about this file refer to // webpack and webpack-hot-middleware documentation -const webpack = require('webpack'); -const path = require('path'); +const webpack = require("webpack"); +const path = require("path"); const context = [__dirname]; module.exports = { context: path.join.apply(null, context), - entry: [ - './lib/index' - ], + entry: ["./lib/index"], output: { path: path.join.apply(null, context.concat("dist")), - filename: 'index.js', + filename: "index.js", environment: { arrowFunction: false } @@ -21,7 +19,7 @@ module.exports = { // new webpack.NoEmitOnErrorsPlugin(), ], resolve: { - extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], + extensions: [".ts", ".tsx", ".js", ".jsx", ".json"] // alias: { // "rx": path.resolve(process.cwd(), "public/assets/js/vendor/rx.lite.dom.ajax.js") // } @@ -32,19 +30,15 @@ module.exports = { test: /\.m?[jt]s$/, exclude: [/node_modules/], use: { - loader: 'babel-loader', + loader: "babel-loader", options: { - presets: [ - [ - '@babel/preset-env', { targets: "ie 11" } - ] - ] + presets: [["@babel/preset-env", { targets: "ie 11" }]] } } }, { test: /\.[tj]sx?$/, - use: ['ts-loader'] + use: ["ts-loader"] } ] } diff --git a/packages/browser-sync-ui/example.stream.js b/packages/browser-sync-ui/example.stream.js index fa9929ac9..a505ead3c 100644 --- a/packages/browser-sync-ui/example.stream.js +++ b/packages/browser-sync-ui/example.stream.js @@ -1,22 +1,22 @@ var through2 = require("through2"); -var vinyl = require("vinyl"); -var combiner = require('stream-combiner2'); -var es = require('event-stream'); -var inspect = require('util').inspect; +var vinyl = require("vinyl"); +var combiner = require("stream-combiner2"); +var es = require("event-stream"); +var inspect = require("util").inspect; var Duplex = require("stream").Duplex; var stream = new Duplex(); -stream._read = function (out) {}; +stream._read = function(out) {}; -stream._write = function (out) { +stream._write = function(out) { this.push(out); }; -var fn1 = function (data, cb) { +var fn1 = function(data, cb) { cb(null, data + "shane"); }; -var fn2 = function (data, cb) { +var fn2 = function(data, cb) { cb(null, data + " Osbourne"); }; @@ -30,13 +30,14 @@ var fn2 = function (data, cb) { stream .pipe(es.map(fn1)) .pipe(es.map(fn2)) - .pipe(through2.obj(function (out, enc, next) { - console.log(out); - })); + .pipe( + through2.obj(function(out, enc, next) { + console.log(out); + }) + ); stream.write("Hi there: "); - //var fn = through2.obj(function (file, type, next) { // console.log("Stream 1"); // this.push(file.concat([12, 23])); @@ -81,4 +82,4 @@ stream.write("Hi there: "); // cb(null, inspect(JSON.parse(data))); //render it nicely // })) // .pipe(process.stdout) // pipe it to stdout ! -//} \ No newline at end of file +//} diff --git a/packages/browser-sync-ui/index.js b/packages/browser-sync-ui/index.js index b63ac2f52..4464400d5 100644 --- a/packages/browser-sync-ui/index.js +++ b/packages/browser-sync-ui/index.js @@ -1,8 +1,8 @@ "use strict"; -var UI = require("./lib/UI"); -var config = require("./lib/config"); -var Events = require("events").EventEmitter; +var UI = require("./lib/UI"); +var config = require("./lib/config"); +var Events = require("events").EventEmitter; /** * Hooks are for attaching functionality to BrowserSync @@ -21,21 +21,25 @@ module.exports.hooks = { * @param {Function} cb * @returns {UI} */ -module.exports["plugin"] = function (opts, bs, cb) { +module.exports["plugin"] = function(opts, bs, cb) { var ui = new UI(opts, bs, new Events()); bs.setOption("session", new Date().getTime()); - ui.cb = cb || function () { /*noop*/ }; + ui.cb = + cb || + function() { + /*noop*/ + }; ui.init(); return ui; }; -module.exports["plugin:name"] = config.defaults.pluginName; +module.exports["plugin:name"] = config.defaults.pluginName; /** * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -43,6 +47,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath)); } diff --git a/packages/browser-sync-ui/lib/UI.js b/packages/browser-sync-ui/lib/UI.js index f6fb09066..8648c2d5c 100644 --- a/packages/browser-sync-ui/lib/UI.js +++ b/packages/browser-sync-ui/lib/UI.js @@ -1,21 +1,21 @@ -var fs = require("fs"); -var path = require("path"); -var chalk = require("chalk"); +var fs = require("fs"); +var path = require("path"); +var chalk = require("chalk"); -var config = require("./config"); -var eachSeries = require("async-each-series"); -var asyncTasks = require("./async-tasks"); -var hooks = require("./hooks"); -var merge = require("./opts").merge; +var config = require("./config"); +var eachSeries = require("async-each-series"); +var asyncTasks = require("./async-tasks"); +var hooks = require("./hooks"); +var merge = require("./opts").merge; var defaultPlugins = { - "sync-options": require("./plugins/sync-options/sync-options.plugin"), - "overview": require("./plugins/overview/overview.plugin"), - "history": require("./plugins/history/history.plugin"), - "plugins": require("./plugins/plugins/plugins.plugin"), - "remote-debug": require("./plugins/remote-debug/remote-debug.plugin"), - "help": require("./plugins/help/help.plugin"), - "connections": require("./plugins/connections/connections.plugin"), + "sync-options": require("./plugins/sync-options/sync-options.plugin"), + overview: require("./plugins/overview/overview.plugin"), + history: require("./plugins/history/history.plugin"), + plugins: require("./plugins/plugins/plugins.plugin"), + "remote-debug": require("./plugins/remote-debug/remote-debug.plugin"), + help: require("./plugins/help/help.plugin"), + connections: require("./plugins/connections/connections.plugin"), "network-throttle": require("./plugins/network-throttle/network-throttle.plugin") }; @@ -27,18 +27,17 @@ var defaultPlugins = { * @constructor * @returns {UI} */ -var UI = function (opts, bs, emitter) { - - var ui = this; - ui.bs = bs; - ui.config = config.merge(); - ui.events = emitter; - ui.options = merge(opts); - ui.logger = bs.getLogger(ui.config.get("pluginName")); +var UI = function(opts, bs, emitter) { + var ui = this; + ui.bs = bs; + ui.config = config.merge(); + ui.events = emitter; + ui.options = merge(opts); + ui.logger = bs.getLogger(ui.config.get("pluginName")); ui.defaultPlugins = defaultPlugins; - ui.listeners = {}; - ui.clients = bs.io.of(bs.options.getIn(["socket", "namespace"])); - ui.socket = bs.io.of(ui.config.getIn(["socket", "namespace"])); + ui.listeners = {}; + ui.clients = bs.io.of(bs.options.getIn(["socket", "namespace"])); + ui.socket = bs.io.of(ui.config.getIn(["socket", "namespace"])); if (ui.options.get("logLevel")) { ui.logger.setLevel(ui.options.get("logLevel")); @@ -62,15 +61,10 @@ var UI = function (opts, bs, emitter) { * Detect an available port * @returns {UI} */ -UI.prototype.init = function () { - +UI.prototype.init = function() { var ui = this; - eachSeries( - asyncTasks, - taskRunner(ui), - tasksComplete(ui) - ); + eachSeries(asyncTasks, taskRunner(ui), tasksComplete(ui)); return this; }; @@ -78,12 +72,12 @@ UI.prototype.init = function () { /** * @param cb */ -UI.prototype.getServer = function (cb) { +UI.prototype.getServer = function(cb) { var ui = this; if (ui.server) { return ui.server; } - this.events.on("ui:running", function () { + this.events.on("ui:running", function() { cb(null, ui.server); }); }; @@ -91,19 +85,17 @@ UI.prototype.getServer = function (cb) { /** * @returns {Array} */ -UI.prototype.getInitialTemplates = function () { +UI.prototype.getInitialTemplates = function() { var prefix = path.resolve(__dirname, "../templates/directives"); - return fs.readdirSync(prefix) - .map(function (name) { - return path.resolve(prefix, name); - }); + return fs.readdirSync(prefix).map(function(name) { + return path.resolve(prefix, name); + }); }; /** * @param event */ -UI.prototype.delegateEvent = function (event) { - +UI.prototype.delegateEvent = function(event) { var ui = this; var listeners = ui.listeners[event.namespace]; @@ -121,7 +113,7 @@ UI.prototype.delegateEvent = function (event) { /** * @param cb */ -UI.prototype.listen = function (ns, events) { +UI.prototype.listen = function(ns, events) { var ui = this; if (Array.isArray(ns)) { ns = ns.join(":"); @@ -136,8 +128,8 @@ UI.prototype.listen = function (ns, events) { * @param value * @returns {Map|*} */ -UI.prototype.setOption = function (name, value) { - var ui = this; +UI.prototype.setOption = function(name, value) { + var ui = this; ui.options = ui.options.set(name, value); return ui.options; }; @@ -147,7 +139,7 @@ UI.prototype.setOption = function (name, value) { * @param value * @returns {Map|*} */ -UI.prototype.setOptionIn = function (path, value) { +UI.prototype.setOptionIn = function(path, value) { this.options = this.options.setIn(path, value); return this.options; }; @@ -155,7 +147,7 @@ UI.prototype.setOptionIn = function (path, value) { /** * @param fn */ -UI.prototype.setMany = function (fn) { +UI.prototype.setMany = function(fn) { this.options = this.options.withMutations(fn); return this.options; }; @@ -164,7 +156,7 @@ UI.prototype.setMany = function (fn) { * @param path * @returns {any|*} */ -UI.prototype.getOptionIn = function (path) { +UI.prototype.getOptionIn = function(path) { return this.options.getIn(path); }; @@ -173,16 +165,14 @@ UI.prototype.getOptionIn = function (path) { * @param ui * @returns {Function} */ -function taskRunner (ui) { - - return function (item, cb) { - +function taskRunner(ui) { + return function(item, cb) { ui.logger.debug("Starting Step: " + item.step); /** * Give each step access to the UI Instance */ - item.fn(ui, function (err, out) { + item.fn(ui, function(err, out) { if (err) { return cb(err); } @@ -200,22 +190,21 @@ function taskRunner (ui) { * @param {UI} ui * @param {Object} out */ -function handleOut (ui, out) { - +function handleOut(ui, out) { if (out.options) { - Object.keys(out.options).forEach(function (key) { + Object.keys(out.options).forEach(function(key) { ui.options = ui.options.set(key, out.options[key]); }); } if (out.optionsIn) { - out.optionsIn.forEach(function (item) { + out.optionsIn.forEach(function(item) { ui.options = ui.options.setIn(item.path, item.value); }); } if (out.instance) { - Object.keys(out.instance).forEach(function (key) { + Object.keys(out.instance).forEach(function(key) { ui[key] = out.instance[key]; }); } @@ -225,10 +214,8 @@ function handleOut (ui, out) { * All async tasks complete at this point * @param ui */ -function tasksComplete (ui) { - - return function (err) { - +function tasksComplete(ui) { + return function(err) { /** * Log any error according to BrowserSync's Logging level */ @@ -239,7 +226,7 @@ function tasksComplete (ui) { /** * Running event */ - ui.events.emit("ui:running", {instance: ui, options: ui.options}); + ui.events.emit("ui:running", { instance: ui, options: ui.options }); /** * Finally call the user-provided callback diff --git a/packages/browser-sync-ui/lib/async-tasks.js b/packages/browser-sync-ui/lib/async-tasks.js index 7d7f6e23f..0468017c4 100644 --- a/packages/browser-sync-ui/lib/async-tasks.js +++ b/packages/browser-sync-ui/lib/async-tasks.js @@ -1,36 +1,36 @@ -var async = require("./async"); +var async = require("./async"); module.exports = [ { step: "Setting default plugins", - fn: async.initDefaultHooks + fn: async.initDefaultHooks }, { step: "Finding a free port", - fn: async.findAFreePort + fn: async.findAFreePort }, { step: "Setting options also relevant to UI from BS", - fn: async.setBsOptions + fn: async.setBsOptions }, { step: "Setting available URLS for UI", - fn: async.setUrlOptions + fn: async.setUrlOptions }, { step: "Starting the Control Panel Server", - fn: async.startServer + fn: async.startServer }, { step: "Add element events", - fn: async.addElementEvents + fn: async.addElementEvents }, { step: "Registering default plugins", - fn: async.registerPlugins + fn: async.registerPlugins }, { step: "Add options setting event", fn: async.addOptionsEvent } -]; \ No newline at end of file +]; diff --git a/packages/browser-sync-ui/lib/async.js b/packages/browser-sync-ui/lib/async.js index c55c79cc6..681c95998 100644 --- a/packages/browser-sync-ui/lib/async.js +++ b/packages/browser-sync-ui/lib/async.js @@ -7,22 +7,27 @@ module.exports = { * @param ui * @param done */ - findAFreePort: function (ui, done) { + findAFreePort: function(ui, done) { var port = ui.options.get("port"); var listenHost = ui.options.get("listen", "localhost"); - ui.bs.utils.portscanner.findAPortNotInUse(port, port + 100, { - host: listenHost, - timeout: 1000 - }, function (err, port) { - if (err) { - return done(err); - } - done(null, { - options: { - port: port + ui.bs.utils.portscanner.findAPortNotInUse( + port, + port + 100, + { + host: listenHost, + timeout: 1000 + }, + function(err, port) { + if (err) { + return done(err); } - }); - }); + done(null, { + options: { + port: port + } + }); + } + ); }, /** * Default hooks do things like creating/joining JS files & @@ -30,21 +35,20 @@ module.exports = { * @param ui * @param done */ - initDefaultHooks: function (ui, done) { - + initDefaultHooks: function(ui, done) { var out = ui.pluginManager.hook("page", ui); done(null, { instance: { - clientJs: ui.pluginManager.hook("client:js", ui), - templates: ui.pluginManager.hook("templates", ui.getInitialTemplates(), ui), + clientJs: ui.pluginManager.hook("client:js", ui), + templates: ui.pluginManager.hook("templates", ui.getInitialTemplates(), ui), pagesConfig: out.pagesConfig, - pages: out.pagesObj, - pageMarkup: out.pageMarkup + pages: out.pagesObj, + pageMarkup: out.pageMarkup } }); }, - setBsOptions: function (ui, done) { + setBsOptions: function(ui, done) { done(null, { options: { bs: Immutable.Map({ @@ -58,13 +62,12 @@ module.exports = { * @param ui * @param done */ - setUrlOptions: function (ui, done) { - - var port = ui.options.get("port"); - var bsUrls = ui.bs.getOptionIn(["urls"]).toJS(); - var listenHost = ui.bs.options.get("listen", "localhost"); + setUrlOptions: function(ui, done) { + var port = ui.options.get("port"); + var bsUrls = ui.bs.getOptionIn(["urls"]).toJS(); + var listenHost = ui.bs.options.get("listen", "localhost"); - var urls = { + var urls = { ui: "http://" + listenHost + ":" + port }; @@ -85,11 +88,10 @@ module.exports = { * @param ui * @param done */ - startServer: function (ui, done) { - - var bs = ui.bs; - var port = ui.options.get("port"); - var listenHost = ui.options.get("listen"); + startServer: function(ui, done) { + var bs = ui.bs; + var port = ui.options.get("port"); + var listenHost = ui.options.get("listen"); ui.logger.debug("Using port %s", port); @@ -103,14 +105,14 @@ module.exports = { } }); - require('server-destroy')(server.server); + require("server-destroy")(server.server); - bs.registerCleanupTask(function () { + bs.registerCleanupTask(function() { if (server.server) { server.server.destroy(); } if (ui.servers) { - Object.keys(ui.servers).forEach(function (key) { + Object.keys(ui.servers).forEach(function(key) { if (ui.servers[key].server) { ui.servers[key].server.destroy(); } @@ -124,17 +126,15 @@ module.exports = { app: server.app } }); - }, /** * Allow an API for adding/removing elements to clients * @param ui * @param done */ - addElementEvents: function (ui, done) { - + addElementEvents: function(ui, done) { var elems = ui.pluginManager.hook("elements"); - var bs = ui.bs; + var bs = ui.bs; if (!Object.keys(elems).length) { return done(); @@ -144,9 +144,9 @@ module.exports = { done(null, { instance: { - enableElement: require("./client-elements").enable(ui.clients, ui, bs), + enableElement: require("./client-elements").enable(ui.clients, ui, bs), disableElement: require("./client-elements").disable(ui.clients, ui, bs), - addElement: require("./client-elements").addElement + addElement: require("./client-elements").addElement } }); }, @@ -155,8 +155,8 @@ module.exports = { * @param ui * @param done */ - registerPlugins: function (ui, done) { - Object.keys(ui.defaultPlugins).forEach(function (key) { + registerPlugins: function(ui, done) { + Object.keys(ui.defaultPlugins).forEach(function(key) { ui.pluginManager.get(key)(ui, ui.bs); }); done(); @@ -167,28 +167,25 @@ module.exports = { * @param ui * @param done */ - addOptionsEvent: function (ui, done) { - + addOptionsEvent: function(ui, done) { var bs = ui.bs; - ui.clients.on("connection", function (client) { - + ui.clients.on("connection", function(client) { client.emit("ui:connection", ui.options.toJS()); - ui.options.get("clientFiles").map(function (item) { + ui.options.get("clientFiles").map(function(item) { if (item.get("active")) { ui.addElement(client, item.toJS()); } }); }); - ui.socket.on("connection", function (client) { - + ui.socket.on("connection", function(client) { client.emit("connection", bs.getOptions().toJS()); client.emit("ui:connection", ui.options.toJS()); - client.on("ui:get:options", function () { + client.on("ui:get:options", function() { client.emit("ui:receive:options", { bs: bs.getOptions().toJS(), ui: ui.options.toJS() @@ -196,11 +193,11 @@ module.exports = { }); // proxy client events - client.on("ui:client:proxy", function (evt) { + client.on("ui:client:proxy", function(evt) { ui.clients.emit(evt.event, evt.data); }); - client.on("ui", function (data) { + client.on("ui", function(data) { ui.delegateEvent(data); }); }); diff --git a/packages/browser-sync-ui/lib/client-elements.js b/packages/browser-sync-ui/lib/client-elements.js index 6c8b615f7..cb8ac8454 100644 --- a/packages/browser-sync-ui/lib/client-elements.js +++ b/packages/browser-sync-ui/lib/client-elements.js @@ -11,34 +11,31 @@ const CLIENT_FILES_OPT = "clientFiles"; */ var types = { - "css": "text/css", - "js": "application/javascript" + css: "text/css", + js: "application/javascript" }; -function enableElement (clients, ui, bs) { - - return function (file) { - - var uiItem = ui.getOptionIn([CLIENT_FILES_OPT, file.name]); - var item = uiItem.toJS(); +function enableElement(clients, ui, bs) { + return function(file) { + var uiItem = ui.getOptionIn([CLIENT_FILES_OPT, file.name]); + var item = uiItem.toJS(); var enableFn = uiItem.getIn(["callbacks", "enable"]); if (item.active) { return; } - ui.setOptionIn([CLIENT_FILES_OPT, item.name, "active"], true, {silent: true}); + ui.setOptionIn([CLIENT_FILES_OPT, item.name, "active"], true, { silent: true }); if (enableFn) { enableFn.call(ui, item); } if (item.file && !item.served) { - - ui.setOptionIn([CLIENT_FILES_OPT, item.name, "served"], true, {silent: true}); + ui.setOptionIn([CLIENT_FILES_OPT, item.name, "served"], true, { silent: true }); bs.serveFile(item.src, { - type: types[item.type], + type: types[item.type], content: fs.readFileSync(item.file) }); } @@ -52,18 +49,17 @@ function enableElement (clients, ui, bs) { * @param ui * @returns {Function} */ -function disableElement (clients, ui) { - - return function (file) { - var uiItem = ui.getOptionIn([CLIENT_FILES_OPT, file.name]); - var item = uiItem.toJS(); +function disableElement(clients, ui) { + return function(file) { + var uiItem = ui.getOptionIn([CLIENT_FILES_OPT, file.name]); + var item = uiItem.toJS(); var disableFn = uiItem.getIn(["callbacks", "disable"]); if (disableFn) { disableFn.call(ui, item); } - ui.setOptionIn([CLIENT_FILES_OPT, item.name, "active"], false, {silent: true}); + ui.setOptionIn([CLIENT_FILES_OPT, item.name, "active"], false, { silent: true }); removeElement(clients, item.id); }; @@ -73,8 +69,7 @@ function disableElement (clients, ui) { * @param clients * @param item */ -function addElement (clients, item) { - +function addElement(clients, item) { clients.emit("ui:element:add", item); } @@ -83,12 +78,10 @@ function addElement (clients, item) { * @param id */ function removeElement(clients, id) { - - clients.emit("ui:element:remove", {id: id}); + clients.emit("ui:element:remove", { id: id }); } -module.exports.addElement = addElement; +module.exports.addElement = addElement; module.exports.removeElement = removeElement; -module.exports.enable = enableElement; -module.exports.disable = disableElement; - +module.exports.enable = enableElement; +module.exports.disable = disableElement; diff --git a/packages/browser-sync-ui/lib/client-js.js b/packages/browser-sync-ui/lib/client-js.js index a7c6c3503..de854d284 100644 --- a/packages/browser-sync-ui/lib/client-js.js +++ b/packages/browser-sync-ui/lib/client-js.js @@ -1,15 +1,13 @@ "use strict"; -(function (window, document, bs, undefined) { - +(function(window, document, bs, undefined) { var socket = bs.socket; var uiOptions = { bs: {} }; - socket.on("ui:connection", function (options) { - + socket.on("ui:connection", function(options) { uiOptions = options; bs.socket.emit("ui:history:connected", { @@ -17,7 +15,7 @@ }); }); - socket.on("ui:element:remove", function (data) { + socket.on("ui:element:remove", function(data) { if (data.id) { var elem = document.getElementById(data.id); if (elem) { @@ -26,13 +24,13 @@ } }); - socket.on("highlight", function () { + socket.on("highlight", function() { var id = "__browser-sync-highlight__"; var elem = document.getElementById(id); if (elem) { return removeElement(elem); } - (function (e) { + (function(e) { e.style.position = "fixed"; e.style.zIndex = "1000"; e.style.width = "100%"; @@ -47,8 +45,7 @@ })(document.createElement("div")); }); - socket.on("ui:element:add", function (data) { - + socket.on("ui:element:add", function(data) { var elem = document.getElementById(data.id); if (!elem) { @@ -65,11 +62,11 @@ }); bs.addDomNode = addDomNode; - bs.addJs = addJs; - bs.addCss = addJs; + bs.addJs = addJs; + bs.addCss = addJs; function addJs(data) { - (function (e) { + (function(e) { e.setAttribute("src", getAbsoluteUrl(data.src)); e.setAttribute("id", data.id); document.getElementsByTagName("body")[0].appendChild(e); @@ -77,10 +74,10 @@ } function addCss(data) { - (function (e) { - e.setAttribute("rel", "stylesheet"); + (function(e) { + e.setAttribute("rel", "stylesheet"); e.setAttribute("type", "text/css"); - e.setAttribute("id", data.id); + e.setAttribute("id", data.id); e.setAttribute("media", "all"); e.setAttribute("href", getAbsoluteUrl(data.src)); document.getElementsByTagName("head")[0].appendChild(e); @@ -90,7 +87,7 @@ function addDomNode(data) { var elem = document.createElement(data.tagName); for (var attr in data.attrs) { - elem.setAttribute(attr, data.attrs[attr]); + elem.setAttribute(attr, data.attrs[attr]); } if (data.placement) { document.getElementsByTagName(data.placement)[0].appendChild(elem); @@ -113,8 +110,9 @@ return [window.location.protocol, "//", getHost(), path].join(""); } - function getHost () { - return uiOptions.bs.mode === "snippet" ? window.location.hostname + ":" + uiOptions.bs.port : window.location.host; + function getHost() { + return uiOptions.bs.mode === "snippet" + ? window.location.hostname + ":" + uiOptions.bs.port + : window.location.host; } - })(window, document, ___browserSync___); diff --git a/packages/browser-sync-ui/lib/config.js b/packages/browser-sync-ui/lib/config.js index 46dde677e..3680df3d0 100644 --- a/packages/browser-sync-ui/lib/config.js +++ b/packages/browser-sync-ui/lib/config.js @@ -5,19 +5,19 @@ var Immutable = require("immutable"); * @type {{pluginName: string, indexPage: string, socketJs: string, appJs: string, connector: string}} */ var defaults = { - pluginName: "UI", - indexPage: "/index.html", - socketJs: "/js/vendor/socket.js", - appJs: "/js/dist/app.js", - app: "/app.js", - appExtraJs: "/js/app-extra.js", - connector: "/js/connector.js", + pluginName: "UI", + indexPage: "/index.html", + socketJs: "/js/vendor/socket.js", + appJs: "/js/dist/app.js", + app: "/app.js", + appExtraJs: "/js/app-extra.js", + connector: "/js/connector.js", pagesConfig: "/js/pages-config.js", public: { svg: "/img/icons/icons.svg", css: "/css/core.min.css" }, - clientJs: "/lib/client-js.js", + clientJs: "/lib/client-js.js", socket: { namespace: "/browser-sync-cp" }, @@ -33,8 +33,6 @@ module.exports.defaults = defaults; * @param [userConfig] * @returns {Map} */ -module.exports.merge = function (userConfig) { - return Immutable - .fromJS(defaults) - .mergeDeep(userConfig); -}; \ No newline at end of file +module.exports.merge = function(userConfig) { + return Immutable.fromJS(defaults).mergeDeep(userConfig); +}; diff --git a/packages/browser-sync-ui/lib/directive-stripper.js b/packages/browser-sync-ui/lib/directive-stripper.js index 72e4fe302..dd6a2293f 100644 --- a/packages/browser-sync-ui/lib/directive-stripper.js +++ b/packages/browser-sync-ui/lib/directive-stripper.js @@ -1,7 +1,7 @@ -var tokenize = require("html-tokenize"); -var through2 = require("through2"); -var vinyl = require("vinyl"); -var select = require("html-select"); +var tokenize = require("html-tokenize"); +var through2 = require("through2"); +var vinyl = require("vinyl"); +var select = require("html-select"); /** * @param config @@ -10,21 +10,25 @@ var select = require("html-select"); * @param done */ function directiveStripper(config, item, markup, done) { - var replacer = getReplacer(item, config); var chunks = []; new vinyl({ - contents: new Buffer(markup) - }) + contents: new Buffer(markup) + }) .pipe(tokenize()) .pipe(replacer) - .pipe(through2.obj(function (row, buf, next) { - chunks.push(row[1]); - next(); - }, function () { - done(null, chunks.join("")); - })); + .pipe( + through2.obj( + function(row, buf, next) { + chunks.push(row[1]); + next(); + }, + function() { + done(null, chunks.join("")); + } + ) + ); replacer.resume(); } @@ -34,16 +38,13 @@ function directiveStripper(config, item, markup, done) { * @param item * @returns {*|exports} */ -function getReplacer (name, markup) { - - return select(name, function (e) { - - var tr = through2.obj(function (row, buf, next) { - +function getReplacer(name, markup) { + return select(name, function(e) { + var tr = through2.obj(function(row, buf, next) { if (row[0] === "open") { this.push([row[0], directive(name, String(row[1]), markup)]); } else { - this.push([ row[0], "" ]); + this.push([row[0], ""]); } next(); @@ -59,8 +60,7 @@ function getReplacer (name, markup) { * @param item * @returns {*|string} */ -function directive (name, content, item) { - +function directive(name, content, item) { var angularDir; try { angularDir = require("../src/scripts/directives/" + name)(); @@ -73,7 +73,7 @@ function directive (name, content, item) { scope = angularDir.link(scope, {}, {}); - return angularDir.template.replace(/\{\{(.+?)\}\}/, function ($1, $2) { + return angularDir.template.replace(/\{\{(.+?)\}\}/, function($1, $2) { if ($2 in scope) { return scope[$2]; } @@ -81,6 +81,6 @@ function directive (name, content, item) { }); } -module.exports.getReplacer = getReplacer; -module.exports.directive = directive; -module.exports.directiveStripper = directiveStripper; \ No newline at end of file +module.exports.getReplacer = getReplacer; +module.exports.directive = directive; +module.exports.directiveStripper = directiveStripper; diff --git a/packages/browser-sync-ui/lib/hooks.js b/packages/browser-sync-ui/lib/hooks.js index 4cd85491b..38eb656e1 100644 --- a/packages/browser-sync-ui/lib/hooks.js +++ b/packages/browser-sync-ui/lib/hooks.js @@ -1,13 +1,16 @@ -var fs = require("fs"); -var path = require("path"); +var fs = require("fs"); +var path = require("path"); -var pluginTmpl = templateFile("/plugin.tmpl"); -var configTmpl = templateFile("/config.tmpl"); -var configItem = templateFile("/config.item.tmpl"); -var inlineTemp = templateFile("/inline.template.tmpl"); -var pluginItemTmpl = fs.readFileSync(path.resolve(__dirname, "../", "templates/plugin.item.tmpl"), "utf-8"); +var pluginTmpl = templateFile("/plugin.tmpl"); +var configTmpl = templateFile("/config.tmpl"); +var configItem = templateFile("/config.item.tmpl"); +var inlineTemp = templateFile("/inline.template.tmpl"); +var pluginItemTmpl = fs.readFileSync( + path.resolve(__dirname, "../", "templates/plugin.item.tmpl"), + "utf-8" +); -function templateFile (filepath) { +function templateFile(filepath) { return fs.readFileSync(path.join(__dirname, "/../templates", filepath || ""), "utf-8"); } @@ -20,31 +23,21 @@ module.exports = { * @param hooks * @param ui */ - "page": function (hooks, ui) { - - var config = hooks - .map(transformConfig) - .reduce(createConfigItem, {}); + page: function(hooks, ui) { + var config = hooks.map(transformConfig).reduce(createConfigItem, {}); return { /** * pagesConfig - This is the angular configuration such as routes */ pagesConfig: configTmpl - .replace("%when%", hooks.reduce( - createAngularRoutes, - "" - )) - .replace("%pages%", JSON.stringify( - config, - null, - 4 - )), + .replace("%when%", hooks.reduce(createAngularRoutes, "")) + .replace("%pages%", JSON.stringify(config, null, 4)), /** * pagesConfig in object form */ pagesObj: config, - pageMarkup: function () { + pageMarkup: function() { return preAngular(ui.pluginManager.plugins, config, ui); } }; @@ -54,7 +47,7 @@ module.exports = { * @param hooks * @returns {*} */ - "markup": function (hooks) { + markup: function(hooks) { return hooks.reduce(pluginTemplate, ""); }, /** @@ -62,24 +55,23 @@ module.exports = { * @param {UI} ui * @returns {*|string} */ - "client:js": function (hooks, ui) { - + "client:js": function(hooks, ui) { /** * Add client JS from Browsersync Plugins */ - ui.bsPlugins.forEach(function (plugin) { + ui.bsPlugins.forEach(function(plugin) { if (plugin.has("client:js")) { - plugin.get("client:js").forEach(function (value) { + plugin.get("client:js").forEach(function(value) { hooks.push(value); }); } }); - var out = hooks.reduce(function (all, item) { + var out = hooks.reduce(function(all, item) { if (typeof item === "string") { all += ";" + item; } else if (Array.isArray(item)) { - item.forEach(function (item) { + item.forEach(function(item) { all += ";" + item; }); } @@ -94,14 +86,12 @@ module.exports = { * @param {UI} ui * @returns {String} */ - "templates": function (hooks, initial, ui) { - + templates: function(hooks, initial, ui) { /** * Add templates from each Browsersync registered plugin * @type {string} */ - var pluginDirectives = ui.bsPlugins.reduce(function (all, plugin) { - + var pluginDirectives = ui.bsPlugins.reduce(function(all, plugin) { if (!plugin.has("templates")) { return all; } @@ -112,10 +102,11 @@ module.exports = { * = test-browsersync-plugin * @type {string} */ - var slug = plugin.get("name") + var slug = plugin + .get("name") .trim() .split(" ") - .map(function (word) { + .map(function(word) { return word.trim().toLowerCase(); }) .join("-"); @@ -125,12 +116,11 @@ module.exports = { * the markup in the * markup to result in the single output string. */ - plugin.get("templates").forEach(function (value, key) { - all += angularWrap([slug, path.basename(key)].join("/"), value); + plugin.get("templates").forEach(function(value, key) { + all += angularWrap([slug, path.basename(key)].join("/"), value); }); return all; - }, ""); /** @@ -145,10 +135,10 @@ module.exports = { * @param hooks * @returns {{}} */ - "elements": function (hooks) { + elements: function(hooks) { var obj = {}; - hooks.forEach(function (elements) { - elements.forEach(function (item) { + hooks.forEach(function(elements) { + elements.forEach(function(item) { if (!obj[item.name]) { obj[item.name] = item; } @@ -162,13 +152,14 @@ module.exports = { * @param hooks * @returns {String} */ -function createInlineTemplates (hooks) { - return hooks.reduce(function (combined, item) { - return combined + item.reduce(function (all, filepath) { - return all + angularWrap( - path.basename(filepath), - fs.readFileSync(filepath)); - }, ""); +function createInlineTemplates(hooks) { + return hooks.reduce(function(combined, item) { + return ( + combined + + item.reduce(function(all, filepath) { + return all + angularWrap(path.basename(filepath), fs.readFileSync(filepath)); + }, "") + ); }, ""); } @@ -176,7 +167,7 @@ function createInlineTemplates (hooks) { * @param item * @returns {*} */ -function transformConfig (item) { +function transformConfig(item) { return item; } @@ -186,12 +177,15 @@ function transformConfig (item) { * @returns {*} */ function createAngularRoutes(all, item) { - return all + configItem.replace(/%(.+)%/g, function () { - var key = arguments[1]; - if (item[key]) { - return item[key]; - } - }); + return ( + all + + configItem.replace(/%(.+)%/g, function() { + var key = arguments[1]; + if (item[key]) { + return item[key]; + } + }) + ); } /** @@ -199,7 +193,7 @@ function createAngularRoutes(all, item) { * @param item * @returns {*} */ -function createConfigItem (joined, item) { +function createConfigItem(joined, item) { if (item.path === "/") { joined["overview"] = item; } else { @@ -211,7 +205,7 @@ function createConfigItem (joined, item) { /** * @returns {*} */ -function pluginTemplate (combined, item) { +function pluginTemplate(combined, item) { return [combined, pluginTmpl.replace("%markup%", item)].join("\n"); } @@ -220,15 +214,14 @@ function pluginTemplate (combined, item) { * @param config * @returns {*} */ -function preAngular (plugins, config, ui) { - +function preAngular(plugins, config, ui) { return Object.keys(plugins) - .filter(function (key) { + .filter(function(key) { return config[key]; // only work on plugins that have pages }) - .map(function (key) { + .map(function(key) { if (key === "plugins") { - var pluginMarkup = ui.bsPlugins.reduce(function (all, item, i) { + var pluginMarkup = ui.bsPlugins.reduce(function(all, item, i) { all += pluginItemTmpl .replace("%content%", item.get("markup") || "") .replace(/%index%/g, i) @@ -236,11 +229,17 @@ function preAngular (plugins, config, ui) { return all; }, ""); - plugins[key].hooks.markup = plugins[key].hooks.markup.replace("%pluginlist%", pluginMarkup); + plugins[key].hooks.markup = plugins[key].hooks.markup.replace( + "%pluginlist%", + pluginMarkup + ); } - return angularWrap(config[key].template, bindOnce(plugins[key].hooks.markup, config[key])); + return angularWrap( + config[key].template, + bindOnce(plugins[key].hooks.markup, config[key]) + ); }) - .reduce(function (combined, item) { + .reduce(function(combined, item) { return combined + item; }, ""); } @@ -250,10 +249,8 @@ function preAngular (plugins, config, ui) { * @param markup * @returns {*} */ -function angularWrap (templateName, markup) { - return inlineTemp - .replace("%content%", markup) - .replace("%id%", templateName); +function angularWrap(templateName, markup) { + return inlineTemp.replace("%content%", markup).replace("%id%", templateName); } /** @@ -261,11 +258,10 @@ function angularWrap (templateName, markup) { * @param config * @returns {*|string} */ -function bindOnce (markup, config) { - return markup.toString().replace(/\{\{ctrl.section\.(.+?)\}\}/g, function ($1, $2) { +function bindOnce(markup, config) { + return markup.toString().replace(/\{\{ctrl.section\.(.+?)\}\}/g, function($1, $2) { return config[$2] || ""; }); } module.exports.bindOnce = bindOnce; - diff --git a/packages/browser-sync-ui/lib/opts.js b/packages/browser-sync-ui/lib/opts.js index 3263ace59..d42d15c9e 100644 --- a/packages/browser-sync-ui/lib/opts.js +++ b/packages/browser-sync-ui/lib/opts.js @@ -1,4 +1,4 @@ -var Immutable = require("immutable"); +var Immutable = require("immutable"); var defaults = Immutable.fromJS({ port: 3001 @@ -8,7 +8,7 @@ var defaults = Immutable.fromJS({ * @param {Object} obj * @returns {Map} */ -module.exports.merge = function (obj) { +module.exports.merge = function(obj) { return defaults.mergeDeep(Immutable.fromJS(obj)); }; @@ -25,4 +25,4 @@ module.exports.merge = function (obj) { // }); // // return out; -//} \ No newline at end of file +//} diff --git a/packages/browser-sync-ui/lib/plugins/connections/connections.client.js b/packages/browser-sync-ui/lib/plugins/connections/connections.client.js index 65bc7a8b1..335d0a6a0 100644 --- a/packages/browser-sync-ui/lib/plugins/connections/connections.client.js +++ b/packages/browser-sync-ui/lib/plugins/connections/connections.client.js @@ -1,13 +1,9 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "connections"; angular .module("BrowserSync") - .controller("ConnectionsController", [ - "pagesConfig", - ConnectionsControllers - ]); + .controller("ConnectionsController", ["pagesConfig", ConnectionsControllers]); /** * @param pagesConfig @@ -18,19 +14,17 @@ ctrl.section = pagesConfig[SECTION_NAME]; } - angular - .module("BrowserSync") - .directive("connectionList", function () { - return { - restrict: "E", - scope: { - options: "=" - }, - templateUrl: "connections.directive.html", - controller: ["$scope", "Clients", "Socket", connectionListDirective], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("connectionList", function() { + return { + restrict: "E", + scope: { + options: "=" + }, + templateUrl: "connections.directive.html", + controller: ["$scope", "Clients", "Socket", connectionListDirective], + controllerAs: "ctrl" + }; + }); /** * Controller for the URL sync @@ -39,31 +33,28 @@ * @param Socket */ function connectionListDirective($scope, Clients, Socket) { - var ctrl = this; ctrl.connections = []; - ctrl.update = function (data) { + ctrl.update = function(data) { ctrl.connections = data; $scope.$digest(); }; // Always try to retreive the sockets first time. - Socket.getData("clients").then(function (data) { + Socket.getData("clients").then(function(data) { ctrl.connections = data; }); // Listen to events to update the list on the fly Socket.on("ui:connections:update", ctrl.update); - $scope.$on("$destroy", function () { + $scope.$on("$destroy", function() { Socket.off("ui:connections:update", ctrl.update); }); - ctrl.highlight = function (connection) { + ctrl.highlight = function(connection) { Clients.highlight(connection); }; } - })(angular); - diff --git a/packages/browser-sync-ui/lib/plugins/connections/connections.directive.html b/packages/browser-sync-ui/lib/plugins/connections/connections.directive.html index 776d99bdb..ea90530a5 100644 --- a/packages/browser-sync-ui/lib/plugins/connections/connections.directive.html +++ b/packages/browser-sync-ui/lib/plugins/connections/connections.directive.html @@ -7,4 +7,4 @@ --> - \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/connections/connections.html b/packages/browser-sync-ui/lib/plugins/connections/connections.html index b16ec2cba..4080c809f 100644 --- a/packages/browser-sync-ui/lib/plugins/connections/connections.html +++ b/packages/browser-sync-ui/lib/plugins/connections/connections.html @@ -3,16 +3,24 @@

{{section.title}}

-

Connected devices/browsers will be listed here. If you are not seeing your device in the list, - it's probably because the Browsersync script tag is not being loaded on your page.

- Browsersync works by injecting an asynchronous script tag (<script async>...</script>) right after the <body> tag during initial request. In order for this to work properly the <body> tag must be present. Alternatively you can provide a custom rule for the snippet using snippetOptions + Connected devices/browsers will be listed here. If you are not seeing your device in the + list, it's probably because the Browsersync script tag is not being loaded on your page. +

+

+ Browsersync works by injecting an asynchronous script tag (<script async>...</script>) right after the <body> tag during initial request. In order for this to work + properly the <body> tag must be present. Alternatively you can provide a custom + rule for the snippet using snippetOptions

- +
diff --git a/packages/browser-sync-ui/lib/plugins/connections/connections.plugin.js b/packages/browser-sync-ui/lib/plugins/connections/connections.plugin.js index a6ebd0f9a..99ba214de 100644 --- a/packages/browser-sync-ui/lib/plugins/connections/connections.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/connections/connections.plugin.js @@ -10,17 +10,15 @@ module.exports = { * @param {UI} ui * @param {BrowserSync} bs */ - "plugin": function (ui, bs) { + plugin: function(ui, bs) { connections.init(ui, bs); }, /** * Hooks */ - "hooks": { + hooks: { "client:js": fileContent("/connections.client.js"), - "templates": [ - getPath("/connections.directive.html") - ] + templates: [getPath("/connections.directive.html")] }, /** * Plugin name @@ -32,7 +30,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -40,6 +38,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/connections/lib/connections.js b/packages/browser-sync-ui/lib/plugins/connections/lib/connections.js index 68baeebf4..387ab2b3e 100644 --- a/packages/browser-sync-ui/lib/plugins/connections/lib/connections.js +++ b/packages/browser-sync-ui/lib/plugins/connections/lib/connections.js @@ -5,22 +5,23 @@ var Immutable = require("immutable"); * @param {UI} ui * @param {BrowserSync} bs */ -module.exports.init = function (ui, bs) { - +module.exports.init = function(ui, bs) { var uaParser = new bs.utils.UAParser(); var currentConnections = []; - ui.clients.on("connection", function (client) { - client.on("client:heartbeat", function (data) { + ui.clients.on("connection", function(client) { + client.on("client:heartbeat", function(data) { var match; - if (currentConnections.some(function (item, index) { + if ( + currentConnections.some(function(item, index) { if (item.id === client.id) { match = index; return true; } return false; - })) { + }) + ) { if (typeof match === "number") { currentConnections[match].timestamp = new Date().getTime(); currentConnections[match].data = data; @@ -40,26 +41,32 @@ module.exports.init = function (ui, bs) { var temp; var initialSent; - var int = setInterval(function () { - + var int = setInterval(function() { var sockets = ui.clients.sockets; var keys = Object.keys(sockets); if (keys.length) { - temp = Immutable.List(keys.map(function (clientKey) { - var currentClient = sockets[clientKey]; - return Immutable.fromJS({ - id: currentClient.id, - browser: uaParser.setUA(currentClient.handshake.headers["user-agent"]).getBrowser() - }); - })); + temp = Immutable.List( + keys.map(function(clientKey) { + var currentClient = sockets[clientKey]; + return Immutable.fromJS({ + id: currentClient.id, + browser: uaParser + .setUA(currentClient.handshake.headers["user-agent"]) + .getBrowser() + }); + }) + ); if (!registry) { registry = temp; sendUpdated(ui.socket, decorateClients(registry.toJS(), currentConnections)); } else { if (Immutable.is(registry, temp)) { if (!initialSent) { - sendUpdated(ui.socket, decorateClients(registry.toJS(), currentConnections)); + sendUpdated( + ui.socket, + decorateClients(registry.toJS(), currentConnections) + ); initialSent = true; } } else { @@ -70,15 +77,13 @@ module.exports.init = function (ui, bs) { } else { sendUpdated(ui.socket, []); } - }, 1000); - bs.registerCleanupTask(function () { + bs.registerCleanupTask(function() { clearInterval(int); }); }; - /** * Use heart-beated data to decorate clients * @param clients @@ -86,8 +91,8 @@ module.exports.init = function (ui, bs) { * @returns {*} */ function decorateClients(clients, clientsInfo) { - return clients.map(function (item) { - clientsInfo.forEach(function (client) { + return clients.map(function(item) { + clientsInfo.forEach(function(client) { if (client.id === item.id) { item.data = client.data; return false; @@ -129,4 +134,4 @@ function sendUpdated(socket, connectedClients) { // } // }); // return match; -//} \ No newline at end of file +//} diff --git a/packages/browser-sync-ui/lib/plugins/help/help.client.js b/packages/browser-sync-ui/lib/plugins/help/help.client.js index 27e5e0c0d..4a09055fa 100644 --- a/packages/browser-sync-ui/lib/plugins/help/help.client.js +++ b/packages/browser-sync-ui/lib/plugins/help/help.client.js @@ -1,14 +1,9 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "history"; angular .module("BrowserSync") - .controller("HelpAboutController", [ - "options", - "pagesConfig", - helpAboutController - ]); + .controller("HelpAboutController", ["options", "pagesConfig", helpAboutController]); /** * @param options @@ -19,6 +14,4 @@ ctrl.options = options.bs; ctrl.section = pagesConfig[SECTION_NAME]; } - })(angular); - diff --git a/packages/browser-sync-ui/lib/plugins/help/help.html b/packages/browser-sync-ui/lib/plugins/help/help.html index 387afa3ab..27ecc48c9 100644 --- a/packages/browser-sync-ui/lib/plugins/help/help.html +++ b/packages/browser-sync-ui/lib/plugins/help/help.html @@ -5,4 +5,4 @@

{{ctrl.section.title}}

Help page

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/help/help.plugin.js b/packages/browser-sync-ui/lib/plugins/help/help.plugin.js index 5467c34ec..7baa973e3 100644 --- a/packages/browser-sync-ui/lib/plugins/help/help.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/help/help.plugin.js @@ -7,17 +7,15 @@ module.exports = { /** * Plugin init */ - "plugin": function () {}, + plugin: function() {}, /** * Hooks */ - "hooks": { - "markup": fileContent("/../../../static/content/help.content.html"), + hooks: { + markup: fileContent("/../../../static/content/help.content.html"), "client:js": fileContent("/help.client.js"), - "templates": [ - getPath("/help.directive.html") - ], - "page": { + templates: [getPath("/help.directive.html")], + page: { path: "/help", title: PLUGIN_NAME, template: "help.html", @@ -36,7 +34,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -44,6 +42,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/history/history.client.js b/packages/browser-sync-ui/lib/plugins/history/history.client.js index 0a1d04367..8fbc9b187 100644 --- a/packages/browser-sync-ui/lib/plugins/history/history.client.js +++ b/packages/browser-sync-ui/lib/plugins/history/history.client.js @@ -1,5 +1,4 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "history"; angular @@ -19,46 +18,43 @@ * @param pagesConfig */ function historyController($scope, options, History, pagesConfig) { - - var ctrl = this; + var ctrl = this; ctrl.options = options.bs; ctrl.section = pagesConfig[SECTION_NAME]; ctrl.visited = []; - ctrl.update = function (items) { + ctrl.update = function(items) { ctrl.visited = items; $scope.$digest(); }; - History.get().then(function (items) { + History.get().then(function(items) { ctrl.visited = items; }); History.on("change", ctrl.update); - $scope.$on("$destroy", function () { + $scope.$on("$destroy", function() { History.off(ctrl.update); }); - ctrl.clearVisited = function () { + ctrl.clearVisited = function() { History.clear(); }; } - angular - .module("BrowserSync") - .directive("historyList", function () { - return { - restrict: "E", - scope: { - options: "=", - visited: "=" - }, - templateUrl: "history.directive.html", - controller: ["$scope", "History", "Clients", historyDirective], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("historyList", function() { + return { + restrict: "E", + scope: { + options: "=", + visited: "=" + }, + templateUrl: "history.directive.html", + controller: ["$scope", "History", "Clients", historyDirective], + controllerAs: "ctrl" + }; + }); /** * Controller for the URL sync @@ -67,45 +63,42 @@ * @param Clients */ function historyDirective($scope, History, Clients) { - var ctrl = this; ctrl.visited = []; ctrl.utils = {}; - ctrl.utils.localUrl = function (path) { + ctrl.utils.localUrl = function(path) { return [$scope.options.urls.local, path].join(""); }; - ctrl.updateVisited = function (data) { + ctrl.updateVisited = function(data) { ctrl.visited = data; $scope.$digest(); }; - ctrl.sendAllTo = function (url) { + ctrl.sendAllTo = function(url) { url.success = true; Clients.sendAllTo(url.path); - setTimeout(function () { + setTimeout(function() { url.success = false; $scope.$digest(); }, 1000); }; - ctrl.removeVisited = function (item) { + ctrl.removeVisited = function(item) { History.remove(item); }; - History.get().then(function (items) { + History.get().then(function(items) { ctrl.visited = items; }); History.on("change", ctrl.updateVisited); - $scope.$on("$destroy", function () { + $scope.$on("$destroy", function() { History.off(ctrl.updateVisited); }); } - })(angular); - diff --git a/packages/browser-sync-ui/lib/plugins/history/history.directive.html b/packages/browser-sync-ui/lib/plugins/history/history.directive.html index ad72102bd..6f995d127 100644 --- a/packages/browser-sync-ui/lib/plugins/history/history.directive.html +++ b/packages/browser-sync-ui/lib/plugins/history/history.directive.html @@ -3,18 +3,19 @@

{{url.path}}

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/history/history.html b/packages/browser-sync-ui/lib/plugins/history/history.html index 8e181d40d..405732e9e 100644 --- a/packages/browser-sync-ui/lib/plugins/history/history.html +++ b/packages/browser-sync-ui/lib/plugins/history/history.html @@ -2,15 +2,21 @@

{{ctrl.section.title}}

-
-

Pages you navigate to will appear here - making it easy - to sync all devices to a specific page

+

+ Pages you navigate to will appear here - making it easy to sync all devices to a + specific page +

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/history/history.js b/packages/browser-sync-ui/lib/plugins/history/history.js index ed489c642..e7d5aaddb 100644 --- a/packages/browser-sync-ui/lib/plugins/history/history.js +++ b/packages/browser-sync-ui/lib/plugins/history/history.js @@ -1,8 +1,7 @@ -var url = require("url"); +var url = require("url"); var Immutable = require("immutable"); -module.exports.init = function (ui, bs) { - +module.exports.init = function(ui, bs) { var validUrls = Immutable.OrderedSet(); var methods = { @@ -10,7 +9,7 @@ module.exports.init = function (ui, bs) { * Send the url list to UI * @param urls */ - sendUpdatedUrls: function (urls) { + sendUpdatedUrls: function(urls) { ui.socket.emit("ui:history:update", decorateUrls(urls)); }, /** @@ -18,7 +17,7 @@ module.exports.init = function (ui, bs) { * @param current * @param temp */ - sendUpdatedIfChanged: function (current, temp) { + sendUpdatedIfChanged: function(current, temp) { if (!Immutable.is(current, temp)) { validUrls = temp; methods.sendUpdatedUrls(validUrls); @@ -29,13 +28,12 @@ module.exports.init = function (ui, bs) { * in case we need to limit/check anything. * @param data */ - sendToUrl: function (data) { - + sendToUrl: function(data) { var parsed = url.parse(data.path); data.override = true; data.path = parsed.path; - data.url = parsed.href; + data.url = parsed.href; ui.clients.emit("browser:location", data); }, @@ -43,7 +41,7 @@ module.exports.init = function (ui, bs) { * Add a new path * @param data */ - addPath: function (data) { + addPath: function(data) { var temp = addPath(validUrls, url.parse(data.href), bs.options.get("mode")); methods.sendUpdatedIfChanged(validUrls, temp, ui.socket); }, @@ -51,34 +49,34 @@ module.exports.init = function (ui, bs) { * Remove a path * @param data */ - removePath: function (data) { + removePath: function(data) { var temp = removePath(validUrls, data.path); methods.sendUpdatedIfChanged(validUrls, temp, ui.socket); }, /** * Get the current list */ - getVisited: function () { + getVisited: function() { ui.socket.emit("ui:receive:visited", decorateUrls(validUrls)); } }; - ui.clients.on("connection", function (client) { + ui.clients.on("connection", function(client) { client.on("ui:history:connected", methods.addPath); }); - ui.socket.on("connection", function (uiClient) { + ui.socket.on("connection", function(uiClient) { /** * Send urls on first connection */ - uiClient.on("ui:get:visited", methods.getVisited); + uiClient.on("ui:get:visited", methods.getVisited); methods.sendUpdatedUrls(validUrls); }); ui.listen("history", { - "sendAllTo": methods.sendToUrl, - "remove": methods.removePath, - "clear": function () { + sendAllTo: methods.sendToUrl, + remove: methods.removePath, + clear: function() { validUrls = Immutable.OrderedSet([]); methods.sendUpdatedUrls(validUrls); } @@ -91,15 +89,18 @@ module.exports.init = function (ui, bs) { * @param {Immutable.Set} urls * @returns {Array} */ -function decorateUrls (urls) { +function decorateUrls(urls) { var count = 0; - return urls.map(function (value) { - count += 1; - return { - path: value, - key: count - }; - }).toJS().reverse(); + return urls + .map(function(value) { + count += 1; + return { + path: value, + key: count + }; + }) + .toJS() + .reverse(); } /** @@ -111,11 +112,7 @@ function decorateUrls (urls) { * @returns {Set} */ function addPath(immSet, urlObj, mode) { - return immSet.add( - mode === "snippet" - ? urlObj.href - : urlObj.path - ); + return immSet.add(mode === "snippet" ? urlObj.href : urlObj.path); } module.exports.addPath = addPath; diff --git a/packages/browser-sync-ui/lib/plugins/history/history.plugin.js b/packages/browser-sync-ui/lib/plugins/history/history.plugin.js index 2a2a52b8d..306d5dabf 100644 --- a/packages/browser-sync-ui/lib/plugins/history/history.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/history/history.plugin.js @@ -10,19 +10,17 @@ module.exports = { * @param ui * @param bs */ - "plugin": function (ui, bs) { + plugin: function(ui, bs) { ui.history = historyPlugin.init(ui, bs); }, /** * Hooks */ - "hooks": { - "markup": fileContent("history.html"), + hooks: { + markup: fileContent("history.html"), "client:js": fileContent("/history.client.js"), - "templates": [ - getPath("/history.directive.html") - ], - "page": { + templates: [getPath("/history.directive.html")], + page: { path: "/history", title: PLUGIN_NAME, template: "history.html", @@ -41,7 +39,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -49,6 +47,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.client.js b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.client.js index de1df97c4..0911c0eff 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.client.js +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.client.js @@ -1,5 +1,4 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "network-throttle"; angular @@ -18,23 +17,22 @@ * @param Socket * @param $scope */ - function NetworkThrottleController (options, pagesConfig, Socket, $scope) { - - var ctrl = this; + function NetworkThrottleController(options, pagesConfig, Socket, $scope) { + var ctrl = this; - ctrl.section = pagesConfig[SECTION_NAME]; - ctrl.options = options.bs; - ctrl.uiOptions = options.ui; + ctrl.section = pagesConfig[SECTION_NAME]; + ctrl.options = options.bs; + ctrl.uiOptions = options.ui; ctrl.clientFiles = options.ui.clientFiles || {}; - ctrl.section = pagesConfig[SECTION_NAME]; + ctrl.section = pagesConfig[SECTION_NAME]; - ctrl.throttle = ctrl.uiOptions[SECTION_NAME]; - ctrl.selected = ctrl.throttle.targets[0].id; - ctrl.servers = ctrl.throttle.servers; - ctrl.port = ""; - ctrl.portEntry = "auto"; + ctrl.throttle = ctrl.uiOptions[SECTION_NAME]; + ctrl.selected = ctrl.throttle.targets[0].id; + ctrl.servers = ctrl.throttle.servers; + ctrl.port = ""; + ctrl.portEntry = "auto"; ctrl.serverCount = Object.keys(ctrl.servers).length; - ctrl.blurs = []; + ctrl.blurs = []; ctrl.state = { success: false, @@ -42,15 +40,13 @@ classname: "ready" }; - ctrl.createServer = function (selected, event) { - + ctrl.createServer = function(selected, event) { if (ctrl.blurs.indexOf(event.target) === -1) { ctrl.blurs.push(event.target); } var item = getByProp(ctrl.throttle.targets, "id", ctrl.selected); - if (ctrl.portEntry === "auto") { return send(""); } @@ -75,14 +71,13 @@ send(ctrl.port); function setError() { - ctrl.state.waiting = false; + ctrl.state.waiting = false; ctrl.state.portError = true; } - function send (port) { - + function send(port) { ctrl.state.classname = "waiting"; - ctrl.state.waiting = true; + ctrl.state.waiting = true; Socket.uiEvent({ namespace: SECTION_NAME, @@ -95,7 +90,7 @@ } }; - ctrl.destroyServer = function (item, port) { + ctrl.destroyServer = function(item, port) { Socket.uiEvent({ namespace: SECTION_NAME, event: "server:destroy", @@ -106,15 +101,14 @@ }); }; - ctrl.toggleSpeed = function (item) { + ctrl.toggleSpeed = function(item) { if (!item.active) { item.urls = []; } }; - ctrl.update = function (data) { - - ctrl.servers = data.servers; + ctrl.update = function(data) { + ctrl.servers = data.servers; ctrl.serverCount = Object.keys(ctrl.servers).length; if (data.event === "server:create") { @@ -125,25 +119,21 @@ }; function updateButtonState() { - ctrl.state.success = true; ctrl.state.classname = "success"; - setTimeout(function () { - - ctrl.blurs.forEach(function (elem) { + setTimeout(function() { + ctrl.blurs.forEach(function(elem) { elem.blur(); }); - setTimeout(function () { - ctrl.state.success = false; - ctrl.state.waiting = false; + setTimeout(function() { + ctrl.state.success = false; + ctrl.state.waiting = false; ctrl.state.classname = "ready"; $scope.$digest(); - }, 500); - }, 300); } @@ -152,8 +142,8 @@ * @param prop * @returns {*} */ - function getByProp (collection, prop, name) { - var match = collection.filter(function (item) { + function getByProp(collection, prop, name) { + var match = collection.filter(function(item) { return item[prop] === name; }); if (match.length) { @@ -163,7 +153,7 @@ } Socket.on("ui:network-throttle:update", ctrl.update); - $scope.$on("$destroy", function () { + $scope.$on("$destroy", function() { Socket.off("ui:network-throttle:update", ctrl.update); }); } @@ -171,31 +161,26 @@ /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("throttle", function () { - return { - restrict: "E", - replace: true, - scope: { - "target": "=", - "options": "=" - }, - templateUrl: "network-throttle.directive.html", - controller: ["$scope", "Socket", throttleDirectiveControlller], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("throttle", function() { + return { + restrict: "E", + replace: true, + scope: { + target: "=", + options: "=" + }, + templateUrl: "network-throttle.directive.html", + controller: ["$scope", "Socket", throttleDirectiveControlller], + controllerAs: "ctrl" + }; + }); /** * @param $scope */ - function throttleDirectiveControlller ($scope) { - + function throttleDirectiveControlller($scope) { var ctrl = this; ctrl.throttle = $scope.options[SECTION_NAME]; - } - -})(angular); \ No newline at end of file +})(angular); diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.html b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.html index 4ad0d2f7f..7b2211d7a 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.html +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.html @@ -15,13 +15,18 @@

Speed

-
+
+ type="radio" + id="speed-{{item.id}}" + checked + name="speed" + ng-model="ctrl.selected" + value="{{item.id}}" + />
@@ -30,46 +35,66 @@

Port

- +
- - + +
- - +
-
+
- - + +

-
-
+
-
+

Your Servers:

Your Servers will appear here...

@@ -82,12 +107,15 @@

Your Servers will appear here...

{{item.urls[0]}}

{{item.urls[1]}}

-
- diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.js b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.js index 677ed78c9..5b43a7938 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.js +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.js @@ -1,18 +1,20 @@ var Immutable = require("immutable"); -module.exports.init = function (ui) { - +module.exports.init = function(ui) { var optPath = ["network-throttle"]; var serverOptPath = optPath.concat(["servers"]); var listenHost = ui.options.get("listen"); - ui.servers = {}; - - ui.setOptionIn(optPath, Immutable.fromJS({ - name: "network-throttle", - title: "Network Throttle", - active: false, - targets: require("./targets") - })); + ui.servers = {}; + + ui.setOptionIn( + optPath, + Immutable.fromJS({ + name: "network-throttle", + title: "Network Throttle", + active: false, + targets: require("./targets") + }) + ); ui.setOptionIn(serverOptPath, Immutable.Map({})); @@ -41,25 +43,29 @@ module.exports.init = function (ui) { /** * @param data */ - "server:create": function (data) { - + "server:create": function(data) { data.port = getPortArg(data.port); - data.cb = data.cb || function () { /* noop */}; + data.cb = + data.cb || + function() { + /* noop */ + }; /** * @param opts */ - function saveThrottleInfo (opts) { - + function saveThrottleInfo(opts) { var urls = getUrls(ui.bs.options.set("port", opts.port).toJS()); - ui.setOptionIn(serverOptPath.concat([opts.port]), Immutable.fromJS({ - urls: urls, - speed: opts.speed - })); - - setTimeout(function () { + ui.setOptionIn( + serverOptPath.concat([opts.port]), + Immutable.fromJS({ + urls: urls, + speed: opts.speed + }) + ); + setTimeout(function() { ui.socket.emit("ui:network-throttle:update", { servers: ui.getOptionIn(serverOptPath).toJS(), event: "server:create" @@ -68,17 +74,14 @@ module.exports.init = function (ui) { ui.servers[opts.port] = opts.server; data.cb(null, opts); - }, 300); - } /** * @param err * @param port */ - function createThrottle (err, port) { - + function createThrottle(err, port) { var target = getTargetUrl(); var args = { @@ -88,13 +91,15 @@ module.exports.init = function (ui) { }; if (ui.bs.getOption("scheme") === "https") { - var httpsOpts = require("browser-sync/lib/server/utils").getHttpsOptions(ui.bs.options); - args.key = httpsOpts.key; + var httpsOpts = require("browser-sync/lib/server/utils").getHttpsOptions( + ui.bs.options + ); + args.key = httpsOpts.key; args.cert = httpsOpts.cert; } args.server = require("./throttle-server")(args, listenHost); - require('server-destroy')(args.server); + require("server-destroy")(args.server); args.server.listen(port, listenHost); saveThrottleInfo(args); @@ -103,21 +108,26 @@ module.exports.init = function (ui) { /** * Try for a free port */ - ui.bs.utils.portscanner.findAPortNotInUse(data.port, data.port + 100, (listenHost || "127.0.0.1"), function (err, port) { - if (err) { - return createThrottle(err); - } else { - createThrottle(null, port); + ui.bs.utils.portscanner.findAPortNotInUse( + data.port, + data.port + 100, + listenHost || "127.0.0.1", + function(err, port) { + if (err) { + return createThrottle(err); + } else { + createThrottle(null, port); + } } - }); + ); }, /** * @param data */ - "server:destroy": function (data) { + "server:destroy": function(data) { if (ui.servers[data.port]) { ui.servers[data.port].destroy(); - ui.setMany(function (item) { + ui.setMany(function(item) { item.deleteIn(serverOptPath.concat([parseInt(data.port, 10)])); }); delete ui.servers[data.port]; @@ -130,7 +140,7 @@ module.exports.init = function (ui) { /** * @param event */ - event: function (event) { + event: function(event) { methods[event.event](event.data); } }; @@ -143,9 +153,8 @@ module.exports.init = function (ui) { * @param opts * @returns {List|List} */ -function getUrls (opts) { - - var list = []; +function getUrls(opts) { + var list = []; var bsLocal = require("url").parse(opts.urls.local); diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.plugin.js b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.plugin.js index 989acd8e5..dde9456c8 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/network-throttle.plugin.js @@ -9,7 +9,7 @@ module.exports = { /** * Plugin init */ - "plugin": function (ui, bs) { + plugin: function(ui, bs) { ui.throttle = networkThrottle.init(ui, bs); ui.listen("network-throttle", ui.throttle); }, @@ -17,11 +17,11 @@ module.exports = { /** * Hooks */ - "hooks": { - "markup": fileContent("/network-throttle.html"), + hooks: { + markup: fileContent("/network-throttle.html"), "client:js": [fileContent("/network-throttle.client.js")], - "templates": [], - "page": { + templates: [], + page: { path: "/network-throttle", title: PLUGIN_NAME, template: "network-throttle.html", @@ -40,7 +40,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -48,6 +48,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath)); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/targets.js b/packages/browser-sync-ui/lib/plugins/network-throttle/targets.js index be20a728e..6f411a030 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/targets.js +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/targets.js @@ -1,57 +1,56 @@ module.exports = [ { - active: false, - title: "DSL (2Mbs, 5ms RTT)", - id: "dsl", - speed: 200, + active: false, + title: "DSL (2Mbs, 5ms RTT)", + id: "dsl", + speed: 200, latency: 5, - urls: [], - order: 1 + urls: [], + order: 1 }, { - active: false, - title: "4G (4Mbs, 20ms RTT)", - id: "4g", - speed: 400, + active: false, + title: "4G (4Mbs, 20ms RTT)", + id: "4g", + speed: 400, latency: 10, - urls: [], - order: 2 - + urls: [], + order: 2 }, { - active: false, - title: "3G (750kbs, 100ms RTT)", - id: "3g", - speed: 75, + active: false, + title: "3G (750kbs, 100ms RTT)", + id: "3g", + speed: 75, latency: 50, - urls: [], - order: 3 + urls: [], + order: 3 }, { - active: false, - id: "good-2g", - title: "Good 2G (450kbs, 150ms RTT)", - speed: 45, + active: false, + id: "good-2g", + title: "Good 2G (450kbs, 150ms RTT)", + speed: 45, latency: 75, - urls: [], - order: 4 + urls: [], + order: 4 }, { - active: false, - id: "2g", - title: "Regular 2G (250kbs, 300ms RTT)", - speed: 25, + active: false, + id: "2g", + title: "Regular 2G (250kbs, 300ms RTT)", + speed: 25, latency: 150, - urls: [], - order: 5 + urls: [], + order: 5 }, { - active: false, - id: "gprs", - title: "GPRS (50kbs, 500ms RTT)", - speed: 5, + active: false, + id: "gprs", + title: "GPRS (50kbs, 500ms RTT)", + speed: 5, latency: 250, - urls: [], - order: 6 + urls: [], + order: 6 } ]; diff --git a/packages/browser-sync-ui/lib/plugins/network-throttle/throttle-server.js b/packages/browser-sync-ui/lib/plugins/network-throttle/throttle-server.js index 552e75b12..7d38507d1 100644 --- a/packages/browser-sync-ui/lib/plugins/network-throttle/throttle-server.js +++ b/packages/browser-sync-ui/lib/plugins/network-throttle/throttle-server.js @@ -5,14 +5,13 @@ module.exports = throttle; /** * */ -function throttle (opts, listenHost) { - +function throttle(opts, listenHost) { var options = { - local_host: listenHost, + local_host: listenHost, remote_host: listenHost, - upstream: 10*1024, - downstream: opts.speed.speed * 1024, - keepalive: false + upstream: 10 * 1024, + downstream: opts.speed.speed * 1024, + keepalive: false }; var serverOpts = { @@ -30,8 +29,7 @@ function throttle (opts, listenHost) { serverOpts.cert = opts.cert; } - return require(module).createServer(serverOpts, function (local) { - + return require(module).createServer(serverOpts, function(local) { var remote = require(module)[method]({ host: opts.target.hostname, port: opts.target.port, @@ -45,16 +43,12 @@ function throttle (opts, listenHost) { var localThrottle = upThrottle.throttle(); var remoteThrottle = downThrottle.throttle(); - setTimeout(function () { - local - .pipe(localThrottle) - .pipe(remote); + setTimeout(function() { + local.pipe(localThrottle).pipe(remote); }, opts.speed.latency); - setTimeout(function () { - remote - .pipe(remoteThrottle) - .pipe(local); + setTimeout(function() { + remote.pipe(remoteThrottle).pipe(local); }, opts.speed.latency); local.on("error", function() { diff --git a/packages/browser-sync-ui/lib/plugins/overview/overview.client.js b/packages/browser-sync-ui/lib/plugins/overview/overview.client.js index cb78b524e..2d2891712 100644 --- a/packages/browser-sync-ui/lib/plugins/overview/overview.client.js +++ b/packages/browser-sync-ui/lib/plugins/overview/overview.client.js @@ -1,21 +1,16 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "overview"; angular .module("BrowserSync") - .controller("OverviewController", [ - "options", - "pagesConfig", - OverviewController - ]); + .controller("OverviewController", ["options", "pagesConfig", OverviewController]); /** * @param options * @param pagesConfig */ - function OverviewController (options, pagesConfig) { - var ctrl = this; + function OverviewController(options, pagesConfig) { + var ctrl = this; ctrl.section = pagesConfig[SECTION_NAME]; ctrl.options = options.bs; ctrl.ui = { @@ -27,24 +22,17 @@ * Url Info - this handles rendering of each server * info item */ - angular - .module("BrowserSync") - .directive("urlInfo", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "url-info.html", - controller: [ - "$scope", - "$rootScope", - "Clients", - urlInfoController - ] - }; - }); + angular.module("BrowserSync").directive("urlInfo", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "url-info.html", + controller: ["$scope", "$rootScope", "Clients", urlInfoController] + }; + }); /** * @param $scope @@ -52,9 +40,8 @@ * @param Clients */ function urlInfoController($scope, $rootScope, Clients) { - var options = $scope.options; - var urls = options.urls; + var urls = options.urls; $scope.ui = { server: false, @@ -102,7 +89,7 @@ /** * */ - $scope.sendAllTo = function (path) { + $scope.sendAllTo = function(path) { Clients.sendAllTo(path); $rootScope.$emit("notify:flash", { heading: "Instruction sent:", @@ -114,18 +101,20 @@ /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("snippetInfo", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "snippet-info.html", - controller: ["$scope", function snippetInfoController() {/*noop*/}] - }; - }); - -})(angular); \ No newline at end of file + angular.module("BrowserSync").directive("snippetInfo", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "snippet-info.html", + controller: [ + "$scope", + function snippetInfoController() { + /*noop*/ + } + ] + }; + }); +})(angular); diff --git a/packages/browser-sync-ui/lib/plugins/overview/overview.html b/packages/browser-sync-ui/lib/plugins/overview/overview.html index 047f91d4c..2788c7fa0 100644 --- a/packages/browser-sync-ui/lib/plugins/overview/overview.html +++ b/packages/browser-sync-ui/lib/plugins/overview/overview.html @@ -18,8 +18,6 @@

Connected browsers will be listed here.

- - - \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/overview/overview.plugin.js b/packages/browser-sync-ui/lib/plugins/overview/overview.plugin.js index b6ca04c47..43ff244ab 100644 --- a/packages/browser-sync-ui/lib/plugins/overview/overview.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/overview/overview.plugin.js @@ -7,19 +7,18 @@ module.exports = { /** * Plugin init */ - "plugin": function () { /* noop */ }, + plugin: function() { + /* noop */ + }, /** * Hooks */ - "hooks": { - "markup": fileContent("/overview.html"), + hooks: { + markup: fileContent("/overview.html"), "client:js": fileContent("/overview.client.js"), - "templates": [ - getPath("/snippet-info.html"), - getPath("/url-info.html") - ], - "page": { + templates: [getPath("/snippet-info.html"), getPath("/url-info.html")], + page: { path: "/", title: PLUGIN_NAME, template: "overview.html", @@ -38,7 +37,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -46,6 +45,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/overview/snippet-info.html b/packages/browser-sync-ui/lib/plugins/overview/snippet-info.html index 8349e63a8..001831173 100644 --- a/packages/browser-sync-ui/lib/plugins/overview/snippet-info.html +++ b/packages/browser-sync-ui/lib/plugins/overview/snippet-info.html @@ -3,8 +3,10 @@
-

Place this snippet somewhere before the closing </body> tag in your website

-
{{options.snippet}}
- +

+ Place this snippet somewhere before the closing </body> tag in your + website +

+
{{options.snippet}}
- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/overview/url-info.html b/packages/browser-sync-ui/lib/plugins/overview/url-info.html index b74305c37..528f4a8b8 100644 --- a/packages/browser-sync-ui/lib/plugins/overview/url-info.html +++ b/packages/browser-sync-ui/lib/plugins/overview/url-info.html @@ -11,7 +11,11 @@ new tab - + sync all @@ -34,7 +38,7 @@
- +

Proxying:

@@ -42,4 +46,4 @@

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/plugins/plugins.client.js b/packages/browser-sync-ui/lib/plugins/plugins/plugins.client.js index ece644b45..8786f7fee 100644 --- a/packages/browser-sync-ui/lib/plugins/plugins/plugins.client.js +++ b/packages/browser-sync-ui/lib/plugins/plugins/plugins.client.js @@ -1,9 +1,8 @@ /** * */ -(function (angular) { - - var SECTION_NAME = "plugins"; +(function(angular) { + var SECTION_NAME = "plugins"; angular .module("BrowserSync") @@ -21,25 +20,25 @@ * @constructor */ function PluginsPageController(options, Socket, pagesConfig) { - - var ctrl = this; ctrl.section = pagesConfig[SECTION_NAME]; - ctrl.options = options.bs; - ctrl.uiOptions = options.ui; + ctrl.options = options.bs; + ctrl.uiOptions = options.ui; /** * Don't show this UI as user plugin */ - var filtered = ctrl.options.userPlugins.filter(function (item) { - return item.name !== "UI"; - }).map(function (item) { - item.title = item.name; - return item; - }); + var filtered = ctrl.options.userPlugins + .filter(function(item) { + return item.name !== "UI"; + }) + .map(function(item) { + item.title = item.name; + return item; + }); - var named = filtered.reduce(function (all, item) { + var named = filtered.reduce(function(all, item) { all[item.name] = item; return all; }, {}); @@ -56,7 +55,7 @@ /** * Toggle a pluginrs */ - ctrl.togglePlugin = function (plugin) { + ctrl.togglePlugin = function(plugin) { Socket.uiEvent({ namespace: SECTION_NAME, event: "set", @@ -68,18 +67,16 @@ * Set the state of many options * @param value */ - ctrl.setMany = function (value) { + ctrl.setMany = function(value) { Socket.uiEvent({ namespace: SECTION_NAME, event: "setMany", data: value }); - ctrl.ui.plugins = ctrl.ui.plugins.map(function (item) { + ctrl.ui.plugins = ctrl.ui.plugins.map(function(item) { item.active = value; return item; }); }; } - })(angular); - diff --git a/packages/browser-sync-ui/lib/plugins/plugins/plugins.html b/packages/browser-sync-ui/lib/plugins/plugins/plugins.html index f870a2f05..a232df245 100644 --- a/packages/browser-sync-ui/lib/plugins/plugins/plugins.html +++ b/packages/browser-sync-ui/lib/plugins/plugins/plugins.html @@ -25,9 +25,13 @@

Sorry, no plugins were loaded

-

You can either write your own plugin (guide coming soon!) or Search NPM +

+ You can either write your own plugin (guide coming soon!) or + Search NPM for packages that contain the keywords browser sync plugin

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/plugins/plugins.plugin.js b/packages/browser-sync-ui/lib/plugins/plugins/plugins.plugin.js index 746167369..662876dff 100644 --- a/packages/browser-sync-ui/lib/plugins/plugins/plugins.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/plugins/plugins.plugin.js @@ -8,25 +8,22 @@ module.exports = { * @param ui * @param bs */ - "plugin": function (ui, bs) { - + plugin: function(ui, bs) { ui.listen("plugins", { - - "set": function (data) { + set: function(data) { bs.events.emit("plugins:configure", data); }, - "setMany": function (data) { - + setMany: function(data) { if (data.value !== true) { data.value = false; } bs.getUserPlugins() - .filter(function (item) { + .filter(function(item) { return item.name !== "UI "; // todo dupe code server/client }) - .forEach(function (item) { + .forEach(function(item) { item.active = data.value; bs.events.emit("plugins:configure", item); }); @@ -36,13 +33,13 @@ module.exports = { /** * Hooks */ - "hooks": { - "markup": fileContent("plugins.html"), + hooks: { + markup: fileContent("plugins.html"), "client:js": fileContent("/plugins.client.js"), - "templates": [ + templates: [ //getPath("plugins.directive.html") ], - "page": { + page: { path: "/plugins", title: PLUGIN_NAME, template: "plugins.html", @@ -61,7 +58,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -69,6 +66,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/client-files.js b/packages/browser-sync-ui/lib/plugins/remote-debug/client-files.js index 5a1aad9cd..727b52451 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/client-files.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/client-files.js @@ -9,7 +9,8 @@ var files = [ served: false, name: "pesticide", src: "/browser-sync/pesticide.css", - tagline: "Add simple CSS outlines to all elements. (powered by Pesticide.io)", + tagline: + "Add simple CSS outlines to all elements. (powered by Pesticide.io)", hidden: "" }, { @@ -22,18 +23,19 @@ var files = [ served: false, name: "pesticide-depth", src: "/browser-sync/pesticide-depth.css", - tagline: "Add CSS box-shadows to all elements. (powered by Pesticide.io)", + tagline: + "Add CSS box-shadows to all elements. (powered by Pesticide.io)", hidden: "" }, { - type: "js", + type: "js", context: "n/a", - id: "__browser-sync-gridoverlay__", - active: false, - file: __dirname + "/overlay-grid/js/grid-overlay.js", - served: false, - name: "overlay-grid-js", - src: "/browser-sync/grid-overlay-js.js" + id: "__browser-sync-gridoverlay__", + active: false, + file: __dirname + "/overlay-grid/js/grid-overlay.js", + served: false, + name: "overlay-grid-js", + src: "/browser-sync/grid-overlay-js.js" } ]; diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/compression.html b/packages/browser-sync-ui/lib/plugins/remote-debug/compression.html index 7ae382738..990ca6d0a 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/compression.html +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/compression.html @@ -2,12 +2,14 @@
- +
@@ -16,4 +18,4 @@

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/compression.js b/packages/browser-sync-ui/lib/plugins/remote-debug/compression.js index aa8c5e13a..51fc1030d 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/compression.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/compression.js @@ -1,33 +1,38 @@ var Immutable = require("immutable"); -module.exports.init = function (ui, bs) { - +module.exports.init = function(ui, bs) { var optPath = ["remote-debug", "compression"]; - ui.setOptionIn(optPath, Immutable.Map({ - name: "compression", - title: "Compression", - active: false, - tagline: "Add Gzip Compression to all responses" - })); + ui.setOptionIn( + optPath, + Immutable.Map({ + name: "compression", + title: "Compression", + active: false, + tagline: "Add Gzip Compression to all responses" + }) + ); var methods = { - toggle: function (value) { + toggle: function(value) { if (value !== true) { value = false; } if (value) { ui.setOptionIn(optPath.concat("active"), true); - bs.addMiddleware("", require("compression")(), {id: "ui-compression", override: true}); + bs.addMiddleware("", require("compression")(), { + id: "ui-compression", + override: true + }); } else { ui.setOptionIn(optPath.concat("active"), false); bs.removeMiddleware("ui-compression"); } }, - event: function (event) { + event: function(event) { methods[event.event](event.data); } }; return methods; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide-depth.css b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide-depth.css index f6b4e8fa9..e2e6664b9 100755 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide-depth.css +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide-depth.css @@ -2,497 +2,497 @@ pesticide v1.0.0 . @mrmrs . MIT */ body { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } article { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } nav { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } aside { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } section { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } header { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } footer { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h1 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h2 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h3 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h4 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h5 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } h6 { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } main { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } address { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } div { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } p { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } hr { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } pre { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } blockquote { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } ol { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } ul { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } li { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } dl { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } dt { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } dd { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } figure { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } figcaption { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } table { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } caption { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } thead { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } tbody { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } tfoot { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } tr { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } th { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } td { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } col { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } colgroup { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } button { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } datalist { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } fieldset { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } form { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } input { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } keygen { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } label { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } legend { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } meter { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } optgroup { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } option { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } output { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } progress { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } select { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } textarea { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } details { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } summary { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } command { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } menu { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } del { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } ins { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } img { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } iframe { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } embed { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } object { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } param { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } video { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } audio { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } source { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } canvas { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } track { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } map { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } area { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } a { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } em { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } strong { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } i { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } b { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } u { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } s { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } small { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } abbr { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } q { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } cite { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } dfn { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } sub { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } sup { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } time { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } code { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } kbd { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } samp { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } var { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } mark { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } bdi { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } bdo { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } ruby { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } rt { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } rp { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } span { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } br { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } wbr { - -webkit-box-shadow: 0 0 1rem rgba(0,0,0,0.6); - box-shadow: 0 0 1rem rgba(0,0,0,0.6); - background-color: rgba(255,255,255,0.25); + -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + box-shadow: 0 0 1rem rgba(0, 0, 0, 0.6); + background-color: rgba(255, 255, 255, 0.25); } diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.css b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.css index ff1e3e96b..53e42dd69 100755 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.css +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.css @@ -2,200 +2,103 @@ pesticide v1.0.0 . @mrmrs . MIT */ { -body - outline: 1px solid #2980b9 !important; -article - outline: 1px solid #3498db !important; -nav - outline: 1px solid #0088c3 !important; -aside - outline: 1px solid #33a0ce !important; -section - outline: 1px solid #66b8da !important; -header - outline: 1px solid #99cfe7 !important; -footer - outline: 1px solid #cce7f3 !important; -h1 - outline: 1px solid #162544 !important; -h2 - outline: 1px solid #314e6e !important; -h3 - outline: 1px solid #3e5e85 !important; -h4 - outline: 1px solid #449baf !important; -h5 - outline: 1px solid #c7d1cb !important; -h6 - outline: 1px solid #4371d0 !important; -main - outline: 1px solid #2f4f90 !important; -address - outline: 1px solid #1a2c51 !important; -div - outline: 1px solid #036cdb !important; - outline: 1px solid #ac050b !important; -hr - outline: 1px solid #ff063f !important; -pre - outline: 1px solid #850440 !important; -blockquote - outline: 1px solid #f1b8e7 !important; -ol - outline: 1px solid #ff050c !important; -ul - outline: 1px solid #d90416 !important; -li - outline: 1px solid #d90416 !important; -dl - outline: 1px solid #fd3427 !important; -dt - outline: 1px solid #ff0043 !important; -dd - outline: 1px solid #e80174 !important; -figure - outline: 1px solid #f0b !important; -figcaption - outline: 1px solid #bf0032 !important; -table - outline: 1px solid #0c9 !important; -caption - outline: 1px solid #37ffc4 !important; -thead - outline: 1px solid #98daca !important; -tbody - outline: 1px solid #64a7a0 !important; -tfoot - outline: 1px solid #22746b !important; -tr - outline: 1px solid #86c0b2 !important; -th - outline: 1px solid #a1e7d6 !important; -td - outline: 1px solid #3f5a54 !important; -col - outline: 1px solid #6c9a8f !important; -colgroup - outline: 1px solid #6c9a9d !important; -button - outline: 1px solid #da8301 !important; -datalist - outline: 1px solid #c06000 !important; -fieldset - outline: 1px solid #d95100 !important; -form - outline: 1px solid #d23600 !important; -input - outline: 1px solid #fca600 !important; -keygen - outline: 1px solid #b31e00 !important; -label - outline: 1px solid #ee8900 !important; -legend - outline: 1px solid #de6d00 !important; -meter - outline: 1px solid #e8630c !important; -optgroup - outline: 1px solid #b33600 !important; -option - outline: 1px solid #ff8a00 !important; -output - outline: 1px solid #ff9619 !important; -progress - outline: 1px solid #e57c00 !important; -select - outline: 1px solid #e26e0f !important; -textarea - outline: 1px solid #cc5400 !important; -details - outline: 1px solid #33848f !important; -summary - outline: 1px solid #60a1a6 !important; -command - outline: 1px solid #438da1 !important; -menu - outline: 1px solid #449da6 !important; -del - outline: 1px solid #bf0000 !important; -ins - outline: 1px solid #400000 !important; -img - outline: 1px solid #22746b !important; -iframe - outline: 1px solid #64a7a0 !important; -embed - outline: 1px solid #98daca !important; -object - outline: 1px solid #0c9 !important; -param - outline: 1px solid #37ffc4 !important; -video - outline: 1px solid #6ee866 !important; -audio - outline: 1px solid #027353 !important; -source - outline: 1px solid #012426 !important; -canvas - outline: 1px solid #a2f570 !important; -track - outline: 1px solid #59a600 !important; -map - outline: 1px solid #7be500 !important; -area - outline: 1px solid #305900 !important; -a - outline: 1px solid #ff62ab !important; -em - outline: 1px solid #800b41 !important; -strong - outline: 1px solid #ff1583 !important; -i - outline: 1px solid #803156 !important; -b - outline: 1px solid #cc1169 !important; -u - outline: 1px solid #ff0430 !important; - outline: 1px solid #f805e3 !important; -small - outline: 1px solid #d107b2 !important; -abbr - outline: 1px solid #4a0263 !important; -q - outline: 1px solid #240018 !important; -cite - outline: 1px solid #64003c !important; -dfn - outline: 1px solid #b4005a !important; -sub - outline: 1px solid #dba0c8 !important; -sup - outline: 1px solid #cc0256 !important; -time - outline: 1px solid #d6606d !important; -code - outline: 1px solid #e04251 !important; -kbd - outline: 1px solid #5e001f !important; -samp - outline: 1px solid #9c0033 !important; -var - outline: 1px solid #d90047 !important; -mark - outline: 1px solid #ff0053 !important; -bdi - outline: 1px solid #bf3668 !important; -bdo - outline: 1px solid #6f1400 !important; -ruby - outline: 1px solid #ff7b93 !important; -rt - outline: 1px solid #ff2f54 !important; -rp - outline: 1px solid #803e49 !important; -span - outline: 1px solid #cc2643 !important; -br - outline: 1px solid #db687d !important; -wbr - outline: 1px solid #db175b !important; + bodyoutline: 1px solid #2980b9 !important; + articleoutline: 1px solid #3498db !important; + navoutline: 1px solid #0088c3 !important; + asideoutline: 1px solid #33a0ce !important; + sectionoutline: 1px solid #66b8da !important; + headeroutline: 1px solid #99cfe7 !important; + footeroutline: 1px solid #cce7f3 !important; + h1outline: 1px solid #162544 !important; + h2outline: 1px solid #314e6e !important; + h3outline: 1px solid #3e5e85 !important; + h4outline: 1px solid #449baf !important; + h5outline: 1px solid #c7d1cb !important; + h6outline: 1px solid #4371d0 !important; + mainoutline: 1px solid #2f4f90 !important; + addressoutline: 1px solid #1a2c51 !important; + divoutline: 1px solid #036cdb !important; + outline: 1px solid #ac050b !important; + hroutline: 1px solid #ff063f !important; + preoutline: 1px solid #850440 !important; + blockquoteoutline: 1px solid #f1b8e7 !important; + oloutline: 1px solid #ff050c !important; + uloutline: 1px solid #d90416 !important; + lioutline: 1px solid #d90416 !important; + dloutline: 1px solid #fd3427 !important; + dtoutline: 1px solid #ff0043 !important; + ddoutline: 1px solid #e80174 !important; + figureoutline: 1px solid #f0b !important; + figcaptionoutline: 1px solid #bf0032 !important; + tableoutline: 1px solid #0c9 !important; + captionoutline: 1px solid #37ffc4 !important; + theadoutline: 1px solid #98daca !important; + tbodyoutline: 1px solid #64a7a0 !important; + tfootoutline: 1px solid #22746b !important; + troutline: 1px solid #86c0b2 !important; + thoutline: 1px solid #a1e7d6 !important; + tdoutline: 1px solid #3f5a54 !important; + coloutline: 1px solid #6c9a8f !important; + colgroupoutline: 1px solid #6c9a9d !important; + buttonoutline: 1px solid #da8301 !important; + datalistoutline: 1px solid #c06000 !important; + fieldsetoutline: 1px solid #d95100 !important; + formoutline: 1px solid #d23600 !important; + inputoutline: 1px solid #fca600 !important; + keygenoutline: 1px solid #b31e00 !important; + labeloutline: 1px solid #ee8900 !important; + legendoutline: 1px solid #de6d00 !important; + meteroutline: 1px solid #e8630c !important; + optgroupoutline: 1px solid #b33600 !important; + optionoutline: 1px solid #ff8a00 !important; + outputoutline: 1px solid #ff9619 !important; + progressoutline: 1px solid #e57c00 !important; + selectoutline: 1px solid #e26e0f !important; + textareaoutline: 1px solid #cc5400 !important; + detailsoutline: 1px solid #33848f !important; + summaryoutline: 1px solid #60a1a6 !important; + commandoutline: 1px solid #438da1 !important; + menuoutline: 1px solid #449da6 !important; + deloutline: 1px solid #bf0000 !important; + insoutline: 1px solid #400000 !important; + imgoutline: 1px solid #22746b !important; + iframeoutline: 1px solid #64a7a0 !important; + embedoutline: 1px solid #98daca !important; + objectoutline: 1px solid #0c9 !important; + paramoutline: 1px solid #37ffc4 !important; + videooutline: 1px solid #6ee866 !important; + audiooutline: 1px solid #027353 !important; + sourceoutline: 1px solid #012426 !important; + canvasoutline: 1px solid #a2f570 !important; + trackoutline: 1px solid #59a600 !important; + mapoutline: 1px solid #7be500 !important; + areaoutline: 1px solid #305900 !important; + aoutline: 1px solid #ff62ab !important; + emoutline: 1px solid #800b41 !important; + strongoutline: 1px solid #ff1583 !important; + ioutline: 1px solid #803156 !important; + boutline: 1px solid #cc1169 !important; + uoutline: 1px solid #ff0430 !important; + outline: 1px solid #f805e3 !important; + smalloutline: 1px solid #d107b2 !important; + abbroutline: 1px solid #4a0263 !important; + qoutline: 1px solid #240018 !important; + citeoutline: 1px solid #64003c !important; + dfnoutline: 1px solid #b4005a !important; + suboutline: 1px solid #dba0c8 !important; + supoutline: 1px solid #cc0256 !important; + timeoutline: 1px solid #d6606d !important; + codeoutline: 1px solid #e04251 !important; + kbdoutline: 1px solid #5e001f !important; + sampoutline: 1px solid #9c0033 !important; + varoutline: 1px solid #d90047 !important; + markoutline: 1px solid #ff0053 !important; + bdioutline: 1px solid #bf3668 !important; + bdooutline: 1px solid #6f1400 !important; + rubyoutline: 1px solid #ff7b93 !important; + rtoutline: 1px solid #ff2f54 !important; + rpoutline: 1px solid #803e49 !important; + spanoutline: 1px solid #cc2643 !important; + broutline: 1px solid #db687d !important; + wbroutline: 1px solid #db175b !important; } diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.min.css b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.min.css index 3a230454a..32b2a54eb 100755 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.min.css +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/css/pesticide.min.css @@ -1,395 +1,395 @@ body { - outline: 1px solid #2980b9 !important + outline: 1px solid #2980b9 !important; } article { - outline: 1px solid #3498db !important + outline: 1px solid #3498db !important; } nav { - outline: 1px solid #0088c3 !important + outline: 1px solid #0088c3 !important; } aside { - outline: 1px solid #33a0ce !important + outline: 1px solid #33a0ce !important; } section { - outline: 1px solid #66b8da !important + outline: 1px solid #66b8da !important; } header { - outline: 1px solid #99cfe7 !important + outline: 1px solid #99cfe7 !important; } footer { - outline: 1px solid #cce7f3 !important + outline: 1px solid #cce7f3 !important; } h1 { - outline: 1px solid #162544 !important + outline: 1px solid #162544 !important; } h2 { - outline: 1px solid #314e6e !important + outline: 1px solid #314e6e !important; } h3 { - outline: 1px solid #3e5e85 !important + outline: 1px solid #3e5e85 !important; } h4 { - outline: 1px solid #449baf !important + outline: 1px solid #449baf !important; } h5 { - outline: 1px solid #c7d1cb !important + outline: 1px solid #c7d1cb !important; } h6 { - outline: 1px solid #4371d0 !important + outline: 1px solid #4371d0 !important; } main { - outline: 1px solid #2f4f90 !important + outline: 1px solid #2f4f90 !important; } address { - outline: 1px solid #1a2c51 !important + outline: 1px solid #1a2c51 !important; } div { - outline: 1px solid #036cdb !important + outline: 1px solid #036cdb !important; } p { - outline: 1px solid #ac050b !important + outline: 1px solid #ac050b !important; } hr { - outline: 1px solid #ff063f !important + outline: 1px solid #ff063f !important; } pre { - outline: 1px solid #850440 !important + outline: 1px solid #850440 !important; } blockquote { - outline: 1px solid #f1b8e7 !important + outline: 1px solid #f1b8e7 !important; } ol { - outline: 1px solid #ff050c !important + outline: 1px solid #ff050c !important; } ul { - outline: 1px solid #d90416 !important + outline: 1px solid #d90416 !important; } li { - outline: 1px solid #d90416 !important + outline: 1px solid #d90416 !important; } dl { - outline: 1px solid #fd3427 !important + outline: 1px solid #fd3427 !important; } dt { - outline: 1px solid #ff0043 !important + outline: 1px solid #ff0043 !important; } dd { - outline: 1px solid #e80174 !important + outline: 1px solid #e80174 !important; } figure { - outline: 1px solid #f0b !important + outline: 1px solid #f0b !important; } figcaption { - outline: 1px solid #bf0032 !important + outline: 1px solid #bf0032 !important; } table { - outline: 1px solid #0c9 !important + outline: 1px solid #0c9 !important; } caption { - outline: 1px solid #37ffc4 !important + outline: 1px solid #37ffc4 !important; } thead { - outline: 1px solid #98daca !important + outline: 1px solid #98daca !important; } tbody { - outline: 1px solid #64a7a0 !important + outline: 1px solid #64a7a0 !important; } tfoot { - outline: 1px solid #22746b !important + outline: 1px solid #22746b !important; } tr { - outline: 1px solid #86c0b2 !important + outline: 1px solid #86c0b2 !important; } th { - outline: 1px solid #a1e7d6 !important + outline: 1px solid #a1e7d6 !important; } td { - outline: 1px solid #3f5a54 !important + outline: 1px solid #3f5a54 !important; } col { - outline: 1px solid #6c9a8f !important + outline: 1px solid #6c9a8f !important; } colgroup { - outline: 1px solid #6c9a9d !important + outline: 1px solid #6c9a9d !important; } button { - outline: 1px solid #da8301 !important + outline: 1px solid #da8301 !important; } datalist { - outline: 1px solid #c06000 !important + outline: 1px solid #c06000 !important; } fieldset { - outline: 1px solid #d95100 !important + outline: 1px solid #d95100 !important; } form { - outline: 1px solid #d23600 !important + outline: 1px solid #d23600 !important; } input { - outline: 1px solid #fca600 !important + outline: 1px solid #fca600 !important; } keygen { - outline: 1px solid #b31e00 !important + outline: 1px solid #b31e00 !important; } label { - outline: 1px solid #ee8900 !important + outline: 1px solid #ee8900 !important; } legend { - outline: 1px solid #de6d00 !important + outline: 1px solid #de6d00 !important; } meter { - outline: 1px solid #e8630c !important + outline: 1px solid #e8630c !important; } optgroup { - outline: 1px solid #b33600 !important + outline: 1px solid #b33600 !important; } option { - outline: 1px solid #ff8a00 !important + outline: 1px solid #ff8a00 !important; } output { - outline: 1px solid #ff9619 !important + outline: 1px solid #ff9619 !important; } progress { - outline: 1px solid #e57c00 !important + outline: 1px solid #e57c00 !important; } select { - outline: 1px solid #e26e0f !important + outline: 1px solid #e26e0f !important; } textarea { - outline: 1px solid #cc5400 !important + outline: 1px solid #cc5400 !important; } details { - outline: 1px solid #33848f !important + outline: 1px solid #33848f !important; } summary { - outline: 1px solid #60a1a6 !important + outline: 1px solid #60a1a6 !important; } command { - outline: 1px solid #438da1 !important + outline: 1px solid #438da1 !important; } menu { - outline: 1px solid #449da6 !important + outline: 1px solid #449da6 !important; } del { - outline: 1px solid #bf0000 !important + outline: 1px solid #bf0000 !important; } ins { - outline: 1px solid #400000 !important + outline: 1px solid #400000 !important; } img { - outline: 1px solid #22746b !important + outline: 1px solid #22746b !important; } iframe { - outline: 1px solid #64a7a0 !important + outline: 1px solid #64a7a0 !important; } embed { - outline: 1px solid #98daca !important + outline: 1px solid #98daca !important; } object { - outline: 1px solid #0c9 !important + outline: 1px solid #0c9 !important; } param { - outline: 1px solid #37ffc4 !important + outline: 1px solid #37ffc4 !important; } video { - outline: 1px solid #6ee866 !important + outline: 1px solid #6ee866 !important; } audio { - outline: 1px solid #027353 !important + outline: 1px solid #027353 !important; } source { - outline: 1px solid #012426 !important + outline: 1px solid #012426 !important; } canvas { - outline: 1px solid #a2f570 !important + outline: 1px solid #a2f570 !important; } track { - outline: 1px solid #59a600 !important + outline: 1px solid #59a600 !important; } map { - outline: 1px solid #7be500 !important + outline: 1px solid #7be500 !important; } area { - outline: 1px solid #305900 !important + outline: 1px solid #305900 !important; } a { - outline: 1px solid #ff62ab !important + outline: 1px solid #ff62ab !important; } em { - outline: 1px solid #800b41 !important + outline: 1px solid #800b41 !important; } strong { - outline: 1px solid #ff1583 !important + outline: 1px solid #ff1583 !important; } i { - outline: 1px solid #803156 !important + outline: 1px solid #803156 !important; } b { - outline: 1px solid #cc1169 !important + outline: 1px solid #cc1169 !important; } u { - outline: 1px solid #ff0430 !important + outline: 1px solid #ff0430 !important; } s { - outline: 1px solid #f805e3 !important + outline: 1px solid #f805e3 !important; } small { - outline: 1px solid #d107b2 !important + outline: 1px solid #d107b2 !important; } abbr { - outline: 1px solid #4a0263 !important + outline: 1px solid #4a0263 !important; } q { - outline: 1px solid #240018 !important + outline: 1px solid #240018 !important; } cite { - outline: 1px solid #64003c !important + outline: 1px solid #64003c !important; } dfn { - outline: 1px solid #b4005a !important + outline: 1px solid #b4005a !important; } sub { - outline: 1px solid #dba0c8 !important + outline: 1px solid #dba0c8 !important; } sup { - outline: 1px solid #cc0256 !important + outline: 1px solid #cc0256 !important; } time { - outline: 1px solid #d6606d !important + outline: 1px solid #d6606d !important; } code { - outline: 1px solid #e04251 !important + outline: 1px solid #e04251 !important; } kbd { - outline: 1px solid #5e001f !important + outline: 1px solid #5e001f !important; } samp { - outline: 1px solid #9c0033 !important + outline: 1px solid #9c0033 !important; } var { - outline: 1px solid #d90047 !important + outline: 1px solid #d90047 !important; } mark { - outline: 1px solid #ff0053 !important + outline: 1px solid #ff0053 !important; } bdi { - outline: 1px solid #bf3668 !important + outline: 1px solid #bf3668 !important; } bdo { - outline: 1px solid #6f1400 !important + outline: 1px solid #6f1400 !important; } ruby { - outline: 1px solid #ff7b93 !important + outline: 1px solid #ff7b93 !important; } rt { - outline: 1px solid #ff2f54 !important + outline: 1px solid #ff2f54 !important; } rp { - outline: 1px solid #803e49 !important + outline: 1px solid #803e49 !important; } span { - outline: 1px solid #cc2643 !important + outline: 1px solid #cc2643 !important; } br { - outline: 1px solid #db687d !important + outline: 1px solid #db687d !important; } wbr { - outline: 1px solid #db175b !important + outline: 1px solid #db175b !important; } diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.client.js b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.client.js index 511ac18d1..db33411f7 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.client.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.client.js @@ -1,40 +1,36 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "remote-debug"; /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("latency", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "latency.html", - controller: ["$scope", "Socket", latencyDirectiveControlller], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("latency", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "latency.html", + controller: ["$scope", "Socket", latencyDirectiveControlller], + controllerAs: "ctrl" + }; + }); /** * @param $scope * @param Socket */ function latencyDirectiveControlller($scope, Socket) { - var ctrl = this; var ns = SECTION_NAME + ":latency"; ctrl.latency = $scope.options[SECTION_NAME]["latency"]; - ctrl.alterLatency = function () { + ctrl.alterLatency = function() { Socket.emit("ui", { namespace: ns, - event: "adjust", - data: { + event: "adjust", + data: { rate: ctrl.latency.rate } }); diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.html b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.html index feae9469c..5d8338bd0 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.html +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.html @@ -1,12 +1,13 @@
- +
- diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.js b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.js index d67dd670d..43fa374a1 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/latency/latency.js @@ -1,44 +1,50 @@ var Immutable = require("immutable"); -module.exports.init = function (ui, bs) { - +module.exports.init = function(ui, bs) { var timeout = 0; var optPath = ["remote-debug", "latency"]; - ui.setOptionIn(optPath, Immutable.Map({ - name: "latency", - title: "Latency", - active: false, - tagline: "Simulate slower connections by throttling the response time of each request.", - rate: 0 - })); + ui.setOptionIn( + optPath, + Immutable.Map({ + name: "latency", + title: "Latency", + active: false, + tagline: "Simulate slower connections by throttling the response time of each request.", + rate: 0 + }) + ); var methods = { - toggle: function (value) { + toggle: function(value) { if (value !== true) { value = false; } if (value) { ui.setOptionIn(optPath.concat("active"), true); - bs.addMiddleware("*", function (req, res, next) { - setTimeout(next, timeout); - }, {id: "cp-latency", override: true}); + bs.addMiddleware( + "*", + function(req, res, next) { + setTimeout(next, timeout); + }, + { id: "cp-latency", override: true } + ); } else { ui.setOptionIn(optPath.concat("active"), false); bs.removeMiddleware("cp-latency"); } }, - adjust: function (data) { - timeout = parseFloat(data.rate) * 1000; + adjust: function(data) { + timeout = parseFloat(data.rate) * 1000; var saved = ui.options.getIn(optPath.concat("rate")); if (saved !== data.rate) { - ui.setOptionIn(optPath.concat("rate"), timeout/1000); + ui.setOptionIn(optPath.concat("rate"), timeout / 1000); } }, - event: function (event) { + event: function(event) { methods[event.event](event.data); } }; return methods; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.html b/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.html index 1bea0164f..46902c6d4 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.html +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.html @@ -2,12 +2,14 @@
- +
@@ -16,4 +18,4 @@

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.js b/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.js index f84d8b946..a1045139f 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/no-cache.js @@ -1,38 +1,44 @@ var Immutable = require("immutable"); -module.exports.init = function (ui, bs) { - +module.exports.init = function(ui, bs) { var optPath = ["remote-debug", "no-cache"]; - ui.setOptionIn(optPath, Immutable.Map({ - name: "no-cache", - title: "No Cache", - active: false, - tagline: "Disable all Browser Caching" - })); + ui.setOptionIn( + optPath, + Immutable.Map({ + name: "no-cache", + title: "No Cache", + active: false, + tagline: "Disable all Browser Caching" + }) + ); var methods = { - toggle: function (value) { + toggle: function(value) { if (value !== true) { value = false; } if (value) { ui.setOptionIn(optPath.concat("active"), true); - bs.addMiddleware("*", function (req, res, next) { - res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); - res.setHeader("Pragma", "no-cache"); - res.setHeader("Expires", "0"); - next(); - }, {id: "ui-no-cache", override: true}); + bs.addMiddleware( + "*", + function(req, res, next) { + res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + res.setHeader("Pragma", "no-cache"); + res.setHeader("Expires", "0"); + next(); + }, + { id: "ui-no-cache", override: true } + ); } else { ui.setOptionIn(optPath.concat("active"), false); bs.removeMiddleware("ui-no-cache"); } }, - event: function (event) { + event: function(event) { methods[event.event](event.data); } }; return methods; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/js/grid-overlay.js b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/js/grid-overlay.js index dc09e08a3..dff3e67f1 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/js/grid-overlay.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/js/grid-overlay.js @@ -1,18 +1,16 @@ -(function (window, bs, undefined) { - +(function(window, bs, undefined) { var styleElem = bs.addDomNode({ placement: "head", attrs: { - "type": "text/css", + type: "text/css", id: "__bs_overlay-grid-styles__" }, tagName: "style" }); - bs.socket.on("ui:remote-debug:css-overlay-grid", function (data) { + bs.socket.on("ui:remote-debug:css-overlay-grid", function(data) { styleElem.innerHTML = data.innerHTML; }); bs.socket.emit("ui:remote-debug:css-overlay-grid:ready"); - -}(window, window.___browserSync___)); \ No newline at end of file +})(window, window.___browserSync___); diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.client.js b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.client.js index 833139d39..373b0c8fc 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.client.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.client.js @@ -1,31 +1,27 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "remote-debug"; /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("cssGrid", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "overlay-grid.html", - controller: ["$scope", "Socket", overlayGridDirectiveControlller], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("cssGrid", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "overlay-grid.html", + controller: ["$scope", "Socket", overlayGridDirectiveControlller], + controllerAs: "ctrl" + }; + }); /** * @param $scope * @param Socket */ function overlayGridDirectiveControlller($scope, Socket) { - var ctrl = this; ctrl.overlayGrid = $scope.options[SECTION_NAME]["overlay-grid"]; @@ -33,24 +29,23 @@ var ns = SECTION_NAME + ":overlay-grid"; - ctrl.alter = function (value) { + ctrl.alter = function(value) { Socket.emit("ui", { namespace: ns, - event: "adjust", - data: value + event: "adjust", + data: value }); }; - ctrl.toggleAxis = function (axis, value) { + ctrl.toggleAxis = function(axis, value) { Socket.emit("ui", { namespace: ns, - event: "toggle:axis", - data: { - axis: axis, + event: "toggle:axis", + data: { + axis: axis, value: value } }); }; } - })(angular); diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.html b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.html index 1de1c83e0..7a56f9e7e 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.html +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.html @@ -1,19 +1,20 @@
-
- +
@@ -22,31 +23,34 @@
- +
-
- +
@@ -54,29 +58,31 @@
-
- +
-
- +
@@ -85,22 +91,24 @@
+ type="checkbox" + id="grid-axis-y" + ng-model="ctrl.overlayGrid.vertical" + ng-change="ctrl.toggleAxis('vertical', ctrl.overlayGrid.vertical)" + />
+ type="checkbox" + id="grid-axis-x" + ng-model="ctrl.overlayGrid.horizontal" + ng-change="ctrl.toggleAxis('horizontal', ctrl.overlayGrid.horizontal)" + />
- \ No newline at end of file + diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.js b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.js index 1c5692a51..b4bf56b38 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/overlay-grid/overlay-grid.js @@ -1,21 +1,26 @@ var Immutable = require("immutable"); -var fs = require("fs"); -var path = require("path"); -var baseHorizontal = fs.readFileSync(path.resolve(__dirname, "css/grid-overlay-horizontal.css"), "utf8"); -var baseVertical = fs.readFileSync(path.resolve(__dirname, "css/grid-overlay-vertical.css"), "utf8"); - -function template (string, obj) { +var fs = require("fs"); +var path = require("path"); +var baseHorizontal = fs.readFileSync( + path.resolve(__dirname, "css/grid-overlay-horizontal.css"), + "utf8" +); +var baseVertical = fs.readFileSync( + path.resolve(__dirname, "css/grid-overlay-vertical.css"), + "utf8" +); + +function template(string, obj) { obj = obj || {}; - return string.replace(/\{\{(.+?)\}\}/g, function () { + return string.replace(/\{\{(.+?)\}\}/g, function() { if (obj[arguments[1]]) { - return obj[arguments[1]]; + return obj[arguments[1]]; } return ""; }); } function getCss(opts) { - var base = opts.selector + " {position:relative;}"; if (opts.horizontal) { @@ -29,73 +34,72 @@ function getCss(opts) { return template(base, opts); } -module.exports.init = function (ui) { - +module.exports.init = function(ui) { const TRANSMIT_EVENT = "ui:remote-debug:css-overlay-grid"; - const READY_EVENT = "ui:remote-debug:css-overlay-grid:ready"; - const OPT_PATH = ["remote-debug", "overlay-grid"]; + const READY_EVENT = "ui:remote-debug:css-overlay-grid:ready"; + const OPT_PATH = ["remote-debug", "overlay-grid"]; var defaults = { - offsetY: "0", - offsetX: "0", - size: "16px", + offsetY: "0", + offsetX: "0", + size: "16px", selector: "body", - color: "rgba(0, 0, 0, .2)", + color: "rgba(0, 0, 0, .2)", horizontal: true, vertical: true }; - ui.clients.on("connection", function (client) { - client.on(READY_EVENT, function () { + ui.clients.on("connection", function(client) { + client.on(READY_EVENT, function() { client.emit(TRANSMIT_EVENT, { innerHTML: getCss(ui.options.getIn(OPT_PATH).toJS()) }); }); }); - ui.setOptionIn(OPT_PATH, Immutable.Map({ - name: "overlay-grid", - title: "Overlay CSS Grid", - active: false, - tagline: "Add an adjustable CSS overlay grid to your webpage", - innerHTML: "" - }).merge(defaults)); - + ui.setOptionIn( + OPT_PATH, + Immutable.Map({ + name: "overlay-grid", + title: "Overlay CSS Grid", + active: false, + tagline: "Add an adjustable CSS overlay grid to your webpage", + innerHTML: "" + }).merge(defaults) + ); var methods = { - toggle: function (value) { + toggle: function(value) { if (value !== true) { value = false; } if (value) { ui.setOptionIn(OPT_PATH.concat("active"), true); - ui.enableElement({name: "overlay-grid-js"}); + ui.enableElement({ name: "overlay-grid-js" }); } else { ui.setOptionIn(OPT_PATH.concat("active"), false); - ui.disableElement({name: "overlay-grid-js"}); - ui.clients.emit("ui:element:remove", {id: "__bs_overlay-grid-styles__"}); + ui.disableElement({ name: "overlay-grid-js" }); + ui.clients.emit("ui:element:remove", { id: "__bs_overlay-grid-styles__" }); } }, - adjust: function (data) { - + adjust: function(data) { ui.setOptionIn(OPT_PATH, ui.getOptionIn(OPT_PATH).merge(data)); ui.clients.emit(TRANSMIT_EVENT, { innerHTML: getCss(ui.options.getIn(OPT_PATH).toJS()) }); }, - "toggle:axis": function (item) { - + "toggle:axis": function(item) { ui.setOptionIn(OPT_PATH.concat([item.axis]), item.value); ui.clients.emit(TRANSMIT_EVENT, { innerHTML: getCss(ui.options.getIn(OPT_PATH).toJS()) }); }, - event: function (event) { + event: function(event) { methods[event.event](event.data); } }; return methods; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.client.js b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.client.js index d4a704991..c48bbab66 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.client.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.client.js @@ -1,5 +1,4 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "remote-debug"; angular @@ -17,31 +16,30 @@ * @param pagesConfig */ function RemoteDebugController(options, Socket, pagesConfig) { - - var ctrl = this; - ctrl.options = options.bs; - ctrl.uiOptions = options.ui; + var ctrl = this; + ctrl.options = options.bs; + ctrl.uiOptions = options.ui; ctrl.clientFiles = options.ui.clientFiles || {}; - ctrl.section = pagesConfig[SECTION_NAME]; + ctrl.section = pagesConfig[SECTION_NAME]; ctrl.overlayGrid = options.ui[SECTION_NAME]["overlay-grid"]; ctrl.items = []; if (Object.keys(ctrl.clientFiles).length) { - Object.keys(ctrl.clientFiles).forEach(function (key) { + Object.keys(ctrl.clientFiles).forEach(function(key) { if (ctrl.clientFiles[key].context === SECTION_NAME) { ctrl.items.push(ctrl.clientFiles[key]); } }); } - ctrl.toggleClientFile = function (item) { + ctrl.toggleClientFile = function(item) { if (item.active) { return ctrl.enable(item); } return ctrl.disable(item); }; - ctrl.toggleOverlayGrid = function (item) { + ctrl.toggleOverlayGrid = function(item) { var ns = SECTION_NAME + ":overlay-grid"; Socket.uiEvent({ namespace: ns, @@ -50,7 +48,7 @@ }); }; - ctrl.enable = function (item) { + ctrl.enable = function(item) { Socket.uiEvent({ namespace: SECTION_NAME + ":files", event: "enableFile", @@ -58,7 +56,7 @@ }); }; - ctrl.disable = function (item) { + ctrl.disable = function(item) { Socket.uiEvent({ namespace: SECTION_NAME + ":files", event: "disableFile", @@ -70,32 +68,29 @@ /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("noCache", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "no-cache.html", - controller: ["$scope", "Socket", noCacheDirectiveControlller], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("noCache", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "no-cache.html", + controller: ["$scope", "Socket", noCacheDirectiveControlller], + controllerAs: "ctrl" + }; + }); /** * @param $scope * @param Socket */ - function noCacheDirectiveControlller ($scope, Socket) { - + function noCacheDirectiveControlller($scope, Socket) { var ctrl = this; ctrl.noCache = $scope.options[SECTION_NAME]["no-cache"]; - ctrl.toggleLatency = function (item) { + ctrl.toggleLatency = function(item) { Socket.emit("ui:no-cache", { event: "toggle", data: item.active @@ -103,42 +98,36 @@ }; } - /** * Display the snippet when in snippet mode */ - angular - .module("BrowserSync") - .directive("compression", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "compression.html", - controller: ["$scope", "Socket", compressionDirectiveControlller], - controllerAs: "ctrl" - }; - }); + angular.module("BrowserSync").directive("compression", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "compression.html", + controller: ["$scope", "Socket", compressionDirectiveControlller], + controllerAs: "ctrl" + }; + }); /** * @param $scope * @param Socket */ - function compressionDirectiveControlller ($scope, Socket) { - + function compressionDirectiveControlller($scope, Socket) { var ctrl = this; ctrl.compression = $scope.options[SECTION_NAME]["compression"]; - ctrl.toggleLatency = function (item) { + ctrl.toggleLatency = function(item) { Socket.emit("ui:compression", { event: "toggle", data: item.active }); }; } - })(angular); - diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.html b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.html index a79025c97..eb02bb1ff 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.html +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.html @@ -5,19 +5,27 @@

- -
+ +
- + diff --git a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.plugin.js b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.plugin.js index acef18880..679b6e105 100644 --- a/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/remote-debug/remote-debug.plugin.js @@ -1,9 +1,9 @@ //var compression = require("./compression"); //var noCachePlugin = require("./no-cache"); -var overlayPlugin = require("./overlay-grid/overlay-grid"); -var clientFiles = require("./client-files"); +var overlayPlugin = require("./overlay-grid/overlay-grid"); +var clientFiles = require("./client-files"); -const PLUGIN_NAME = "Remote Debug"; +const PLUGIN_NAME = "Remote Debug"; /** * @type {{plugin: Function, plugin:name: string, markup: string}} @@ -13,8 +13,7 @@ module.exports = { * @param ui * @param bs */ - "plugin": function (ui, bs) { - + plugin: function(ui, bs) { ui.overlayGrid = overlayPlugin.init(ui, bs); //ui.noCache = noCachePlugin.init(ui, bs); @@ -24,10 +23,10 @@ module.exports = { * Listen for file events */ ui.listen("remote-debug:files", { - "enableFile": function (file) { + enableFile: function(file) { ui.enableElement(file); }, - "disableFile": function (file) { + disableFile: function(file) { ui.disableElement(file); } }); @@ -40,16 +39,14 @@ module.exports = { /** * Hooks */ - "hooks": { - "markup": fileContent("remote-debug.html"), + hooks: { + markup: fileContent("remote-debug.html"), "client:js": [ fileContent("/remote-debug.client.js"), fileContent("/overlay-grid/overlay-grid.client.js") ], - "templates": [ - getPath("/overlay-grid/overlay-grid.html") - ], - "page": { + templates: [getPath("/overlay-grid/overlay-grid.html")], + page: { path: "/remote-debug", title: PLUGIN_NAME, template: "remote-debug.html", @@ -69,7 +66,7 @@ module.exports = { * @param filepath * @returns {*} */ -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } @@ -77,6 +74,6 @@ function getPath (filepath) { * @param filepath * @returns {*} */ -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.client.js b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.client.js index f15aa0ae4..179410b70 100644 --- a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.client.js +++ b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.client.js @@ -1,5 +1,4 @@ -(function (angular) { - +(function(angular) { const SECTION_NAME = "sync-options"; angular @@ -18,12 +17,11 @@ * @constructor */ function SyncOptionsController(Socket, options, pagesConfig) { - var ctrl = this; ctrl.options = options.bs; ctrl.section = pagesConfig[SECTION_NAME]; - ctrl.setMany = function (value) { + ctrl.setMany = function(value) { Socket.uiEvent({ namespace: SECTION_NAME, event: "setMany", @@ -31,7 +29,7 @@ value: value } }); - ctrl.syncItems = ctrl.syncItems.map(function (item) { + ctrl.syncItems = ctrl.syncItems.map(function(item) { item.value = value; return item; }); @@ -41,12 +39,12 @@ * Toggle Options * @param item */ - ctrl.toggleSyncItem = function (item) { + ctrl.toggleSyncItem = function(item) { Socket.uiEvent({ namespace: SECTION_NAME, event: "set", data: { - path: item.path, + path: item.path, value: item.value } }); @@ -55,28 +53,39 @@ ctrl.syncItems = []; var taglines = { - clicks: "Mirror clicks across devices", - scroll: "Mirror scroll position across devices", - "ghostMode.submit": "Form Submissions will be synced", - "ghostMode.inputs": "Text inputs (including text-areas) will be synced", + clicks: "Mirror clicks across devices", + scroll: "Mirror scroll position across devices", + "ghostMode.submit": "Form Submissions will be synced", + "ghostMode.inputs": "Text inputs (including text-areas) will be synced", "ghostMode.toggles": "Radio + Checkboxes changes will be synced", - codeSync: "Reload or Inject files when they change" + codeSync: "Reload or Inject files when they change" }; // If watching files, add the code-sync toggle - ctrl.syncItems.push(addItem("codeSync", ["codeSync"], ctrl.options.codeSync, taglines["codeSync"])); + ctrl.syncItems.push( + addItem("codeSync", ["codeSync"], ctrl.options.codeSync, taglines["codeSync"]) + ); - Object.keys(ctrl.options.ghostMode).forEach(function (item) { + Object.keys(ctrl.options.ghostMode).forEach(function(item) { if (item !== "forms" && item !== "location") { - ctrl.syncItems.push(addItem(item, ["ghostMode", item], ctrl.options.ghostMode[item], taglines[item])); + ctrl.syncItems.push( + addItem(item, ["ghostMode", item], ctrl.options.ghostMode[item], taglines[item]) + ); } }); - Object.keys(ctrl.options.ghostMode.forms).forEach(function (item) { - ctrl.syncItems.push(addItem("Forms: " + item, ["ghostMode", "forms", item], ctrl.options.ghostMode["forms"][item], taglines["ghostMode." + item])); + Object.keys(ctrl.options.ghostMode.forms).forEach(function(item) { + ctrl.syncItems.push( + addItem( + "Forms: " + item, + ["ghostMode", "forms", item], + ctrl.options.ghostMode["forms"][item], + taglines["ghostMode." + item] + ) + ); }); - function addItem (item, path, value, tagline) { + function addItem(item, path, value, tagline) { return { value: value, name: item, @@ -87,8 +96,7 @@ } } - function ucfirst (string) { + function ucfirst(string) { return string.charAt(0).toUpperCase() + string.slice(1); } - })(angular); diff --git a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.html b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.html index 527b5913e..44d0f17dd 100644 --- a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.html +++ b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.html @@ -16,10 +16,12 @@

- - \ No newline at end of file + + diff --git a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.plugin.js b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.plugin.js index ec6dc5109..7713ca4cf 100644 --- a/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.plugin.js +++ b/packages/browser-sync-ui/lib/plugins/sync-options/sync-options.plugin.js @@ -1,30 +1,29 @@ const PLUGIN_NAME = "Sync Options"; -var chalk = require("chalk"); +var chalk = require("chalk"); /** * @type {{plugin: Function, plugin:name: string, hooks: object}} */ module.exports = { - - "plugin": function (ui, bs) { - + plugin: function(ui, bs) { ui.listen("sync-options", { - - "set": function (data) { - - ui.logger.debug("Setting option: %s:%s", chalk.magenta(data.path.join(".")), chalk.cyan(data.value)); + set: function(data) { + ui.logger.debug( + "Setting option: %s:%s", + chalk.magenta(data.path.join(".")), + chalk.cyan(data.value) + ); bs.setOptionIn(data.path, data.value); }, - "setMany": function (data) { - + setMany: function(data) { ui.logger.debug("Setting Many options..."); if (data.value !== true) { data.value = false; } - bs.setMany(function (item) { + bs.setMany(function(item) { [ ["codeSync"], ["ghostMode", "clicks"], @@ -32,20 +31,20 @@ module.exports = { ["ghostMode", "forms", "inputs"], ["ghostMode", "forms", "toggles"], ["ghostMode", "forms", "submit"] - ].forEach(function (option) { - item.setIn(option, data.value); - }); + ].forEach(function(option) { + item.setIn(option, data.value); + }); }); return bs; } }); }, - "hooks": { - "markup": fileContent("sync-options.html"), + hooks: { + markup: fileContent("sync-options.html"), "client:js": fileContent("sync-options.client.js"), - "templates": [], - "page": { + templates: [], + page: { path: "/sync-options", title: PLUGIN_NAME, template: "sync-options.html", @@ -57,10 +56,10 @@ module.exports = { "plugin:name": PLUGIN_NAME }; -function getPath (filepath) { +function getPath(filepath) { return require("path").join(__dirname, filepath); } -function fileContent (filepath) { +function fileContent(filepath) { return require("fs").readFileSync(getPath(filepath), "utf-8"); } diff --git a/packages/browser-sync-ui/lib/resolve-plugins.js b/packages/browser-sync-ui/lib/resolve-plugins.js index 6abb26ad9..98c69384a 100644 --- a/packages/browser-sync-ui/lib/resolve-plugins.js +++ b/packages/browser-sync-ui/lib/resolve-plugins.js @@ -1,6 +1,6 @@ -var fs = require("fs"); -var path = require("path"); -var Immutable = require("immutable"); +var fs = require("fs"); +var path = require("path"); +var Immutable = require("immutable"); /** * Take Browsersync plugins and determine if @@ -9,77 +9,88 @@ var Immutable = require("immutable"); * @param plugins * @returns {*} */ -module.exports = function (plugins) { - return require("immutable") - .fromJS(plugins) - /** - * Exclude the UI - */ - .filter(function (plugin) { - return plugin.get("name") !== "UI"; - }) - /** - * Attempt to retrieve a plugins package.json file - */ - .map(function (plugin) { +module.exports = function(plugins) { + return ( + require("immutable") + .fromJS(plugins) + /** + * Exclude the UI + */ + .filter(function(plugin) { + return plugin.get("name") !== "UI"; + }) + /** + * Attempt to retrieve a plugins package.json file + */ + .map(function(plugin) { + var moduleName = plugin.getIn(["opts", "moduleName"]); + var pkg = {}; + + if (!moduleName) { + return plugin; + } + + try { + pkg = require("immutable").fromJS( + require(path.join(moduleName, "package.json")) + ); + } catch (e) { + console.error(e); + return plugin; + } + + plugin = plugin.set("pkg", pkg); + + return plugin.set("relpath", path.dirname(require.resolve(moduleName))); + }) + /** + * Try to load markup for each plugin + */ + .map(function(plugin) { + if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { + return plugin; + } + + var markup = plugin.getIn(["pkg", "browser-sync:ui", "hooks", "markup"]); + + if (markup) { + plugin = plugin.set( + "markup", + fs.readFileSync(path.resolve(plugin.get("relpath"), markup), "utf8") + ); + } - var moduleName = plugin.getIn(["opts", "moduleName"]); - var pkg = {}; - - if (!moduleName) { - return plugin; - } - - try { - pkg = require("immutable").fromJS(require(path.join(moduleName, "package.json"))); - } catch (e) { - console.error(e); - return plugin; - } - - plugin = plugin.set("pkg", pkg); - - return plugin.set("relpath", path.dirname(require.resolve(moduleName))); - }) - /** - * Try to load markup for each plugin - */ - .map(function (plugin) { - - if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { return plugin; - } - - var markup = plugin.getIn(["pkg", "browser-sync:ui", "hooks", "markup"]); - - if (markup) { - plugin = plugin.set("markup", fs.readFileSync(path.resolve(plugin.get("relpath"), markup), "utf8")); - } - - return plugin; - }) - /** - * Load any template files for the plugin - */ - .map(function (plugin) { - - if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { - return plugin; - } - - return resolveIfPluginHas(["pkg", "browser-sync:ui", "hooks", "templates"], "templates", plugin); - }) - /** - * Try to load Client JS for each plugin - */ - .map(function (plugin) { - - if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { - return plugin; - } - - return resolveIfPluginHas(["pkg", "browser-sync:ui", "hooks", "client:js"], "client:js", plugin); - }); + }) + /** + * Load any template files for the plugin + */ + .map(function(plugin) { + if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { + return plugin; + } + + return resolveIfPluginHas( + ["pkg", "browser-sync:ui", "hooks", "templates"], + "templates", + plugin + ); + }) + /** + * Try to load Client JS for each plugin + */ + .map(function(plugin) { + if (!plugin.hasIn(["pkg", "browser-sync:ui"])) { + return plugin; + } + + return resolveIfPluginHas( + ["pkg", "browser-sync:ui", "hooks", "client:js"], + "client:js", + plugin + ); + }) + ); }; /** @@ -92,10 +103,7 @@ module.exports = function (plugins) { function resolveIfPluginHas(optPath, propName, plugin) { var opt = plugin.getIn(optPath); if (opt.size) { - return plugin.set( - propName, - resolvePluginFiles(opt, plugin.get("relpath")) - ); + return plugin.set(propName, resolvePluginFiles(opt, plugin.get("relpath"))); } return plugin; } @@ -106,12 +114,14 @@ function resolveIfPluginHas(optPath, propName, plugin) { * @param {String} relPath * @returns {any} */ -function resolvePluginFiles (collection, relPath) { - return Immutable.fromJS(collection.reduce(function (all, item) { - var full = path.join(relPath, item); - if (fs.existsSync(full)) { - all[full] = fs.readFileSync(full, "utf8"); - } - return all; - }, {})); +function resolvePluginFiles(collection, relPath) { + return Immutable.fromJS( + collection.reduce(function(all, item) { + var full = path.join(relPath, item); + if (fs.existsSync(full)) { + all[full] = fs.readFileSync(full, "utf8"); + } + return all; + }, {}) + ); } diff --git a/packages/browser-sync-ui/lib/server.js b/packages/browser-sync-ui/lib/server.js index e17fa4f01..a107a5922 100644 --- a/packages/browser-sync-ui/lib/server.js +++ b/packages/browser-sync-ui/lib/server.js @@ -1,29 +1,28 @@ -var http = require("http"); -var fs = require("fs"); -var path = require("path"); -var config = require("./config"); -var svg = publicFile(config.defaults.public.svg); -var indexPage = publicFile(config.defaults.indexPage); +var http = require("http"); +var fs = require("fs"); +var path = require("path"); +var config = require("./config"); +var svg = publicFile(config.defaults.public.svg); +var indexPage = publicFile(config.defaults.indexPage); //var css = publicFile(config.defaults.public.css); -var header = staticFile(config.defaults.components.header); -var footer = staticFile(config.defaults.components.footer); -var zlib = require("zlib"); +var header = staticFile(config.defaults.components.header); +var footer = staticFile(config.defaults.components.footer); +var zlib = require("zlib"); /** * @param {UI} ui * @returns {*} */ function startServer(ui) { - - var connect = ui.bs.utils.connect; + var connect = ui.bs.utils.connect; var serveStatic = ui.bs.utils.serveStatic; /** * Create a connect server */ - var app = connect(); - var socketJs = getSocketJs(ui); - var jsFilename = "/" + md5(socketJs, 10) + ".js"; + var app = connect(); + var socketJs = getSocketJs(ui); + var jsFilename = "/" + md5(socketJs, 10) + ".js"; //var cssFilename = "/" + md5(css, 10) + ".css"; /** @@ -36,7 +35,7 @@ function startServer(ui) { app.use(serveFile(config.defaults.pagesConfig, "js", ui.pagesConfig)); // - app.use(serveFile(config.defaults.clientJs, "js", ui.clientJs)); + app.use(serveFile(config.defaults.clientJs, "js", ui.clientJs)); /** * Add any markup from plugins/hooks/templates @@ -89,16 +88,14 @@ function startServer(ui) { * @param markup */ function insertPageMarkupFromHooks(app, pages, markup) { - var cached; - app.use(function (req, res, next) { - + app.use(function(req, res, next) { if (req.url === "/" || pages[req.url.slice(1)]) { - res.writeHead(200, {"Content-Type": "text/html", "Content-Encoding": "gzip"}); + res.writeHead(200, { "Content-Type": "text/html", "Content-Encoding": "gzip" }); if (!cached) { var buf = Buffer.from(markup, "utf-8"); - zlib.gzip(buf, function (_, result) { + zlib.gzip(buf, function(_, result) { cached = result; res.end(result); }); @@ -119,10 +116,10 @@ function insertPageMarkupFromHooks(app, pages, markup) { var gzipCache = {}; function serveFile(path, type, string) { var typemap = { - js: "application/javascript", + js: "application/javascript", css: "text/css" }; - return function (req, res, next) { + return function(req, res, next) { if (req.url !== path) { return next(); } @@ -131,31 +128,27 @@ function serveFile(path, type, string) { "Content-Type": typemap[type], "Content-Encoding": "gzip", "Cache-Control": "no-cache, no-store, must-revalidate", - "Expires": 0, - "Pragma": "no-cache" + Expires: 0, + Pragma: "no-cache" }); if (gzipCache[path]) { return res.end(gzipCache[path]); } var buf = Buffer.from(string, "utf-8"); - zlib.gzip(buf, function (_, result) { + zlib.gzip(buf, function(_, result) { gzipCache[path] = result; res.end(result); }); }; } - /** * @param cp * @returns {string} */ -function getSocketJs (cp) { - - return [ - cp.bs.getExternalSocketConnector({namespace: "/browser-sync-cp"}) - ].join(";"); +function getSocketJs(cp) { + return [cp.bs.getExternalSocketConnector({ namespace: "/browser-sync-cp" })].join(";"); } ///** @@ -172,7 +165,10 @@ function getSocketJs (cp) { */ function md5(src, length) { var crypto = require("crypto"); - var hash = crypto.createHash("md5").update(src, "utf8").digest("hex"); + var hash = crypto + .createHash("md5") + .update(src, "utf8") + .digest("hex"); return hash.slice(0, length); } @@ -181,7 +177,7 @@ function md5(src, length) { * @param {string} filepath * @returns {string} */ -function publicDir (filepath) { +function publicDir(filepath) { return path.join(__dirname, "/../public" + filepath) || ""; } @@ -189,7 +185,7 @@ function publicDir (filepath) { * @param {string} filepath * @returns {string|string} */ -function staticDir (filepath) { +function staticDir(filepath) { return path.join(__dirname, "/../static" + filepath) || ""; } @@ -213,8 +209,8 @@ function staticFile(filepath) { * @param {string} filepath * @returns {string} */ -function packageDir (filepath) { +function packageDir(filepath) { return path.join(__dirname, "/../" + filepath); } -module.exports = startServer; \ No newline at end of file +module.exports = startServer; diff --git a/packages/browser-sync-ui/lib/transform.options.js b/packages/browser-sync-ui/lib/transform.options.js index 0ac3862a8..ba253e234 100644 --- a/packages/browser-sync-ui/lib/transform.options.js +++ b/packages/browser-sync-ui/lib/transform.options.js @@ -1,25 +1,25 @@ -var path = require("path"); +var path = require("path"); -module.exports = function (bs) { +module.exports = function(bs) { /** * Transform server options to offer additional functionality * @param bs */ var options = bs.options; - var server = options.server; - var cwd = bs.cwd; + var server = options.server; + var cwd = bs.cwd; /** * Transform server option */ if (server) { if (Array.isArray(server.baseDir)) { - server.baseDirs = options.server.baseDir.map(function (item) { + server.baseDirs = options.server.baseDir.map(function(item) { return path.join(cwd, item); }); } else { server.baseDirs = [path.join(cwd, server.baseDir)]; } } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/transforms.js b/packages/browser-sync-ui/lib/transforms.js index 6423b54f5..3f0734b8f 100644 --- a/packages/browser-sync-ui/lib/transforms.js +++ b/packages/browser-sync-ui/lib/transforms.js @@ -1,5 +1,5 @@ module.exports = { - "mode": function (obj) { + mode: function(obj) { if (obj.get("server")) { return "Server"; } @@ -8,4 +8,4 @@ module.exports = { } return "Snippet"; } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/lib/utils.js b/packages/browser-sync-ui/lib/utils.js index 5bf87e71b..f54f6501c 100644 --- a/packages/browser-sync-ui/lib/utils.js +++ b/packages/browser-sync-ui/lib/utils.js @@ -1,5 +1,5 @@ -var url = require("url"); -var http = require("http"); +var url = require("url"); +var http = require("http"); /** * @param localUrl @@ -15,12 +15,11 @@ function createUrl(localUrl, urlPath) { * @param cb */ function verifyUrl(url, cb) { - url.headers = { - "accept": "text/html" + accept: "text/html" }; - http.get(url, function (res) { + http.get(url, function(res) { if (res.statusCode === 200) { cb(null, res); } else { diff --git a/packages/browser-sync-ui/src/crossbow/_config.yml b/packages/browser-sync-ui/src/crossbow/_config.yml index dd151e6cf..5e90309c2 100644 --- a/packages/browser-sync-ui/src/crossbow/_config.yml +++ b/packages/browser-sync-ui/src/crossbow/_config.yml @@ -1,36 +1,36 @@ sections: - - title: "Overview" - icon: "cog" - href: "/server-info.html" - - title: "Sync Options" - icon: "sync" - href: "/sync-options.html" - - title: "History" - icon: "list2" - href: "/history.html" - - title: "Plugins" - icon: "plug" - href: "/plugins.html" - - title: "Remote Debug" - icon: "bug" - href: "/remote-debug.html" - - title: "Network Throttle" - icon: "time" - href: "/network-throttle.html" - - title: "Help / About" - icon: "help" - href: "/help.html" + - title: "Overview" + icon: "cog" + href: "/server-info.html" + - title: "Sync Options" + icon: "sync" + href: "/sync-options.html" + - title: "History" + icon: "list2" + href: "/history.html" + - title: "Plugins" + icon: "plug" + href: "/plugins.html" + - title: "Remote Debug" + icon: "bug" + href: "/remote-debug.html" + - title: "Network Throttle" + icon: "time" + href: "/network-throttle.html" + - title: "Help / About" + icon: "help" + href: "/help.html" links: - github: "https://github.com/BrowserSync/browser-sync/" - issues: "https://github.com/BrowserSync/browser-sync/issues" - twitter: "https://twitter.com/browsersync" - home: "https://browsersync.io" - stackoverflow: "https://stackoverflow.com/questions/tagged/browser-sync" - snippetOptions: "https://www.browsersync.io/docs/options/#option-snippetOptions" - contributing: "https://github.com/shakyShane/browser-sync/blob/master/CONTRIBUTING.md" - options: "https://www.browsersync.io/docs/options" - jh: "https://wearejh.com" + github: "https://github.com/BrowserSync/browser-sync/" + issues: "https://github.com/BrowserSync/browser-sync/issues" + twitter: "https://twitter.com/browsersync" + home: "https://browsersync.io" + stackoverflow: "https://stackoverflow.com/questions/tagged/browser-sync" + snippetOptions: "https://www.browsersync.io/docs/options/#option-snippetOptions" + contributing: "https://github.com/shakyShane/browser-sync/blob/master/CONTRIBUTING.md" + options: "https://www.browsersync.io/docs/options" + jh: "https://wearejh.com" project: - name: "Browsersync.io" + name: "Browsersync.io" diff --git a/packages/browser-sync-ui/src/scripts/app.js b/packages/browser-sync-ui/src/scripts/app.js index b7b635bce..8204c0897 100644 --- a/packages/browser-sync-ui/src/scripts/app.js +++ b/packages/browser-sync-ui/src/scripts/app.js @@ -1,7 +1,7 @@ -require('angular'); -require('angular-route'); -require('angular-sanitize'); -require('angular-touch'); +require("angular"); +require("angular-route"); +require("angular-sanitize"); +require("angular-touch"); var angular = window.angular; @@ -30,7 +30,6 @@ function Config($locationProvider) { }); } - /** * Modules * @type {exports} diff --git a/packages/browser-sync-ui/src/scripts/directives.js b/packages/browser-sync-ui/src/scripts/directives.js index 85008ba01..f494e6ef0 100644 --- a/packages/browser-sync-ui/src/scripts/directives.js +++ b/packages/browser-sync-ui/src/scripts/directives.js @@ -3,4 +3,4 @@ var module = require("./module"); //jshint ignore:line module.directive("icon", require("./directives/icon")); module.directive("linkTo", require("./directives/link-to")); module.directive("switch", require("./directives/switch")); -module.directive("newTab", require("./directives/new-tab")); \ No newline at end of file +module.directive("newTab", require("./directives/new-tab")); diff --git a/packages/browser-sync-ui/src/scripts/directives/icon.js b/packages/browser-sync-ui/src/scripts/directives/icon.js index f16358ffc..012679e3e 100644 --- a/packages/browser-sync-ui/src/scripts/directives/icon.js +++ b/packages/browser-sync-ui/src/scripts/directives/icon.js @@ -1,14 +1,14 @@ -module.exports = function () { +module.exports = function() { return { scope: { icon: "@" }, restrict: "E", replace: true, - template: "", - link: function (scope, elem, attrs) { + template: '', + link: function(scope, elem, attrs) { scope.iconName = "#svg-" + scope.icon; return scope; } }; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/src/scripts/directives/link-to.js b/packages/browser-sync-ui/src/scripts/directives/link-to.js index 1fcbb47da..740f04f66 100644 --- a/packages/browser-sync-ui/src/scripts/directives/link-to.js +++ b/packages/browser-sync-ui/src/scripts/directives/link-to.js @@ -1,22 +1,26 @@ -module.exports = function () { +module.exports = function() { return { - restrict: "E", - replace: false, + restrict: "E", + replace: false, transclude: true, - scope: { - "path": "@" + scope: { + path: "@" }, - template: "as", - controller: ["$scope", "$location", "$injector", function ($scope, $location, $injector) { + template: "as", + controller: [ + "$scope", + "$location", + "$injector", + function($scope, $location, $injector) { + var pages = $injector.get("pagesConfig"); + var Pages = $injector.get("Pages"); - var pages = $injector.get("pagesConfig"); - var Pages = $injector.get("Pages"); - - $scope.navi = function (path) { - var item = pages[path]; - Pages.enable(item); - $location.path(path); - }; - }] + $scope.navi = function(path) { + var item = pages[path]; + Pages.enable(item); + $location.path(path); + }; + } + ] }; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/src/scripts/directives/new-tab.js b/packages/browser-sync-ui/src/scripts/directives/new-tab.js index 8d201c059..df1ff985c 100644 --- a/packages/browser-sync-ui/src/scripts/directives/new-tab.js +++ b/packages/browser-sync-ui/src/scripts/directives/new-tab.js @@ -1,4 +1,4 @@ -module.exports = function () { +module.exports = function() { return { scope: { url: "@", @@ -6,6 +6,7 @@ module.exports = function () { }, restrict: "E", replace: true, - template: ' New Tab ' //jshint:ignore + template: + ' New Tab ' //jshint:ignore }; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/src/scripts/directives/switch.js b/packages/browser-sync-ui/src/scripts/directives/switch.js index 21d19a86d..ce14a49ee 100644 --- a/packages/browser-sync-ui/src/scripts/directives/switch.js +++ b/packages/browser-sync-ui/src/scripts/directives/switch.js @@ -1,4 +1,4 @@ -module.exports = function () { +module.exports = function() { return { scope: { toggle: "&", @@ -14,9 +14,12 @@ module.exports = function () { transclude: true, templateUrl: "bs-switch.html", controllerAs: "ctrl", - controller: ["$scope", function ($scope) { - var ctrl = this; - ctrl.item = $scope.item; - }] + controller: [ + "$scope", + function($scope) { + var ctrl = this; + ctrl.item = $scope.item; + } + ] }; -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/src/scripts/editor.js b/packages/browser-sync-ui/src/scripts/editor.js index 8b4ade0bf..24b1ecdd7 100644 --- a/packages/browser-sync-ui/src/scripts/editor.js +++ b/packages/browser-sync-ui/src/scripts/editor.js @@ -1,13 +1,8 @@ var Codemirror = require("codemirror"); -var jsMode = require('codemirror/mode/javascript/javascript.js'); - -(function () { - - angular - .module("bsEditor", []) - .service('Editor', function () { - return Codemirror; - }); +var jsMode = require("codemirror/mode/javascript/javascript.js"); +(function() { + angular.module("bsEditor", []).service("Editor", function() { + return Codemirror; + }); })(angular); - diff --git a/packages/browser-sync-ui/src/scripts/filters.js b/packages/browser-sync-ui/src/scripts/filters.js index 8019f0a77..3ae4dc088 100644 --- a/packages/browser-sync-ui/src/scripts/filters.js +++ b/packages/browser-sync-ui/src/scripts/filters.js @@ -1,8 +1,16 @@ var module = require("./module"); //jshint ignore:line -var utils = require("./utils"); //jshint ignore:line +var utils = require("./utils"); //jshint ignore:line module - .filter("ucfirst", function () { return utils.ucfirst; }) - .filter("localRootUrl", function () { return utils.localRootUrl; }) - .filter("localUrl", function () { return utils.localRootUrl; }) - .filter("orderObjectBy", function () { return utils.orderObjectBy; }); \ No newline at end of file + .filter("ucfirst", function() { + return utils.ucfirst; + }) + .filter("localRootUrl", function() { + return utils.localRootUrl; + }) + .filter("localUrl", function() { + return utils.localRootUrl; + }) + .filter("orderObjectBy", function() { + return utils.orderObjectBy; + }); diff --git a/packages/browser-sync-ui/src/scripts/main/controller.js b/packages/browser-sync-ui/src/scripts/main/controller.js index 815eb79e0..8b2dca0e2 100644 --- a/packages/browser-sync-ui/src/scripts/main/controller.js +++ b/packages/browser-sync-ui/src/scripts/main/controller.js @@ -1,4 +1,4 @@ -var app = require("../module"); +var app = require("../module"); app.controller("MainController", [ "$scope", @@ -8,7 +8,6 @@ app.controller("MainController", [ MainController ]); - /** * @param $scope * @param $rootScope @@ -16,28 +15,27 @@ app.controller("MainController", [ * @param $injector * @constructor */ -function MainController ($scope, $rootScope, $location, $injector) { - - var ctrl = this; - ctrl.options = false; +function MainController($scope, $rootScope, $location, $injector) { + var ctrl = this; + ctrl.options = false; ctrl.browsers = []; ctrl.socketId = ""; var pagesConfig = $injector.get("pagesConfig"); - var Pages = $injector.get("Pages"); - var Socket = $injector.get("Socket"); - var Clients = $injector.get("Clients"); + var Pages = $injector.get("Pages"); + var Socket = $injector.get("Socket"); + var Clients = $injector.get("Clients"); ctrl.ui = { - menu: pagesConfig, - sectionMenu: false, + menu: pagesConfig, + sectionMenu: false, disconnected: false }; /** * @param $section */ - ctrl.setActiveSection = function ($section) { + ctrl.setActiveSection = function($section) { Pages.enable($section); $location.path($section.path); ctrl.ui.sectionMenu = false; @@ -46,7 +44,7 @@ function MainController ($scope, $rootScope, $location, $injector) { /** * Refresh all event */ - ctrl.reloadAll = function () { + ctrl.reloadAll = function() { Clients.reloadAll(); $rootScope.$emit("notify:flash", { heading: "Instruction sent:", @@ -57,7 +55,7 @@ function MainController ($scope, $rootScope, $location, $injector) { /** * @param value */ - ctrl.scrollAllTo = function () { + ctrl.scrollAllTo = function() { Clients.scrollAllTo(0); $rootScope.$emit("notify:flash", { heading: "Instruction sent:", @@ -68,7 +66,7 @@ function MainController ($scope, $rootScope, $location, $injector) { /** * Emit the socket event */ - ctrl.sendAllTo = function (path) { + ctrl.sendAllTo = function(path) { Clients.sendAllTo(path); $rootScope.$emit("notify:flash", { heading: "Instruction sent:", @@ -79,7 +77,7 @@ function MainController ($scope, $rootScope, $location, $injector) { /** * */ - ctrl.toggleMenu = function () { + ctrl.toggleMenu = function() { ctrl.ui.sectionMenu = !ctrl.ui.sectionMenu; }; @@ -87,17 +85,16 @@ function MainController ($scope, $rootScope, $location, $injector) { * @type {{connection: connection, addBrowsers: addBrowsers}} */ ctrl.socketEvents = { - /** * @param options */ - connection: function (options) { + connection: function(options) { ctrl.update(options); }, /** * */ - disconnect: function () { + disconnect: function() { ctrl.ui.disconnected = true; } }; @@ -105,12 +102,11 @@ function MainController ($scope, $rootScope, $location, $injector) { /** * Update the current $scope */ - ctrl.update = function (options) { - + ctrl.update = function(options) { ctrl.options = transformOptions(options); ctrl.ui.disconnected = false; - Pages.transform(pagesConfig["overview"], function ($section) { + Pages.transform(pagesConfig["overview"], function($section) { return $section; }); }; @@ -129,7 +125,7 @@ function MainController ($scope, $rootScope, $location, $injector) { * React to disconnects */ $rootScope.$on("ui:disconnect", ctrl.socketEvents.disconnect); - $rootScope.$on("ui:connection", function (evt, options) { + $rootScope.$on("ui:connection", function(evt, options) { ctrl.socketEvents.connection(options); $scope.$digest(); }); @@ -141,7 +137,6 @@ function MainController ($scope, $rootScope, $location, $injector) { * @returns {*} */ function transformOptions(options) { - options.displayUrl = getDisplayUrl(options.urls); return options; @@ -151,9 +146,9 @@ function transformOptions(options) { * @param urls * @returns {*} */ -function getDisplayUrl (urls) { +function getDisplayUrl(urls) { if (!urls) { return false; } return urls.external || urls.local; -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/src/scripts/modules/bsClients.js b/packages/browser-sync-ui/src/scripts/modules/bsClients.js index e1ebbc9ab..04855297f 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsClients.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsClients.js @@ -1,8 +1,6 @@ -var angular = require('../angular'); +var angular = require("../angular"); -angular - .module("bsClients", ["bsSocket"]) - .service("Clients", ["Socket", ClientsService]); +angular.module("bsClients", ["bsSocket"]).service("Clients", ["Socket", ClientsService]); /** * @param Socket @@ -10,12 +8,11 @@ angular * @constructor */ function ClientsService(Socket) { - var api = { - reloadAll: function () { + reloadAll: function() { Socket.clientEvent("browser:reload"); }, - sendAllTo: function (path) { + sendAllTo: function(path) { Socket.emit("ui", { namespace: "history", event: "sendAllTo", @@ -24,7 +21,7 @@ function ClientsService(Socket) { } }); }, - scrollAllTo: function () { + scrollAllTo: function() { Socket.clientEvent("scroll", { position: { raw: 0, @@ -33,7 +30,7 @@ function ClientsService(Socket) { override: true }); }, - highlight: function (connection) { + highlight: function(connection) { Socket.emit("ui:highlight", connection); } }; diff --git a/packages/browser-sync-ui/src/scripts/modules/bsDisconnect.js b/packages/browser-sync-ui/src/scripts/modules/bsDisconnect.js index e99049b41..86d302929 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsDisconnect.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsDisconnect.js @@ -1,15 +1,14 @@ -var angular = require('../angular'); - -angular - .module("bsDisconnect", []) - .directive("disconnectElem", function () { - return { - restrict: "E", - scope: {}, - template: '
\n

\n

{{ui.heading}} {{ui.message}}

\n

Possible reasons are:

\n
    \n
  • 1. Your process was exited by another tool
  • \n
\n

You should check your terminal window to see what happened.
(Or simply try reloading this page.)

\n
', // jshint:ignore - controller: ["$scope", "$rootScope", "$window", disconnectController] - }; - }); +var angular = require("../angular"); + +angular.module("bsDisconnect", []).directive("disconnectElem", function() { + return { + restrict: "E", + scope: {}, + template: + '
\n

\n

{{ui.heading}} {{ui.message}}

\n

Possible reasons are:

\n
    \n
  • 1. Your process was exited by another tool
  • \n
\n

You should check your terminal window to see what happened.
(Or simply try reloading this page.)

\n
', // jshint:ignore + controller: ["$scope", "$rootScope", "$window", disconnectController] + }; +}); /** * Disconnect @@ -18,7 +17,6 @@ angular * @param $window */ function disconnectController($scope, $rootScope, $window) { - /** * Default settings */ @@ -41,14 +39,14 @@ function disconnectController($scope, $rootScope, $window) { * @type {{connection: Function, disconnect: Function}} */ $scope.socketEvents = { - connection: function () { + connection: function() { if ($scope._disconnected) { $window.location.reload(true); } $scope.ui.visible = false; $scope.$digest(); }, - disconnect: function () { + disconnect: function() { $scope._disconnected = true; $scope.ui.visible = true; $scope.$digest(); @@ -58,5 +56,3 @@ function disconnectController($scope, $rootScope, $window) { $rootScope.$on("ui:connection", $scope.socketEvents.connection); $rootScope.$on("ui:disconnect", $scope.socketEvents.disconnect); } - - diff --git a/packages/browser-sync-ui/src/scripts/modules/bsHistory.js b/packages/browser-sync-ui/src/scripts/modules/bsHistory.js index e2d81f2ce..6c8edc3f8 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsHistory.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsHistory.js @@ -1,48 +1,45 @@ -var angular = require('../angular'); +var angular = require("../angular"); -angular - .module("bsHistory", ["bsSocket"]) - .service("History", ["Socket", HistoryService]); +angular.module("bsHistory", ["bsSocket"]).service("History", ["Socket", HistoryService]); function HistoryService(Socket) { - var visited = []; var updateStack = []; /** * Add a single socket event and call all callbacks listening to it. */ - Socket.on("ui:history:update", function (items) { - updateStack.forEach(function (fn) { + Socket.on("ui:history:update", function(items) { + updateStack.forEach(function(fn) { fn(items); }); }); return { visited: visited, - updateHistory: function (urls) { + updateHistory: function(urls) { visited = urls; }, - get: function () { + get: function() { return Socket.getData("visited"); }, - remove: function (data) { + remove: function(data) { Socket.emit("ui", { namespace: "history", event: "remove", data: data }); }, - clear: function () { + clear: function() { Socket.emit("ui", { namespace: "history", event: "clear" }); }, - on: function (event, fn) { + on: function(event, fn) { updateStack.push(fn); }, - off: function (fn) { + off: function(fn) { var index = updateStack.indexOf(fn); if (index > -1) { updateStack = updateStack.splice(index, 1); diff --git a/packages/browser-sync-ui/src/scripts/modules/bsNotify.js b/packages/browser-sync-ui/src/scripts/modules/bsNotify.js index 8fcb7aeaf..b2052c47d 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsNotify.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsNotify.js @@ -1,15 +1,14 @@ -var angular = require('../angular'); +var angular = require("../angular"); -angular - .module('bsNotify', []) - .directive("notifyElem", function () { - return { - restrict: "E", - scope: {}, - template: "
\n

{{ui.heading}} {{ui.message}}

\n
", - controller: ["$scope", "$rootScope", notifyController] - }; - }); +angular.module("bsNotify", []).directive("notifyElem", function() { + return { + restrict: "E", + scope: {}, + template: + '
\n

{{ui.heading}} {{ui.message}}

\n
', + controller: ["$scope", "$rootScope", notifyController] + }; +}); /** * Notify @@ -17,7 +16,6 @@ angular * @param $rootScope */ function notifyController($scope, $rootScope) { - /** * Default settings */ @@ -40,8 +38,7 @@ function notifyController($scope, $rootScope) { * @param evt * @param data */ - $scope.show = function (evt, data) { - + $scope.show = function(evt, data) { data = data || {}; /** @@ -74,7 +71,7 @@ function notifyController($scope, $rootScope) { /** * Reset the UI */ - $scope.reset = function () { + $scope.reset = function() { $scope.ui.visible = false; $scope.$digest(); }; diff --git a/packages/browser-sync-ui/src/scripts/modules/bsSocket.js b/packages/browser-sync-ui/src/scripts/modules/bsSocket.js index c1c6cb166..cb38d4a9c 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsSocket.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsSocket.js @@ -1,26 +1,23 @@ -var angular = require('../angular'); -var socket = require('socket.io-client'); +var angular = require("../angular"); +var socket = require("socket.io-client"); var socketConfig = window.___browserSync___.socketConfig; var socketUrl = window.___browserSync___.socketUrl; var io = socket(socketUrl, socketConfig); -angular - .module("bsSocket", []) - .service("Socket", ["$q", "$rootScope", SocketService]); +angular.module("bsSocket", []).service("Socket", ["$q", "$rootScope", SocketService]); function SocketService($q, $rootScope) { - var deferred = $q.defer(); var session; - io.on("connection", function (out) { + io.on("connection", function(out) { session = out.session; $rootScope.$emit("ui:connection", out); deferred.resolve(out, this); - if (window.name === '') { - window.name = JSON.stringify({id: socket.id}); + if (window.name === "") { + window.name = JSON.stringify({ id: socket.id }); } else { var prev = JSON.parse(window.name); //console.log(prev, socket); @@ -33,21 +30,21 @@ function SocketService($q, $rootScope) { } }); - io.on("disconnect", function () { + io.on("disconnect", function() { $rootScope.$emit("ui:disconnect"); }); var publicApi = { - on: function (name, callback) { + on: function(name, callback) { io.on(name, callback); }, - off: function (name, callback) { + off: function(name, callback) { io.off(name, callback); }, - removeEvent: function (name, callback) { + removeEvent: function(name, callback) { io.removeListener(name, callback); }, - emit: function (name, data) { + emit: function(name, data) { io.emit(name, data || {}); }, /** @@ -55,34 +52,32 @@ function SocketService($q, $rootScope) { * @param name * @param data */ - clientEvent: function (name, data) { + clientEvent: function(name, data) { io.emit("ui:client:proxy", { event: name, data: data }); }, - options: function () { + options: function() { return deferred.promise; }, - getData: function (name) { + getData: function(name) { var deferred = $q.defer(); - io.on("ui:receive:" + name, function (data) { + io.on("ui:receive:" + name, function(data) { deferred.resolve(data); }); io.emit("ui:get:" + name); return deferred.promise; }, - uiEvent: function (evt) { + uiEvent: function(evt) { io.emit("ui", evt); }, - newSession: function () { - - } + newSession: function() {} }; - Object.defineProperty(publicApi, 'sessionId', { - get: function () { - return session + Object.defineProperty(publicApi, "sessionId", { + get: function() { + return session; } }); diff --git a/packages/browser-sync-ui/src/scripts/modules/bsStore.js b/packages/browser-sync-ui/src/scripts/modules/bsStore.js index 27895e19b..0e8a44df9 100644 --- a/packages/browser-sync-ui/src/scripts/modules/bsStore.js +++ b/packages/browser-sync-ui/src/scripts/modules/bsStore.js @@ -1,57 +1,53 @@ -var angular = require('../angular'); -var store = require('store'); -var objectPath = require('object-path'); +var angular = require("../angular"); +var store = require("store"); +var objectPath = require("object-path"); -angular - .module("bsStore", []) - .service("Store", ["$q", "$rootScope", StoreModule]); +angular.module("bsStore", []).service("Store", ["$q", "$rootScope", StoreModule]); -function Store (ns) { - var bs = store.get('bs', {}); +function Store(ns) { + var bs = store.get("bs", {}); if (!Object.keys(bs).length) { - store.set('bs', {}); + store.set("bs", {}); } this.ns = ns; - this.get = function (path) { - var bs = store.get('bs', {}); + this.get = function(path) { + var bs = store.get("bs", {}); if (!Object.keys(bs).length) { - store.set('bs', {}); + store.set("bs", {}); } - return objectPath.get(bs, [ns].concat(path).join('.')); + return objectPath.get(bs, [ns].concat(path).join(".")); }; - this.set = function (path, value) { - var bs = store.get('bs', {}); + (this.set = function(path, value) { + var bs = store.get("bs", {}); if (!Object.keys(bs).length) { - store.set('bs', {}); + store.set("bs", {}); } if (!bs[ns]) { bs[ns] = {}; } bs[ns][path] = value; - store.set('bs', bs); - }, - this.remove = function (path) { - var bs = store.get('bs', {}); - if (!Object.keys(bs).length) { - store.set('bs', {}); - } - if (!bs[ns]) { - bs[ns] = {}; - } - if (bs[ns][path]) { - delete bs[ns][path]; - } - store.set('bs', bs); - } + store.set("bs", bs); + }), + (this.remove = function(path) { + var bs = store.get("bs", {}); + if (!Object.keys(bs).length) { + store.set("bs", {}); + } + if (!bs[ns]) { + bs[ns] = {}; + } + if (bs[ns][path]) { + delete bs[ns][path]; + } + store.set("bs", bs); + }); } -function StoreModule () { - +function StoreModule() { return { - create: function (ns) { + create: function(ns) { var store = new Store(ns); return store; } - } -}; - + }; +} diff --git a/packages/browser-sync-ui/src/scripts/services/Options.js b/packages/browser-sync-ui/src/scripts/services/Options.js index 8e57a5b20..88fc855b4 100644 --- a/packages/browser-sync-ui/src/scripts/services/Options.js +++ b/packages/browser-sync-ui/src/scripts/services/Options.js @@ -8,10 +8,9 @@ app.factory("Options", ["Socket", OptionsService]); * @constructor */ function OptionsService(Socket) { - return { - all: function () { + all: function() { return Socket.getData("options"); } }; -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/src/scripts/services/Pages.js b/packages/browser-sync-ui/src/scripts/services/Pages.js index 37ffd8353..2ff3ab1d5 100644 --- a/packages/browser-sync-ui/src/scripts/services/Pages.js +++ b/packages/browser-sync-ui/src/scripts/services/Pages.js @@ -12,15 +12,14 @@ app.service("Pages", ["pagesConfig", "$location", ContentSections]); * @constructor */ function ContentSections(pagesConfig, $location) { - return { /** * Enable a single Item * @param $section * @returns {*} */ - enable: function ($section) { - angular.forEach(pagesConfig, function (item) { + enable: function($section) { + angular.forEach(pagesConfig, function(item) { item.active = false; }); $section.active = true; @@ -29,9 +28,9 @@ function ContentSections(pagesConfig, $location) { /** * Transform an item */ - transform: function ($section, fn) { + transform: function($section, fn) { if (typeof fn === "function") { - return $section = fn($section); + return ($section = fn($section)); } else { throw new TypeError("Noooo"); } @@ -40,12 +39,12 @@ function ContentSections(pagesConfig, $location) { * Get the current section based on the path * @returns {*} */ - current: function () { + current: function() { if ($location.path() === "/") { return pagesConfig["overview"]; } var match; - angular.forEach(pagesConfig, function (item) { + angular.forEach(pagesConfig, function(item) { if (item.path === $location.path()) { match = item; } @@ -53,4 +52,4 @@ function ContentSections(pagesConfig, $location) { return match; } }; -} \ No newline at end of file +} diff --git a/packages/browser-sync-ui/src/scripts/utils.js b/packages/browser-sync-ui/src/scripts/utils.js index 3ee22d7d0..72474c92e 100644 --- a/packages/browser-sync-ui/src/scripts/utils.js +++ b/packages/browser-sync-ui/src/scripts/utils.js @@ -1,8 +1,8 @@ module.exports = { - ucfirst: function (string) { + ucfirst: function(string) { return string.charAt(0).toUpperCase() + string.slice(1); }, - localRootUrl: function (port, scheme) { + localRootUrl: function(port, scheme) { return [scheme, "://", window.location.hostname, ":", port].join(""); }, localUrl: function(path, port, mode) { @@ -11,17 +11,17 @@ module.exports = { } return ["//", window.location.hostname, ":", port, path].join(""); }, - orderObjectBy: function (items, field, reverse) { + orderObjectBy: function(items, field, reverse) { var filtered = []; Object.keys(items).forEach(function(key) { filtered.push(items[key]); }); - filtered.sort(function (a, b) { - return (a[field] > b[field] ? 1 : -1); + filtered.sort(function(a, b) { + return a[field] > b[field] ? 1 : -1; }); if (reverse) { filtered.reverse(); } return filtered; } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/tasks/crossbow.js b/packages/browser-sync-ui/tasks/crossbow.js index 916954529..1eb1f48b8 100644 --- a/packages/browser-sync-ui/tasks/crossbow.js +++ b/packages/browser-sync-ui/tasks/crossbow.js @@ -1,16 +1,14 @@ -var crossbow = require('crossbow-sites'); -var vfs = require('vinyl-fs'); -var resolve = require('path').resolve; +var crossbow = require("crossbow-sites"); +var vfs = require("vinyl-fs"); +var resolve = require("path").resolve; -const input = [ - "src/crossbow/*.hbs", - "src/crossbow/components/*.hbs", - "src/crossbow/content/*.hbs", -]; +const input = ["src/crossbow/*.hbs", "src/crossbow/components/*.hbs", "src/crossbow/content/*.hbs"]; vfs.src(input.map(x => resolve(x))) - .pipe(crossbow.stream({ - config: {base: "src/crossbow"}, - data: {site: "file:_config.yml"}, - })) + .pipe( + crossbow.stream({ + config: { base: "src/crossbow" }, + data: { site: "file:_config.yml" } + }) + ) .pipe(vfs.dest("./static")); diff --git a/packages/browser-sync-ui/tasks/icons.js b/packages/browser-sync-ui/tasks/icons.js index eaabd2269..5a35c2136 100644 --- a/packages/browser-sync-ui/tasks/icons.js +++ b/packages/browser-sync-ui/tasks/icons.js @@ -1,14 +1,15 @@ var easysvg = require("easy-svg"); -var vfs = require("vinyl-fs"); +var vfs = require("vinyl-fs"); /** * Compile SVG Symbols */ -function icons (opts, ctx, done) { - return vfs.src(opts.input) - .pipe(easysvg.stream({js: false})) - .on('error', done) - .pipe(vfs.dest(opts.output)) +function icons(opts, ctx, done) { + return vfs + .src(opts.input) + .pipe(easysvg.stream({ js: false })) + .on("error", done) + .pipe(vfs.dest(opts.output)); } module.exports.tasks = [icons]; diff --git a/packages/browser-sync-ui/templates/directives/bs-switch.html b/packages/browser-sync-ui/templates/directives/bs-switch.html index e93293bba..eff6df555 100644 --- a/packages/browser-sync-ui/templates/directives/bs-switch.html +++ b/packages/browser-sync-ui/templates/directives/bs-switch.html @@ -2,19 +2,23 @@
- +

{{item.title}}

-

{{item.tagline}}

+

+ {{item.tagline}} +

- \ No newline at end of file + diff --git a/packages/browser-sync-ui/test/client/e2e/bs-init.js b/packages/browser-sync-ui/test/client/e2e/bs-init.js index 4dccab7c9..a6fd8d382 100644 --- a/packages/browser-sync-ui/test/client/e2e/bs-init.js +++ b/packages/browser-sync-ui/test/client/e2e/bs-init.js @@ -1,14 +1,13 @@ -module.exports = function (ptor, config) { - - var flow = ptor.promise.controlFlow(); +module.exports = function(ptor, config) { + var flow = ptor.promise.controlFlow(); var deferred = ptor.promise.defer(); - var bs = require("browser-sync").create("Test Instance"); + var bs = require("browser-sync").create("Test Instance"); bs.use(require("../../../")); - return flow.execute(function () { - bs.init(config, function (err, _bs) { + return flow.execute(function() { + bs.init(config, function(err, _bs) { deferred.fulfill({ ui: _bs.ui, bs: _bs @@ -17,4 +16,4 @@ module.exports = function (ptor, config) { return deferred.promise; }); -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/client/e2e/config.js b/packages/browser-sync-ui/test/client/e2e/config.js index 5c51094d2..c69983fb4 100644 --- a/packages/browser-sync-ui/test/client/e2e/config.js +++ b/packages/browser-sync-ui/test/client/e2e/config.js @@ -1,4 +1,4 @@ exports.config = { seleniumAddress: "http://localhost:4444/wd/hub", specs: [process.argv.slice(4, 5)[0].replace("test/client/e2e/", "")] -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/client/e2e/e2e.plugins.js b/packages/browser-sync-ui/test/client/e2e/e2e.plugins.js index 2756ab8bf..60158da5e 100644 --- a/packages/browser-sync-ui/test/client/e2e/e2e.plugins.js +++ b/packages/browser-sync-ui/test/client/e2e/e2e.plugins.js @@ -5,18 +5,17 @@ */ var assert = require("chai").assert; -describe('Plugins section', function() { - +describe("Plugins section", function() { var expected, selector, menu, bsUrl; var ptor = protractor.getInstance(); var url; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; browser.get("/plugins"); - bsUrl = process.env["BS_URL"]; + bsUrl = process.env["BS_URL"]; }); - it("should list the form sync options", function () { + it("should list the form sync options", function() { expect(element.all(by.repeater("plugin in ui.plugins")).count()).toBe(1); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/e2e.server-info.js b/packages/browser-sync-ui/test/client/e2e/e2e.server-info.js index 610830e43..4e661bbf7 100644 --- a/packages/browser-sync-ui/test/client/e2e/e2e.server-info.js +++ b/packages/browser-sync-ui/test/client/e2e/e2e.server-info.js @@ -10,17 +10,16 @@ * */ -describe('Server Info section', function() { - +describe("Server Info section", function() { var expected, selector, menu, bsUrl; var ptor = protractor.getInstance(); var url; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; browser.get("/"); - bsUrl = process.env["BS_URL"]; - selector = '(key, item) in ui.menu | orderObjectBy: \'order\''; + bsUrl = process.env["BS_URL"]; + selector = "(key, item) in ui.menu | orderObjectBy: 'order'"; }); /** @@ -28,35 +27,36 @@ describe('Server Info section', function() { * 1. assert that the correct number are there * 2. assert that the first one contains the `local` BrowserSync url */ - it("List items should contain the relevant information", function () { - + it("List items should contain the relevant information", function() { var elements = element.all(by.repeater("url in urls")); - elements.count().then(function (count) { + elements.count().then(function(count) { expect(count).toEqual(1); }); - element(by.repeater("url in urls").row(0)).getInnerHtml().then(function (out) { - expect(out.indexOf(bsUrl) > -1).toBeTruthy(); - }); + element(by.repeater("url in urls").row(0)) + .getInnerHtml() + .then(function(out) { + expect(out.indexOf(bsUrl) > -1).toBeTruthy(); + }); }); - it("should render the icon", function () { - + it("should render the icon", function() { var elements = element.all(by.css("[bs-callout] [bs-icon='computer_download']")); - elements.count().then(function (count) { + elements.count().then(function(count) { expect(count).toEqual(1); }); }); - it("should have a link for opening new tab", function () { - - var elements = element.all(by.css("[bs-Content] a[title='Launch new tab here'")).then(function (links) { - links[0].getAttribute("href").then(function (out) { - expect(out.indexOf(bsUrl) > -1).toBeTruthy(); + it("should have a link for opening new tab", function() { + var elements = element + .all(by.css("[bs-Content] a[title='Launch new tab here'")) + .then(function(links) { + links[0].getAttribute("href").then(function(out) { + expect(out.indexOf(bsUrl) > -1).toBeTruthy(); + }); + links[0].getAttribute("target").then(function(out) { + expect(out).toEqual("_blank"); + }); }); - links[0].getAttribute("target").then(function (out) { - expect(out).toEqual("_blank"); - }); - }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/e2e.sync-options.js b/packages/browser-sync-ui/test/client/e2e/e2e.sync-options.js index 26363aeb8..834010ab3 100644 --- a/packages/browser-sync-ui/test/client/e2e/e2e.sync-options.js +++ b/packages/browser-sync-ui/test/client/e2e/e2e.sync-options.js @@ -3,88 +3,82 @@ * E2E tests for the sync-options plugin * */ -describe('Sync options section', function() { - +describe("Sync options section", function() { var expected, selector, menu, bsUrl; var ptor = protractor.getInstance(); var url; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; browser.get("/sync-options"); - bsUrl = process.env["BS_URL"]; + bsUrl = process.env["BS_URL"]; }); - it("should list the sync options", function () { - - selector = 'item in syncItems'; + it("should list the sync options", function() { + selector = "item in syncItems"; var elements = element.all(by.repeater(selector)); - elements.count().then(function (count) { + elements.count().then(function(count) { expect(count).toEqual(2); }); }); - it("should list the switches in sync options", function () { - - selector = 'item in syncItems'; + it("should list the switches in sync options", function() { + selector = "item in syncItems"; var elements = element.all(by.repeater(selector)); - var selector = '[bs-callout-content] [bs-text=\"lede\"]'; + var selector = '[bs-callout-content] [bs-text="lede"]'; // Check the headings exist - elements.then(function (elems) { + elements.then(function(elems) { getItemText(elems[0], selector, "Clicks"); getItemText(elems[1], selector, "Scroll"); }); // - elements.then(function (elems) { + elements.then(function(elems) { expect(elems[0].element(by.css("#cmn-sync-0")).isPresent()).toBe(true); expect(elems[1].element(by.css("#cmn-sync-1")).isPresent()).toBe(true); }); function getItemText(elem, selector, expected) { - elem.element(by.css(selector)).then(function (item) { + elem.element(by.css(selector)).then(function(item) { expect(item.getText()).toEqual(expected); }); } }); - it("should list the switches in sync options", function () { - - selector = 'item in formItems'; + it("should list the switches in sync options", function() { + selector = "item in formItems"; var elements = element.all(by.repeater(selector)); - var selector = '[bs-callout-content] [bs-text=\"lede\"]'; + var selector = '[bs-callout-content] [bs-text="lede"]'; // Check the headings exist - elements.then(function (elems) { + elements.then(function(elems) { getItemText(elems[0], selector, "Submit"); getItemText(elems[1], selector, "Inputs"); getItemText(elems[2], selector, "Toggles"); }); - - elements.then(function (elems) { - elems.forEach(function (elem, i) { + elements.then(function(elems) { + elems.forEach(function(elem, i) { expect(elem.element(by.css("#cmn-form-" + i)).isPresent()).toBe(true); }); }); function getItemText(elem, selector, expected) { - elem.element(by.css(selector)).then(function (item) { + elem.element(by.css(selector)).then(function(item) { expect(item.getText()).toEqual(expected); }); } }); - it("should list the form sync options", function () { - - selector = 'item in formItems'; + it("should list the form sync options", function() { + selector = "item in formItems"; var elements = element.all(by.repeater(selector)); - elements.count().then(function (count) { + elements.count().then(function(count) { expect(count).toEqual(3); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/test-utils.js b/packages/browser-sync-ui/test/client/e2e/test-utils.js index 7e066666f..a3d5cf38c 100644 --- a/packages/browser-sync-ui/test/client/e2e/test-utils.js +++ b/packages/browser-sync-ui/test/client/e2e/test-utils.js @@ -1,5 +1,5 @@ module.exports = { - openWindow: function (browser, url) { + openWindow: function(browser, url) { browser.executeScript("window.open('%s')".replace("%s", url)); } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/client/e2e/tests/history.js b/packages/browser-sync-ui/test/client/e2e/tests/history.js index 85190a959..10586cb55 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/history.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/history.js @@ -3,39 +3,37 @@ * E2E tests for the History plugin * */ -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); var assert = require("chai").assert; describe("History section", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", - open: false, + open: false, online: false, logLevel: "silent" - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); - it("should list visited urls & delete them", function () { - - var elems = element.all(by.repeater("url in ctrl.visited track by $index")); + it("should list visited urls & delete them", function() { + var elems = element.all(by.repeater("url in ctrl.visited track by $index")); browser.get(cpUrl + "/history"); @@ -43,13 +41,12 @@ describe("History section", function() { utils.openWindow(browser, bsUrl); - browser.getAllWindowHandles().then(function (handles) { - + browser.getAllWindowHandles().then(function(handles) { var ui = handles[0]; var client = handles[1]; var urls = ["/scrolling.html", "/forms.html"]; var emptyContainer = "#bs-history-empty"; - var listContainer = "#bs-history-list"; + var listContainer = "#bs-history-list"; var selector = by.css(listContainer + " li > div > [bs-remove]"); var deleteButtons = element.all(selector); @@ -85,24 +82,26 @@ describe("History section", function() { browser.sleep(1000); browser.switchTo().window(ui); expect(element.all(by.css(listContainer + " li")).count()).toBe(3); - element.all(by.css(listContainer + " li > div > a")) + element + .all(by.css(listContainer + " li > div > a")) .get(1) .click(); browser.sleep(500); browser.switchTo().window(client); - browser.getCurrentUrl().then(function (url) { + browser.getCurrentUrl().then(function(url) { var match = url.match(new RegExp(bsUrl + "\\/?")); assert.isTrue(match.length > 0); }); // Test the "clear all" button browser.switchTo().window(ui); - element.all(by.css('[bs-button-row] [bs-button~="inline"]')) + element + .all(by.css('[bs-button-row] [bs-button~="inline"]')) .get(0) .click(); browser.sleep(1000); expect(elems.count()).toEqual(0); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/history.newtabs.js b/packages/browser-sync-ui/test/client/e2e/tests/history.newtabs.js index ae6bb42cf..f7bfae32a 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/history.newtabs.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/history.newtabs.js @@ -3,39 +3,37 @@ * E2E tests for the History plugin * */ -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); var assert = require("chai").assert; describe("History section", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", - open: false, + open: false, online: false, logLevel: "silent" - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); - it("should list visited urls & delete them", function () { - - var elems = element.all(by.repeater("url in ctrl.visited track by $index")); + it("should list visited urls & delete them", function() { + var elems = element.all(by.repeater("url in ctrl.visited track by $index")); browser.get(cpUrl + "/history"); @@ -43,8 +41,7 @@ describe("History section", function() { utils.openWindow(browser, bsUrl); - browser.getAllWindowHandles().then(function (handles) { - + browser.getAllWindowHandles().then(function(handles) { var ui = handles[0]; var client = handles[1]; var urls = ["/scrolling.html", "/forms.html"]; @@ -55,8 +52,13 @@ describe("History section", function() { browser.switchTo().window(ui); browser.sleep(500); expect(elems.count()).toEqual(2); - var selector = '[href="%s/scrolling.html"]'.replace('%s', bsUrl); - expect(elems.get(0).element(by.css(selector)).getText()).toBe('NEW TAB'); + var selector = '[href="%s/scrolling.html"]'.replace("%s", bsUrl); + expect( + elems + .get(0) + .element(by.css(selector)) + .getText() + ).toBe("NEW TAB"); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/home.js b/packages/browser-sync-ui/test/client/e2e/tests/home.js index 69c91675a..a4ce5f16e 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/home.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/home.js @@ -4,10 +4,9 @@ */ var assert = require("chai").assert; -var init = require("./../bs-init"); +var init = require("./../bs-init"); describe("Section Navigation", function() { - var selector, menu, headerSelector; var bs; @@ -15,26 +14,25 @@ describe("Section Navigation", function() { var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; - selector = '(key, item) in app.ui.menu | orderObjectBy: \'order\''; + selector = "(key, item) in app.ui.menu | orderObjectBy: 'order'"; headerSelector = "h1[bs-heading]"; init(protractor, { server: "./test/fixtures", - open: false, + open: false, online: false, logLevel: "silent" - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); @@ -50,24 +48,26 @@ describe("Section Navigation", function() { var flow = protractor.promise.controlFlow(); var elems = element.all(by.css("[bs-section-nav] li")); - flow.execute(function () { + flow.execute(function() { expect(elems.get(0).getText()).toBe("Overview"); expect(elems.get(1).getText()).toBe("Sync Options"); expect(elems.get(2).getText()).toBe("History"); }); - flow.execute(function () { + flow.execute(function() { elems.get(1).click(); - expect(browser.getCurrentUrl()).toContain('sync-options'); + expect(browser.getCurrentUrl()).toContain("sync-options"); elems.get(2).click(); - expect(browser.getCurrentUrl()).toContain('history'); + expect(browser.getCurrentUrl()).toContain("history"); elems.get(3).click(); - expect(browser.getCurrentUrl()).toContain('plugins'); + expect(browser.getCurrentUrl()).toContain("plugins"); }); }); it("should show the current Browsersync version in header", function() { browser.get(cpUrl); - expect(element(by.css('[bs-link="version"]')).getText()).toBe('v' + bs.options.get('version')); + expect(element(by.css('[bs-link="version"]')).getText()).toBe( + "v" + bs.options.get("version") + ); }); }); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.auto.js b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.auto.js index 897d212a4..9dd3ac26e 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.auto.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.auto.js @@ -2,43 +2,42 @@ * Remote debug page */ var assert = require("chai").assert; -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Network throttle page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should allow servers to be created with auto port", function() { - browser.get(cpUrl + "/network-throttle"); browser.sleep(1000); - var items = element.all(by.repeater("(key, item) in ctrl.throttle.targets | orderObjectBy:'order'")); + var items = element.all( + by.repeater("(key, item) in ctrl.throttle.targets | orderObjectBy:'order'") + ); expect(items.count()).toBe(6); @@ -50,12 +49,11 @@ describe("Network throttle page", function() { browser.sleep(1000); - var flow = protractor.promise.controlFlow(); - - flow.execute(function () { + var flow = protractor.promise.controlFlow(); + flow.execute(function() { var serverList = element(by.id("throttle-server-list")); - var listItem = serverList.all(by.tagName("li")); + var listItem = serverList.all(by.tagName("li")); expect(listItem.count()).toBe(1); @@ -68,12 +66,12 @@ describe("Network throttle page", function() { browser.sleep(1000); - browser.getAllWindowHandles().then(function (handles) { - var ui = handles[0]; + browser.getAllWindowHandles().then(function(handles) { + var ui = handles[0]; var client = handles[1]; browser.switchTo().window(client); expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); }); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.js b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.js index 897d212a4..9dd3ac26e 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.js @@ -2,43 +2,42 @@ * Remote debug page */ var assert = require("chai").assert; -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Network throttle page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should allow servers to be created with auto port", function() { - browser.get(cpUrl + "/network-throttle"); browser.sleep(1000); - var items = element.all(by.repeater("(key, item) in ctrl.throttle.targets | orderObjectBy:'order'")); + var items = element.all( + by.repeater("(key, item) in ctrl.throttle.targets | orderObjectBy:'order'") + ); expect(items.count()).toBe(6); @@ -50,12 +49,11 @@ describe("Network throttle page", function() { browser.sleep(1000); - var flow = protractor.promise.controlFlow(); - - flow.execute(function () { + var flow = protractor.promise.controlFlow(); + flow.execute(function() { var serverList = element(by.id("throttle-server-list")); - var listItem = serverList.all(by.tagName("li")); + var listItem = serverList.all(by.tagName("li")); expect(listItem.count()).toBe(1); @@ -68,12 +66,12 @@ describe("Network throttle page", function() { browser.sleep(1000); - browser.getAllWindowHandles().then(function (handles) { - var ui = handles[0]; + browser.getAllWindowHandles().then(function(handles) { + var ui = handles[0]; var client = handles[1]; browser.switchTo().window(client); expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); }); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.manual.js b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.manual.js index e6176cb13..035ae735e 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.manual.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.manual.js @@ -2,39 +2,36 @@ * Remote debug page */ var assert = require("chai").assert; -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Network throttle page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should allow servers to be created with user-entered port", function() { - browser.get(cpUrl + "/network-throttle"); browser.sleep(1000); var testPort = 4003; @@ -48,12 +45,11 @@ describe("Network throttle page", function() { browser.sleep(1000); - var flow = protractor.promise.controlFlow(); - - flow.execute(function () { + var flow = protractor.promise.controlFlow(); + flow.execute(function() { var serverList = element(by.id("throttle-server-list")); - var listItem = serverList.all(by.tagName("li")); + var listItem = serverList.all(by.tagName("li")); expect(listItem.count()).toBe(1); @@ -62,19 +58,19 @@ describe("Network throttle page", function() { .all(by.tagName("p")) .get(2) .getText() - .then(function (url) { + .then(function(url) { expect(url).toBe("http://localhost:" + testPort); utils.openWindow(browser, url); }); browser.sleep(1000); - browser.getAllWindowHandles().then(function (handles) { - var ui = handles[0]; + browser.getAllWindowHandles().then(function(handles) { + var ui = handles[0]; var client = handles[1]; browser.switchTo().window(client); expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); }); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.remove.js b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.remove.js index 3c46f3132..86a2ef9d9 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.remove.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/network-throttle.remove.js @@ -2,39 +2,36 @@ * Remote debug page */ var assert = require("chai").assert; -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Network throttle page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should allow servers removed when bin icon clicked", function() { - browser.get(cpUrl + "/network-throttle"); browser.sleep(1000); @@ -45,10 +42,10 @@ describe("Network throttle page", function() { browser.sleep(1000); - var flow = protractor.promise.controlFlow(); + var flow = protractor.promise.controlFlow(); var serverList = element(by.id("throttle-server-list")); - var listItem = serverList.all(by.tagName("li")); + var listItem = serverList.all(by.tagName("li")); expect(listItem.count()).toBe(1); listItem @@ -59,4 +56,4 @@ describe("Network throttle page", function() { expect(listItem.count()).toBe(0); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/plugins.inline.js b/packages/browser-sync-ui/test/client/e2e/tests/plugins.inline.js index 5827128c1..747af8b6a 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/plugins.inline.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/plugins.inline.js @@ -2,26 +2,22 @@ * Plugins page */ var assert = require("chai").assert; -var path = require("path"); -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var path = require("path"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Plugins page - with inline BrowserSync plugins", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; var plugin = { module: { - plugin: function () { - - }, + plugin: function() {}, "plugin:name": "Test Plugin" } }; @@ -29,37 +25,38 @@ describe("Plugins page - with inline BrowserSync plugins", function() { init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false, plugins: [plugin] - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should list registered plugins", function() { - browser.get(cpUrl + "/plugins"); browser.sleep(500); - var switchElement = by.id('plugin-section-0'); - var pluginSwitch = element(by.id("plugin-switch-0")); + var switchElement = by.id("plugin-section-0"); + var pluginSwitch = element(by.id("plugin-switch-0")); expect(pluginSwitch.isPresent()).toBeTruthy(); /** * Not auto-disabled on page load */ - element(switchElement).getAttribute('class').then(function (attr) { - assert.notInclude(attr, 'disabled'); - }); + element(switchElement) + .getAttribute("class") + .then(function(attr) { + assert.notInclude(attr, "disabled"); + }); /** * Assert that BrowserSync reports this plugin as active @@ -69,17 +66,16 @@ describe("Plugins page - with inline BrowserSync plugins", function() { /** * De-activate by clicking the switch */ - element(by.css("label[for='plugin-switch-0']")) - .click(); + element(by.css("label[for='plugin-switch-0']")).click(); browser.sleep(500); - var flow = protractor.promise.controlFlow(); + var flow = protractor.promise.controlFlow(); /** * Assert that BrowserSync reports this plugin as inactive */ - flow.execute(function () { + flow.execute(function() { assert.isFalse(bs.getUserPlugins()[1].active); }); @@ -92,6 +88,6 @@ describe("Plugins page - with inline BrowserSync plugins", function() { /** * Assert that the class `disabled` is applied to the element for styling */ - expect(element(switchElement).getAttribute('class')).toMatch('disabled'); + expect(element(switchElement).getAttribute("class")).toMatch("disabled"); }); }); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/plugins.js b/packages/browser-sync-ui/test/client/e2e/tests/plugins.js index 8cfe84314..5ae5ca05f 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/plugins.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/plugins.js @@ -2,19 +2,17 @@ * Plugins page */ var assert = require("chai").assert; -var path = require("path"); -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var path = require("path"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Plugins page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; var plugin = { @@ -24,37 +22,38 @@ describe("Plugins page", function() { init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false, plugins: [plugin] - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("Should list registered plugins", function() { - browser.get(cpUrl + "/plugins"); browser.sleep(500); - var switchElement = by.id('plugin-section-0'); - var pluginSwitch = element(by.id("plugin-switch-0")); + var switchElement = by.id("plugin-section-0"); + var pluginSwitch = element(by.id("plugin-switch-0")); expect(pluginSwitch.isPresent()).toBeTruthy(); /** * Not auto-disabled on page load */ - element(switchElement).getAttribute('class').then(function (attr) { - assert.notInclude(attr, 'disabled'); - }); + element(switchElement) + .getAttribute("class") + .then(function(attr) { + assert.notInclude(attr, "disabled"); + }); /** * Assert that BrowserSync reports this plugin as active @@ -64,17 +63,16 @@ describe("Plugins page", function() { /** * De-activate by clicking the switch */ - element(by.css("label[for='plugin-switch-0']")) - .click(); + element(by.css("label[for='plugin-switch-0']")).click(); browser.sleep(500); - var flow = protractor.promise.controlFlow(); + var flow = protractor.promise.controlFlow(); /** * Assert that BrowserSync reports this plugin as inactive */ - flow.execute(function () { + flow.execute(function() { assert.isFalse(bs.getUserPlugins()[1].active); }); @@ -87,6 +85,6 @@ describe("Plugins page", function() { /** * Assert that the class `disabled` is applied to the element for styling */ - expect(element(switchElement).getAttribute('class')).toMatch('disabled'); + expect(element(switchElement).getAttribute("class")).toMatch("disabled"); }); }); diff --git a/packages/browser-sync-ui/test/client/e2e/tests/remote-debug.js b/packages/browser-sync-ui/test/client/e2e/tests/remote-debug.js index a33db27a9..7dca00b26 100644 --- a/packages/browser-sync-ui/test/client/e2e/tests/remote-debug.js +++ b/packages/browser-sync-ui/test/client/e2e/tests/remote-debug.js @@ -2,39 +2,36 @@ * Remote debug page */ var assert = require("chai").assert; -var init = require("./../bs-init"); -var utils = require("./../test-utils"); +var init = require("./../bs-init"); +var utils = require("./../test-utils"); describe("Remote debug page", function() { - var bs; var ui; var bsUrl; var cpUrl; - beforeEach(function () { - + beforeEach(function() { browser.ignoreSynchronization = true; init(protractor, { server: "./test/fixtures", logLevel: "silent", - open: false, + open: false, online: false - }).then(function (out) { - bs = out.bs; - ui = out.ui; + }).then(function(out) { + bs = out.bs; + ui = out.ui; bsUrl = bs.options.getIn(["urls", "local"]); cpUrl = bs.options.getIn(["urls", "ui"]); }); }); - afterEach(function () { + afterEach(function() { bs.cleanup(); }); it("should allow elements to be added/removed from clients via the UI", function() { - var id = ui.getOptionIn(["clientFiles", "pesticide", "id"]); browser.get(cpUrl + "/remote-debug"); @@ -46,8 +43,8 @@ describe("Remote debug page", function() { utils.openWindow(browser, bsUrl); - browser.getAllWindowHandles().then(function (handles) { - var ui = handles[0]; + browser.getAllWindowHandles().then(function(handles) { + var ui = handles[0]; var client = handles[1]; browser.switchTo().window(client); expect(element(by.id(id)).isPresent()).toBeTruthy(); @@ -59,4 +56,4 @@ describe("Remote debug page", function() { expect(element(by.id(id)).isPresent()).toBeFalsy(); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/fixtures/content.html b/packages/browser-sync-ui/test/fixtures/content.html index dc321a169..903f75e7d 100644 --- a/packages/browser-sync-ui/test/fixtures/content.html +++ b/packages/browser-sync-ui/test/fixtures/content.html @@ -1,56 +1,74 @@ - - - - - - - -Homepage -Scrolling - - - -

HTML Ipsum Presents

- -

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.

- -

Header Level 2

- -
    -
  1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  2. -
  3. Aliquam tincidunt mauris eu risus.
  4. -
- -

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.

- -

Header Level 3

- -
    -
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • -
  • Aliquam tincidunt mauris eu risus.
  • -
- -

+    
+        
+        
+        
+    
+    
+        Homepage
+        Scrolling
+
+        
+
+        

HTML Ipsum Presents

+ +

+ Pellentesque habitant morbi tristique senectus et netus et malesuada + fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor + sit amet, ante. Donec eu libero sit amet quam egestas semper. + Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet + est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, + commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt + condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. + Donec non enim in turpis pulvinar facilisis. Ut felis. +

+ +

Header Level 2

+ +
    +
  1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  2. +
  3. Aliquam tincidunt mauris eu risus.
  4. +
+ +
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi + at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. + Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus + turpis elit sit amet quam. Vivamus pretium ornare est. +

+
+ +

Header Level 3

+ +
    +
  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • +
  • Aliquam tincidunt mauris eu risus.
  • +
+ +

     #header h1 a {
         display: block;
         width: 300px;
         height: 80px;
     }
 
- - - \ No newline at end of file + + diff --git a/packages/browser-sync-ui/test/fixtures/css/blog.css b/packages/browser-sync-ui/test/fixtures/css/blog.css index 88a490157..41244b057 100644 --- a/packages/browser-sync-ui/test/fixtures/css/blog.css +++ b/packages/browser-sync-ui/test/fixtures/css/blog.css @@ -3,164 +3,163 @@ */ body { - font-family: Georgia, "Times New Roman", Times, serif; - color: #555; + font-family: Georgia, "Times New Roman", Times, serif; + color: #555; +} + +h1, +.h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: normal; + color: #333; } -h1, .h1, -h2, .h2, -h3, .h3, -h4, .h4, -h5, .h5, -h6, .h6 { - margin-top: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-weight: normal; - color: #333; -} - - /* * Override Bootstrap's default container. */ @media (min-width: 1200px) { - .container { - width: 970px; - } + .container { + width: 970px; + } } - /* * Masthead for nav */ .blog-masthead { - background-color: #428bca; - -webkit-box-shadow: inset 0 -2px 5px rgba(0,0,0,.1); - box-shadow: inset 0 -2px 5px rgba(0,0,0,.1); + background-color: #428bca; + -webkit-box-shadow: inset 0 -2px 5px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 -2px 5px rgba(0, 0, 0, 0.1); } /* Nav links */ .blog-nav-item { - position: relative; - display: inline-block; - padding: 5px; - font-weight: 500; - color: #cdddeb; + position: relative; + display: inline-block; + padding: 5px; + font-weight: 500; + color: #cdddeb; } .blog-nav-item:hover, .blog-nav-item:focus { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } /* Active state gets a caret at the bottom */ .blog-nav .active { - color: #fff; + color: #fff; } .blog-nav .active:after { - position: absolute; - bottom: 0; - left: 50%; - width: 0; - height: 0; - margin-left: -5px; - vertical-align: middle; - content: " "; - border-right: 5px solid transparent; - border-bottom: 5px solid; - border-left: 5px solid transparent; + position: absolute; + bottom: 0; + left: 50%; + width: 0; + height: 0; + margin-left: -5px; + vertical-align: middle; + content: " "; + border-right: 5px solid transparent; + border-bottom: 5px solid; + border-left: 5px solid transparent; } - /* * Blog name and description */ .blog-header { - padding-top: 20px; - padding-bottom: 20px; + padding-top: 20px; + padding-bottom: 20px; } .blog-title { - margin-top: 30px; - margin-bottom: 0; - font-size: 60px; - font-weight: normal; + margin-top: 30px; + margin-bottom: 0; + font-size: 60px; + font-weight: normal; } .blog-description { - font-size: 20px; - color: #999; + font-size: 20px; + color: #999; } - /* * Main column and sidebar layout */ .blog-main { - font-size: 18px; - line-height: 1.5; + font-size: 18px; + line-height: 1.5; } /* Sidebar modules for boxing content */ .sidebar-module { - padding: 15px; - margin: 0 -15px 15px; + padding: 15px; + margin: 0 -15px 15px; } .sidebar-module-inset { - padding: 15px; - background-color: #f5f5f5; - border-radius: 4px; + padding: 15px; + background-color: #f5f5f5; + border-radius: 4px; } .sidebar-module-inset p:last-child, .sidebar-module-inset ul:last-child, .sidebar-module-inset ol:last-child { - margin-bottom: 0; + margin-bottom: 0; } - /* Pagination */ .pager { - margin-bottom: 60px; - text-align: left; + margin-bottom: 60px; + text-align: left; } .pager > li > a { - width: 140px; - padding: 10px 20px; - text-align: center; - border-radius: 30px; + width: 140px; + padding: 10px 20px; + text-align: center; + border-radius: 30px; } - /* * Blog posts */ .blog-post { - margin-bottom: 60px; + margin-bottom: 60px; } .blog-post-title { - margin-bottom: 5px; - font-size: 40px; + margin-bottom: 5px; + font-size: 40px; } .blog-post-meta { - margin-bottom: 20px; - color: #999; + margin-bottom: 20px; + color: #999; } - /* * Footer */ .blog-footer { - padding: 40px 0; - color: #999; - text-align: center; - background-color: #f9f9f9; - border-top: 1px solid #e5e5e5; + padding: 40px 0; + color: #999; + text-align: center; + background-color: #f9f9f9; + border-top: 1px solid #e5e5e5; } .blog-footer p:last-child { - margin-bottom: 0; + margin-bottom: 0; } diff --git a/packages/browser-sync-ui/test/fixtures/css/bootstrap.css b/packages/browser-sync-ui/test/fixtures/css/bootstrap.css index 037dd0561..74248eb28 100644 --- a/packages/browser-sync-ui/test/fixtures/css/bootstrap.css +++ b/packages/browser-sync-ui/test/fixtures/css/bootstrap.css @@ -6,12 +6,12 @@ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */ html { - font-family: sans-serif; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; } body { - margin: 0; + margin: 0; } article, aside, @@ -25,964 +25,967 @@ main, nav, section, summary { - display: block; + display: block; } audio, canvas, progress, video { - display: inline-block; - vertical-align: baseline; + display: inline-block; + vertical-align: baseline; } audio:not([controls]) { - display: none; - height: 0; + display: none; + height: 0; } [hidden], template { - display: none; + display: none; } a { - background: transparent; + background: transparent; } a:active, a:hover { - outline: 0; + outline: 0; } abbr[title] { - border-bottom: 1px dotted; + border-bottom: 1px dotted; } b, strong { - font-weight: bold; + font-weight: bold; } dfn { - font-style: italic; + font-style: italic; } h1 { - margin: .67em 0; - font-size: 2em; + margin: 0.67em 0; + font-size: 2em; } mark { - color: #000; - background: #ff0; + color: #000; + background: #ff0; } small { - font-size: 80%; + font-size: 80%; } sub, sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; + position: relative; + font-size: 75%; + line-height: 0; + 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; - -moz-box-sizing: content-box; - box-sizing: content-box; + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } pre { - overflow: auto; + overflow: auto; } code, kbd, pre, samp { - font-family: monospace, monospace; - font-size: 1em; + font-family: monospace, monospace; + font-size: 1em; } button, input, optgroup, select, textarea { - margin: 0; - font: inherit; - color: inherit; + margin: 0; + font: inherit; + color: inherit; } button { - overflow: visible; + overflow: visible; } button, select { - text-transform: none; + text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; + -webkit-appearance: button; + cursor: pointer; } button[disabled], html input[disabled] { - cursor: default; + cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; - border: 0; + padding: 0; + border: 0; } input { - line-height: normal; + line-height: normal; } input[type="checkbox"], input[type="radio"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { - height: auto; + height: auto; } input[type="search"] { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } fieldset { - padding: .35em .625em .75em; - margin: 0 2px; - border: 1px solid #c0c0c0; + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; } legend { - padding: 0; - border: 0; + padding: 0; + border: 0; } textarea { - overflow: auto; + overflow: auto; } optgroup { - font-weight: bold; + font-weight: bold; } table { - border-spacing: 0; - border-collapse: collapse; + border-spacing: 0; + border-collapse: collapse; } td, th { - padding: 0; + padding: 0; } @media print { - * { - color: #000 !important; - text-shadow: none !important; - background: transparent !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - select { - background: #fff !important; - } - .navbar { - display: none; - } - .table td, - .table th { - background-color: #fff !important; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } } @font-face { - font-family: 'Glyphicons Halflings'; + font-family: "Glyphicons Halflings"; - src: url('../fonts/glyphicons-halflings-regular.eot'); - src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); + src: url("../fonts/glyphicons-halflings-regular.eot"); + src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), + url("../fonts/glyphicons-halflings-regular.woff") format("woff"), + url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), + url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); } .glyphicon { - position: relative; - top: 1px; - display: inline-block; - font-family: 'Glyphicons Halflings'; - font-style: normal; - font-weight: normal; - line-height: 1; + position: relative; + top: 1px; + display: inline-block; + font-family: "Glyphicons Halflings"; + font-style: normal; + font-weight: normal; + line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { - content: "\2a"; + content: "\2a"; } .glyphicon-plus:before { - content: "\2b"; + content: "\2b"; } .glyphicon-euro:before { - content: "\20ac"; + content: "\20ac"; } .glyphicon-minus:before { - content: "\2212"; + content: "\2212"; } .glyphicon-cloud:before { - content: "\2601"; + content: "\2601"; } .glyphicon-envelope:before { - content: "\2709"; + content: "\2709"; } .glyphicon-pencil:before { - content: "\270f"; + content: "\270f"; } .glyphicon-glass:before { - content: "\e001"; + content: "\e001"; } .glyphicon-music:before { - content: "\e002"; + content: "\e002"; } .glyphicon-search:before { - content: "\e003"; + content: "\e003"; } .glyphicon-heart:before { - content: "\e005"; + content: "\e005"; } .glyphicon-star:before { - content: "\e006"; + content: "\e006"; } .glyphicon-star-empty:before { - content: "\e007"; + content: "\e007"; } .glyphicon-user:before { - content: "\e008"; + content: "\e008"; } .glyphicon-film:before { - content: "\e009"; + content: "\e009"; } .glyphicon-th-large:before { - content: "\e010"; + content: "\e010"; } .glyphicon-th:before { - content: "\e011"; + content: "\e011"; } .glyphicon-th-list:before { - content: "\e012"; + content: "\e012"; } .glyphicon-ok:before { - content: "\e013"; + content: "\e013"; } .glyphicon-remove:before { - content: "\e014"; + content: "\e014"; } .glyphicon-zoom-in:before { - content: "\e015"; + content: "\e015"; } .glyphicon-zoom-out:before { - content: "\e016"; + content: "\e016"; } .glyphicon-off:before { - content: "\e017"; + content: "\e017"; } .glyphicon-signal:before { - content: "\e018"; + content: "\e018"; } .glyphicon-cog:before { - content: "\e019"; + content: "\e019"; } .glyphicon-trash:before { - content: "\e020"; + content: "\e020"; } .glyphicon-home:before { - content: "\e021"; + content: "\e021"; } .glyphicon-file:before { - content: "\e022"; + content: "\e022"; } .glyphicon-time:before { - content: "\e023"; + content: "\e023"; } .glyphicon-road:before { - content: "\e024"; + content: "\e024"; } .glyphicon-download-alt:before { - content: "\e025"; + content: "\e025"; } .glyphicon-download:before { - content: "\e026"; + content: "\e026"; } .glyphicon-upload:before { - content: "\e027"; + content: "\e027"; } .glyphicon-inbox:before { - content: "\e028"; + content: "\e028"; } .glyphicon-play-circle:before { - content: "\e029"; + content: "\e029"; } .glyphicon-repeat:before { - content: "\e030"; + content: "\e030"; } .glyphicon-refresh:before { - content: "\e031"; + content: "\e031"; } .glyphicon-list-alt:before { - content: "\e032"; + content: "\e032"; } .glyphicon-lock:before { - content: "\e033"; + content: "\e033"; } .glyphicon-flag:before { - content: "\e034"; + content: "\e034"; } .glyphicon-headphones:before { - content: "\e035"; + content: "\e035"; } .glyphicon-volume-off:before { - content: "\e036"; + content: "\e036"; } .glyphicon-volume-down:before { - content: "\e037"; + content: "\e037"; } .glyphicon-volume-up:before { - content: "\e038"; + content: "\e038"; } .glyphicon-qrcode:before { - content: "\e039"; + content: "\e039"; } .glyphicon-barcode:before { - content: "\e040"; + content: "\e040"; } .glyphicon-tag:before { - content: "\e041"; + content: "\e041"; } .glyphicon-tags:before { - content: "\e042"; + content: "\e042"; } .glyphicon-book:before { - content: "\e043"; + content: "\e043"; } .glyphicon-bookmark:before { - content: "\e044"; + content: "\e044"; } .glyphicon-print:before { - content: "\e045"; + content: "\e045"; } .glyphicon-camera:before { - content: "\e046"; + content: "\e046"; } .glyphicon-font:before { - content: "\e047"; + content: "\e047"; } .glyphicon-bold:before { - content: "\e048"; + content: "\e048"; } .glyphicon-italic:before { - content: "\e049"; + content: "\e049"; } .glyphicon-text-height:before { - content: "\e050"; + content: "\e050"; } .glyphicon-text-width:before { - content: "\e051"; + content: "\e051"; } .glyphicon-align-left:before { - content: "\e052"; + content: "\e052"; } .glyphicon-align-center:before { - content: "\e053"; + content: "\e053"; } .glyphicon-align-right:before { - content: "\e054"; + content: "\e054"; } .glyphicon-align-justify:before { - content: "\e055"; + content: "\e055"; } .glyphicon-list:before { - content: "\e056"; + content: "\e056"; } .glyphicon-indent-left:before { - content: "\e057"; + content: "\e057"; } .glyphicon-indent-right:before { - content: "\e058"; + content: "\e058"; } .glyphicon-facetime-video:before { - content: "\e059"; + content: "\e059"; } .glyphicon-picture:before { - content: "\e060"; + content: "\e060"; } .glyphicon-map-marker:before { - content: "\e062"; + content: "\e062"; } .glyphicon-adjust:before { - content: "\e063"; + content: "\e063"; } .glyphicon-tint:before { - content: "\e064"; + content: "\e064"; } .glyphicon-edit:before { - content: "\e065"; + content: "\e065"; } .glyphicon-share:before { - content: "\e066"; + content: "\e066"; } .glyphicon-check:before { - content: "\e067"; + content: "\e067"; } .glyphicon-move:before { - content: "\e068"; + content: "\e068"; } .glyphicon-step-backward:before { - content: "\e069"; + content: "\e069"; } .glyphicon-fast-backward:before { - content: "\e070"; + content: "\e070"; } .glyphicon-backward:before { - content: "\e071"; + content: "\e071"; } .glyphicon-play:before { - content: "\e072"; + content: "\e072"; } .glyphicon-pause:before { - content: "\e073"; + content: "\e073"; } .glyphicon-stop:before { - content: "\e074"; + content: "\e074"; } .glyphicon-forward:before { - content: "\e075"; + content: "\e075"; } .glyphicon-fast-forward:before { - content: "\e076"; + content: "\e076"; } .glyphicon-step-forward:before { - content: "\e077"; + content: "\e077"; } .glyphicon-eject:before { - content: "\e078"; + content: "\e078"; } .glyphicon-chevron-left:before { - content: "\e079"; + content: "\e079"; } .glyphicon-chevron-right:before { - content: "\e080"; + content: "\e080"; } .glyphicon-plus-sign:before { - content: "\e081"; + content: "\e081"; } .glyphicon-minus-sign:before { - content: "\e082"; + content: "\e082"; } .glyphicon-remove-sign:before { - content: "\e083"; + content: "\e083"; } .glyphicon-ok-sign:before { - content: "\e084"; + content: "\e084"; } .glyphicon-question-sign:before { - content: "\e085"; + content: "\e085"; } .glyphicon-info-sign:before { - content: "\e086"; + content: "\e086"; } .glyphicon-screenshot:before { - content: "\e087"; + content: "\e087"; } .glyphicon-remove-circle:before { - content: "\e088"; + content: "\e088"; } .glyphicon-ok-circle:before { - content: "\e089"; + content: "\e089"; } .glyphicon-ban-circle:before { - content: "\e090"; + content: "\e090"; } .glyphicon-arrow-left:before { - content: "\e091"; + content: "\e091"; } .glyphicon-arrow-right:before { - content: "\e092"; + content: "\e092"; } .glyphicon-arrow-up:before { - content: "\e093"; + content: "\e093"; } .glyphicon-arrow-down:before { - content: "\e094"; + content: "\e094"; } .glyphicon-share-alt:before { - content: "\e095"; + content: "\e095"; } .glyphicon-resize-full:before { - content: "\e096"; + content: "\e096"; } .glyphicon-resize-small:before { - content: "\e097"; + content: "\e097"; } .glyphicon-exclamation-sign:before { - content: "\e101"; + content: "\e101"; } .glyphicon-gift:before { - content: "\e102"; + content: "\e102"; } .glyphicon-leaf:before { - content: "\e103"; + content: "\e103"; } .glyphicon-fire:before { - content: "\e104"; + content: "\e104"; } .glyphicon-eye-open:before { - content: "\e105"; + content: "\e105"; } .glyphicon-eye-close:before { - content: "\e106"; + content: "\e106"; } .glyphicon-warning-sign:before { - content: "\e107"; + content: "\e107"; } .glyphicon-plane:before { - content: "\e108"; + content: "\e108"; } .glyphicon-calendar:before { - content: "\e109"; + content: "\e109"; } .glyphicon-random:before { - content: "\e110"; + content: "\e110"; } .glyphicon-comment:before { - content: "\e111"; + content: "\e111"; } .glyphicon-magnet:before { - content: "\e112"; + content: "\e112"; } .glyphicon-chevron-up:before { - content: "\e113"; + content: "\e113"; } .glyphicon-chevron-down:before { - content: "\e114"; + content: "\e114"; } .glyphicon-retweet:before { - content: "\e115"; + content: "\e115"; } .glyphicon-shopping-cart:before { - content: "\e116"; + content: "\e116"; } .glyphicon-folder-close:before { - content: "\e117"; + content: "\e117"; } .glyphicon-folder-open:before { - content: "\e118"; + content: "\e118"; } .glyphicon-resize-vertical:before { - content: "\e119"; + content: "\e119"; } .glyphicon-resize-horizontal:before { - content: "\e120"; + content: "\e120"; } .glyphicon-hdd:before { - content: "\e121"; + content: "\e121"; } .glyphicon-bullhorn:before { - content: "\e122"; + content: "\e122"; } .glyphicon-bell:before { - content: "\e123"; + content: "\e123"; } .glyphicon-certificate:before { - content: "\e124"; + content: "\e124"; } .glyphicon-thumbs-up:before { - content: "\e125"; + content: "\e125"; } .glyphicon-thumbs-down:before { - content: "\e126"; + content: "\e126"; } .glyphicon-hand-right:before { - content: "\e127"; + content: "\e127"; } .glyphicon-hand-left:before { - content: "\e128"; + content: "\e128"; } .glyphicon-hand-up:before { - content: "\e129"; + content: "\e129"; } .glyphicon-hand-down:before { - content: "\e130"; + content: "\e130"; } .glyphicon-circle-arrow-right:before { - content: "\e131"; + content: "\e131"; } .glyphicon-circle-arrow-left:before { - content: "\e132"; + content: "\e132"; } .glyphicon-circle-arrow-up:before { - content: "\e133"; + content: "\e133"; } .glyphicon-circle-arrow-down:before { - content: "\e134"; + content: "\e134"; } .glyphicon-globe:before { - content: "\e135"; + content: "\e135"; } .glyphicon-wrench:before { - content: "\e136"; + content: "\e136"; } .glyphicon-tasks:before { - content: "\e137"; + content: "\e137"; } .glyphicon-filter:before { - content: "\e138"; + content: "\e138"; } .glyphicon-briefcase:before { - content: "\e139"; + content: "\e139"; } .glyphicon-fullscreen:before { - content: "\e140"; + content: "\e140"; } .glyphicon-dashboard:before { - content: "\e141"; + content: "\e141"; } .glyphicon-paperclip:before { - content: "\e142"; + content: "\e142"; } .glyphicon-heart-empty:before { - content: "\e143"; + content: "\e143"; } .glyphicon-link:before { - content: "\e144"; + content: "\e144"; } .glyphicon-phone:before { - content: "\e145"; + content: "\e145"; } .glyphicon-pushpin:before { - content: "\e146"; + content: "\e146"; } .glyphicon-usd:before { - content: "\e148"; + content: "\e148"; } .glyphicon-gbp:before { - content: "\e149"; + content: "\e149"; } .glyphicon-sort:before { - content: "\e150"; + content: "\e150"; } .glyphicon-sort-by-alphabet:before { - content: "\e151"; + content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { - content: "\e152"; + content: "\e152"; } .glyphicon-sort-by-order:before { - content: "\e153"; + content: "\e153"; } .glyphicon-sort-by-order-alt:before { - content: "\e154"; + content: "\e154"; } .glyphicon-sort-by-attributes:before { - content: "\e155"; + content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { - content: "\e156"; + content: "\e156"; } .glyphicon-unchecked:before { - content: "\e157"; + content: "\e157"; } .glyphicon-expand:before { - content: "\e158"; + content: "\e158"; } .glyphicon-collapse-down:before { - content: "\e159"; + content: "\e159"; } .glyphicon-collapse-up:before { - content: "\e160"; + content: "\e160"; } .glyphicon-log-in:before { - content: "\e161"; + content: "\e161"; } .glyphicon-flash:before { - content: "\e162"; + content: "\e162"; } .glyphicon-log-out:before { - content: "\e163"; + content: "\e163"; } .glyphicon-new-window:before { - content: "\e164"; + content: "\e164"; } .glyphicon-record:before { - content: "\e165"; + content: "\e165"; } .glyphicon-save:before { - content: "\e166"; + content: "\e166"; } .glyphicon-open:before { - content: "\e167"; + content: "\e167"; } .glyphicon-saved:before { - content: "\e168"; + content: "\e168"; } .glyphicon-import:before { - content: "\e169"; + content: "\e169"; } .glyphicon-export:before { - content: "\e170"; + content: "\e170"; } .glyphicon-send:before { - content: "\e171"; + content: "\e171"; } .glyphicon-floppy-disk:before { - content: "\e172"; + content: "\e172"; } .glyphicon-floppy-saved:before { - content: "\e173"; + content: "\e173"; } .glyphicon-floppy-remove:before { - content: "\e174"; + content: "\e174"; } .glyphicon-floppy-save:before { - content: "\e175"; + content: "\e175"; } .glyphicon-floppy-open:before { - content: "\e176"; + content: "\e176"; } .glyphicon-credit-card:before { - content: "\e177"; + content: "\e177"; } .glyphicon-transfer:before { - content: "\e178"; + content: "\e178"; } .glyphicon-cutlery:before { - content: "\e179"; + content: "\e179"; } .glyphicon-header:before { - content: "\e180"; + content: "\e180"; } .glyphicon-compressed:before { - content: "\e181"; + content: "\e181"; } .glyphicon-earphone:before { - content: "\e182"; + content: "\e182"; } .glyphicon-phone-alt:before { - content: "\e183"; + content: "\e183"; } .glyphicon-tower:before { - content: "\e184"; + content: "\e184"; } .glyphicon-stats:before { - content: "\e185"; + content: "\e185"; } .glyphicon-sd-video:before { - content: "\e186"; + content: "\e186"; } .glyphicon-hd-video:before { - content: "\e187"; + content: "\e187"; } .glyphicon-subtitles:before { - content: "\e188"; + content: "\e188"; } .glyphicon-sound-stereo:before { - content: "\e189"; + content: "\e189"; } .glyphicon-sound-dolby:before { - content: "\e190"; + content: "\e190"; } .glyphicon-sound-5-1:before { - content: "\e191"; + content: "\e191"; } .glyphicon-sound-6-1:before { - content: "\e192"; + content: "\e192"; } .glyphicon-sound-7-1:before { - content: "\e193"; + content: "\e193"; } .glyphicon-copyright-mark:before { - content: "\e194"; + content: "\e194"; } .glyphicon-registration-mark:before { - content: "\e195"; + content: "\e195"; } .glyphicon-cloud-download:before { - content: "\e197"; + content: "\e197"; } .glyphicon-cloud-upload:before { - content: "\e198"; + content: "\e198"; } .glyphicon-tree-conifer:before { - content: "\e199"; + content: "\e199"; } .glyphicon-tree-deciduous:before { - content: "\e200"; + content: "\e200"; } * { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } *:before, *:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } html { - font-size: 10px; + font-size: 10px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 14px; - line-height: 1.42857143; - color: #333; - background-color: #fff; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; } input, button, select, textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit; + font-family: inherit; + font-size: inherit; + line-height: inherit; } a { - color: #428bca; - text-decoration: none; + color: #428bca; + text-decoration: none; } a:hover, a:focus { - color: #2a6496; - text-decoration: underline; + color: #2a6496; + text-decoration: underline; } a:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } figure { - margin: 0; + margin: 0; } img { - vertical-align: middle; + vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { - display: block; - width: 100% \9; - max-width: 100%; - height: auto; + display: block; + width: 100% \9; + max-width: 100%; + height: auto; } .img-rounded { - border-radius: 6px; + border-radius: 6px; } .img-thumbnail { - display: inline-block; - width: 100% \9; - max-width: 100%; - height: auto; - padding: 4px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; } .img-circle { - border-radius: 50%; + border-radius: 50%; } hr { - margin-top: 20px; - margin-bottom: 20px; - border: 0; - border-top: 1px solid #eee; + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; } .sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; } h1, h2, @@ -996,10 +999,10 @@ h6, .h4, .h5, .h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; } h1 small, h2 small, @@ -1025,9 +1028,9 @@ h6 .small, .h4 .small, .h5 .small, .h6 .small { - font-weight: normal; - line-height: 1; - color: #777; + font-weight: normal; + line-height: 1; + color: #777; } h1, .h1, @@ -1035,8 +1038,8 @@ h2, .h2, h3, .h3 { - margin-top: 20px; - margin-bottom: 10px; + margin-top: 20px; + margin-bottom: 10px; } h1 small, .h1 small, @@ -1050,7 +1053,7 @@ h2 .small, .h2 .small, h3 .small, .h3 .small { - font-size: 65%; + font-size: 65%; } h4, .h4, @@ -1058,8 +1061,8 @@ h5, .h5, h6, .h6 { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 10px; + margin-bottom: 10px; } h4 small, .h4 small, @@ -1073,244 +1076,244 @@ h5 .small, .h5 .small, h6 .small, .h6 .small { - font-size: 75%; + font-size: 75%; } h1, .h1 { - font-size: 36px; + font-size: 36px; } h2, .h2 { - font-size: 30px; + font-size: 30px; } h3, .h3 { - font-size: 24px; + font-size: 24px; } h4, .h4 { - font-size: 18px; + font-size: 18px; } h5, .h5 { - font-size: 14px; + font-size: 14px; } h6, .h6 { - font-size: 12px; + font-size: 12px; } p { - margin: 0 0 10px; + margin: 0 0 10px; } .lead { - margin-bottom: 20px; - font-size: 16px; - font-weight: 300; - line-height: 1.4; + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; } @media (min-width: 768px) { - .lead { - font-size: 21px; - } + .lead { + font-size: 21px; + } } small, .small { - font-size: 85%; + font-size: 85%; } cite { - font-style: normal; + font-style: normal; } mark, .mark { - padding: .2em; - background-color: #fcf8e3; + padding: 0.2em; + background-color: #fcf8e3; } .text-left { - text-align: left; + text-align: left; } .text-right { - text-align: right; + text-align: right; } .text-center { - text-align: center; + text-align: center; } .text-justify { - text-align: justify; + text-align: justify; } .text-nowrap { - white-space: nowrap; + white-space: nowrap; } .text-lowercase { - text-transform: lowercase; + text-transform: lowercase; } .text-uppercase { - text-transform: uppercase; + text-transform: uppercase; } .text-capitalize { - text-transform: capitalize; + text-transform: capitalize; } .text-muted { - color: #777; + color: #777; } .text-primary { - color: #428bca; + color: #428bca; } a.text-primary:hover { - color: #3071a9; + color: #3071a9; } .text-success { - color: #3c763d; + color: #3c763d; } a.text-success:hover { - color: #2b542c; + color: #2b542c; } .text-info { - color: #31708f; + color: #31708f; } a.text-info:hover { - color: #245269; + color: #245269; } .text-warning { - color: #8a6d3b; + color: #8a6d3b; } a.text-warning:hover { - color: #66512c; + color: #66512c; } .text-danger { - color: #a94442; + color: #a94442; } a.text-danger:hover { - color: #843534; + color: #843534; } .bg-primary { - color: #fff; - background-color: #428bca; + color: #fff; + background-color: #428bca; } a.bg-primary:hover { - background-color: #3071a9; + background-color: #3071a9; } .bg-success { - background-color: #dff0d8; + background-color: #dff0d8; } a.bg-success:hover { - background-color: #c1e2b3; + background-color: #c1e2b3; } .bg-info { - background-color: #d9edf7; + background-color: #d9edf7; } a.bg-info:hover { - background-color: #afd9ee; + background-color: #afd9ee; } .bg-warning { - background-color: #fcf8e3; + background-color: #fcf8e3; } a.bg-warning:hover { - background-color: #f7ecb5; + background-color: #f7ecb5; } .bg-danger { - background-color: #f2dede; + background-color: #f2dede; } a.bg-danger:hover { - background-color: #e4b9b9; + background-color: #e4b9b9; } .page-header { - padding-bottom: 9px; - margin: 40px 0 20px; - border-bottom: 1px solid #eee; + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; } ul, ol { - margin-top: 0; - margin-bottom: 10px; + margin-top: 0; + margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { - margin-bottom: 0; + margin-bottom: 0; } .list-unstyled { - padding-left: 0; - list-style: none; + padding-left: 0; + list-style: none; } .list-inline { - padding-left: 0; - margin-left: -5px; - list-style: none; + padding-left: 0; + margin-left: -5px; + list-style: none; } .list-inline > li { - display: inline-block; - padding-right: 5px; - padding-left: 5px; + display: inline-block; + padding-right: 5px; + padding-left: 5px; } dl { - margin-top: 0; - margin-bottom: 20px; + margin-top: 0; + margin-bottom: 20px; } dt, dd { - line-height: 1.42857143; + line-height: 1.42857143; } dt { - font-weight: bold; + font-weight: bold; } dd { - margin-left: 0; + margin-left: 0; } @media (min-width: 768px) { - .dl-horizontal dt { - float: left; - width: 160px; - overflow: hidden; - clear: left; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - } - .dl-horizontal dd { - margin-left: 180px; - } + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } } abbr[title], abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #777; + cursor: help; + border-bottom: 1px dotted #777; } .initialism { - font-size: 90%; - text-transform: uppercase; + font-size: 90%; + text-transform: uppercase; } blockquote { - padding: 10px 20px; - margin: 0 0 20px; - font-size: 17.5px; - border-left: 5px solid #eee; + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { - margin-bottom: 0; + margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { - display: block; - font-size: 80%; - line-height: 1.42857143; - color: #777; + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { - content: '\2014 \00A0'; + content: "\2014 \00A0"; } .blockquote-reverse, blockquote.pull-right { - padding-right: 15px; - padding-left: 0; - text-align: right; - border-right: 5px solid #eee; - border-left: 0; + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, @@ -1318,7 +1321,7 @@ blockquote.pull-right footer:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { - content: ''; + content: ""; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, @@ -1326,747 +1329,838 @@ blockquote.pull-right footer:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { - content: '\00A0 \2014'; + content: "\00A0 \2014"; } blockquote:before, blockquote:after { - content: ""; + content: ""; } address { - margin-bottom: 20px; - font-style: normal; - line-height: 1.42857143; + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; } code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; } kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); } kbd kbd { - padding: 0; - font-size: 100%; - -webkit-box-shadow: none; - box-shadow: none; + padding: 0; + font-size: 100%; + -webkit-box-shadow: none; + box-shadow: none; } pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - color: #333; - word-break: break-all; - word-wrap: break-word; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; } pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; } .pre-scrollable { - max-height: 340px; - overflow-y: scroll; + max-height: 340px; + overflow-y: scroll; } .container { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } @media (min-width: 768px) { - .container { - width: 750px; - } + .container { + width: 750px; + } } @media (min-width: 992px) { - .container { - width: 970px; - } + .container { + width: 970px; + } } @media (min-width: 1200px) { - .container { - width: 1170px; - } + .container { + width: 1170px; + } } .container-fluid { - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } .row { - margin-right: -15px; - margin-left: -15px; -} -.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { - position: relative; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; + margin-right: -15px; + margin-left: -15px; } -.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { - float: left; +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left; } .col-xs-12 { - width: 100%; + width: 100%; } .col-xs-11 { - width: 91.66666667%; + width: 91.66666667%; } .col-xs-10 { - width: 83.33333333%; + width: 83.33333333%; } .col-xs-9 { - width: 75%; + width: 75%; } .col-xs-8 { - width: 66.66666667%; + width: 66.66666667%; } .col-xs-7 { - width: 58.33333333%; + width: 58.33333333%; } .col-xs-6 { - width: 50%; + width: 50%; } .col-xs-5 { - width: 41.66666667%; + width: 41.66666667%; } .col-xs-4 { - width: 33.33333333%; + width: 33.33333333%; } .col-xs-3 { - width: 25%; + width: 25%; } .col-xs-2 { - width: 16.66666667%; + width: 16.66666667%; } .col-xs-1 { - width: 8.33333333%; + width: 8.33333333%; } .col-xs-pull-12 { - right: 100%; + right: 100%; } .col-xs-pull-11 { - right: 91.66666667%; + right: 91.66666667%; } .col-xs-pull-10 { - right: 83.33333333%; + right: 83.33333333%; } .col-xs-pull-9 { - right: 75%; + right: 75%; } .col-xs-pull-8 { - right: 66.66666667%; + right: 66.66666667%; } .col-xs-pull-7 { - right: 58.33333333%; + right: 58.33333333%; } .col-xs-pull-6 { - right: 50%; + right: 50%; } .col-xs-pull-5 { - right: 41.66666667%; + right: 41.66666667%; } .col-xs-pull-4 { - right: 33.33333333%; + right: 33.33333333%; } .col-xs-pull-3 { - right: 25%; + right: 25%; } .col-xs-pull-2 { - right: 16.66666667%; + right: 16.66666667%; } .col-xs-pull-1 { - right: 8.33333333%; + right: 8.33333333%; } .col-xs-pull-0 { - right: auto; + right: auto; } .col-xs-push-12 { - left: 100%; + left: 100%; } .col-xs-push-11 { - left: 91.66666667%; + left: 91.66666667%; } .col-xs-push-10 { - left: 83.33333333%; + left: 83.33333333%; } .col-xs-push-9 { - left: 75%; + left: 75%; } .col-xs-push-8 { - left: 66.66666667%; + left: 66.66666667%; } .col-xs-push-7 { - left: 58.33333333%; + left: 58.33333333%; } .col-xs-push-6 { - left: 50%; + left: 50%; } .col-xs-push-5 { - left: 41.66666667%; + left: 41.66666667%; } .col-xs-push-4 { - left: 33.33333333%; + left: 33.33333333%; } .col-xs-push-3 { - left: 25%; + left: 25%; } .col-xs-push-2 { - left: 16.66666667%; + left: 16.66666667%; } .col-xs-push-1 { - left: 8.33333333%; + left: 8.33333333%; } .col-xs-push-0 { - left: auto; + left: auto; } .col-xs-offset-12 { - margin-left: 100%; + margin-left: 100%; } .col-xs-offset-11 { - margin-left: 91.66666667%; + margin-left: 91.66666667%; } .col-xs-offset-10 { - margin-left: 83.33333333%; + margin-left: 83.33333333%; } .col-xs-offset-9 { - margin-left: 75%; + margin-left: 75%; } .col-xs-offset-8 { - margin-left: 66.66666667%; + margin-left: 66.66666667%; } .col-xs-offset-7 { - margin-left: 58.33333333%; + margin-left: 58.33333333%; } .col-xs-offset-6 { - margin-left: 50%; + margin-left: 50%; } .col-xs-offset-5 { - margin-left: 41.66666667%; + margin-left: 41.66666667%; } .col-xs-offset-4 { - margin-left: 33.33333333%; + margin-left: 33.33333333%; } .col-xs-offset-3 { - margin-left: 25%; + margin-left: 25%; } .col-xs-offset-2 { - margin-left: 16.66666667%; + margin-left: 16.66666667%; } .col-xs-offset-1 { - margin-left: 8.33333333%; + margin-left: 8.33333333%; } .col-xs-offset-0 { - margin-left: 0; + margin-left: 0; } @media (min-width: 768px) { - .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { - float: left; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-pull-12 { - right: 100%; - } - .col-sm-pull-11 { - right: 91.66666667%; - } - .col-sm-pull-10 { - right: 83.33333333%; - } - .col-sm-pull-9 { - right: 75%; - } - .col-sm-pull-8 { - right: 66.66666667%; - } - .col-sm-pull-7 { - right: 58.33333333%; - } - .col-sm-pull-6 { - right: 50%; - } - .col-sm-pull-5 { - right: 41.66666667%; - } - .col-sm-pull-4 { - right: 33.33333333%; - } - .col-sm-pull-3 { - right: 25%; - } - .col-sm-pull-2 { - right: 16.66666667%; - } - .col-sm-pull-1 { - right: 8.33333333%; - } - .col-sm-pull-0 { - right: auto; - } - .col-sm-push-12 { - left: 100%; - } - .col-sm-push-11 { - left: 91.66666667%; - } - .col-sm-push-10 { - left: 83.33333333%; - } - .col-sm-push-9 { - left: 75%; - } - .col-sm-push-8 { - left: 66.66666667%; - } - .col-sm-push-7 { - left: 58.33333333%; - } - .col-sm-push-6 { - left: 50%; - } - .col-sm-push-5 { - left: 41.66666667%; - } - .col-sm-push-4 { - left: 33.33333333%; - } - .col-sm-push-3 { - left: 25%; - } - .col-sm-push-2 { - left: 16.66666667%; - } - .col-sm-push-1 { - left: 8.33333333%; - } - .col-sm-push-0 { - left: auto; - } - .col-sm-offset-12 { - margin-left: 100%; - } - .col-sm-offset-11 { - margin-left: 91.66666667%; - } - .col-sm-offset-10 { - margin-left: 83.33333333%; - } - .col-sm-offset-9 { - margin-left: 75%; - } - .col-sm-offset-8 { - margin-left: 66.66666667%; - } - .col-sm-offset-7 { - margin-left: 58.33333333%; - } - .col-sm-offset-6 { - margin-left: 50%; - } - .col-sm-offset-5 { - margin-left: 41.66666667%; - } - .col-sm-offset-4 { - margin-left: 33.33333333%; - } - .col-sm-offset-3 { - margin-left: 25%; - } - .col-sm-offset-2 { - margin-left: 16.66666667%; - } - .col-sm-offset-1 { - margin-left: 8.33333333%; - } - .col-sm-offset-0 { - margin-left: 0; - } + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } } @media (min-width: 992px) { - .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { - float: left; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-pull-12 { - right: 100%; - } - .col-md-pull-11 { - right: 91.66666667%; - } - .col-md-pull-10 { - right: 83.33333333%; - } - .col-md-pull-9 { - right: 75%; - } - .col-md-pull-8 { - right: 66.66666667%; - } - .col-md-pull-7 { - right: 58.33333333%; - } - .col-md-pull-6 { - right: 50%; - } - .col-md-pull-5 { - right: 41.66666667%; - } - .col-md-pull-4 { - right: 33.33333333%; - } - .col-md-pull-3 { - right: 25%; - } - .col-md-pull-2 { - right: 16.66666667%; - } - .col-md-pull-1 { - right: 8.33333333%; - } - .col-md-pull-0 { - right: auto; - } - .col-md-push-12 { - left: 100%; - } - .col-md-push-11 { - left: 91.66666667%; - } - .col-md-push-10 { - left: 83.33333333%; - } - .col-md-push-9 { - left: 75%; - } - .col-md-push-8 { - left: 66.66666667%; - } - .col-md-push-7 { - left: 58.33333333%; - } - .col-md-push-6 { - left: 50%; - } - .col-md-push-5 { - left: 41.66666667%; - } - .col-md-push-4 { - left: 33.33333333%; - } - .col-md-push-3 { - left: 25%; - } - .col-md-push-2 { - left: 16.66666667%; - } - .col-md-push-1 { - left: 8.33333333%; - } - .col-md-push-0 { - left: auto; - } - .col-md-offset-12 { - margin-left: 100%; - } - .col-md-offset-11 { - margin-left: 91.66666667%; - } - .col-md-offset-10 { - margin-left: 83.33333333%; - } - .col-md-offset-9 { - margin-left: 75%; - } - .col-md-offset-8 { - margin-left: 66.66666667%; - } - .col-md-offset-7 { - margin-left: 58.33333333%; - } - .col-md-offset-6 { - margin-left: 50%; - } - .col-md-offset-5 { - margin-left: 41.66666667%; - } - .col-md-offset-4 { - margin-left: 33.33333333%; - } - .col-md-offset-3 { - margin-left: 25%; - } - .col-md-offset-2 { - margin-left: 16.66666667%; - } - .col-md-offset-1 { - margin-left: 8.33333333%; - } - .col-md-offset-0 { - margin-left: 0; - } + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } } @media (min-width: 1200px) { - .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { - float: left; - } - .col-lg-12 { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +th { + text-align: left; +} +.table { width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-pull-12 { - right: 100%; - } - .col-lg-pull-11 { - right: 91.66666667%; - } - .col-lg-pull-10 { - right: 83.33333333%; - } - .col-lg-pull-9 { - right: 75%; - } - .col-lg-pull-8 { - right: 66.66666667%; - } - .col-lg-pull-7 { - right: 58.33333333%; - } - .col-lg-pull-6 { - right: 50%; - } - .col-lg-pull-5 { - right: 41.66666667%; - } - .col-lg-pull-4 { - right: 33.33333333%; - } - .col-lg-pull-3 { - right: 25%; - } - .col-lg-pull-2 { - right: 16.66666667%; - } - .col-lg-pull-1 { - right: 8.33333333%; - } - .col-lg-pull-0 { - right: auto; - } - .col-lg-push-12 { - left: 100%; - } - .col-lg-push-11 { - left: 91.66666667%; - } - .col-lg-push-10 { - left: 83.33333333%; - } - .col-lg-push-9 { - left: 75%; - } - .col-lg-push-8 { - left: 66.66666667%; - } - .col-lg-push-7 { - left: 58.33333333%; - } - .col-lg-push-6 { - left: 50%; - } - .col-lg-push-5 { - left: 41.66666667%; - } - .col-lg-push-4 { - left: 33.33333333%; - } - .col-lg-push-3 { - left: 25%; - } - .col-lg-push-2 { - left: 16.66666667%; - } - .col-lg-push-1 { - left: 8.33333333%; - } - .col-lg-push-0 { - left: auto; - } - .col-lg-offset-12 { - margin-left: 100%; - } - .col-lg-offset-11 { - margin-left: 91.66666667%; - } - .col-lg-offset-10 { - margin-left: 83.33333333%; - } - .col-lg-offset-9 { - margin-left: 75%; - } - .col-lg-offset-8 { - margin-left: 66.66666667%; - } - .col-lg-offset-7 { - margin-left: 58.33333333%; - } - .col-lg-offset-6 { - margin-left: 50%; - } - .col-lg-offset-5 { - margin-left: 41.66666667%; - } - .col-lg-offset-4 { - margin-left: 33.33333333%; - } - .col-lg-offset-3 { - margin-left: 25%; - } - .col-lg-offset-2 { - margin-left: 16.66666667%; - } - .col-lg-offset-1 { - margin-left: 8.33333333%; - } - .col-lg-offset-0 { - margin-left: 0; - } -} -table { - background-color: transparent; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; + max-width: 100%; + margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, @@ -2074,14 +2168,14 @@ th { .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; } .table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; + vertical-align: bottom; + border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, @@ -2089,13 +2183,13 @@ th { .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { - border-top: 0; + border-top: 0; } .table > tbody + tbody { - border-top: 2px solid #ddd; + border-top: 2px solid #ddd; } .table .table { - background-color: #fff; + background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, @@ -2103,10 +2197,10 @@ th { .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { - padding: 5px; + padding: 5px; } .table-bordered { - border: 1px solid #ddd; + border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, @@ -2114,30 +2208,30 @@ th { .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { - border: 1px solid #ddd; + border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { - border-bottom-width: 2px; + border-bottom-width: 2px; } .table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th { - background-color: #f9f9f9; + background-color: #f9f9f9; } .table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th { - background-color: #f5f5f5; + background-color: #f5f5f5; } table col[class*="col-"] { - position: static; - display: table-column; - float: none; + position: static; + display: table-column; + float: none; } table td[class*="col-"], table th[class*="col-"] { - position: static; - display: table-cell; - float: none; + position: static; + display: table-cell; + float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, @@ -2151,14 +2245,14 @@ table th[class*="col-"] { .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { - background-color: #f5f5f5; + background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; + background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, @@ -2172,14 +2266,14 @@ table th[class*="col-"] { .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { - background-color: #dff0d8; + background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; + background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, @@ -2193,14 +2287,14 @@ table th[class*="col-"] { .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { - background-color: #d9edf7; + background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; + background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, @@ -2214,14 +2308,14 @@ table th[class*="col-"] { .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { - background-color: #fcf8e3; + background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; + background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, @@ -2235,230 +2329,230 @@ table th[class*="col-"] { .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { - background-color: #f2dede; + background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; + background-color: #ebcccc; } @media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-x: auto; - overflow-y: hidden; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: auto; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } } fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; + min-width: 0; + padding: 0; + margin: 0; + border: 0; } legend { - display: block; - width: 100%; - padding: 0; - margin-bottom: 20px; - font-size: 21px; - line-height: inherit; - color: #333; - border: 0; - border-bottom: 1px solid #e5e5e5; + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; } label { - display: inline-block; - max-width: 100%; - margin-bottom: 5px; - font-weight: bold; + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; } input[type="search"] { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { - margin: 4px 0 0; - margin-top: 1px \9; - line-height: normal; + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; } input[type="file"] { - display: block; + display: block; } input[type="range"] { - display: block; - width: 100%; + display: block; + width: 100%; } select[multiple], select[size] { - height: auto; + height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } output { - display: block; - padding-top: 7px; - font-size: 14px; - line-height: 1.42857143; - color: #555; + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; } .form-control { - display: block; - width: 100%; - height: 34px; - padding: 6px 12px; - font-size: 14px; - line-height: 1.42857143; - color: #555; - background-color: #fff; - background-image: none; - border: 1px solid #ccc; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; - -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; - transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s; + -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; } .form-control:focus { - border-color: #66afe9; - outline: 0; - -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); - box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); } .form-control::-moz-placeholder { - color: #777; - opacity: 1; + color: #777; + opacity: 1; } .form-control:-ms-input-placeholder { - color: #777; + color: #777; } .form-control::-webkit-input-placeholder { - color: #777; + color: #777; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { - cursor: not-allowed; - background-color: #eee; - opacity: 1; + cursor: not-allowed; + background-color: #eee; + opacity: 1; } textarea.form-control { - height: auto; + height: auto; } input[type="search"] { - -webkit-appearance: none; + -webkit-appearance: none; } input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { - line-height: 34px; - line-height: 1.42857143 \0; + line-height: 34px; + line-height: 1.42857143 \0; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm { - line-height: 30px; + line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg { - line-height: 46px; + line-height: 46px; } .form-group { - margin-bottom: 15px; + margin-bottom: 15px; } .radio, .checkbox { - position: relative; - display: block; - min-height: 20px; - margin-top: 10px; - margin-bottom: 10px; + position: relative; + display: block; + min-height: 20px; + margin-top: 10px; + margin-bottom: 10px; } .radio label, .checkbox label { - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - cursor: pointer; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { - position: absolute; - margin-top: 4px \9; - margin-left: -20px; + position: absolute; + margin-top: 4px \9; + margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { - margin-top: -5px; + margin-top: -5px; } .radio-inline, .checkbox-inline { - display: inline-block; - padding-left: 20px; - margin-bottom: 0; - font-weight: normal; - vertical-align: middle; - cursor: pointer; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { - margin-top: 0; - margin-left: 10px; + margin-top: 0; + margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], @@ -2466,88 +2560,88 @@ input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { - cursor: not-allowed; + cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { - cursor: not-allowed; + cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { - cursor: not-allowed; + cursor: not-allowed; } .form-control-static { - padding-top: 7px; - padding-bottom: 7px; - margin-bottom: 0; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } .input-sm, .form-horizontal .form-group-sm .form-control { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } select.input-sm { - height: 30px; - line-height: 30px; + height: 30px; + line-height: 30px; } textarea.input-sm, select[multiple].input-sm { - height: auto; + height: auto; } .input-lg, .form-horizontal .form-group-lg .form-control { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; } select.input-lg { - height: 46px; - line-height: 46px; + height: 46px; + line-height: 46px; } textarea.input-lg, select[multiple].input-lg { - height: auto; + height: auto; } .has-feedback { - position: relative; + position: relative; } .has-feedback .form-control { - padding-right: 42.5px; + padding-right: 42.5px; } .form-control-feedback { - position: absolute; - top: 25px; - right: 0; - z-index: 2; - display: block; - width: 34px; - height: 34px; - line-height: 34px; - text-align: center; + position: absolute; + top: 25px; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; } .input-lg + .form-control-feedback { - width: 46px; - height: 46px; - line-height: 46px; + width: 46px; + height: 46px; + line-height: 46px; } .input-sm + .form-control-feedback { - width: 30px; - height: 30px; - line-height: 30px; + width: 30px; + height: 30px; + line-height: 30px; } .has-success .help-block, .has-success .control-label, @@ -2555,25 +2649,25 @@ select[multiple].input-lg { .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline { - color: #3c763d; + color: #3c763d; } .has-success .form-control { - border-color: #3c763d; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-success .form-control:focus { - border-color: #2b542c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; } .has-success .input-group-addon { - color: #3c763d; - background-color: #dff0d8; - border-color: #3c763d; + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; } .has-success .form-control-feedback { - color: #3c763d; + color: #3c763d; } .has-warning .help-block, .has-warning .control-label, @@ -2581,25 +2675,25 @@ select[multiple].input-lg { .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline { - color: #8a6d3b; + color: #8a6d3b; } .has-warning .form-control { - border-color: #8a6d3b; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-warning .form-control:focus { - border-color: #66512c; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #8a6d3b; + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; } .has-warning .form-control-feedback { - color: #8a6d3b; + color: #8a6d3b; } .has-error .help-block, .has-error .control-label, @@ -2607,185 +2701,185 @@ select[multiple].input-lg { .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline { - color: #a94442; + color: #a94442; } .has-error .form-control { - border-color: #a94442; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } .has-error .form-control:focus { - border-color: #843534; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } .has-error .input-group-addon { - color: #a94442; - background-color: #f2dede; - border-color: #a94442; + color: #a94442; + background-color: #f2dede; + border-color: #a94442; } .has-error .form-control-feedback { - color: #a94442; + color: #a94442; } .has-feedback label.sr-only ~ .form-control-feedback { - top: 0; + top: 0; } .help-block { - display: block; - margin-top: 5px; - margin-bottom: 10px; - color: #737373; + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; } @media (min-width: 768px) { - .form-inline .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .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; - } - .form-inline .input-group > .form-control { - width: 100%; - } - .form-inline .control-label { - margin-bottom: 0; - 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"] { - position: relative; - margin-left: 0; - } - .form-inline .has-feedback .form-control-feedback { - top: 0; - } + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .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; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + 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"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { - padding-top: 7px; - margin-top: 0; - margin-bottom: 0; + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { - min-height: 27px; + min-height: 27px; } .form-horizontal .form-group { - margin-right: -15px; - margin-left: -15px; + margin-right: -15px; + margin-left: -15px; } @media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 7px; - margin-bottom: 0; - text-align: right; - } + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } } .form-horizontal .has-feedback .form-control-feedback { - top: 0; - right: 15px; + top: 0; + right: 15px; } @media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 14.3px; - } + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } } @media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 6px; - } + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } } .btn { - display: inline-block; - padding: 6px 12px; - margin-bottom: 0; - font-size: 14px; - font-weight: normal; - line-height: 1.42857143; - text-align: center; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus { - outline: thin dotted; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } .btn:hover, .btn:focus { - color: #333; - text-decoration: none; + color: #333; + text-decoration: none; } .btn:active, .btn.active { - background-image: none; - outline: 0; - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { - pointer-events: none; - cursor: not-allowed; - filter: alpha(opacity=65); - -webkit-box-shadow: none; - box-shadow: none; - opacity: .65; + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: 0.65; } .btn-default { - color: #333; - background-color: #fff; - border-color: #ccc; + color: #333; + background-color: #fff; + border-color: #ccc; } .btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { - color: #333; - background-color: #e6e6e6; - border-color: #adadad; + color: #333; + background-color: #e6e6e6; + border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { - background-image: none; + background-image: none; } .btn-default.disabled, .btn-default[disabled], @@ -2802,31 +2896,31 @@ fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { - background-color: #fff; - border-color: #ccc; + background-color: #fff; + border-color: #ccc; } .btn-default .badge { - color: #fff; - background-color: #333; + color: #fff; + background-color: #333; } .btn-primary { - color: #fff; - background-color: #428bca; - border-color: #357ebd; + color: #fff; + background-color: #428bca; + border-color: #357ebd; } .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { - color: #fff; - background-color: #3071a9; - border-color: #285e8e; + color: #fff; + background-color: #3071a9; + border-color: #285e8e; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { - background-image: none; + background-image: none; } .btn-primary.disabled, .btn-primary[disabled], @@ -2843,31 +2937,31 @@ fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { - background-color: #428bca; - border-color: #357ebd; + background-color: #428bca; + border-color: #357ebd; } .btn-primary .badge { - color: #428bca; - background-color: #fff; + color: #428bca; + background-color: #fff; } .btn-success { - color: #fff; - background-color: #5cb85c; - border-color: #4cae4c; + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; } .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { - color: #fff; - background-color: #449d44; - border-color: #398439; + color: #fff; + background-color: #449d44; + border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { - background-image: none; + background-image: none; } .btn-success.disabled, .btn-success[disabled], @@ -2884,31 +2978,31 @@ fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { - background-color: #5cb85c; - border-color: #4cae4c; + background-color: #5cb85c; + border-color: #4cae4c; } .btn-success .badge { - color: #5cb85c; - background-color: #fff; + color: #5cb85c; + background-color: #fff; } .btn-info { - color: #fff; - background-color: #5bc0de; - border-color: #46b8da; + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; } .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { - color: #fff; - background-color: #31b0d5; - border-color: #269abc; + color: #fff; + background-color: #31b0d5; + border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { - background-image: none; + background-image: none; } .btn-info.disabled, .btn-info[disabled], @@ -2925,31 +3019,31 @@ fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { - background-color: #5bc0de; - border-color: #46b8da; + background-color: #5bc0de; + border-color: #46b8da; } .btn-info .badge { - color: #5bc0de; - background-color: #fff; + color: #5bc0de; + background-color: #fff; } .btn-warning { - color: #fff; - background-color: #f0ad4e; - border-color: #eea236; + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; } .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { - color: #fff; - background-color: #ec971f; - border-color: #d58512; + color: #fff; + background-color: #ec971f; + border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { - background-image: none; + background-image: none; } .btn-warning.disabled, .btn-warning[disabled], @@ -2966,31 +3060,31 @@ fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { - background-color: #f0ad4e; - border-color: #eea236; + background-color: #f0ad4e; + border-color: #eea236; } .btn-warning .badge { - color: #f0ad4e; - background-color: #fff; + color: #f0ad4e; + background-color: #fff; } .btn-danger { - color: #fff; - background-color: #d9534f; - border-color: #d43f3a; + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; } .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { - color: #fff; - background-color: #c9302c; - border-color: #ac2925; + color: #fff; + background-color: #c9302c; + border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { - background-image: none; + background-image: none; } .btn-danger.disabled, .btn-danger[disabled], @@ -3007,258 +3101,258 @@ fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { - background-color: #d9534f; - border-color: #d43f3a; + background-color: #d9534f; + border-color: #d43f3a; } .btn-danger .badge { - color: #d9534f; - background-color: #fff; + color: #d9534f; + background-color: #fff; } .btn-link { - font-weight: normal; - color: #428bca; - cursor: pointer; - border-radius: 0; + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; } .btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link { - background-color: transparent; - -webkit-box-shadow: none; - box-shadow: none; + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { - border-color: transparent; + border-color: transparent; } .btn-link:hover, .btn-link:focus { - color: #2a6496; - text-decoration: underline; - background-color: transparent; + color: #2a6496; + text-decoration: underline; + background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { - color: #777; - text-decoration: none; + color: #777; + text-decoration: none; } .btn-lg, .btn-group-lg > .btn { - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } .btn-block { - display: block; - width: 100%; + display: block; + width: 100%; } .btn-block + .btn-block { - margin-top: 5px; + margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { - width: 100%; + width: 100%; } .fade { - opacity: 0; - -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } .fade.in { - opacity: 1; + opacity: 1; } .collapse { - display: none; + display: none; } .collapse.in { - display: block; + display: block; } tr.collapse.in { - display: table-row; + display: table-row; } tbody.collapse.in { - display: table-row-group; + display: table-row-group; } .collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height .35s ease; - -o-transition: height .35s ease; - transition: height .35s ease; + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; } .caret { - display: inline-block; - width: 0; - height: 0; - margin-left: 2px; - vertical-align: middle; - border-top: 4px solid; - border-right: 4px solid transparent; - border-left: 4px solid transparent; + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; } .dropdown { - position: relative; + position: relative; } .dropdown-toggle:focus { - outline: 0; + outline: 0; } .dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 160px; - padding: 5px 0; - margin: 2px 0 0; - font-size: 14px; - text-align: left; - list-style: none; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: 4px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); - box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } .dropdown-menu.pull-right { - right: 0; - left: auto; + right: 0; + left: auto; } .dropdown-menu .divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } .dropdown-menu > li > a { - display: block; - padding: 3px 20px; - clear: both; - font-weight: normal; - line-height: 1.42857143; - color: #333; - white-space: nowrap; + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { - color: #262626; - text-decoration: none; - background-color: #f5f5f5; + color: #262626; + text-decoration: none; + background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { - color: #fff; - text-decoration: none; - background-color: #428bca; - outline: 0; + color: #fff; + text-decoration: none; + background-color: #428bca; + outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - color: #777; + color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { - text-decoration: none; - cursor: not-allowed; - background-color: transparent; - background-image: none; - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + 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; + right: 0; + left: auto; } .dropdown-menu-left { - right: auto; - left: 0; + right: auto; + left: 0; } .dropdown-header { - display: block; - padding: 3px 20px; - font-size: 12px; - line-height: 1.42857143; - color: #777; - white-space: nowrap; + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; } .dropdown-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 990; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; } .pull-right > .dropdown-menu { - right: 0; - left: auto; + right: 0; + left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { - content: ""; - border-top: 0; - border-bottom: 4px solid; + content: ""; + border-top: 0; + border-bottom: 4px solid; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { - top: auto; - bottom: 100%; - margin-bottom: 1px; + top: auto; + bottom: 100%; + margin-bottom: 1px; } @media (min-width: 768px) { - .navbar-right .dropdown-menu { - right: 0; - left: auto; - } - .navbar-right .dropdown-menu-left { - right: auto; - left: 0; - } + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } } .btn-group, .btn-group-vertical { - position: relative; - display: inline-block; - vertical-align: middle; + position: relative; + display: inline-block; + vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { - position: relative; - float: left; + position: relative; + float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, @@ -3268,189 +3362,189 @@ tbody.collapse.in { .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { - z-index: 2; + z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { - outline: 0; + outline: 0; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { - margin-left: -1px; + margin-left: -1px; } .btn-toolbar { - margin-left: -5px; + margin-left: -5px; } .btn-toolbar .btn-group, .btn-toolbar .input-group { - float: left; + float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { - margin-left: 5px; + 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; + margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-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 > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child > .btn:first-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { - outline: 0; + outline: 0; } .btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; + padding-right: 8px; + padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; + padding-right: 12px; + padding-left: 12px; } .btn-group.open .dropdown-toggle { - -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .btn-group.open .dropdown-toggle.btn-link { - -webkit-box-shadow: none; - box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; } .btn .caret { - margin-left: 0; + margin-left: 0; } .btn-lg .caret { - border-width: 5px 5px 0; - border-bottom-width: 0; + border-width: 5px 5px 0; + border-bottom-width: 0; } .dropup .btn-lg .caret { - border-width: 0 5px 5px; + border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { - display: block; - float: none; - width: 100%; - max-width: 100%; + display: block; + float: none; + width: 100%; + max-width: 100%; } .btn-group-vertical > .btn-group > .btn { - float: none; + float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { - margin-top: -1px; - margin-left: 0; + margin-top: -1px; + margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { - border-radius: 0; + border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: 4px; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { - border-top-left-radius: 0; - border-top-right-radius: 0; - border-bottom-left-radius: 4px; + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; + border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; - border-top-right-radius: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; } .btn-group-justified { - display: table; - width: 100%; - table-layout: fixed; - border-collapse: separate; + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { - display: table-cell; - float: none; - width: 1%; + display: table-cell; + float: none; + width: 1%; } .btn-group-justified > .btn-group .btn { - width: 100%; + width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { - left: auto; + left: auto; } [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { - position: absolute; - z-index: -1; - filter: alpha(opacity=0); - opacity: 0; + position: absolute; + z-index: -1; + filter: alpha(opacity=0); + opacity: 0; } .input-group { - position: relative; - display: table; - border-collapse: separate; + position: relative; + display: table; + border-collapse: separate; } .input-group[class*="col-"] { - float: none; - padding-right: 0; - padding-left: 0; + float: none; + padding-right: 0; + padding-left: 0; } .input-group .form-control { - position: relative; - z-index: 2; - float: left; - width: 100%; - margin-bottom: 0; + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { - height: 46px; - padding: 10px 16px; - font-size: 18px; - line-height: 1.33; - border-radius: 6px; + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { - height: 46px; - line-height: 46px; + height: 46px; + line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, @@ -3458,22 +3552,22 @@ textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { - height: auto; + height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { - height: 30px; - padding: 5px 10px; - font-size: 12px; - line-height: 1.5; - border-radius: 3px; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { - height: 30px; - line-height: 30px; + height: 30px; + line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, @@ -3481,48 +3575,48 @@ textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { - height: auto; + height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { - display: table-cell; + display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { - border-radius: 0; + border-radius: 0; } .input-group-addon, .input-group-btn { - width: 1%; - white-space: nowrap; - vertical-align: middle; + width: 1%; + white-space: nowrap; + vertical-align: middle; } .input-group-addon { - padding: 6px 12px; - font-size: 14px; - font-weight: normal; - line-height: 1; - color: #555; - text-align: center; - background-color: #eee; - border: 1px solid #ccc; - border-radius: 4px; + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; } .input-group-addon.input-sm { - padding: 5px 10px; - font-size: 12px; - border-radius: 3px; + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; } .input-group-addon.input-lg { - padding: 10px 16px; - font-size: 18px; - border-radius: 6px; + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { - margin-top: 0; + margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, @@ -3531,11 +3625,11 @@ select[multiple].input-group-sm > .input-group-btn > .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; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-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, @@ -3544,808 +3638,808 @@ select[multiple].input-group-sm > .input-group-btn > .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; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-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; + position: relative; + font-size: 0; + white-space: nowrap; } .input-group-btn > .btn { - position: relative; + position: relative; } .input-group-btn > .btn + .btn { - margin-left: -1px; + margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { - z-index: 2; + z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { - margin-right: -1px; + margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { - margin-left: -1px; + margin-left: -1px; } .nav { - padding-left: 0; - margin-bottom: 0; - list-style: none; + padding-left: 0; + margin-bottom: 0; + list-style: none; } .nav > li { - position: relative; - display: block; + position: relative; + display: block; } .nav > li > a { - position: relative; - display: block; - padding: 10px 15px; + position: relative; + display: block; + padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { - text-decoration: none; - background-color: #eee; + text-decoration: none; + background-color: #eee; } .nav > li.disabled > a { - color: #777; + color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { - color: #777; - text-decoration: none; - cursor: not-allowed; - background-color: transparent; + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { - background-color: #eee; - border-color: #428bca; + background-color: #eee; + border-color: #428bca; } .nav .nav-divider { - height: 1px; - margin: 9px 0; - overflow: hidden; - background-color: #e5e5e5; + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; } .nav > li > a > img { - max-width: none; + max-width: none; } .nav-tabs { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid #ddd; } .nav-tabs > li { - float: left; - margin-bottom: -1px; + float: left; + margin-bottom: -1px; } .nav-tabs > li > a { - margin-right: 2px; - line-height: 1.42857143; - border: 1px solid transparent; - border-radius: 4px 4px 0 0; + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { - border-color: #eee #eee #ddd; + border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { - color: #555; - cursor: default; - background-color: #fff; - border: 1px solid #ddd; - border-bottom-color: transparent; + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; } .nav-tabs.nav-justified { - width: 100%; - border-bottom: 0; + width: 100%; + border-bottom: 0; } .nav-tabs.nav-justified > li { - float: none; + float: none; } .nav-tabs.nav-justified > li > a { - margin-bottom: 5px; - text-align: center; + margin-bottom: 5px; + text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; + top: auto; + left: auto; } @media (min-width: 768px) { - .nav-tabs.nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-tabs.nav-justified > li > a { - margin-bottom: 0; - } + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } } .nav-tabs.nav-justified > li > a { - margin-right: 0; - border-radius: 4px; + margin-right: 0; + border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { - border: 1px solid #ddd; + border: 1px solid #ddd; } @media (min-width: 768px) { - .nav-tabs.nav-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs.nav-justified > .active > a, - .nav-tabs.nav-justified > .active > a:hover, - .nav-tabs.nav-justified > .active > a:focus { - border-bottom-color: #fff; - } + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } } .nav-pills > li { - float: left; + float: left; } .nav-pills > li > a { - border-radius: 4px; + border-radius: 4px; } .nav-pills > li + li { - margin-left: 2px; + margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { - color: #fff; - background-color: #428bca; + color: #fff; + background-color: #428bca; } .nav-stacked > li { - float: none; + float: none; } .nav-stacked > li + li { - margin-top: 2px; - margin-left: 0; + margin-top: 2px; + margin-left: 0; } .nav-justified { - width: 100%; + width: 100%; } .nav-justified > li { - float: none; + float: none; } .nav-justified > li > a { - margin-bottom: 5px; - text-align: center; + margin-bottom: 5px; + text-align: center; } .nav-justified > .dropdown .dropdown-menu { - top: auto; - left: auto; + top: auto; + left: auto; } @media (min-width: 768px) { - .nav-justified > li { - display: table-cell; - width: 1%; - } - .nav-justified > li > a { - margin-bottom: 0; - } + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } } .nav-tabs-justified { - border-bottom: 0; + border-bottom: 0; } .nav-tabs-justified > li > a { - margin-right: 0; - border-radius: 4px; + margin-right: 0; + border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { - border: 1px solid #ddd; + border: 1px solid #ddd; } @media (min-width: 768px) { - .nav-tabs-justified > li > a { - border-bottom: 1px solid #ddd; - border-radius: 4px 4px 0 0; - } - .nav-tabs-justified > .active > a, - .nav-tabs-justified > .active > a:hover, - .nav-tabs-justified > .active > a:focus { - border-bottom-color: #fff; - } + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } } .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; + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } .navbar { - position: relative; - min-height: 50px; - margin-bottom: 20px; - border: 1px solid transparent; + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; } @media (min-width: 768px) { - .navbar { - border-radius: 4px; - } + .navbar { + border-radius: 4px; + } } @media (min-width: 768px) { - .navbar-header { - float: left; - } + .navbar-header { + float: left; + } } .navbar-collapse { - padding-right: 15px; - padding-left: 15px; - overflow-x: visible; - -webkit-overflow-scrolling: touch; - border-top: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); } .navbar-collapse.in { - overflow-y: auto; + overflow-y: auto; } @media (min-width: 768px) { - .navbar-collapse { - width: auto; - border-top: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-collapse.collapse { - display: block !important; - height: auto !important; - padding-bottom: 0; - overflow: visible !important; - } - .navbar-collapse.in { - overflow-y: visible; - } - .navbar-fixed-top .navbar-collapse, - .navbar-static-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - padding-right: 0; - padding-left: 0; - } + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { - max-height: 340px; + max-height: 340px; } @media (max-width: 480px) and (orientation: landscape) { - .navbar-fixed-top .navbar-collapse, - .navbar-fixed-bottom .navbar-collapse { - max-height: 200px; - } + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { - margin-right: -15px; - margin-left: -15px; + margin-right: -15px; + margin-left: -15px; } @media (min-width: 768px) { - .container > .navbar-header, - .container-fluid > .navbar-header, - .container > .navbar-collapse, - .container-fluid > .navbar-collapse { - margin-right: 0; - margin-left: 0; - } + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } } .navbar-static-top { - z-index: 1000; - border-width: 0 0 1px; + z-index: 1000; + border-width: 0 0 1px; } @media (min-width: 768px) { - .navbar-static-top { - border-radius: 0; - } + .navbar-static-top { + border-radius: 0; + } } .navbar-fixed-top, .navbar-fixed-bottom { - position: fixed; - right: 0; - left: 0; - z-index: 1030; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } @media (min-width: 768px) { - .navbar-fixed-top, - .navbar-fixed-bottom { - border-radius: 0; - } + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } } .navbar-fixed-top { - top: 0; - border-width: 0 0 1px; + top: 0; + border-width: 0 0 1px; } .navbar-fixed-bottom { - bottom: 0; - margin-bottom: 0; - border-width: 1px 0 0; + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; } .navbar-brand { - float: left; - height: 50px; - padding: 15px 15px; - font-size: 18px; - line-height: 20px; + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; + text-decoration: none; } @media (min-width: 768px) { - .navbar > .container .navbar-brand, - .navbar > .container-fluid .navbar-brand { - margin-left: -15px; - } + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } } .navbar-toggle { - position: relative; - float: right; - padding: 9px 10px; - margin-top: 8px; - margin-right: 15px; - margin-bottom: 8px; - background-color: transparent; - background-image: none; - border: 1px solid transparent; - border-radius: 4px; + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; } .navbar-toggle:focus { - outline: 0; + outline: 0; } .navbar-toggle .icon-bar { - display: block; - width: 22px; - height: 2px; - border-radius: 1px; + display: block; + width: 22px; + height: 2px; + border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { - margin-top: 4px; + margin-top: 4px; } @media (min-width: 768px) { - .navbar-toggle { - display: none; - } + .navbar-toggle { + display: none; + } } .navbar-nav { - margin: 7.5px -15px; + margin: 7.5px -15px; } .navbar-nav > li > a { - padding-top: 10px; - padding-bottom: 10px; - line-height: 20px; + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; } @media (max-width: 767px) { - .navbar-nav .open .dropdown-menu { - position: static; - float: none; - width: auto; - margin-top: 0; - background-color: transparent; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-nav .open .dropdown-menu > li > a, - .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 5px 15px 5px 25px; - } - .navbar-nav .open .dropdown-menu > li > a { - line-height: 20px; - } - .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-nav .open .dropdown-menu > li > a:focus { - background-image: none; - } + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } } @media (min-width: 768px) { - .navbar-nav { - float: left; - margin: 0; - } - .navbar-nav > li { - float: left; - } - .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } - .navbar-nav.navbar-right:last-child { - margin-right: -15px; - } + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } } @media (min-width: 768px) { - .navbar-left { - float: left !important; - } - .navbar-right { - float: right !important; - } + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } } .navbar-form { - padding: 10px 15px; - margin-top: 8px; - margin-right: -15px; - margin-bottom: 8px; - margin-left: -15px; - border-top: 1px solid transparent; - border-bottom: 1px solid transparent; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); } @media (min-width: 768px) { - .navbar-form .form-group { - display: inline-block; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .navbar-form .input-group { - display: inline-table; - vertical-align: middle; - } - .navbar-form .input-group .input-group-addon, - .navbar-form .input-group .input-group-btn, - .navbar-form .input-group .form-control { - width: auto; - } - .navbar-form .input-group > .form-control { - width: 100%; - } - .navbar-form .control-label { - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio, - .navbar-form .checkbox { - display: inline-block; - margin-top: 0; - margin-bottom: 0; - vertical-align: middle; - } - .navbar-form .radio label, - .navbar-form .checkbox label { - padding-left: 0; - } - .navbar-form .radio input[type="radio"], - .navbar-form .checkbox input[type="checkbox"] { - position: relative; - margin-left: 0; - } - .navbar-form .has-feedback .form-control-feedback { - top: 0; - } + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } } @media (max-width: 767px) { - .navbar-form .form-group { - margin-bottom: 5px; - } + .navbar-form .form-group { + margin-bottom: 5px; + } } @media (min-width: 768px) { - .navbar-form { - width: auto; - padding-top: 0; - padding-bottom: 0; - margin-right: 0; - margin-left: 0; - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - } - .navbar-form.navbar-right:last-child { - margin-right: -15px; - } + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } } .navbar-nav > li > .dropdown-menu { - margin-top: 0; - border-top-left-radius: 0; - border-top-right-radius: 0; + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .navbar-btn { - margin-top: 8px; - margin-bottom: 8px; + margin-top: 8px; + margin-bottom: 8px; } .navbar-btn.btn-sm { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 10px; + margin-bottom: 10px; } .navbar-btn.btn-xs { - margin-top: 14px; - margin-bottom: 14px; + margin-top: 14px; + margin-bottom: 14px; } .navbar-text { - margin-top: 15px; - margin-bottom: 15px; + margin-top: 15px; + margin-bottom: 15px; } -@media (min-width: 768px) { - .navbar-text { - float: left; - margin-right: 15px; - margin-left: 15px; - } - .navbar-text.navbar-right:last-child { - margin-right: 0; - } +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } } .navbar-default { - background-color: #f8f8f8; - border-color: #e7e7e7; + background-color: #f8f8f8; + border-color: #e7e7e7; } .navbar-default .navbar-brand { - color: #777; + color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { - color: #5e5e5e; - background-color: transparent; + color: #5e5e5e; + background-color: transparent; } .navbar-default .navbar-text { - color: #777; + color: #777; } .navbar-default .navbar-nav > li > a { - color: #777; + color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { - color: #333; - background-color: transparent; + color: #333; + background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { - color: #555; - background-color: #e7e7e7; + color: #555; + background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { - color: #ccc; - background-color: transparent; + color: #ccc; + background-color: transparent; } .navbar-default .navbar-toggle { - border-color: #ddd; + border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { - background-color: #ddd; + background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { - background-color: #888; + background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { - border-color: #e7e7e7; + border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { - color: #555; - background-color: #e7e7e7; -} -@media (max-width: 767px) { - .navbar-default .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { - color: #333; - background-color: transparent; - } - .navbar-default .navbar-nav .open .dropdown-menu > .active > a, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; - } - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #ccc; - background-color: transparent; - } +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } } .navbar-default .navbar-link { - color: #777; + color: #777; } .navbar-default .navbar-link:hover { - color: #333; + color: #333; } .navbar-default .btn-link { - color: #777; + color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { - color: #333; + color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { - color: #ccc; + color: #ccc; } .navbar-inverse { - background-color: #222; - border-color: #080808; + background-color: #222; + border-color: #080808; } .navbar-inverse .navbar-brand { - color: #777; + color: #777; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { - color: #fff; - background-color: transparent; + color: #fff; + background-color: transparent; } .navbar-inverse .navbar-text { - color: #777; + color: #777; } .navbar-inverse .navbar-nav > li > a { - color: #777; + color: #777; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { - color: #fff; - background-color: transparent; + color: #fff; + background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { - color: #fff; - background-color: #080808; + color: #fff; + background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { - color: #444; - background-color: transparent; + color: #444; + background-color: transparent; } .navbar-inverse .navbar-toggle { - border-color: #333; + border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { - background-color: #333; + background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { - background-color: #fff; + background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { - border-color: #101010; + border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { - color: #fff; - background-color: #080808; -} -@media (max-width: 767px) { - .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { - border-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu .divider { - background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { - color: #777; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { - color: #fff; - background-color: transparent; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; - } - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: #444; - background-color: transparent; - } +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } } .navbar-inverse .navbar-link { - color: #777; + color: #777; } .navbar-inverse .navbar-link:hover { - color: #fff; + color: #fff; } .navbar-inverse .btn-link { - color: #777; + color: #777; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { - color: #fff; + color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { - color: #444; + color: #444; } .breadcrumb { - padding: 8px 15px; - margin-bottom: 20px; - list-style: none; - background-color: #f5f5f5; - border-radius: 4px; + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; } .breadcrumb > li { - display: inline-block; + display: inline-block; } .breadcrumb > li + li:before { - padding: 0 5px; - color: #ccc; - content: "/\00a0"; + padding: 0 5px; + color: #ccc; + content: "/\00a0"; } .breadcrumb > .active { - color: #777; + color: #777; } .pagination { - display: inline-block; - padding-left: 0; - margin: 20px 0; - border-radius: 4px; + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; } .pagination > li { - display: inline; + display: inline; } .pagination > li > a, .pagination > li > span { - position: relative; - float: left; - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #428bca; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #428bca; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { - color: #2a6496; - background-color: #eee; - border-color: #ddd; + color: #2a6496; + background-color: #eee; + border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, @@ -4353,11 +4447,11 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: #428bca; - border-color: #428bca; + z-index: 2; + color: #fff; + cursor: default; + background-color: #428bca; + border-color: #428bca; } .pagination > .disabled > span, .pagination > .disabled > span:hover, @@ -4365,520 +4459,655 @@ fieldset[disabled] .navbar-inverse .btn-link:focus { .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { - padding: 10px 16px; - font-size: 18px; + padding: 10px 16px; + font-size: 18px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { - padding: 5px 10px; - font-size: 12px; + padding: 5px 10px; + font-size: 12px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; } .pager { - padding-left: 0; - margin: 20px 0; - text-align: center; - list-style: none; + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; } .pager li { - display: inline; + display: inline; } .pager li > a, .pager li > span { - display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { - text-decoration: none; - background-color: #eee; + text-decoration: none; + background-color: #eee; } .pager .next > a, .pager .next > span { - float: right; + float: right; } .pager .previous > a, .pager .previous > span { - float: left; + float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { - color: #777; - cursor: not-allowed; - background-color: #fff; + color: #777; + cursor: not-allowed; + background-color: #fff; } .label { - display: inline; - padding: .2em .6em .3em; - font-size: 75%; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; + display: inline; + padding: 0.2em 0.6em 0.3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25em; } a.label:hover, a.label:focus { - color: #fff; - text-decoration: none; - cursor: pointer; + color: #fff; + text-decoration: none; + cursor: pointer; } .label:empty { - display: none; + display: none; } .btn .label { - position: relative; - top: -1px; + position: relative; + top: -1px; } .label-default { - background-color: #777; + background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { - background-color: #5e5e5e; + background-color: #5e5e5e; } .label-primary { - background-color: #428bca; + background-color: #428bca; } .label-primary[href]:hover, .label-primary[href]:focus { - background-color: #3071a9; + background-color: #3071a9; } .label-success { - background-color: #5cb85c; + background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { - background-color: #449d44; + background-color: #449d44; } .label-info { - background-color: #5bc0de; + background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { - background-color: #31b0d5; + background-color: #31b0d5; } .label-warning { - background-color: #f0ad4e; + background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { - background-color: #ec971f; + background-color: #ec971f; } .label-danger { - background-color: #d9534f; + background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { - background-color: #c9302c; + background-color: #c9302c; } .badge { - display: inline-block; - min-width: 10px; - padding: 3px 7px; - font-size: 12px; - font-weight: bold; - line-height: 1; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; } .badge:empty { - display: none; + display: none; } .btn .badge { - position: relative; - top: -1px; + position: relative; + top: -1px; } .btn-xs .badge { - top: 0; - padding: 1px 5px; + top: 0; + padding: 1px 5px; } a.badge:hover, a.badge:focus { - color: #fff; - text-decoration: none; - cursor: pointer; + color: #fff; + text-decoration: none; + cursor: pointer; } a.list-group-item.active > .badge, .nav-pills > .active > a > .badge { - color: #428bca; - background-color: #fff; + color: #428bca; + background-color: #fff; } .nav-pills > li > a > .badge { - margin-left: 3px; + margin-left: 3px; } .jumbotron { - padding: 30px; - margin-bottom: 30px; - color: inherit; - background-color: #eee; + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; } .jumbotron h1, .jumbotron .h1 { - color: inherit; + color: inherit; } .jumbotron p { - margin-bottom: 15px; - font-size: 21px; - font-weight: 200; + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; } .jumbotron > hr { - border-top-color: #d5d5d5; + border-top-color: #d5d5d5; } .container .jumbotron { - border-radius: 6px; + border-radius: 6px; } .jumbotron .container { - max-width: 100%; + max-width: 100%; } @media screen and (min-width: 768px) { - .jumbotron { - padding-top: 48px; - padding-bottom: 48px; - } - .container .jumbotron { - padding-right: 60px; - padding-left: 60px; - } - .jumbotron h1, - .jumbotron .h1 { - font-size: 63px; - } + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } } .thumbnail { - display: block; - padding: 4px; - margin-bottom: 20px; - line-height: 1.42857143; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 4px; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; } .thumbnail > img, .thumbnail a > img { - margin-right: auto; - margin-left: auto; + margin-right: auto; + margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { - border-color: #428bca; + border-color: #428bca; } .thumbnail .caption { - padding: 9px; - color: #333; + padding: 9px; + color: #333; } .alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid transparent; - border-radius: 4px; + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; } .alert h4 { - margin-top: 0; - color: inherit; + margin-top: 0; + color: inherit; } .alert .alert-link { - font-weight: bold; + font-weight: bold; } .alert > p, .alert > ul { - margin-bottom: 0; + margin-bottom: 0; } .alert > p + p { - margin-top: 5px; + margin-top: 5px; } .alert-dismissable, .alert-dismissible { - padding-right: 35px; + padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; + position: relative; + top: -2px; + right: -21px; + color: inherit; } .alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; } .alert-success hr { - border-top-color: #c9e2b3; + border-top-color: #c9e2b3; } .alert-success .alert-link { - color: #2b542c; + color: #2b542c; } .alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; } .alert-info hr { - border-top-color: #a6e1ec; + border-top-color: #a6e1ec; } .alert-info .alert-link { - color: #245269; + color: #245269; } .alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; } .alert-warning hr { - border-top-color: #f7e1b5; + border-top-color: #f7e1b5; } .alert-warning .alert-link { - color: #66512c; + color: #66512c; } .alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; } .alert-danger hr { - border-top-color: #e4b9c0; + border-top-color: #e4b9c0; } .alert-danger .alert-link { - color: #843534; + color: #843534; } @-webkit-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } } @-o-keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } } @keyframes progress-bar-stripes { - from { - background-position: 40px 0; - } - to { - background-position: 0 0; - } + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } } .progress { - height: 20px; - margin-bottom: 20px; - overflow: hidden; - background-color: #f5f5f5; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); } .progress-bar { - float: left; - width: 0; - height: 100%; - font-size: 12px; - line-height: 20px; - color: #fff; - text-align: center; - background-color: #428bca; - -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); - -webkit-transition: width .6s ease; - -o-transition: width .6s ease; - transition: width .6s ease; + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; } .progress-striped .progress-bar, .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: 40px 40px; - background-size: 40px 40px; + background-image: -webkit-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-image: -o-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-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 + ); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { - -webkit-animation: progress-bar-stripes 2s linear infinite; - -o-animation: progress-bar-stripes 2s linear infinite; - animation: progress-bar-stripes 2s linear infinite; + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; } .progress-bar[aria-valuenow="1"], .progress-bar[aria-valuenow="2"] { - min-width: 30px; + min-width: 30px; } .progress-bar[aria-valuenow="0"] { - min-width: 30px; - color: #777; - background-color: transparent; - background-image: none; - -webkit-box-shadow: none; - box-shadow: none; + min-width: 30px; + color: #777; + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; } .progress-bar-success { - background-color: #5cb85c; + background-color: #5cb85c; } .progress-striped .progress-bar-success { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -webkit-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-image: -o-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-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); } .progress-bar-info { - background-color: #5bc0de; + background-color: #5bc0de; } .progress-striped .progress-bar-info { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -webkit-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-image: -o-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-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); } .progress-bar-warning { - background-color: #f0ad4e; + background-color: #f0ad4e; } .progress-striped .progress-bar-warning { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -webkit-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-image: -o-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-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); } .progress-bar-danger { - background-color: #d9534f; + background-color: #d9534f; } .progress-striped .progress-bar-danger { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -webkit-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-image: -o-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-image: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.15) 25%, + transparent 25%, + transparent 50%, + rgba(255, 255, 255, 0.15) 50%, + rgba(255, 255, 255, 0.15) 75%, + transparent 75%, + transparent + ); } .media, .media-body { - overflow: hidden; - zoom: 1; + overflow: hidden; + zoom: 1; } .media, .media .media { - margin-top: 15px; + margin-top: 15px; } .media:first-child { - margin-top: 0; + margin-top: 0; } .media-object { - display: block; + display: block; } .media-heading { - margin: 0 0 5px; + margin: 0 0 5px; } .media > .pull-left { - margin-right: 10px; + margin-right: 10px; } .media > .pull-right { - margin-left: 10px; + margin-left: 10px; } .media-list { - padding-left: 0; - list-style: none; + padding-left: 0; + list-style: none; } .list-group { - padding-left: 0; - margin-bottom: 20px; + padding-left: 0; + margin-bottom: 20px; } .list-group-item { - position: relative; - display: block; - padding: 10px 15px; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid #ddd; + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; } .list-group-item:first-child { - border-top-left-radius: 4px; - border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; } .list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 4px; - border-bottom-left-radius: 4px; + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; } .list-group-item > .badge { - float: right; + float: right; } .list-group-item > .badge + .badge { - margin-right: 5px; + margin-right: 5px; } a.list-group-item { - color: #555; + color: #555; } a.list-group-item .list-group-item-heading { - color: #333; + color: #333; } a.list-group-item:hover, a.list-group-item:focus { - color: #555; - text-decoration: none; - background-color: #f5f5f5; + color: #555; + text-decoration: none; + background-color: #f5f5f5; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { - color: #777; - background-color: #eee; + color: #777; + background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { - color: inherit; + color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { - color: #777; + color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { - z-index: 2; - color: #fff; - background-color: #428bca; - border-color: #428bca; + z-index: 2; + color: #fff; + background-color: #428bca; + border-color: #428bca; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, @@ -4889,234 +5118,314 @@ a.list-group-item:focus { .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { - color: inherit; + color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { - color: #e1edf7; + color: #e1edf7; } .list-group-item-success { - color: #3c763d; - background-color: #dff0d8; + color: #3c763d; + background-color: #dff0d8; } a.list-group-item-success { - color: #3c763d; + color: #3c763d; } a.list-group-item-success .list-group-item-heading { - color: inherit; + color: inherit; } a.list-group-item-success:hover, a.list-group-item-success:focus { - color: #3c763d; - background-color: #d0e9c6; + color: #3c763d; + background-color: #d0e9c6; } a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus { - color: #fff; - background-color: #3c763d; - border-color: #3c763d; + color: #fff; + background-color: #3c763d; + border-color: #3c763d; } .list-group-item-info { - color: #31708f; - background-color: #d9edf7; + color: #31708f; + background-color: #d9edf7; } a.list-group-item-info { - color: #31708f; + color: #31708f; } a.list-group-item-info .list-group-item-heading { - color: inherit; + color: inherit; } a.list-group-item-info:hover, a.list-group-item-info:focus { - color: #31708f; - background-color: #c4e3f3; + color: #31708f; + background-color: #c4e3f3; } a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus { - color: #fff; - background-color: #31708f; - border-color: #31708f; + color: #fff; + background-color: #31708f; + border-color: #31708f; } .list-group-item-warning { - color: #8a6d3b; - background-color: #fcf8e3; + color: #8a6d3b; + background-color: #fcf8e3; } a.list-group-item-warning { - color: #8a6d3b; + color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading { - color: inherit; + color: inherit; } a.list-group-item-warning:hover, a.list-group-item-warning:focus { - color: #8a6d3b; - background-color: #faf2cc; + color: #8a6d3b; + background-color: #faf2cc; } a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus { - color: #fff; - background-color: #8a6d3b; - border-color: #8a6d3b; + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; } .list-group-item-danger { - color: #a94442; - background-color: #f2dede; + color: #a94442; + background-color: #f2dede; } a.list-group-item-danger { - color: #a94442; + color: #a94442; } a.list-group-item-danger .list-group-item-heading { - color: inherit; + color: inherit; } a.list-group-item-danger:hover, a.list-group-item-danger:focus { - color: #a94442; - background-color: #ebcccc; + color: #a94442; + background-color: #ebcccc; } a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus { - color: #fff; - background-color: #a94442; - border-color: #a94442; + color: #fff; + background-color: #a94442; + border-color: #a94442; } .list-group-item-heading { - margin-top: 0; - margin-bottom: 5px; + margin-top: 0; + margin-bottom: 5px; } .list-group-item-text { - margin-bottom: 0; - line-height: 1.3; + margin-bottom: 0; + line-height: 1.3; } .panel { - margin-bottom: 20px; - background-color: #fff; - border: 1px solid transparent; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); } .panel-body { - padding: 15px; + padding: 15px; } .panel-heading { - padding: 10px 15px; - border-bottom: 1px solid transparent; - border-top-left-radius: 3px; - border-top-right-radius: 3px; + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { - color: inherit; + color: inherit; } .panel-title { - margin-top: 0; - margin-bottom: 0; - font-size: 16px; - color: inherit; + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; } .panel-title > a { - color: inherit; + color: inherit; } .panel-footer { - padding: 10px 15px; - background-color: #f5f5f5; - border-top: 1px solid #ddd; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .panel > .list-group { - margin-bottom: 0; + margin-bottom: 0; } .panel > .list-group .list-group-item { - border-width: 1px 0; - border-radius: 0; + border-width: 1px 0; + border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child { - border-top: 0; - border-top-left-radius: 3px; - border-top-right-radius: 3px; + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child { - border-bottom: 0; - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .panel-heading + .list-group .list-group-item:first-child { - border-top-width: 0; + border-top-width: 0; } .list-group + .panel-footer { - border-top-width: 0; + border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { - margin-bottom: 0; + margin-bottom: 0; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { - border-top-left-radius: 3px; - border-top-right-radius: 3px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel + > .table-responsive:first-child + > .table:first-child + > thead:first-child + > tr:first-child + td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel + > .table-responsive:first-child + > .table:first-child + > tbody:first-child + > tr:first-child + td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel + > .table-responsive:first-child + > .table:first-child + > thead:first-child + > tr:first-child + th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { - border-top-left-radius: 3px; +.panel + > .table-responsive:first-child + > .table:first-child + > tbody:first-child + > tr:first-child + th:first-child { + border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel + > .table-responsive:first-child + > .table:first-child + > thead:first-child + > tr:first-child + td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel + > .table-responsive:first-child + > .table:first-child + > tbody:first-child + > tr:first-child + td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel + > .table-responsive:first-child + > .table:first-child + > thead:first-child + > tr:first-child + th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, -.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { - border-top-right-radius: 3px; +.panel + > .table-responsive:first-child + > .table:first-child + > tbody:first-child + > tr:first-child + th:last-child { + border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { - border-bottom-right-radius: 3px; - border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tbody:last-child + > tr:last-child + td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tfoot:last-child + > tr:last-child + td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tbody:last-child + > tr:last-child + th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { - border-bottom-left-radius: 3px; +.panel + > .table-responsive:last-child + > .table:last-child + > tfoot:last-child + > tr:last-child + th:first-child { + border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tbody:last-child + > tr:last-child + td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tfoot:last-child + > tr:last-child + td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel + > .table-responsive:last-child + > .table:last-child + > tbody:last-child + > tr:last-child + th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, -.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { - border-bottom-right-radius: 3px; +.panel + > .table-responsive:last-child + > .table:last-child + > tfoot:last-child + > tr:last-child + th:last-child { + border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive { - border-top: 1px solid #ddd; + border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { - border-top: 0; + border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { - border: 0; + border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, @@ -5130,7 +5439,7 @@ a.list-group-item-danger.active:focus { .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; + border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, @@ -5144,7 +5453,7 @@ a.list-group-item-danger.active:focus { .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; + border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, @@ -5154,7 +5463,7 @@ a.list-group-item-danger.active:focus { .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { - border-bottom: 0; + border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, @@ -5164,744 +5473,764 @@ a.list-group-item-danger.active:focus { .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { - border-bottom: 0; + border-bottom: 0; } .panel > .table-responsive { - margin-bottom: 0; - border: 0; + margin-bottom: 0; + border: 0; } .panel-group { - margin-bottom: 20px; + margin-bottom: 20px; } .panel-group .panel { - margin-bottom: 0; - border-radius: 4px; + margin-bottom: 0; + border-radius: 4px; } .panel-group .panel + .panel { - margin-top: 5px; + margin-top: 5px; } .panel-group .panel-heading { - border-bottom: 0; + border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body { - border-top: 1px solid #ddd; + border-top: 1px solid #ddd; } .panel-group .panel-footer { - border-top: 0; + border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid #ddd; } .panel-default { - border-color: #ddd; + border-color: #ddd; } .panel-default > .panel-heading { - color: #333; - background-color: #f5f5f5; - border-color: #ddd; + color: #333; + background-color: #f5f5f5; + border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ddd; + border-top-color: #ddd; } .panel-default > .panel-heading .badge { - color: #f5f5f5; - background-color: #333; + color: #f5f5f5; + background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ddd; + border-bottom-color: #ddd; } .panel-primary { - border-color: #428bca; + border-color: #428bca; } .panel-primary > .panel-heading { - color: #fff; - background-color: #428bca; - border-color: #428bca; + color: #fff; + background-color: #428bca; + border-color: #428bca; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #428bca; + border-top-color: #428bca; } .panel-primary > .panel-heading .badge { - color: #428bca; - background-color: #fff; + color: #428bca; + background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #428bca; + border-bottom-color: #428bca; } .panel-success { - border-color: #d6e9c6; + border-color: #d6e9c6; } .panel-success > .panel-heading { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #d6e9c6; + border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { - color: #dff0d8; - background-color: #3c763d; + color: #dff0d8; + background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #d6e9c6; + border-bottom-color: #d6e9c6; } .panel-info { - border-color: #bce8f1; + border-color: #bce8f1; } .panel-info > .panel-heading { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #bce8f1; + border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { - color: #d9edf7; - background-color: #31708f; + color: #d9edf7; + background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #bce8f1; + border-bottom-color: #bce8f1; } .panel-warning { - border-color: #faebcc; + border-color: #faebcc; } .panel-warning > .panel-heading { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #faebcc; + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #faebcc; + border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { - color: #fcf8e3; - background-color: #8a6d3b; + color: #fcf8e3; + background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #faebcc; + border-bottom-color: #faebcc; } .panel-danger { - border-color: #ebccd1; + border-color: #ebccd1; } .panel-danger > .panel-heading { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { - border-top-color: #ebccd1; + border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { - color: #f2dede; - background-color: #a94442; + color: #f2dede; + background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { - border-bottom-color: #ebccd1; + border-bottom-color: #ebccd1; } .embed-responsive { - position: relative; - display: block; - height: 0; - padding: 0; - overflow: hidden; + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } .embed-responsive.embed-responsive-16by9 { - padding-bottom: 56.25%; + padding-bottom: 56.25%; } .embed-responsive.embed-responsive-4by3 { - padding-bottom: 75%; + padding-bottom: 75%; } .well { - min-height: 20px; - padding: 19px; - margin-bottom: 20px; - background-color: #f5f5f5; - border: 1px solid #e3e3e3; - border-radius: 4px; - -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); } .well blockquote { - border-color: #ddd; - border-color: rgba(0, 0, 0, .15); + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); } .well-lg { - padding: 24px; - border-radius: 6px; + padding: 24px; + border-radius: 6px; } .well-sm { - padding: 9px; - border-radius: 3px; + padding: 9px; + border-radius: 3px; } .close { - float: right; - font-size: 21px; - font-weight: bold; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - filter: alpha(opacity=20); - opacity: .2; + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: 0.2; } .close:hover, .close:focus { - color: #000; - text-decoration: none; - cursor: pointer; - filter: alpha(opacity=50); - opacity: .5; + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: 0.5; } button.close { - -webkit-appearance: none; - padding: 0; - cursor: pointer; - background: transparent; - border: 0; + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; } .modal-open { - overflow: hidden; + overflow: hidden; } .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - -webkit-overflow-scrolling: touch; - outline: 0; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; } .modal.fade .modal-dialog { - -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: -o-transform .3s ease-out; - transition: transform .3s ease-out; - -webkit-transform: translate3d(0, -25%, 0); - -o-transform: translate3d(0, -25%, 0); - transform: translate3d(0, -25%, 0); + -webkit-transition: -webkit-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + -webkit-transform: translate3d(0, -25%, 0); + -o-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); } .modal.in .modal-dialog { - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; + overflow-x: hidden; + overflow-y: auto; } .modal-dialog { - position: relative; - width: auto; - margin: 10px; + position: relative; + width: auto; + margin: 10px; } .modal-content { - position: relative; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #999; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - outline: 0; - -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); - box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); } .modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; } .modal-backdrop.fade { - filter: alpha(opacity=0); - opacity: 0; + filter: alpha(opacity=0); + opacity: 0; } .modal-backdrop.in { - filter: alpha(opacity=50); - opacity: .5; + filter: alpha(opacity=50); + opacity: 0.5; } .modal-header { - min-height: 16.42857143px; - padding: 15px; - border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; } .modal-header .close { - margin-top: -2px; + margin-top: -2px; } .modal-title { - margin: 0; - line-height: 1.42857143; + margin: 0; + line-height: 1.42857143; } .modal-body { - position: relative; - padding: 15px; + position: relative; + padding: 15px; } .modal-footer { - padding: 15px; - text-align: right; - border-top: 1px solid #e5e5e5; + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; + margin-bottom: 0; + margin-left: 5px; } .modal-footer .btn-group .btn + .btn { - margin-left: -1px; + margin-left: -1px; } .modal-footer .btn-block + .btn-block { - margin-left: 0; + margin-left: 0; } .modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } @media (min-width: 768px) { - .modal-dialog { - width: 600px; - margin: 30px auto; - } - .modal-content { - -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - box-shadow: 0 5px 15px rgba(0, 0, 0, .5); - } - .modal-sm { - width: 300px; - } + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } } @media (min-width: 992px) { - .modal-lg { - width: 900px; - } + .modal-lg { + width: 900px; + } } .tooltip { - position: absolute; - z-index: 1070; - display: block; - font-size: 12px; - line-height: 1.4; - visibility: visible; - filter: alpha(opacity=0); - opacity: 0; + position: absolute; + z-index: 1070; + display: block; + font-size: 12px; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; } .tooltip.in { - filter: alpha(opacity=90); - opacity: .9; + filter: alpha(opacity=90); + opacity: 0.9; } .tooltip.top { - padding: 5px 0; - margin-top: -3px; + padding: 5px 0; + margin-top: -3px; } .tooltip.right { - padding: 0 5px; - margin-left: 3px; + padding: 0 5px; + margin-left: 3px; } .tooltip.bottom { - padding: 5px 0; - margin-top: 3px; + padding: 5px 0; + margin-top: 3px; } .tooltip.left { - padding: 0 5px; - margin-left: -3px; + padding: 0 5px; + margin-left: -3px; } .tooltip-inner { - max-width: 200px; - padding: 3px 8px; - color: #fff; - text-align: center; - text-decoration: none; - background-color: #000; - border-radius: 4px; + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; } .tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; + 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; + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; } .tooltip.top-left .tooltip-arrow { - bottom: 0; - left: 5px; - border-width: 5px 5px 0; - border-top-color: #000; + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000; } .tooltip.top-right .tooltip-arrow { - right: 5px; - bottom: 0; - border-width: 5px 5px 0; - border-top-color: #000; + right: 5px; + bottom: 0; + 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; + 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; + 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; + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { - top: 0; - left: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { - top: 0; - right: 5px; - border-width: 0 5px 5px; - border-bottom-color: #000; + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; } .popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: none; - max-width: 276px; - padding: 1px; - text-align: left; - white-space: normal; - background-color: #fff; - -webkit-background-clip: padding-box; - background-clip: padding-box; - border: 1px solid #ccc; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: 6px; - -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); - box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } .popover.top { - margin-top: -10px; + margin-top: -10px; } .popover.right { - margin-left: 10px; + margin-left: 10px; } .popover.bottom { - margin-top: 10px; + margin-top: 10px; } .popover.left { - margin-left: -10px; + margin-left: -10px; } .popover-title { - padding: 8px 14px; - margin: 0; - font-size: 14px; - font-weight: normal; - line-height: 18px; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-radius: 5px 5px 0 0; + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; } .popover-content { - padding: 9px 14px; + padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { - position: absolute; - display: block; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; } .popover > .arrow { - border-width: 11px; + border-width: 11px; } .popover > .arrow:after { - content: ""; - border-width: 10px; + content: ""; + border-width: 10px; } .popover.top > .arrow { - bottom: -11px; - left: 50%; - margin-left: -11px; - border-top-color: #999; - border-top-color: rgba(0, 0, 0, .25); - border-bottom-width: 0; + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; } .popover.top > .arrow:after { - bottom: 1px; - margin-left: -10px; - content: " "; - border-top-color: #fff; - border-bottom-width: 0; + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; } .popover.right > .arrow { - top: 50%; - left: -11px; - margin-top: -11px; - border-right-color: #999; - border-right-color: rgba(0, 0, 0, .25); - border-left-width: 0; + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; } .popover.right > .arrow:after { - bottom: -10px; - left: 1px; - content: " "; - border-right-color: #fff; - border-left-width: 0; + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; } .popover.bottom > .arrow { - top: -11px; - left: 50%; - margin-left: -11px; - border-top-width: 0; - border-bottom-color: #999; - border-bottom-color: rgba(0, 0, 0, .25); + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); } .popover.bottom > .arrow:after { - top: 1px; - margin-left: -10px; - content: " "; - border-top-width: 0; - border-bottom-color: #fff; + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; } .popover.left > .arrow { - top: 50%; - right: -11px; - margin-top: -11px; - border-right-width: 0; - border-left-color: #999; - border-left-color: rgba(0, 0, 0, .25); + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); } .popover.left > .arrow:after { - right: 1px; - bottom: -10px; - content: " "; - border-right-width: 0; - border-left-color: #fff; + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; } .carousel { - position: relative; + position: relative; } .carousel-inner { - position: relative; - width: 100%; - overflow: hidden; + position: relative; + width: 100%; + overflow: hidden; } .carousel-inner > .item { - position: relative; - display: none; - -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { - line-height: 1; + line-height: 1; } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { - display: block; + display: block; } .carousel-inner > .active { - left: 0; + left: 0; } .carousel-inner > .next, .carousel-inner > .prev { - position: absolute; - top: 0; - width: 100%; + position: absolute; + top: 0; + width: 100%; } .carousel-inner > .next { - left: 100%; + left: 100%; } .carousel-inner > .prev { - left: -100%; + left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { - left: 0; + left: 0; } .carousel-inner > .active.left { - left: -100%; + left: -100%; } .carousel-inner > .active.right { - left: 100%; + left: 100%; } .carousel-control { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 15%; - font-size: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - filter: alpha(opacity=50); - opacity: .5; + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + filter: alpha(opacity=50); + opacity: 0.5; } .carousel-control.left { - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); - background-repeat: repeat-x; + background-image: -webkit-linear-gradient( + left, + rgba(0, 0, 0, 0.5) 0%, + rgba(0, 0, 0, 0.0001) 100% + ); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -webkit-gradient( + linear, + left top, + right top, + from(rgba(0, 0, 0, 0.5)), + to(rgba(0, 0, 0, 0.0001)) + ); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; } .carousel-control.right { - right: 0; - left: auto; - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); - background-repeat: repeat-x; + right: 0; + left: auto; + background-image: -webkit-linear-gradient( + left, + rgba(0, 0, 0, 0.0001) 0%, + rgba(0, 0, 0, 0.5) 100% + ); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -webkit-gradient( + linear, + left top, + right top, + from(rgba(0, 0, 0, 0.0001)), + to(rgba(0, 0, 0, 0.5)) + ); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { - color: #fff; - text-decoration: none; - filter: alpha(opacity=90); - outline: 0; - opacity: .9; + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: 0.9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { - position: absolute; - top: 50%; - z-index: 5; - display: inline-block; + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { - left: 50%; - margin-left: -10px; + left: 50%; + margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { - right: 50%; - margin-right: -10px; + right: 50%; + margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { - width: 20px; - height: 20px; - margin-top: -10px; - font-family: serif; + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; } .carousel-control .icon-prev:before { - content: '\2039'; + content: "\2039"; } .carousel-control .icon-next:before { - content: '\203a'; + content: "\203a"; } .carousel-indicators { - position: absolute; - bottom: 10px; - left: 50%; - z-index: 15; - width: 60%; - padding-left: 0; - margin-left: -30%; - text-align: center; - list-style: none; + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; } .carousel-indicators li { - display: inline-block; - width: 10px; - height: 10px; - margin: 1px; - text-indent: -999px; - cursor: pointer; - background-color: #000 \9; - background-color: rgba(0, 0, 0, 0); - border: 1px solid #fff; - border-radius: 10px; + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; } .carousel-indicators .active { - width: 12px; - height: 12px; - margin: 0; - background-color: #fff; + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; } .carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { - text-shadow: none; + text-shadow: none; } @media screen and (min-width: 768px) { - .carousel-control .glyphicon-chevron-left, - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-prev, - .carousel-control .icon-next { - width: 30px; - height: 30px; - margin-top: -15px; - font-size: 30px; - } - .carousel-control .glyphicon-chevron-left, - .carousel-control .icon-prev { - margin-left: -15px; - } - .carousel-control .glyphicon-chevron-right, - .carousel-control .icon-next { - margin-right: -15px; - } - .carousel-caption { - right: 20%; - left: 20%; - padding-bottom: 30px; - } - .carousel-indicators { - bottom: 20px; - } + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } } .clearfix:before, .clearfix:after, @@ -5933,8 +6262,8 @@ button.close { .panel-body:after, .modal-footer:before, .modal-footer:after { - display: table; - content: " "; + display: table; + content: " "; } .clearfix:after, .dl-horizontal dd:after, @@ -5951,53 +6280,53 @@ button.close { .pager:after, .panel-body:after, .modal-footer:after { - clear: both; + clear: both; } .center-block { - display: block; - margin-right: auto; - margin-left: auto; + display: block; + margin-right: auto; + margin-left: auto; } .pull-right { - float: right !important; + float: right !important; } .pull-left { - float: left !important; + float: left !important; } .hide { - display: none !important; + display: none !important; } .show { - display: block !important; + display: block !important; } .invisible { - visibility: hidden; + visibility: hidden; } .text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } .hidden { - display: none !important; - visibility: hidden !important; + display: none !important; + visibility: hidden !important; } .affix { - position: fixed; - -webkit-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } @-ms-viewport { - width: device-width; + width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { - display: none !important; + display: none !important; } .visible-xs-block, .visible-xs-inline, @@ -6011,193 +6340,193 @@ button.close { .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { - display: none !important; + display: none !important; } @media (max-width: 767px) { - .visible-xs { - display: block !important; - } - table.visible-xs { - display: table; - } - tr.visible-xs { - display: table-row !important; - } - th.visible-xs, - td.visible-xs { - display: table-cell !important; - } + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } } @media (max-width: 767px) { - .visible-xs-block { - display: block !important; - } + .visible-xs-block { + display: block !important; + } } @media (max-width: 767px) { - .visible-xs-inline { - display: inline !important; - } + .visible-xs-inline { + display: inline !important; + } } @media (max-width: 767px) { - .visible-xs-inline-block { - display: inline-block !important; - } + .visible-xs-inline-block { + display: inline-block !important; + } } @media (min-width: 768px) and (max-width: 991px) { - .visible-sm { - display: block !important; - } - table.visible-sm { - display: table; - } - tr.visible-sm { - display: table-row !important; - } - th.visible-sm, - td.visible-sm { - display: table-cell !important; - } + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } } @media (min-width: 768px) and (max-width: 991px) { - .visible-sm-block { - display: block !important; - } + .visible-sm-block { + display: block !important; + } } @media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline { - display: inline !important; - } + .visible-sm-inline { + display: inline !important; + } } @media (min-width: 768px) and (max-width: 991px) { - .visible-sm-inline-block { - display: inline-block !important; - } + .visible-sm-inline-block { + display: inline-block !important; + } } @media (min-width: 992px) and (max-width: 1199px) { - .visible-md { - display: block !important; - } - table.visible-md { - display: table; - } - tr.visible-md { - display: table-row !important; - } - th.visible-md, - td.visible-md { - display: table-cell !important; - } + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } } @media (min-width: 992px) and (max-width: 1199px) { - .visible-md-block { - display: block !important; - } + .visible-md-block { + display: block !important; + } } @media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline { - display: inline !important; - } + .visible-md-inline { + display: inline !important; + } } @media (min-width: 992px) and (max-width: 1199px) { - .visible-md-inline-block { - display: inline-block !important; - } + .visible-md-inline-block { + display: inline-block !important; + } } @media (min-width: 1200px) { - .visible-lg { - display: block !important; - } - table.visible-lg { - display: table; - } - tr.visible-lg { - display: table-row !important; - } - th.visible-lg, - td.visible-lg { - display: table-cell !important; - } + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } } @media (min-width: 1200px) { - .visible-lg-block { - display: block !important; - } + .visible-lg-block { + display: block !important; + } } @media (min-width: 1200px) { - .visible-lg-inline { - display: inline !important; - } + .visible-lg-inline { + display: inline !important; + } } @media (min-width: 1200px) { - .visible-lg-inline-block { - display: inline-block !important; - } + .visible-lg-inline-block { + display: inline-block !important; + } } @media (max-width: 767px) { - .hidden-xs { - display: none !important; - } + .hidden-xs { + display: none !important; + } } @media (min-width: 768px) and (max-width: 991px) { - .hidden-sm { - display: none !important; - } + .hidden-sm { + display: none !important; + } } @media (min-width: 992px) and (max-width: 1199px) { - .hidden-md { - display: none !important; - } + .hidden-md { + display: none !important; + } } @media (min-width: 1200px) { - .hidden-lg { - display: none !important; - } + .hidden-lg { + display: none !important; + } } .visible-print { - display: none !important; + display: none !important; } @media print { - .visible-print { - display: block !important; - } - table.visible-print { - display: table; - } - tr.visible-print { - display: table-row !important; - } - th.visible-print, - td.visible-print { - display: table-cell !important; - } + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } } .visible-print-block { - display: none !important; + display: none !important; } @media print { - .visible-print-block { - display: block !important; - } + .visible-print-block { + display: block !important; + } } .visible-print-inline { - display: none !important; + display: none !important; } @media print { - .visible-print-inline { - display: inline !important; - } + .visible-print-inline { + display: inline !important; + } } .visible-print-inline-block { - display: none !important; + display: none !important; } @media print { - .visible-print-inline-block { - display: inline-block !important; - } + .visible-print-inline-block { + display: inline-block !important; + } } @media print { - .hidden-print { - display: none !important; - } + .hidden-print { + display: none !important; + } } /*# sourceMappingURL=bootstrap.css.map */ diff --git a/packages/browser-sync-ui/test/fixtures/forms.html b/packages/browser-sync-ui/test/fixtures/forms.html index ee9f4e97e..4aa6148dd 100644 --- a/packages/browser-sync-ui/test/fixtures/forms.html +++ b/packages/browser-sync-ui/test/fixtures/forms.html @@ -1,20 +1,20 @@ - - - - - - - - Narrow Jumbotron Template for Bootstrap - - - - - - - + + + + + + + Narrow Jumbotron Template for Bootstrap + + + - + + + diff --git a/packages/browser-sync-ui/test/fixtures/index.html b/packages/browser-sync-ui/test/fixtures/index.html index c2a87bb95..776f47407 100644 --- a/packages/browser-sync-ui/test/fixtures/index.html +++ b/packages/browser-sync-ui/test/fixtures/index.html @@ -1,160 +1,247 @@ - - - - - - - - - - - Blog Template for Bootstrap - - - - - - - - - - - -
- -
- -
- -
-

The Bootstrap Blog

-

The official example template of creating a blog with Bootstrap.

-
- -
- -
- -
-

Sample blog post

- - -

This blog post shows a few different types of content that's supported and styled with Bootstrap. Basic typography, images, and code are all supported.

-
-

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

-
-

Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

-
-

Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.

-

Heading

-

Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

-

Sub-heading

-

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

-
Example code block
-

Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

-

Sub-heading

-

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

-
    -
  • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
  • -
  • Donec id elit non mi porta gravida at eget metus.
  • -
  • Nulla vitae elit libero, a pharetra augue.
  • -
-

Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.

-
    -
  1. Vestibulum id ligula porta felis euismod semper.
  2. -
  3. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
  4. -
  5. Maecenas sed diam eget risus varius blandit sit amet non magna.
  6. -
-

Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.

-
- -
-

Another blog post

- - -

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.

-
-

Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.

-
-

Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.

-

Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.

-
- -
-

New feature

- - -

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.

-
    -
  • Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
  • -
  • Donec id elit non mi porta gravida at eget metus.
  • -
  • Nulla vitae elit libero, a pharetra augue.
  • -
-

Etiam porta sem malesuada magna mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.

-

Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.

-
- - - -
- -
- - - - - - +
+
+
+

Sample blog post

+ + +

+ This blog post shows a few different types of content that's supported + and styled with Bootstrap. Basic typography, images, and code are all + supported. +

+
+

+ Cum sociis natoque penatibus et magnis + dis parturient montes, nascetur ridiculus mus. Aenean eu + leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed + posuere consectetur est at lobortis. Cras mattis consectetur purus sit + amet fermentum. +

+
+

+ Curabitur blandit tempus porttitor. + Nullam quis risus eget urna mollis ornare vel eu + leo. Nullam id dolor id nibh ultricies vehicula ut id elit. +

+
+

+ Etiam porta sem malesuada magna mollis euismod. Cras mattis + consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed + consectetur. +

+

Heading

+

+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. + Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget + lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, + vestibulum at eros. +

+

Sub-heading

+

+ Cum sociis natoque penatibus et magnis dis parturient montes, nascetur + ridiculus mus. +

+
Example code block
+

+ Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada + magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor + mauris condimentum nibh, ut fermentum massa. +

+

Sub-heading

+

+ Cum sociis natoque penatibus et magnis dis parturient montes, nascetur + ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam + porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac + cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo + sit amet risus. +

+
    +
  • + Praesent commodo cursus magna, vel scelerisque nisl consectetur et. +
  • +
  • Donec id elit non mi porta gravida at eget metus.
  • +
  • Nulla vitae elit libero, a pharetra augue.
  • +
+

+ Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit + libero, a pharetra augue. +

+
    +
  1. Vestibulum id ligula porta felis euismod semper.
  2. +
  3. + Cum sociis natoque penatibus et magnis dis parturient montes, + nascetur ridiculus mus. +
  4. +
  5. Maecenas sed diam eget risus varius blandit sit amet non magna.
  6. +
+

+ Cras mattis consectetur purus sit amet fermentum. Sed posuere + consectetur est at lobortis. +

+
+ + +
+

Another blog post

+ + +

+ Cum sociis natoque penatibus et magnis + dis parturient montes, nascetur ridiculus mus. Aenean eu + leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed + posuere consectetur est at lobortis. Cras mattis consectetur purus sit + amet fermentum. +

+
+

+ Curabitur blandit tempus porttitor. + Nullam quis risus eget urna mollis ornare vel eu + leo. Nullam id dolor id nibh ultricies vehicula ut id elit. +

+
+

+ Etiam porta sem malesuada magna mollis euismod. Cras mattis + consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed + consectetur. +

+

+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. + Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget + lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, + vestibulum at eros. +

+
+ + +
+

New feature

+ + +

+ Cum sociis natoque penatibus et magnis dis parturient montes, nascetur + ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam + porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac + cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo + sit amet risus. +

+
    +
  • + Praesent commodo cursus magna, vel scelerisque nisl consectetur et. +
  • +
  • Donec id elit non mi porta gravida at eget metus.
  • +
  • Nulla vitae elit libero, a pharetra augue.
  • +
+

+ Etiam porta sem malesuada magna mollis euismod. Cras mattis + consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed + consectetur. +

+

+ Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit + libero, a pharetra augue. +

+
+ + + +
+ + +
+ + + +
+ +
+ +
+ + + + diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/index.plugin.js b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/index.plugin.js index c37f92e5e..20f08eda5 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/index.plugin.js +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/index.plugin.js @@ -2,12 +2,12 @@ const PLUGIN_NAME = "Test BS Plugin"; module.exports = { "plugin:name": PLUGIN_NAME, - "plugin": function (opts, bs) { + plugin: function(opts, bs) { var logger = bs.getLogger(PLUGIN_NAME); - bs.events.on("plugins:configure", function (data) { + bs.events.on("plugins:configure", function(data) { if (data.name === PLUGIN_NAME) { //console.log(data); } }); } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client.js b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client.js index 896158f23..426ed8864 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client.js +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client.js @@ -1,30 +1,29 @@ -(function (angular) { - +(function(angular) { const PLUGIN_NAME = "Test Plugin"; - angular - .module("BrowserSync") - .directive("testPlugin", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "test.directive.html", - controller: ["$scope", "Socket", function ($scope, Socket) { + angular.module("BrowserSync").directive("testPlugin", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "test.directive.html", + controller: [ + "$scope", + "Socket", + function($scope, Socket) { var ctrl = this; - ctrl.removeRestriction = function (selector) { + ctrl.removeRestriction = function(selector) { Socket.uiEvent({ namespace: PLUGIN_NAME, event: "remove", data: selector }); }; - }], - controllerAs: "ctrl" - }; - }); - + } + ], + controllerAs: "ctrl" + }; + }); })(angular); - diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client2.js b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client2.js index 1c813ae84..0581f2dc3 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client2.js +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/client2.js @@ -1,30 +1,29 @@ -(function (angular) { - +(function(angular) { const PLUGIN_NAME = "Test Plugin file 2"; - angular - .module("BrowserSync") - .directive("testPlugin", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "test.list.html", - controller: ["$scope", "Socket", function ($scope, Socket) { + angular.module("BrowserSync").directive("testPlugin", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "test.list.html", + controller: [ + "$scope", + "Socket", + function($scope, Socket) { var ctrl = this; - ctrl.removeRestriction = function (selector) { + ctrl.removeRestriction = function(selector) { Socket.uiEvent({ namespace: PLUGIN_NAME, event: "remove", data: selector }); }; - }], - controllerAs: "ctrl" - }; - }); - + } + ], + controllerAs: "ctrl" + }; + }); })(angular); - diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.directive.html b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.directive.html index c2e347e8a..d880378fc 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.directive.html +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.directive.html @@ -1,3 +1,3 @@

Test markup from Test Directive

-
\ No newline at end of file + diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.html b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.html index bad94e6e1..49b3121cb 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.html +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.html @@ -1 +1 @@ - \ No newline at end of file + diff --git a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.list.html b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.list.html index da85b275e..a3a5c66a5 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.list.html +++ b/packages/browser-sync-ui/test/fixtures/plugin-multi-templates/ui/test.list.html @@ -1,3 +1,3 @@

Test markup from Test LIST Directive

-
\ No newline at end of file + diff --git a/packages/browser-sync-ui/test/fixtures/plugin-noui/index.plugin.js b/packages/browser-sync-ui/test/fixtures/plugin-noui/index.plugin.js index 0ac7a8b87..8af6ca464 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin-noui/index.plugin.js +++ b/packages/browser-sync-ui/test/fixtures/plugin-noui/index.plugin.js @@ -1,6 +1,6 @@ module.exports = { "plugin:name": "Test BS Plugin 2", - "plugin": function () { + plugin: function() { console.log("Sup From the test plugin"); } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/fixtures/plugin/index.plugin.js b/packages/browser-sync-ui/test/fixtures/plugin/index.plugin.js index c37f92e5e..20f08eda5 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin/index.plugin.js +++ b/packages/browser-sync-ui/test/fixtures/plugin/index.plugin.js @@ -2,12 +2,12 @@ const PLUGIN_NAME = "Test BS Plugin"; module.exports = { "plugin:name": PLUGIN_NAME, - "plugin": function (opts, bs) { + plugin: function(opts, bs) { var logger = bs.getLogger(PLUGIN_NAME); - bs.events.on("plugins:configure", function (data) { + bs.events.on("plugins:configure", function(data) { if (data.name === PLUGIN_NAME) { //console.log(data); } }); } -}; \ No newline at end of file +}; diff --git a/packages/browser-sync-ui/test/fixtures/plugin/ui/client.js b/packages/browser-sync-ui/test/fixtures/plugin/ui/client.js index 896158f23..426ed8864 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin/ui/client.js +++ b/packages/browser-sync-ui/test/fixtures/plugin/ui/client.js @@ -1,30 +1,29 @@ -(function (angular) { - +(function(angular) { const PLUGIN_NAME = "Test Plugin"; - angular - .module("BrowserSync") - .directive("testPlugin", function () { - return { - restrict: "E", - replace: true, - scope: { - "options": "=" - }, - templateUrl: "test.directive.html", - controller: ["$scope", "Socket", function ($scope, Socket) { + angular.module("BrowserSync").directive("testPlugin", function() { + return { + restrict: "E", + replace: true, + scope: { + options: "=" + }, + templateUrl: "test.directive.html", + controller: [ + "$scope", + "Socket", + function($scope, Socket) { var ctrl = this; - ctrl.removeRestriction = function (selector) { + ctrl.removeRestriction = function(selector) { Socket.uiEvent({ namespace: PLUGIN_NAME, event: "remove", data: selector }); }; - }], - controllerAs: "ctrl" - }; - }); - + } + ], + controllerAs: "ctrl" + }; + }); })(angular); - diff --git a/packages/browser-sync-ui/test/fixtures/plugin/ui/test.directive.html b/packages/browser-sync-ui/test/fixtures/plugin/ui/test.directive.html index c2e347e8a..d880378fc 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin/ui/test.directive.html +++ b/packages/browser-sync-ui/test/fixtures/plugin/ui/test.directive.html @@ -1,3 +1,3 @@

Test markup from Test Directive

-
\ No newline at end of file + diff --git a/packages/browser-sync-ui/test/fixtures/plugin/ui/test.html b/packages/browser-sync-ui/test/fixtures/plugin/ui/test.html index bad94e6e1..49b3121cb 100644 --- a/packages/browser-sync-ui/test/fixtures/plugin/ui/test.html +++ b/packages/browser-sync-ui/test/fixtures/plugin/ui/test.html @@ -1 +1 @@ - \ No newline at end of file + diff --git a/packages/browser-sync-ui/test/fixtures/scrolling.html b/packages/browser-sync-ui/test/fixtures/scrolling.html index a9e2c193b..07df28eda 100644 --- a/packages/browser-sync-ui/test/fixtures/scrolling.html +++ b/packages/browser-sync-ui/test/fixtures/scrolling.html @@ -1,213 +1,612 @@ - - - - - - -Homepage - -Content - -

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi architecto at blanditiis debitis delectus deleniti eos ex expedita, explicabo id incidunt officia officiis quaerat, reiciendis repudiandae sapiente soluta tenetur ut.

- -

Asperiores aspernatur aut autem deleniti, distinctio dolorem ducimus earum eos et eveniet ex laudantium maiores modi mollitia nesciunt nisi odit perspiciatis placeat quae quasi qui quo rerum sapiente suscipit voluptatibus.

- -

Animi aperiam debitis dolore doloribus eaque eveniet, fugit harum iusto molestiae nam nobis odit quas quibusdam repellendus, repudiandae temporibus unde? Atque eius eos eveniet facilis ipsum magnam maiores molestiae quia.

- -

Assumenda et ex nostrum officia repellendus, sapiente. Ad commodi consequatur culpa deleniti dolorum eaque est excepturi exercitationem facere harum ipsum libero, minima nemo neque non quae quas sapiente sed suscipit.

- -

Animi cum distinctio iure optio! Amet assumenda doloremque doloribus dolorum eius hic illum iusto magni nesciunt nobis praesentium quae quam, qui, quo sunt suscipit tempora tenetur vel veniam voluptas, voluptatibus.

- -

Deserunt dolore, explicabo illo labore maxime numquam ratione ullam voluptate. Adipisci aliquid asperiores aspernatur atque, aut consequatur doloremque enim eveniet fugiat magnam minima nam, non quod reiciendis, reprehenderit ullam voluptatem.

- -

A alias aliquid animi asperiores atque cupiditate doloribus, eaque fugit harum itaque sed veniam. Amet autem cum doloribus enim odit quasi, quod. Aliquam aspernatur error eum exercitationem magnam odio officia.

- -

Ex explicabo harum placeat unde. Animi aspernatur, at dignissimos dolor, doloremque eaque est et eveniet facere inventore labore magnam numquam odit officiis quam quas quidem repellat reprehenderit sapiente vero voluptates.

- -

Deserunt, enim obcaecati officia praesentium recusandae totam. Blanditiis consequatur dicta dolores est, nihil provident quaerat quam similique temporibus, vel velit voluptatem! Enim eos minima nostrum saepe sapiente, sed ullam unde.

- -

Animi consequuntur illum magnam minus nostrum perspiciatis sint velit? Aliquid dicta et illo in incidunt iure, laboriosam magni, minus quidem quos ratione saepe sed tempora veniam, voluptates? Id, nulla, voluptatibus?

- -

At eos laudantium mollitia placeat repudiandae tempora voluptatem. Alias, aliquid blanditiis culpa delectus deserunt dicta enim et fuga ipsam iure laborum nobis optio placeat possimus quo quod sequi soluta voluptates.

- -

A beatae delectus maiores nulla. Accusamus architecto, at blanditiis commodi cum, deleniti dignissimos doloribus ducimus fugit impedit nam neque officiis omnis, perspiciatis porro rem repellendus totam ullam vel veritatis? Natus?

- -

Aut cumque exercitationem fugiat harum hic natus, nisi ratione similique veniam voluptates? A, alias consequatur cupiditate enim et facere facilis fuga, fugiat, nesciunt nihil officia porro quibusdam quidem suscipit velit?

- -

Aspernatur atque blanditiis consectetur mollitia porro quidem sed sequi. Commodi esse ipsam possimus praesentium, quaerat quidem. Ad beatae doloribus eos ipsa magnam magni ratione tempore vel? Aut beatae ea rem.

- -

A ab aperiam at corporis dolor dolorum eaque error eveniet expedita harum impedit incidunt magni modi nam non nostrum nulla pariatur, quam quisquam suscipit tempora ullam voluptas. Dolores eos, quis.

- -

Aliquid cum minus praesentium quam quidem recusandae rem. Aperiam expedita facere iusto optio. Distinctio doloremque perspiciatis recusandae sed? A facilis libero minima rem veniam? Et id magnam nostrum? Qui, voluptate?

- -

Accusamus aspernatur assumenda commodi culpa cum dicta dolore dolores enim est illum, in ipsam iure iusto libero magnam nam nesciunt obcaecati porro provident reiciendis repellat sequi temporibus, tenetur veniam voluptate!

- -

Accusamus adipisci excepturi fugiat itaque maxime necessitatibus repudiandae tempore. Animi corporis debitis hic, illum impedit inventore laudantium maiores nihil optio placeat quas quia, quo reiciendis saepe tempora tempore totam ullam!

- -

Architecto consequatur dignissimos illo ipsam minus nam, provident quisquam quo repellendus soluta sunt vitae voluptates! Alias animi dignissimos doloremque dolorum eveniet hic obcaecati quaerat ratione tenetur. Animi distinctio quasi repellat.

- -

Ad animi cum debitis deleniti distinctio doloribus ducimus enim est eum id illum itaque iure magnam molestias mollitia nesciunt obcaecati optio, pariatur praesentium quam quibusdam quos reprehenderit sint tempore vero!

- -

Accusamus animi architecto deserunt error eum in minima, porro quod, repellat sit velit voluptate? Amet, assumenda commodi in maxime nesciunt nostrum recusandae rerum sint sunt voluptate? Accusamus dolores odit repellendus?

- -

Ab at eius enim facere maiores nemo officiis praesentium quia quidem sit vel vitae voluptatem, voluptates? Cumque eos iste iure labore nam omnis, quos reprehenderit? Commodi dicta expedita laudantium minus?

- -

Ab architecto, commodi consequuntur cum eaque eos exercitationem expedita id inventore laudantium magnam minima molestiae nemo non praesentium quae quia rem similique vero voluptatem. Ad error eveniet natus praesentium repellendus.

- -

A ad alias, animi at autem corporis distinctio dolore ea eaque eos et expedita explicabo facere facilis fuga, inventore ipsum minus nam natus nisi quos ratione, repellat sapiente sunt vero.

- -

Aspernatur autem, cum debitis enim fugit iure natus officia rem suscipit? Culpa explicabo hic libero possimus quis. Aperiam cupiditate dolor dolore harum incidunt, natus nostrum, possimus quia quis, ratione repellat.

- -

A animi at delectus doloribus ducimus harum, ipsa ipsum laudantium nemo nisi, non numquam odio placeat praesentium repellendus rerum voluptas voluptatibus? Eligendi illum incidunt laudantium optio quod repudiandae veritatis vero?

- -

Debitis exercitationem illum possimus quasi soluta veritatis! Architecto aut consequatur delectus, ea iure libero magnam necessitatibus recusandae reiciendis repellendus sit, temporibus totam veniam voluptatibus voluptatum! Commodi incidunt nostrum quasi vero.

- -

Asperiores aspernatur culpa dolore, eius iste molestiae mollitia neque nihil, non numquam odio possimus, quaerat quia quis quisquam repellat repudiandae similique veniam voluptatem voluptatum. Assumenda atque natus totam. Consequatur, facilis?

- -

Consectetur delectus esse exercitationem nihil nobis non quibusdam ratione rerum tempora vitae! Corporis debitis dolorem doloribus esse, iusto minima minus neque, nesciunt quasi quos sequi tempora ullam vel. Explicabo, hic!

- -

A adipisci aperiam dicta laborum recusandae? Asperiores consequuntur cumque debitis ea fuga libero maxime minus quasi recusandae voluptates. Adipisci aliquid deleniti dolor doloribus nesciunt nisi non optio provident quidem sint.

- -

Autem cum ea esse eveniet excepturi, fugit illum laborum minima molestias mollitia pariatur soluta tempora, veritatis? Alias, nostrum, velit. Dolores labore minima placeat quia? Eius quasi soluta tempora tempore vel?

- -

Debitis eligendi numquam officiis omnis quia? Dolor enim eveniet maiores maxime quae. A ab aliquam commodi, cupiditate dolore eum fuga inventore necessitatibus neque non obcaecati, quia recusandae rem ullam vel.

- -

Debitis earum modi molestias repellat sunt? Exercitationem explicabo incidunt modi, nihil officiis vel. Accusantium ad, adipisci alias, aliquam at consequuntur distinctio, dolorum harum iste magni maiores odio saepe similique vero.

- -

Asperiores assumenda commodi, consequatur consequuntur deleniti dignissimos eos exercitationem facilis fugiat ipsa libero minima molestiae mollitia nemo, nostrum perferendis perspiciatis quas quidem quis reiciendis sequi sint vel veniam vero vitae!

- -

A aliquid amet aut consequatur cupiditate distinctio doloremque doloribus ea, eius expedita id illo itaque labore molestiae nemo nihil quibusdam repellat rerum, saepe sint, ullam unde velit voluptate voluptates voluptatibus?

- -

Adipisci at commodi debitis dignissimos modi molestiae natus numquam, pariatur possimus provident quibusdam quo unde vero. Ab explicabo facilis labore maiores necessitatibus non quibusdam, quidem reprehenderit sint tempore temporibus, ullam!

- -

Adipisci asperiores at eos fugiat natus optio ullam unde. Asperiores dignissimos eius et eum eveniet maxime modi nisi repellat totam, ullam. Cum cupiditate ea minima porro! Culpa cumque quidem vero?

- -

A consequatur, debitis dolores eos ipsa iure natus non, provident ratione recusandae, repellat similique soluta ut! Atque explicabo fugit inventore iste iusto mollitia, officiis vero? Consequatur distinctio illum officiis repudiandae?

- -

Culpa, harum, perferendis? Accusantium blanditiis corporis culpa facere illum obcaecati odit reiciendis sint tempora totam. Distinctio dolores earum facere iste iure libero modi molestiae provident, quas quibusdam quod ullam velit.

- -

Accusamus aliquam aspernatur assumenda consequatur dolore doloremque eos et expedita itaque iusto neque nesciunt nobis non numquam, obcaecati odit officia quibusdam quo rem saepe sequi tenetur, ullam unde vitae, voluptatum!

- -

A, alias architecto assumenda debitis dicta, distinctio eligendi enim est ipsa iure, laboriosam libero magnam molestiae neque nisi numquam odit omnis praesentium provident quam quo recusandae rem repudiandae sapiente similique.

- -

Aperiam architecto beatae culpa cumque ea earum eligendi hic id iste itaque maiores minus molestiae nesciunt, nulla numquam officia placeat quod repellat sequi sint tempore veniam vero. Commodi dolorum, quo!

- -

Consequatur eius, fugit magni modi nam perferendis repudiandae sunt temporibus veniam! Consequuntur eaque et incidunt ipsum iure nulla provident quae. Delectus facere, facilis iste minima nihil pariatur quibusdam quidem tempora?

- -

Aliquid, amet animi culpa delectus dolores ex expedita facilis iure iusto laboriosam officia omnis optio perferendis porro praesentium reprehenderit similique ullam, voluptas! Amet assumenda facere impedit in ipsa quidem soluta.

- -

Aliquid, assumenda, quisquam? Consectetur doloremque illo quis quo tenetur vero! Eum, eveniet laborum molestias natus necessitatibus quam quibusdam voluptates! Architecto eveniet explicabo incidunt nihil nisi placeat saepe sit suscipit veritatis.

- -

Atque dolores harum minima nemo nesciunt nobis placeat quaerat sed suscipit voluptas. Ab accusamus, amet architecto consectetur cumque ea eius, eum excepturi illum impedit minus quae quasi, similique temporibus veniam?

- -

Animi at ducimus earum, explicabo facilis magnam optio quaerat quo soluta velit? A, blanditiis cum deleniti eaque eius ex fuga incidunt inventore magnam magni minus provident quisquam repellat totam veritatis.

- -

Animi consequatur fugit iste neque placeat possimus repellat, reprehenderit sint tempore velit! Aliquid autem culpa cum dolore, dolores earum esse fugit hic incidunt iusto perspiciatis rem tenetur vitae voluptatem voluptates?

- -

Ab aspernatur aut autem delectus deleniti earum error laboriosam minus modi molestias nihil, porro quibusdam reprehenderit voluptates, voluptatibus? Animi aspernatur consectetur dignissimos dolorum eius fugit laboriosam obcaecati odit rem veniam.

- -

Adipisci beatae ducimus ea laboriosam maxime molestiae mollitia repudiandae? Ad asperiores consequuntur cum deleniti eligendi in ipsum minima minus, nemo obcaecati odio omnis perferendis quos repellendus similique. Dolorem, laborum, nihil.

- -

Accusamus blanditiis consequatur dolores dolorum ea eligendi, excepturi exercitationem id laboriosam maiores necessitatibus nulla porro praesentium provident quia quis quo ratione sapiente sequi suscipit veniam vero voluptatum. Dicta, nam, nemo?

- -

Architecto blanditiis cum delectus, doloremque, est fuga libero nihil pariatur perspiciatis placeat possimus quibusdam vero! Aperiam consequuntur nihil veniam veritatis voluptate! Animi architecto at esse hic obcaecati quia rem repudiandae!

- -

Architecto dignissimos ex facere fugit, ipsam nisi non optio, repellendus similique temporibus totam unde. Ad aspernatur blanditiis nemo possimus. Ab alias animi est facilis incidunt molestias nam qui quo reprehenderit.

- -

Accusantium consectetur culpa, distinctio doloremque dolorum eaque et facere id illo modi nulla odio praesentium quam, qui quisquam quo sunt vel voluptas voluptate voluptatum! Commodi enim laudantium quo recusandae similique.

- -

Accusamus architecto dolorum labore. Eaque, ratione, repudiandae? Ab eaque error est, ex, illum inventore ipsum itaque iusto modi nemo neque odit omnis provident quis reprehenderit suscipit velit, voluptatibus! Quod, reiciendis.

- -

A accusamus ad adipisci alias asperiores autem doloremque eligendi est fugiat fugit illum ipsa laudantium magni maiores molestiae natus nulla, omnis quibusdam quo rem repellat repudiandae sed vel vitae voluptatibus.

- -

Ad adipisci amet consectetur dicta dolor eveniet facilis fugit id ipsum itaque, mollitia necessitatibus nobis non nostrum, quae qui repellat rerum, sed sit sunt tempora tempore temporibus vel veritatis vitae.

- -

Dolores ipsum laboriosam molestias pariatur quod temporibus unde! Harum, incidunt modi necessitatibus nobis rem ullam voluptatum! Blanditiis commodi, delectus dicta dolorum ea impedit libero nihil sit soluta tempore totam voluptate?

- -

Accusantium aperiam dicta dolor ea, eveniet ex facere ipsam labore libero magni necessitatibus officia perferendis totam vero voluptatum. Corporis culpa cupiditate iusto quia? Alias blanditiis debitis facilis perspiciatis ut veritatis.

- -

Debitis dicta eos excepturi, facere iste magni optio, quas quasi quod, quos rem repellat sit suscipit totam voluptatibus? Animi asperiores beatae cum exercitationem illum, labore magni nisi officia possimus voluptates?

- -

Accusantium asperiores expedita minus perspiciatis qui! Aliquid, ex, impedit? A ab amet assumenda atque autem consectetur, delectus eos illo natus repellendus sit, temporibus totam? Asperiores doloremque eveniet exercitationem laborum ullam.

- -

Ab aperiam atque autem blanditiis commodi consequatur cum deleniti dignissimos dolorum facere harum hic illo laborum neque nihil officia optio quibusdam reiciendis rem repellat, sed totam ullam vel veritatis voluptas?

- -

Deleniti dolor eligendi id minima. A consequuntur dignissimos id iure magni sapiente totam. Ad amet debitis error et facere iure, laudantium natus nobis perspiciatis possimus, qui tenetur unde veniam voluptatibus!

- -

Assumenda autem blanditiis error facilis impedit, modi nobis quam temporibus unde, ut vel velit! Ad consequuntur dicta distinctio facere illo in inventore libero, maiores natus necessitatibus odio officiis, repellendus veritatis?

- -

Et exercitationem, pariatur! Asperiores corporis eius est impedit ipsa ipsum iusto modi nobis, obcaecati perferendis quas quasi recusandae sapiente sunt, tenetur. Aliquid animi aperiam fugit, harum odio quibusdam quis rerum?

- -

A, adipisci deleniti eveniet iure iusto sapiente? Corporis eos harum nobis quas ut voluptatem! A, blanditiis consequuntur dolores dolorum eaque impedit necessitatibus nemo obcaecati quas sequi, suscipit veniam vero voluptatem.

- -

Animi commodi doloribus hic recusandae rerum. Assumenda dignissimos ea ipsum perspiciatis porro quas quo velit voluptatum. Harum magni maxime mollitia neque non, odio quibusdam saepe tempora tenetur voluptatum? Minima, quia!

- -

Ab, aspernatur autem blanditiis dolore, ducimus eos fugiat itaque laboriosam minus perspiciatis provident reprehenderit, sapiente tempore ut veniam. Aperiam corporis eius in quibusdam repellendus similique vel vero voluptatem voluptates voluptatibus.

- -

Alias culpa dicta eum fuga nobis officia placeat provident quasi reiciendis soluta? Aliquam amet aspernatur, consectetur ea, est eveniet exercitationem impedit iste, magni necessitatibus quod ratione sed unde ut veniam!

- -

Aut commodi consequatur eaque eos esse eum id illum in iste laboriosam, molestias nemo nobis optio praesentium quidem quis sed? Aliquid dolores eaque eligendi eos ex minus, pariatur quisquam voluptate.

- -

Aperiam, cumque delectus facilis pariatur perspiciatis quo sed tempore tenetur? Adipisci fuga fugit magni quibusdam ratione. Aliquam beatae cum eius enim, id, officiis quas quisquam reprehenderit repudiandae sapiente, temporibus totam?

- -

Ab animi aut consequuntur culpa doloremque dolorum ducimus eaque eum, fugiat ipsum, neque nihil, officia placeat quisquam quod repellat reprehenderit voluptas. Et impedit ipsa laboriosam laborum maiores, mollitia praesentium recusandae?

- -

Amet beatae ea explicabo facere fugiat in itaque molestiae nihil nobis, non odit perferendis possimus, repudiandae, rerum sunt velit veritatis vero voluptatum. Asperiores consequatur cupiditate, dolores esse est neque veniam.

- -

A accusamus aliquam blanditiis consectetur consequuntur distinctio dolores doloribus error est et exercitationem illum, inventore laudantium minima mollitia nulla odio pariatur quam quis quisquam reiciendis rem repellat repellendus rerum, voluptatem.

- -

Adipisci, aperiam commodi dolorem doloremque, eos et illo maxime, mollitia nisi perspiciatis provident sint. Dignissimos distinctio ducimus eligendi iste, maxime minima nemo neque, quos saepe similique, sunt tenetur velit voluptate!

- -

Corporis deleniti deserunt eum fugiat harum laboriosam maxime minus molestiae odit possimus praesentium quaerat, quibusdam quo ratione sint soluta voluptatum. A, id minus nisi quos repellat tempora ullam veritatis? Est!

- -

A, consequuntur quasi. Cumque deserunt doloremque facilis iusto libero, maiores minus non provident sunt veritatis? Distinctio dolorem dolores, eveniet in maiores molestias nostrum quibusdam rem sint, soluta ut veritatis vitae.

- -

Architecto atque consequatur dolor dolore est facere facilis impedit inventore molestiae nam nemo placeat possimus, provident quibusdam recusandae. Aspernatur consequatur corporis culpa deserunt dignissimos fugit impedit ipsa itaque quam recusandae.

- -

Dolorem necessitatibus, quam. Aliquid asperiores atque cum dolore, dolorem dolorum error est fugit ipsa ipsam iste itaque laudantium magnam maxime obcaecati officiis pariatur quo repellendus rerum sit velit veritatis voluptate?

- -

Aut consectetur cum dicta dolores ducimus eligendi, enim esse est incidunt inventore iure iusto labore laboriosam molestiae, mollitia necessitatibus nobis possimus praesentium quaerat recusandae repellendus saepe soluta tenetur ullam veritatis.

- -

Consequatur, porro, voluptate. Accusantium autem corporis culpa cum distinctio dolorum eligendi eos id illo incidunt inventore laborum laudantium molestias nemo odit omnis porro quis quo, recusandae sapiente sit voluptas voluptatem.

- -

Consectetur distinctio eos fugit ipsa, officiis pariatur quam? Expedita, mollitia, quos. Dignissimos dolores eius eos fuga nobis quam quidem unde. Accusantium consectetur consequuntur doloribus hic iusto rem suscipit, tempora vitae?

- -

Accusamus eligendi nostrum numquam quam tenetur. A aspernatur at, autem dolorum iste numquam placeat. A dolorum, non sit sunt velit veniam. Accusamus consequuntur cum numquam possimus veniam. Fugiat, quae, sed.

- -

Assumenda consequuntur dignissimos dolor dolorem fuga illum iure, iusto minus numquam, pariatur porro quaerat quas quis rem sed soluta voluptates? Earum eius eligendi et necessitatibus nemo, quas totam ut voluptas!

- -

Enim iusto quia quis. Blanditiis harum neque, quasi repudiandae rerum saepe? Consectetur maiores nemo quis rerum? Consequuntur eaque, quae repudiandae suscipit veniam voluptate? A asperiores dolore ea officia possimus ut.

- -

Alias animi autem corporis dicta dolor dolorem enim est explicabo facilis hic impedit, magnam molestiae necessitatibus nostrum provident quasi quia quos reiciendis saepe sapiente sed similique tenetur totam ut vero.

- -

Ab adipisci, consequuntur dolorum iste iure molestiae molestias perferendis rem reprehenderit repudiandae similique sit tempora totam. Amet dicta, doloremque eligendi harum illo incidunt libero non perferendis, quibusdam reiciendis similique voluptatum.

- -

Ab accusamus adipisci amet impedit nemo odit sint. Consectetur distinctio esse ex explicabo illo iure labore, maxime molestias nesciunt numquam obcaecati officia pariatur quibusdam ratione rerum sapiente similique velit voluptate!

- -

Accusamus aperiam aspernatur, at culpa cumque enim eum excepturi ipsam, iusto minima nobis numquam provident sit vel velit vitae voluptates. Ab architecto eveniet magnam, nobis nostrum quia quidem recusandae. Deleniti.

- -

Ad aperiam asperiores aspernatur dignissimos doloremque et, explicabo fugit ipsa iure magni minima mollitia nemo nulla numquam optio pariatur quae qui quidem quo sit velit vitae voluptas voluptatem. Dolorem, iusto.

- -

Alias aperiam aut deleniti dignissimos ea error esse explicabo, facere id iste labore magni modi molestiae nobis obcaecati odio, omnis quasi quis quos rem repellat similique suscipit tenetur voluptate voluptatum!

- -

Aliquid asperiores culpa cumque doloremque facere harum iure quia saepe ullam. Architecto at autem cupiditate, deserunt dolor dolores doloribus iure libero molestias officiis porro provident quam sapiente tempore temporibus vitae?

- -

Atque consequatur eligendi fugit, neque quidem quo quod vero. Amet aut eligendi eum excepturi harum illum iusto officia repudiandae? Alias consectetur dolore doloremque explicabo ipsam natus provident quam, quo vero?

- -

Adipisci, animi cumque esse, ex expedita impedit incidunt natus nobis obcaecati perspiciatis quod reiciendis repellendus rerum! Ea eius in laudantium maiores minus mollitia nulla porro, possimus quae quasi quo quod?

- -

Eum ex libero magnam magni minima officia provident quo rem rerum voluptatibus! Aut delectus dolore exercitationem obcaecati ullam voluptatibus? Consequuntur dolorum fuga impedit ipsum laboriosam, placeat quia recusandae rem voluptas.

- -

A at autem blanditiis corporis cupiditate ducimus ea earum eum ex facere fuga laboriosam, nesciunt nihil pariatur porro provident qui reprehenderit saepe similique sint sit tempore tenetur velit veniam voluptas!

- -

Ad aliquid deleniti dolor eveniet, iure reprehenderit similique? Ab atque beatae magnam non saepe? Culpa dicta, doloremque eos esse, et hic ipsam ipsum, laudantium minus qui quia quo vel voluptatibus.

- -

At dolore excepturi incidunt iste obcaecati odit quasi quia quo saepe? Aliquam asperiores dolore, eaque ex fuga fugiat ipsam iure iusto, minus omnis perspiciatis quibusdam quisquam temporibus tenetur voluptate. Est.

- -

Accusantium aliquid cumque dicta distinctio earum hic ipsa saepe voluptas? Aspernatur cum debitis dolore earum iure officiis porro rerum sequi veniam, voluptatibus. Ab aperiam dignissimos eaque impedit neque repudiandae voluptatem.

- -

Ab ad autem consequuntur cupiditate, dolorem earum eligendi est inventore maiores modi molestiae neque nulla omnis quos sed suscipit unde voluptates. Dolor enim explicabo minus nihil quaerat repellendus sed tempora!

- - \ No newline at end of file + + + + + + Homepage + + Content + +

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi architecto at blanditiis + debitis delectus deleniti eos ex expedita, explicabo id incidunt officia officiis + quaerat, reiciendis repudiandae sapiente soluta tenetur ut. +

+ +

+ Asperiores aspernatur aut autem deleniti, distinctio dolorem ducimus earum eos et + eveniet ex laudantium maiores modi mollitia nesciunt nisi odit perspiciatis placeat quae + quasi qui quo rerum sapiente suscipit voluptatibus. +

+ +

+ Animi aperiam debitis dolore doloribus eaque eveniet, fugit harum iusto molestiae nam + nobis odit quas quibusdam repellendus, repudiandae temporibus unde? Atque eius eos + eveniet facilis ipsum magnam maiores molestiae quia. +

+ +

+ Assumenda et ex nostrum officia repellendus, sapiente. Ad commodi consequatur culpa + deleniti dolorum eaque est excepturi exercitationem facere harum ipsum libero, minima + nemo neque non quae quas sapiente sed suscipit. +

+ +

+ Animi cum distinctio iure optio! Amet assumenda doloremque doloribus dolorum eius hic + illum iusto magni nesciunt nobis praesentium quae quam, qui, quo sunt suscipit tempora + tenetur vel veniam voluptas, voluptatibus. +

+ +

+ Deserunt dolore, explicabo illo labore maxime numquam ratione ullam voluptate. Adipisci + aliquid asperiores aspernatur atque, aut consequatur doloremque enim eveniet fugiat + magnam minima nam, non quod reiciendis, reprehenderit ullam voluptatem. +

+ +

+ A alias aliquid animi asperiores atque cupiditate doloribus, eaque fugit harum itaque + sed veniam. Amet autem cum doloribus enim odit quasi, quod. Aliquam aspernatur error eum + exercitationem magnam odio officia. +

+ +

+ Ex explicabo harum placeat unde. Animi aspernatur, at dignissimos dolor, doloremque + eaque est et eveniet facere inventore labore magnam numquam odit officiis quam quas + quidem repellat reprehenderit sapiente vero voluptates. +

+ +

+ Deserunt, enim obcaecati officia praesentium recusandae totam. Blanditiis consequatur + dicta dolores est, nihil provident quaerat quam similique temporibus, vel velit + voluptatem! Enim eos minima nostrum saepe sapiente, sed ullam unde. +

+ +

+ Animi consequuntur illum magnam minus nostrum perspiciatis sint velit? Aliquid dicta et + illo in incidunt iure, laboriosam magni, minus quidem quos ratione saepe sed tempora + veniam, voluptates? Id, nulla, voluptatibus? +

+ +

+ At eos laudantium mollitia placeat repudiandae tempora voluptatem. Alias, aliquid + blanditiis culpa delectus deserunt dicta enim et fuga ipsam iure laborum nobis optio + placeat possimus quo quod sequi soluta voluptates. +

+ +

+ A beatae delectus maiores nulla. Accusamus architecto, at blanditiis commodi cum, + deleniti dignissimos doloribus ducimus fugit impedit nam neque officiis omnis, + perspiciatis porro rem repellendus totam ullam vel veritatis? Natus? +

+ +

+ Aut cumque exercitationem fugiat harum hic natus, nisi ratione similique veniam + voluptates? A, alias consequatur cupiditate enim et facere facilis fuga, fugiat, + nesciunt nihil officia porro quibusdam quidem suscipit velit? +

+ +

+ Aspernatur atque blanditiis consectetur mollitia porro quidem sed sequi. Commodi esse + ipsam possimus praesentium, quaerat quidem. Ad beatae doloribus eos ipsa magnam magni + ratione tempore vel? Aut beatae ea rem. +

+ +

+ A ab aperiam at corporis dolor dolorum eaque error eveniet expedita harum impedit + incidunt magni modi nam non nostrum nulla pariatur, quam quisquam suscipit tempora ullam + voluptas. Dolores eos, quis. +

+ +

+ Aliquid cum minus praesentium quam quidem recusandae rem. Aperiam expedita facere iusto + optio. Distinctio doloremque perspiciatis recusandae sed? A facilis libero minima rem + veniam? Et id magnam nostrum? Qui, voluptate? +

+ +

+ Accusamus aspernatur assumenda commodi culpa cum dicta dolore dolores enim est illum, in + ipsam iure iusto libero magnam nam nesciunt obcaecati porro provident reiciendis + repellat sequi temporibus, tenetur veniam voluptate! +

+ +

+ Accusamus adipisci excepturi fugiat itaque maxime necessitatibus repudiandae tempore. + Animi corporis debitis hic, illum impedit inventore laudantium maiores nihil optio + placeat quas quia, quo reiciendis saepe tempora tempore totam ullam! +

+ +

+ Architecto consequatur dignissimos illo ipsam minus nam, provident quisquam quo + repellendus soluta sunt vitae voluptates! Alias animi dignissimos doloremque dolorum + eveniet hic obcaecati quaerat ratione tenetur. Animi distinctio quasi repellat. +

+ +

+ Ad animi cum debitis deleniti distinctio doloribus ducimus enim est eum id illum itaque + iure magnam molestias mollitia nesciunt obcaecati optio, pariatur praesentium quam + quibusdam quos reprehenderit sint tempore vero! +

+ +

+ Accusamus animi architecto deserunt error eum in minima, porro quod, repellat sit velit + voluptate? Amet, assumenda commodi in maxime nesciunt nostrum recusandae rerum sint sunt + voluptate? Accusamus dolores odit repellendus? +

+ +

+ Ab at eius enim facere maiores nemo officiis praesentium quia quidem sit vel vitae + voluptatem, voluptates? Cumque eos iste iure labore nam omnis, quos reprehenderit? + Commodi dicta expedita laudantium minus? +

+ +

+ Ab architecto, commodi consequuntur cum eaque eos exercitationem expedita id inventore + laudantium magnam minima molestiae nemo non praesentium quae quia rem similique vero + voluptatem. Ad error eveniet natus praesentium repellendus. +

+ +

+ A ad alias, animi at autem corporis distinctio dolore ea eaque eos et expedita explicabo + facere facilis fuga, inventore ipsum minus nam natus nisi quos ratione, repellat + sapiente sunt vero. +

+ +

+ Aspernatur autem, cum debitis enim fugit iure natus officia rem suscipit? Culpa + explicabo hic libero possimus quis. Aperiam cupiditate dolor dolore harum incidunt, + natus nostrum, possimus quia quis, ratione repellat. +

+ +

+ A animi at delectus doloribus ducimus harum, ipsa ipsum laudantium nemo nisi, non + numquam odio placeat praesentium repellendus rerum voluptas voluptatibus? Eligendi illum + incidunt laudantium optio quod repudiandae veritatis vero? +

+ +

+ Debitis exercitationem illum possimus quasi soluta veritatis! Architecto aut consequatur + delectus, ea iure libero magnam necessitatibus recusandae reiciendis repellendus sit, + temporibus totam veniam voluptatibus voluptatum! Commodi incidunt nostrum quasi vero. +

+ +

+ Asperiores aspernatur culpa dolore, eius iste molestiae mollitia neque nihil, non + numquam odio possimus, quaerat quia quis quisquam repellat repudiandae similique veniam + voluptatem voluptatum. Assumenda atque natus totam. Consequatur, facilis? +

+ +

+ Consectetur delectus esse exercitationem nihil nobis non quibusdam ratione rerum tempora + vitae! Corporis debitis dolorem doloribus esse, iusto minima minus neque, nesciunt quasi + quos sequi tempora ullam vel. Explicabo, hic! +

+ +

+ A adipisci aperiam dicta laborum recusandae? Asperiores consequuntur cumque debitis ea + fuga libero maxime minus quasi recusandae voluptates. Adipisci aliquid deleniti dolor + doloribus nesciunt nisi non optio provident quidem sint. +

+ +

+ Autem cum ea esse eveniet excepturi, fugit illum laborum minima molestias mollitia + pariatur soluta tempora, veritatis? Alias, nostrum, velit. Dolores labore minima placeat + quia? Eius quasi soluta tempora tempore vel? +

+ +

+ Debitis eligendi numquam officiis omnis quia? Dolor enim eveniet maiores maxime quae. A + ab aliquam commodi, cupiditate dolore eum fuga inventore necessitatibus neque non + obcaecati, quia recusandae rem ullam vel. +

+ +

+ Debitis earum modi molestias repellat sunt? Exercitationem explicabo incidunt modi, + nihil officiis vel. Accusantium ad, adipisci alias, aliquam at consequuntur distinctio, + dolorum harum iste magni maiores odio saepe similique vero. +

+ +

+ Asperiores assumenda commodi, consequatur consequuntur deleniti dignissimos eos + exercitationem facilis fugiat ipsa libero minima molestiae mollitia nemo, nostrum + perferendis perspiciatis quas quidem quis reiciendis sequi sint vel veniam vero vitae! +

+ +

+ A aliquid amet aut consequatur cupiditate distinctio doloremque doloribus ea, eius + expedita id illo itaque labore molestiae nemo nihil quibusdam repellat rerum, saepe + sint, ullam unde velit voluptate voluptates voluptatibus? +

+ +

+ Adipisci at commodi debitis dignissimos modi molestiae natus numquam, pariatur possimus + provident quibusdam quo unde vero. Ab explicabo facilis labore maiores necessitatibus + non quibusdam, quidem reprehenderit sint tempore temporibus, ullam! +

+ +

+ Adipisci asperiores at eos fugiat natus optio ullam unde. Asperiores dignissimos eius et + eum eveniet maxime modi nisi repellat totam, ullam. Cum cupiditate ea minima porro! + Culpa cumque quidem vero? +

+ +

+ A consequatur, debitis dolores eos ipsa iure natus non, provident ratione recusandae, + repellat similique soluta ut! Atque explicabo fugit inventore iste iusto mollitia, + officiis vero? Consequatur distinctio illum officiis repudiandae? +

+ +

+ Culpa, harum, perferendis? Accusantium blanditiis corporis culpa facere illum obcaecati + odit reiciendis sint tempora totam. Distinctio dolores earum facere iste iure libero + modi molestiae provident, quas quibusdam quod ullam velit. +

+ +

+ Accusamus aliquam aspernatur assumenda consequatur dolore doloremque eos et expedita + itaque iusto neque nesciunt nobis non numquam, obcaecati odit officia quibusdam quo rem + saepe sequi tenetur, ullam unde vitae, voluptatum! +

+ +

+ A, alias architecto assumenda debitis dicta, distinctio eligendi enim est ipsa iure, + laboriosam libero magnam molestiae neque nisi numquam odit omnis praesentium provident + quam quo recusandae rem repudiandae sapiente similique. +

+ +

+ Aperiam architecto beatae culpa cumque ea earum eligendi hic id iste itaque maiores + minus molestiae nesciunt, nulla numquam officia placeat quod repellat sequi sint tempore + veniam vero. Commodi dolorum, quo! +

+ +

+ Consequatur eius, fugit magni modi nam perferendis repudiandae sunt temporibus veniam! + Consequuntur eaque et incidunt ipsum iure nulla provident quae. Delectus facere, facilis + iste minima nihil pariatur quibusdam quidem tempora? +

+ +

+ Aliquid, amet animi culpa delectus dolores ex expedita facilis iure iusto laboriosam + officia omnis optio perferendis porro praesentium reprehenderit similique ullam, + voluptas! Amet assumenda facere impedit in ipsa quidem soluta. +

+ +

+ Aliquid, assumenda, quisquam? Consectetur doloremque illo quis quo tenetur vero! Eum, + eveniet laborum molestias natus necessitatibus quam quibusdam voluptates! Architecto + eveniet explicabo incidunt nihil nisi placeat saepe sit suscipit veritatis. +

+ +

+ Atque dolores harum minima nemo nesciunt nobis placeat quaerat sed suscipit voluptas. Ab + accusamus, amet architecto consectetur cumque ea eius, eum excepturi illum impedit minus + quae quasi, similique temporibus veniam? +

+ +

+ Animi at ducimus earum, explicabo facilis magnam optio quaerat quo soluta velit? A, + blanditiis cum deleniti eaque eius ex fuga incidunt inventore magnam magni minus + provident quisquam repellat totam veritatis. +

+ +

+ Animi consequatur fugit iste neque placeat possimus repellat, reprehenderit sint tempore + velit! Aliquid autem culpa cum dolore, dolores earum esse fugit hic incidunt iusto + perspiciatis rem tenetur vitae voluptatem voluptates? +

+ +

+ Ab aspernatur aut autem delectus deleniti earum error laboriosam minus modi molestias + nihil, porro quibusdam reprehenderit voluptates, voluptatibus? Animi aspernatur + consectetur dignissimos dolorum eius fugit laboriosam obcaecati odit rem veniam. +

+ +

+ Adipisci beatae ducimus ea laboriosam maxime molestiae mollitia repudiandae? Ad + asperiores consequuntur cum deleniti eligendi in ipsum minima minus, nemo obcaecati odio + omnis perferendis quos repellendus similique. Dolorem, laborum, nihil. +

+ +

+ Accusamus blanditiis consequatur dolores dolorum ea eligendi, excepturi exercitationem + id laboriosam maiores necessitatibus nulla porro praesentium provident quia quis quo + ratione sapiente sequi suscipit veniam vero voluptatum. Dicta, nam, nemo? +

+ +

+ Architecto blanditiis cum delectus, doloremque, est fuga libero nihil pariatur + perspiciatis placeat possimus quibusdam vero! Aperiam consequuntur nihil veniam + veritatis voluptate! Animi architecto at esse hic obcaecati quia rem repudiandae! +

+ +

+ Architecto dignissimos ex facere fugit, ipsam nisi non optio, repellendus similique + temporibus totam unde. Ad aspernatur blanditiis nemo possimus. Ab alias animi est + facilis incidunt molestias nam qui quo reprehenderit. +

+ +

+ Accusantium consectetur culpa, distinctio doloremque dolorum eaque et facere id illo + modi nulla odio praesentium quam, qui quisquam quo sunt vel voluptas voluptate + voluptatum! Commodi enim laudantium quo recusandae similique. +

+ +

+ Accusamus architecto dolorum labore. Eaque, ratione, repudiandae? Ab eaque error est, + ex, illum inventore ipsum itaque iusto modi nemo neque odit omnis provident quis + reprehenderit suscipit velit, voluptatibus! Quod, reiciendis. +

+ +

+ A accusamus ad adipisci alias asperiores autem doloremque eligendi est fugiat fugit + illum ipsa laudantium magni maiores molestiae natus nulla, omnis quibusdam quo rem + repellat repudiandae sed vel vitae voluptatibus. +

+ +

+ Ad adipisci amet consectetur dicta dolor eveniet facilis fugit id ipsum itaque, mollitia + necessitatibus nobis non nostrum, quae qui repellat rerum, sed sit sunt tempora tempore + temporibus vel veritatis vitae. +

+ +

+ Dolores ipsum laboriosam molestias pariatur quod temporibus unde! Harum, incidunt modi + necessitatibus nobis rem ullam voluptatum! Blanditiis commodi, delectus dicta dolorum ea + impedit libero nihil sit soluta tempore totam voluptate? +

+ +

+ Accusantium aperiam dicta dolor ea, eveniet ex facere ipsam labore libero magni + necessitatibus officia perferendis totam vero voluptatum. Corporis culpa cupiditate + iusto quia? Alias blanditiis debitis facilis perspiciatis ut veritatis. +

+ +

+ Debitis dicta eos excepturi, facere iste magni optio, quas quasi quod, quos rem repellat + sit suscipit totam voluptatibus? Animi asperiores beatae cum exercitationem illum, + labore magni nisi officia possimus voluptates? +

+ +

+ Accusantium asperiores expedita minus perspiciatis qui! Aliquid, ex, impedit? A ab amet + assumenda atque autem consectetur, delectus eos illo natus repellendus sit, temporibus + totam? Asperiores doloremque eveniet exercitationem laborum ullam. +

+ +

+ Ab aperiam atque autem blanditiis commodi consequatur cum deleniti dignissimos dolorum + facere harum hic illo laborum neque nihil officia optio quibusdam reiciendis rem + repellat, sed totam ullam vel veritatis voluptas? +

+ +

+ Deleniti dolor eligendi id minima. A consequuntur dignissimos id iure magni sapiente + totam. Ad amet debitis error et facere iure, laudantium natus nobis perspiciatis + possimus, qui tenetur unde veniam voluptatibus! +

+ +

+ Assumenda autem blanditiis error facilis impedit, modi nobis quam temporibus unde, ut + vel velit! Ad consequuntur dicta distinctio facere illo in inventore libero, maiores + natus necessitatibus odio officiis, repellendus veritatis? +

+ +

+ Et exercitationem, pariatur! Asperiores corporis eius est impedit ipsa ipsum iusto modi + nobis, obcaecati perferendis quas quasi recusandae sapiente sunt, tenetur. Aliquid animi + aperiam fugit, harum odio quibusdam quis rerum? +

+ +

+ A, adipisci deleniti eveniet iure iusto sapiente? Corporis eos harum nobis quas ut + voluptatem! A, blanditiis consequuntur dolores dolorum eaque impedit necessitatibus nemo + obcaecati quas sequi, suscipit veniam vero voluptatem. +

+ +

+ Animi commodi doloribus hic recusandae rerum. Assumenda dignissimos ea ipsum + perspiciatis porro quas quo velit voluptatum. Harum magni maxime mollitia neque non, + odio quibusdam saepe tempora tenetur voluptatum? Minima, quia! +

+ +

+ Ab, aspernatur autem blanditiis dolore, ducimus eos fugiat itaque laboriosam minus + perspiciatis provident reprehenderit, sapiente tempore ut veniam. Aperiam corporis eius + in quibusdam repellendus similique vel vero voluptatem voluptates voluptatibus. +

+ +

+ Alias culpa dicta eum fuga nobis officia placeat provident quasi reiciendis soluta? + Aliquam amet aspernatur, consectetur ea, est eveniet exercitationem impedit iste, magni + necessitatibus quod ratione sed unde ut veniam! +

+ +

+ Aut commodi consequatur eaque eos esse eum id illum in iste laboriosam, molestias nemo + nobis optio praesentium quidem quis sed? Aliquid dolores eaque eligendi eos ex minus, + pariatur quisquam voluptate. +

+ +

+ Aperiam, cumque delectus facilis pariatur perspiciatis quo sed tempore tenetur? Adipisci + fuga fugit magni quibusdam ratione. Aliquam beatae cum eius enim, id, officiis quas + quisquam reprehenderit repudiandae sapiente, temporibus totam? +

+ +

+ Ab animi aut consequuntur culpa doloremque dolorum ducimus eaque eum, fugiat ipsum, + neque nihil, officia placeat quisquam quod repellat reprehenderit voluptas. Et impedit + ipsa laboriosam laborum maiores, mollitia praesentium recusandae? +

+ +

+ Amet beatae ea explicabo facere fugiat in itaque molestiae nihil nobis, non odit + perferendis possimus, repudiandae, rerum sunt velit veritatis vero voluptatum. + Asperiores consequatur cupiditate, dolores esse est neque veniam. +

+ +

+ A accusamus aliquam blanditiis consectetur consequuntur distinctio dolores doloribus + error est et exercitationem illum, inventore laudantium minima mollitia nulla odio + pariatur quam quis quisquam reiciendis rem repellat repellendus rerum, voluptatem. +

+ +

+ Adipisci, aperiam commodi dolorem doloremque, eos et illo maxime, mollitia nisi + perspiciatis provident sint. Dignissimos distinctio ducimus eligendi iste, maxime minima + nemo neque, quos saepe similique, sunt tenetur velit voluptate! +

+ +

+ Corporis deleniti deserunt eum fugiat harum laboriosam maxime minus molestiae odit + possimus praesentium quaerat, quibusdam quo ratione sint soluta voluptatum. A, id minus + nisi quos repellat tempora ullam veritatis? Est! +

+ +

+ A, consequuntur quasi. Cumque deserunt doloremque facilis iusto libero, maiores minus + non provident sunt veritatis? Distinctio dolorem dolores, eveniet in maiores molestias + nostrum quibusdam rem sint, soluta ut veritatis vitae. +

+ +

+ Architecto atque consequatur dolor dolore est facere facilis impedit inventore molestiae + nam nemo placeat possimus, provident quibusdam recusandae. Aspernatur consequatur + corporis culpa deserunt dignissimos fugit impedit ipsa itaque quam recusandae. +

+ +

+ Dolorem necessitatibus, quam. Aliquid asperiores atque cum dolore, dolorem dolorum error + est fugit ipsa ipsam iste itaque laudantium magnam maxime obcaecati officiis pariatur + quo repellendus rerum sit velit veritatis voluptate? +

+ +

+ Aut consectetur cum dicta dolores ducimus eligendi, enim esse est incidunt inventore + iure iusto labore laboriosam molestiae, mollitia necessitatibus nobis possimus + praesentium quaerat recusandae repellendus saepe soluta tenetur ullam veritatis. +

+ +

+ Consequatur, porro, voluptate. Accusantium autem corporis culpa cum distinctio dolorum + eligendi eos id illo incidunt inventore laborum laudantium molestias nemo odit omnis + porro quis quo, recusandae sapiente sit voluptas voluptatem. +

+ +

+ Consectetur distinctio eos fugit ipsa, officiis pariatur quam? Expedita, mollitia, quos. + Dignissimos dolores eius eos fuga nobis quam quidem unde. Accusantium consectetur + consequuntur doloribus hic iusto rem suscipit, tempora vitae? +

+ +

+ Accusamus eligendi nostrum numquam quam tenetur. A aspernatur at, autem dolorum iste + numquam placeat. A dolorum, non sit sunt velit veniam. Accusamus consequuntur cum + numquam possimus veniam. Fugiat, quae, sed. +

+ +

+ Assumenda consequuntur dignissimos dolor dolorem fuga illum iure, iusto minus numquam, + pariatur porro quaerat quas quis rem sed soluta voluptates? Earum eius eligendi et + necessitatibus nemo, quas totam ut voluptas! +

+ +

+ Enim iusto quia quis. Blanditiis harum neque, quasi repudiandae rerum saepe? Consectetur + maiores nemo quis rerum? Consequuntur eaque, quae repudiandae suscipit veniam voluptate? + A asperiores dolore ea officia possimus ut. +

+ +

+ Alias animi autem corporis dicta dolor dolorem enim est explicabo facilis hic impedit, + magnam molestiae necessitatibus nostrum provident quasi quia quos reiciendis saepe + sapiente sed similique tenetur totam ut vero. +

+ +

+ Ab adipisci, consequuntur dolorum iste iure molestiae molestias perferendis rem + reprehenderit repudiandae similique sit tempora totam. Amet dicta, doloremque eligendi + harum illo incidunt libero non perferendis, quibusdam reiciendis similique voluptatum. +

+ +

+ Ab accusamus adipisci amet impedit nemo odit sint. Consectetur distinctio esse ex + explicabo illo iure labore, maxime molestias nesciunt numquam obcaecati officia pariatur + quibusdam ratione rerum sapiente similique velit voluptate! +

+ +

+ Accusamus aperiam aspernatur, at culpa cumque enim eum excepturi ipsam, iusto minima + nobis numquam provident sit vel velit vitae voluptates. Ab architecto eveniet magnam, + nobis nostrum quia quidem recusandae. Deleniti. +

+ +

+ Ad aperiam asperiores aspernatur dignissimos doloremque et, explicabo fugit ipsa iure + magni minima mollitia nemo nulla numquam optio pariatur quae qui quidem quo sit velit + vitae voluptas voluptatem. Dolorem, iusto. +

+ +

+ Alias aperiam aut deleniti dignissimos ea error esse explicabo, facere id iste labore + magni modi molestiae nobis obcaecati odio, omnis quasi quis quos rem repellat similique + suscipit tenetur voluptate voluptatum! +

+ +

+ Aliquid asperiores culpa cumque doloremque facere harum iure quia saepe ullam. + Architecto at autem cupiditate, deserunt dolor dolores doloribus iure libero molestias + officiis porro provident quam sapiente tempore temporibus vitae? +

+ +

+ Atque consequatur eligendi fugit, neque quidem quo quod vero. Amet aut eligendi eum + excepturi harum illum iusto officia repudiandae? Alias consectetur dolore doloremque + explicabo ipsam natus provident quam, quo vero? +

+ +

+ Adipisci, animi cumque esse, ex expedita impedit incidunt natus nobis obcaecati + perspiciatis quod reiciendis repellendus rerum! Ea eius in laudantium maiores minus + mollitia nulla porro, possimus quae quasi quo quod? +

+ +

+ Eum ex libero magnam magni minima officia provident quo rem rerum voluptatibus! Aut + delectus dolore exercitationem obcaecati ullam voluptatibus? Consequuntur dolorum fuga + impedit ipsum laboriosam, placeat quia recusandae rem voluptas. +

+ +

+ A at autem blanditiis corporis cupiditate ducimus ea earum eum ex facere fuga + laboriosam, nesciunt nihil pariatur porro provident qui reprehenderit saepe similique + sint sit tempore tenetur velit veniam voluptas! +

+ +

+ Ad aliquid deleniti dolor eveniet, iure reprehenderit similique? Ab atque beatae magnam + non saepe? Culpa dicta, doloremque eos esse, et hic ipsam ipsum, laudantium minus qui + quia quo vel voluptatibus. +

+ +

+ At dolore excepturi incidunt iste obcaecati odit quasi quia quo saepe? Aliquam + asperiores dolore, eaque ex fuga fugiat ipsam iure iusto, minus omnis perspiciatis + quibusdam quisquam temporibus tenetur voluptate. Est. +

+ +

+ Accusantium aliquid cumque dicta distinctio earum hic ipsa saepe voluptas? Aspernatur + cum debitis dolore earum iure officiis porro rerum sequi veniam, voluptatibus. Ab + aperiam dignissimos eaque impedit neque repudiandae voluptatem. +

+ +

+ Ab ad autem consequuntur cupiditate, dolorem earum eligendi est inventore maiores modi + molestiae neque nulla omnis quos sed suscipit unde voluptates. Dolor enim explicabo + minus nihil quaerat repellendus sed tempora! +

+ + diff --git a/packages/browser-sync-ui/test/server/history/history.js b/packages/browser-sync-ui/test/server/history/history.js index 4b9cb4947..d43ef7f40 100644 --- a/packages/browser-sync-ui/test/server/history/history.js +++ b/packages/browser-sync-ui/test/server/history/history.js @@ -1,33 +1,33 @@ /*jshint -W079 */ var Immutable = require("immutable"); -var history = require("../../../lib/plugins/history/history"); -var assert = require("chai").assert; -var url = require("url"); +var history = require("../../../lib/plugins/history/history"); +var assert = require("chai").assert; +var url = require("url"); -describe("Saving history", function () { - it("Adding a new path", function () { +describe("Saving history", function() { + it("Adding a new path", function() { var imm = Immutable.OrderedSet(); var out = history.addPath(imm, url.parse("http://localhost/shane"), "server"); assert.deepEqual(out.toJS(), ["/shane"]); }); - it("Adding a dupe path", function () { + it("Adding a dupe path", function() { var imm = Immutable.OrderedSet(); var out = history.addPath(imm, url.parse("http://localhost/"), "server"); assert.deepEqual(out.toJS(), ["/"]); }); - it("Adding a path in snippet mode", function () { + it("Adding a path in snippet mode", function() { var imm = Immutable.OrderedSet(); var out = history.addPath(imm, url.parse("http://localhost:65323/about.html"), "snippet"); assert.deepEqual(out.toJS(), ["http://localhost:65323/about.html"]); }); - it("Can remove a path", function () { + it("Can remove a path", function() { var imm = Immutable.OrderedSet(["/shane"]); var out = history.removePath(imm, "http://localhost/"); assert.deepEqual(out.toJS(), ["/shane"]); }); - it("Can compare two maps", function () { - var map1 = Immutable.Map({a:1, b:1, c:"1", d: Immutable.Map({hello:"shane"})}); - var map2 = Immutable.Map({a:1, b:1, c:"1", d: Immutable.Map({hello:"shane"})}); + it("Can compare two maps", function() { + var map1 = Immutable.Map({ a: 1, b: 1, c: "1", d: Immutable.Map({ hello: "shane" }) }); + var map2 = Immutable.Map({ a: 1, b: 1, c: "1", d: Immutable.Map({ hello: "shane" }) }); assert.isTrue(Immutable.is(map1, map2)); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/server/init.js b/packages/browser-sync-ui/test/server/init.js index 89ced53d5..0d351dea3 100644 --- a/packages/browser-sync-ui/test/server/init.js +++ b/packages/browser-sync-ui/test/server/init.js @@ -1,15 +1,13 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var cp = require("../../index"); -var assert = require("chai").assert; -var request = require("supertest"); +var cp = require("../../index"); +var assert = require("chai").assert; +var request = require("supertest"); describe("Can be started with browserSync instance", function() { - var bsInstance, ui; - before(function (done) { - + before(function(done) { browserSync.use(cp); var config = { @@ -17,13 +15,13 @@ describe("Can be started with browserSync instance", function() { logLevel: "silent", open: false }; - bsInstance = browserSync(config, function (err, bs) { + bsInstance = browserSync(config, function(err, bs) { ui = bs.ui; done(); }).instance; }); - after(function () { + after(function() { bsInstance.cleanup(); }); @@ -34,7 +32,7 @@ describe("Can be started with browserSync instance", function() { request(ui.server) .get("/") .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.include(res.text, "Browsersync"); done(); }); @@ -45,4 +43,3 @@ describe("Can be started with browserSync instance", function() { done(); }); }); - diff --git a/packages/browser-sync-ui/test/server/plugins.js b/packages/browser-sync-ui/test/server/plugins.js index f90fe6a3e..ef45d348f 100644 --- a/packages/browser-sync-ui/test/server/plugins.js +++ b/packages/browser-sync-ui/test/server/plugins.js @@ -1,85 +1,89 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var ui = require("../../index"); -var assert = require("chai").assert; -var path = require("path"); -var isMap = require("immutable").Map.isMap; +var ui = require("../../index"); +var assert = require("chai").assert; +var path = require("path"); +var isMap = require("immutable").Map.isMap; describe("Can resolve Browsersync plugins", function() { - it("can return plugins with added meta data", function(done) { - browserSync.reset(); browserSync.use(ui); var plugin = { module: path.resolve(__dirname, "../", "fixtures/plugin") }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin] - }, function (err, bs) { - - assert.equal(bs.ui.bsPlugins.size, 1); - assert.isTrue(isMap(bs.ui.bsPlugins.get(0).get("pkg"))); - var clientJs = bs.ui.bsPlugins.get(0).get("client:js").toJS(); - assert.equal(Object.keys(clientJs).length, 1); - var first = clientJs[Object.keys(clientJs)[0]]; - assert.include(first, "const PLUGIN_NAME = \"Test Plugin\";"); - bs.cleanup(); - done(); - }); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin] + }, + function(err, bs) { + assert.equal(bs.ui.bsPlugins.size, 1); + assert.isTrue(isMap(bs.ui.bsPlugins.get(0).get("pkg"))); + var clientJs = bs.ui.bsPlugins + .get(0) + .get("client:js") + .toJS(); + assert.equal(Object.keys(clientJs).length, 1); + var first = clientJs[Object.keys(clientJs)[0]]; + assert.include(first, 'const PLUGIN_NAME = "Test Plugin";'); + bs.cleanup(); + done(); + } + ); }); it("can return plugins from non-module", function(done) { - browserSync.reset(); browserSync.use(ui); var plugin = { module: { - plugin: function () { - }, + plugin: function() {}, "plugin:name": "Test inline plugin" } }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin] - }, function (err, bs) { - - assert.equal(bs.ui.bsPlugins.size, 1); - assert.equal(bs.ui.bsPlugins.get(0).get("name"), "Test inline plugin"); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin] + }, + function(err, bs) { + assert.equal(bs.ui.bsPlugins.size, 1); + assert.equal(bs.ui.bsPlugins.get(0).get("name"), "Test inline plugin"); - bs.cleanup(); - done(); - }); + bs.cleanup(); + done(); + } + ); }); it("Does not blow up when Plugin does not contain any UI", function(done) { - browserSync.reset(); browserSync.use(ui); var plugin = { module: path.resolve(__dirname, "../", "fixtures/plugin-noui") }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin] - }, function (err, bs) { - assert.equal(bs.ui.bsPlugins.size, 1); - assert.isTrue(require("immutable").Map.isMap(bs.ui.bsPlugins.get(0).get("pkg"))); - bs.cleanup(); - done(); - }); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin] + }, + function(err, bs) { + assert.equal(bs.ui.bsPlugins.size, 1); + assert.isTrue(require("immutable").Map.isMap(bs.ui.bsPlugins.get(0).get("pkg"))); + bs.cleanup(); + done(); + } + ); }); it("Does not blow up when mixed plugins used together", function(done) { - browserSync.reset(); browserSync.use(ui); var plugin1 = { @@ -88,19 +92,24 @@ describe("Can resolve Browsersync plugins", function() { var plugin2 = { module: path.resolve(__dirname, "../", "fixtures/plugin-noui") }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin1, plugin2] - }, function (err, bs) { - assert.equal(bs.ui.bsPlugins.size, 2); - assert.isTrue(require("immutable").Map.isMap(bs.ui.bsPlugins.get(0).get("pkg"))); - var clientJs = bs.ui.bsPlugins.get(0).get("client:js").toJS(); - assert.equal(Object.keys(clientJs).length, 1); - bs.cleanup(); - done(); - }); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin1, plugin2] + }, + function(err, bs) { + assert.equal(bs.ui.bsPlugins.size, 2); + assert.isTrue(require("immutable").Map.isMap(bs.ui.bsPlugins.get(0).get("pkg"))); + var clientJs = bs.ui.bsPlugins + .get(0) + .get("client:js") + .toJS(); + assert.equal(Object.keys(clientJs).length, 1); + bs.cleanup(); + done(); + } + ); }); }); - diff --git a/packages/browser-sync-ui/test/server/plugins.templates.js b/packages/browser-sync-ui/test/server/plugins.templates.js index b748a9c17..238d0e974 100644 --- a/packages/browser-sync-ui/test/server/plugins.templates.js +++ b/packages/browser-sync-ui/test/server/plugins.templates.js @@ -1,54 +1,57 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var ui = require("../../index"); -var assert = require("chai").assert; -var path = require("path"); +var ui = require("../../index"); +var assert = require("chai").assert; +var path = require("path"); describe("Resolving templates loaded via plugins", function() { - it("can load a single template", function(done) { - browserSync.reset(); browserSync.use(ui); var plugin = { module: path.resolve(__dirname, "../", "fixtures/plugin") }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin] - }, function (err, bs) { - assert.include(bs.ui.templates, "id=\"test-bs-plugin/test.directive.html"); - assert.include(bs.ui.templates, "

Test markup from Test Directive

"); - assert.include(bs.ui.clientJs, "const PLUGIN_NAME = \"Test Plugin\";"); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin] + }, + function(err, bs) { + assert.include(bs.ui.templates, 'id="test-bs-plugin/test.directive.html'); + assert.include(bs.ui.templates, "

Test markup from Test Directive

"); + assert.include(bs.ui.clientJs, 'const PLUGIN_NAME = "Test Plugin";'); - bs.cleanup(); - done(); - }); + bs.cleanup(); + done(); + } + ); }); - it("can load multiple templates", function (done) { + it("can load multiple templates", function(done) { browserSync.reset(); browserSync.use(ui); var plugin = { module: path.resolve(__dirname, "../", "fixtures/plugin-multi-templates") }; - browserSync({ - server: "test/fixtures", - logLevel: "silent", - open: false, - plugins: [plugin] - }, function (err, bs) { - assert.include(bs.ui.templates, "id=\"test-bs-plugin/test.directive.html"); - assert.include(bs.ui.templates, "id=\"test-bs-plugin/test.list.html"); - assert.include(bs.ui.templates, "

Test markup from Test Directive

"); - assert.include(bs.ui.templates, "

Test markup from Test LIST Directive

"); - assert.include(bs.ui.clientJs, "const PLUGIN_NAME = \"Test Plugin\";"); - assert.include(bs.ui.clientJs, "const PLUGIN_NAME = \"Test Plugin file 2\";"); + browserSync( + { + server: "test/fixtures", + logLevel: "silent", + open: false, + plugins: [plugin] + }, + function(err, bs) { + assert.include(bs.ui.templates, 'id="test-bs-plugin/test.directive.html'); + assert.include(bs.ui.templates, 'id="test-bs-plugin/test.list.html'); + assert.include(bs.ui.templates, "

Test markup from Test Directive

"); + assert.include(bs.ui.templates, "

Test markup from Test LIST Directive

"); + assert.include(bs.ui.clientJs, 'const PLUGIN_NAME = "Test Plugin";'); + assert.include(bs.ui.clientJs, 'const PLUGIN_NAME = "Test Plugin file 2";'); - bs.cleanup(); - done(); - }); + bs.cleanup(); + done(); + } + ); }); }); - diff --git a/packages/browser-sync-ui/test/server/remote-debug/client.files.js b/packages/browser-sync-ui/test/server/remote-debug/client.files.js index f062fe138..090cdd704 100644 --- a/packages/browser-sync-ui/test/server/remote-debug/client.files.js +++ b/packages/browser-sync-ui/test/server/remote-debug/client.files.js @@ -1,16 +1,14 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var request = require("supertest"); -var assert = require("chai").assert; - -describe("Remote debug", function () { +var request = require("supertest"); +var assert = require("chai").assert; +describe("Remote debug", function() { var bs, ui; this.timeout(10000); - before(function (done) { - + before(function(done) { browserSync.reset(); browserSync.use(require("../../../index")); @@ -21,17 +19,16 @@ describe("Remote debug", function () { logLevel: "silent" }; - browserSync(config, function (err, out) { + browserSync(config, function(err, out) { ui = out.ui; bs = out; done(); }); }); - after(function () { + after(function() { bs.cleanup(); }); - it("should enable a file & allow BrowserSync to serve it", function (done) { - + it("should enable a file & allow BrowserSync to serve it", function(done) { var cssFile = ui.options.getIn(["clientFiles", "pesticide"]).toJS(); ui.enableElement(cssFile); @@ -39,9 +36,9 @@ describe("Remote debug", function () { request(bs.server) .get(cssFile.src) .expect(200) - .end(function (err, res) { + .end(function(err, res) { assert.include(res.text, "1px solid #3498db"); done(); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/server/remote-debug/latency.js b/packages/browser-sync-ui/test/server/remote-debug/latency.js index 57050a740..c1bebd0cd 100644 --- a/packages/browser-sync-ui/test/server/remote-debug/latency.js +++ b/packages/browser-sync-ui/test/server/remote-debug/latency.js @@ -1,17 +1,15 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var bsui = require("../../../index"); -var request = require("supertest"); -var assert = require("chai").assert; - -describe.skip("Remote debug - Latency", function () { +var bsui = require("../../../index"); +var request = require("supertest"); +var assert = require("chai").assert; +describe.skip("Remote debug - Latency", function() { var bs, ui; this.timeout(10000); - before(function (done) { - + before(function(done) { browserSync.reset(); browserSync.use(bsui); @@ -23,17 +21,16 @@ describe.skip("Remote debug - Latency", function () { server: "test/fixtures" }; - browserSync(config, function (err, out) { + browserSync(config, function(err, out) { ui = out.ui; bs = out; done(); }); }); - after(function () { + after(function() { bs.cleanup(); }); - it("should Init Latency plugin on/off", function (done) { - + it("should Init Latency plugin on/off", function(done) { var latency = ui.options.getIn(["remote-debug", "latency"]).toJS(); assert.deepEqual(latency.rate, 0); assert.deepEqual(latency.active, false); @@ -47,20 +44,18 @@ describe.skip("Remote debug - Latency", function () { done(); }); - it("should adjust the throttle rate", function (done) { - + it("should adjust the throttle rate", function(done) { ui.latency.toggle(true); - ui.latency.adjust({rate: 1.5}); + ui.latency.adjust({ rate: 1.5 }); var time = new Date().getTime(); request(bs.server) .get("/") .expect(200) - .end(function () { - assert.isTrue((new Date().getTime() - time) > 1500); + .end(function() { + assert.isTrue(new Date().getTime() - time > 1500); done(); }); - }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/server/remote-debug/no-cache.js b/packages/browser-sync-ui/test/server/remote-debug/no-cache.js index 668019038..47475f307 100644 --- a/packages/browser-sync-ui/test/server/remote-debug/no-cache.js +++ b/packages/browser-sync-ui/test/server/remote-debug/no-cache.js @@ -1,17 +1,15 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var bsui = require("../../../index"); -var assert = require("chai").assert; -var request = require("supertest"); - -describe.skip("Remote debug - No cache", function () { +var bsui = require("../../../index"); +var assert = require("chai").assert; +var request = require("supertest"); +describe.skip("Remote debug - No cache", function() { var bs, ui; this.timeout(10000); - before(function (done) { - + before(function(done) { browserSync.reset(); browserSync.use(bsui); @@ -23,17 +21,16 @@ describe.skip("Remote debug - No cache", function () { server: "test/fixtures" }; - browserSync(config, function (err, out) { + browserSync(config, function(err, out) { ui = out.ui; bs = out; done(); }); }); - after(function () { + after(function() { bs.cleanup(); }); - it("should disable browser cache with middlewares", function (done) { - + it("should disable browser cache with middlewares", function(done) { var target = ui.options.getIn(["remote-debug", "no-cache"]).toJS(); assert.equal(target.active, false); @@ -48,8 +45,7 @@ describe.skip("Remote debug - No cache", function () { .get("/") .set("accept", "text/html") .expect(200) - .end(function (err, res) { - + .end(function(err, res) { assert.equal(res.headers["cache-control"], "no-cache, no-store, must-revalidate"); assert.equal(res.headers["pragma"], "no-cache"); assert.equal(res.headers["expires"], 0); @@ -60,8 +56,7 @@ describe.skip("Remote debug - No cache", function () { .get("/") .set("accept", "text/html") .expect(200) - .end(function (err, res) { - + .end(function(err, res) { assert.notInclude(res.headers["cache-control"], "no-cache"); assert.notInclude(res.headers["pragma"], "no-cache"); assert.notInclude(res.headers["expires"], 0); @@ -72,4 +67,4 @@ describe.skip("Remote debug - No cache", function () { }); }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/server/remote-debug/throttle.https.js b/packages/browser-sync-ui/test/server/remote-debug/throttle.https.js index efa60f0ac..6d3521d20 100644 --- a/packages/browser-sync-ui/test/server/remote-debug/throttle.https.js +++ b/packages/browser-sync-ui/test/server/remote-debug/throttle.https.js @@ -1,19 +1,17 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var bsui = require("../../../index"); -var assert = require("chai").assert; -var request = require("supertest"); - -describe("Remote debug - Throttle HTTPS", function () { +var bsui = require("../../../index"); +var assert = require("chai").assert; +var request = require("supertest"); +describe("Remote debug - Throttle HTTPS", function() { var bs, ui; this.timeout(10000); process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0; - before(function (done) { - + before(function(done) { browserSync.reset(); browserSync.use(bsui); @@ -26,22 +24,21 @@ describe("Remote debug - Throttle HTTPS", function () { https: true }; - browserSync(config, function (err, out) { + browserSync(config, function(err, out) { ui = out.ui; bs = out; done(); }); }); - after(function () { + after(function() { bs.cleanup(); }); - it("should init DSL speed", function (done) { - + it("should init DSL speed", function(done) { var target = ui.options.getIn(["network-throttle", "targets"]).toJS()[0]; target.active = true; - var cb = function (err, out) { + var cb = function(err, out) { assert.isDefined(out.server); assert.isDefined(out.port); assert.isDefined(ui.servers[out.port]); @@ -55,7 +52,7 @@ describe("Remote debug - Throttle HTTPS", function () { .get("/") .set("accept", "text/html") .expect(200) - .end(function (err, res) { + .end(function(err, res) { if (err) { return done(err); } @@ -70,4 +67,4 @@ describe("Remote debug - Throttle HTTPS", function () { cb: cb }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/test/server/remote-debug/throttle.js b/packages/browser-sync-ui/test/server/remote-debug/throttle.js index a05b9c1a8..ee5e7f5fd 100644 --- a/packages/browser-sync-ui/test/server/remote-debug/throttle.js +++ b/packages/browser-sync-ui/test/server/remote-debug/throttle.js @@ -1,19 +1,17 @@ /*jshint -W079 */ var browserSync = require("browser-sync"); -var bsui = require("../../../index"); -var assert = require("chai").assert; -var request = require("supertest"); - -describe("Remote debug - Throttle HTTP", function () { +var bsui = require("../../../index"); +var assert = require("chai").assert; +var request = require("supertest"); +describe("Remote debug - Throttle HTTP", function() { var bs, ui; this.timeout(10000); process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0; - before(function (done) { - + before(function(done) { browserSync.reset(); browserSync.use(bsui); @@ -25,22 +23,21 @@ describe("Remote debug - Throttle HTTP", function () { server: "test/fixtures" }; - browserSync(config, function (err, out) { + browserSync(config, function(err, out) { ui = out.ui; bs = out; done(); }); }); - after(function () { + after(function() { bs.cleanup(); }); - it("should init DSL speed", function (done) { - + it("should init DSL speed", function(done) { var target = ui.options.getIn(["network-throttle", "targets"]).toJS()[0]; target.active = true; - var cb = function (err, out) { + var cb = function(err, out) { assert.isDefined(out.server); assert.isDefined(out.port); assert.isDefined(ui.servers[out.port]); @@ -54,7 +51,7 @@ describe("Remote debug - Throttle HTTP", function () { .get("/") .set("accept", "text/html") .expect(200) - .end(function (err, res) { + .end(function(err, res) { if (err) { return done(err); } @@ -69,4 +66,4 @@ describe("Remote debug - Throttle HTTP", function () { cb: cb }); }); -}); \ No newline at end of file +}); diff --git a/packages/browser-sync-ui/webpack.config.js b/packages/browser-sync-ui/webpack.config.js index c111e515d..3baee6a76 100644 --- a/packages/browser-sync-ui/webpack.config.js +++ b/packages/browser-sync-ui/webpack.config.js @@ -1,10 +1,8 @@ -var webpack = require('webpack'); +var webpack = require("webpack"); var config = { - devtool: 'source-map', - context: __dirname + '/src/scripts', - entry: [ - "./app.js" - ], + devtool: "source-map", + context: __dirname + "/src/scripts", + entry: ["./app.js"], output: { path: __dirname + "/public", filename: "js/app.js" diff --git a/packages/browser-sync/lib/http-protocol.js b/packages/browser-sync/lib/http-protocol.js index b4f988f8d..60b2a7abc 100644 --- a/packages/browser-sync/lib/http-protocol.js +++ b/packages/browser-sync/lib/http-protocol.js @@ -5,7 +5,13 @@ var proto = exports; var instanceMethods = ["exit", "notify", "pause", "resume"]; var getBody = require("raw-body"); const { parseParams, serializeParams } = require("./utils"); -const permittedSocketEvents = ["file:reload", "browser:reload", "browser:notify", "browser:location", "options:set"]; +const permittedSocketEvents = [ + "file:reload", + "browser:reload", + "browser:notify", + "browser:location", + "options:set" +]; /** * Does the requested method expect an instance of BrowserSync @@ -30,9 +36,9 @@ function methodRequiresInstance(method) { * @returns {string} */ proto.getUrl = function(args, url) { - return [url, require("./config").httpProtocol.path, "?", - serializeParams(args).toString() - ].join(""); + return [url, require("./config").httpProtocol.path, "?", serializeParams(args).toString()].join( + "" + ); }; /** diff --git a/packages/browser-sync/lib/lodash.custom.js b/packages/browser-sync/lib/lodash.custom.js index ed1ad8c65..fb1556660 100644 --- a/packages/browser-sync/lib/lodash.custom.js +++ b/packages/browser-sync/lib/lodash.custom.js @@ -2886,7 +2886,8 @@ // Non `Object` object instances with different constructors are not equal. if ( objCtor != othCtor && - ("constructor" in object && "constructor" in other) && + "constructor" in object && + "constructor" in other && !( typeof objCtor == "function" && objCtor instanceof objCtor && @@ -3242,7 +3243,9 @@ return ( !!length && (typeof value == "number" || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length) + value > -1 && + value % 1 == 0 && + value < length ); } diff --git a/packages/browser-sync/lodash.custom.min.js b/packages/browser-sync/lodash.custom.min.js index 1cee1a285..ea3d0fed5 100644 --- a/packages/browser-sync/lodash.custom.min.js +++ b/packages/browser-sync/lodash.custom.min.js @@ -3,41 +3,1206 @@ * lodash (Custom Build) /license | Underscore.js 1.8.3 underscorejs.org/LICENSE * Build: `lodash include="isUndefined,isFunction,toArray,includes,union,each,isString,merge,isObject,set" exports="node"` */ -;(function(){function t(t,e){return t.set(e[0],e[1]),t}function e(t,e){return t.add(e),t}function r(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function n(t,e){for(var r=-1,n=t?t.length:0;++r0&&r(f)?e>1?E(f,e-1,r,n,o):c(o,f):n||(o[o.length]=f)}return o}function I(t,e){e=at(e,t)?[e]:C(e);for(var r=0,n=e.length;null!=t&&n>r;)t=t[lt(e[r++])];return r&&r==n?t:Wt}function F(t,e,r){return e=e(t),nr(t)?e:c(e,r(t))}function $(t,e){return null!=t&&(ve.call(t,e)||typeof t=="object"&&e in t&&null===Be(Object(t)))}function M(t,e,r,n,o){if(t===e)e=true;else if(null==t||null==e||!At(t)&&!wt(e))e=t!==t&&e!==e;else t:{ -var u=nr(t),c=nr(e),a="[object Array]",f="[object Array]";u||(a=tt(t),a="[object Arguments]"==a?"[object Object]":a),c||(f=tt(e),f="[object Arguments]"==f?"[object Object]":f);var i="[object Object]"==a&&!h(t),c="[object Object]"==f&&!h(e);if((f=a==f)&&!i)o||(o=new w),e=u||kt(t)?H(t,e,M,r,n,o):J(t,e,a,M,r,n,o);else{if(!(2&n)&&(u=i&&ve.call(t,"__wrapped__"),a=c&&ve.call(e,"__wrapped__"),u||a)){t=u?t.value():t,e=a?e.value():e,o||(o=new w),e=M(t,e,r,n,o);break t}if(f)e:if(o||(o=new w),u=2&n,a=Bt(t), -c=a.length,f=Bt(e).length,c==f||u){for(i=c;i--;){var l=a[i];if(!(u?l in e:$(e,l))){e=false;break e}}if(f=o.get(t))e=f==e;else{f=true,o.set(t,e);for(var s=u;++ia))return false;if(i=u.get(t))return i==e;var i=-1,l=true,s=1&o?new A:Wt;for(u.set(t,e);++i-1&&0==t%1&&e>t}function at(t,e){if(nr(t))return false;var r=typeof t;return"number"==r||"symbol"==r||"boolean"==r||null==t||St(t)?true:Ht.test(t)||!qt.test(t)||null!=e&&t in Object(e)}function ft(t){var e=t&&t.constructor;return t===(typeof e=="function"&&e.prototype||je)}function it(t,e){return function(r){return null==r?false:r[t]===e&&(e!==Wt||t in Object(r))}}function lt(t){if(typeof t=="string"||St(t))return t; -var e=t+"";return"0"==e&&1/t==-Tt?"-0":e}function st(t){if(null!=t){try{return de.call(t)}catch(e){}return t+""}return""}function bt(t,e){return(nr(t)?n:Xe)(t,K(e,3))}function ht(t,e){function r(){var n=arguments,o=e?e.apply(this,n):n[0],u=r.cache;return u.has(o)?u.get(o):(n=t.apply(this,n),r.cache=u.set(o,n),n)}if(typeof t!="function"||e&&typeof e!="function")throw new TypeError("Expected a function");return r.cache=new(ht.Cache||v),r}function pt(t,e){if(typeof t!="function")throw new TypeError("Expected a function"); -return e=Le(e===Wt?t.length-1:Et(e),0),function(){for(var n=arguments,o=-1,u=Le(n.length-e,0),c=Array(u);++o-1&&0==t%1&&9007199254740991>=t}function At(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function wt(t){return!!t&&typeof t=="object"}function Ot(t){return!wt(t)||"[object Object]"!=we.call(t)||h(t)?false:(t=Be(Object(t)),null===t?true:(t=ve.call(t,"constructor")&&t.constructor,typeof t=="function"&&t instanceof t&&de.call(t)==Ae)); -}function mt(t){return typeof t=="string"||!nr(t)&&wt(t)&&"[object String]"==we.call(t)}function St(t){return typeof t=="symbol"||wt(t)&&"[object Symbol]"==we.call(t)}function kt(t){return wt(t)&&vt(t.length)&&!!ce[we.call(t)]}function xt(t){return t?(t=It(t),t===Tt||t===-Tt?1.7976931348623157e308*(0>t?-1:1):t===t?t:0):0===t?t:0}function Et(t){t=xt(t);var e=t%1;return t===t?e?t-e:t:0}function It(t){if(typeof t=="number")return t;if(St(t))return Gt;if(At(t)&&(t=dt(t.valueOf)?t.valueOf():t,t=At(t)?t+"":t), -typeof t!="string")return 0===t?t:+t;t=t.replace(Kt,"");var e=Zt.test(t);return e||ee.test(t)?fe(t.slice(2),e?2:8):Yt.test(t)?Gt:+t}function Ft(t){return G(t,Dt(t))}function $t(t){if(null==t)t="";else if(typeof t!="string")if(St(t))t=Qe?Qe.call(t):"";else{var e=t+"";t="0"==e&&1/t==-Tt?"-0":e}return t}function Mt(t,e,r){return t=null==t?Wt:I(t,e),t===Wt?r:t}function Ut(t,e){var r;if(r=null!=t){r=t;for(var n,o=e,o=at(o,r)?[o]:C(o),u=-1,c=o.length;++ut?false:(t==e.length-1?e.pop():Ue.call(e,t,1),true)},d.prototype.get=function(t){var e=this.__data__;return t=S(e,t),0>t?Wt:e[t][1]},d.prototype.has=function(t){return-1n?r.push([t,e]):r[n][1]=e,this},v.prototype.clear=function(){this.__data__={hash:new g,map:new(Re||d),string:new g}},v.prototype["delete"]=function(t){return Q(this,t)["delete"](t)},v.prototype.get=function(t){ -return Q(this,t).get(t)},v.prototype.has=function(t){return Q(this,t).has(t)},v.prototype.set=function(t,e){return Q(this,t).set(t,e),this},A.prototype.add=A.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},A.prototype.has=function(t){return this.__data__.has(t)},w.prototype.clear=function(){this.__data__=new d},w.prototype["delete"]=function(t){return this.__data__["delete"](t)},w.prototype.get=function(t){return this.__data__.get(t)},w.prototype.has=function(t){ -return this.__data__.has(t)},w.prototype.set=function(t,e){var r=this.__data__;return r instanceof d&&200==r.__data__.length&&(r=this.__data__=new v(r.__data__)),r.set(t,e),this};var Xe=function(t,e){return function(r,n){if(null==r)return r;if(!_t(r))return t(r,n);for(var o=r.length,u=e?o:-1,c=Object(r);(e?u--:++u=200){if(r=Ze(t)){t=j(r);break t}u=false,r=s,a=new A}else a=c;e:for(;++e1?r[u-1]:Wt,a=u>2?r[2]:Wt,c=t.length>3&&typeof c=="function"?(u--,c):Wt;if(n=a){n=r[0];var f=r[1];if(At(a)){var i=typeof f;n=("number"==i?_t(a)&&ct(f,a.length):"string"==i&&f in a)?yt(a[f],n):false}else n=false}for(n&&(c=3>u?Wt:c,u=1),e=Object(e);++or&&(r=Le(n+r,0)),mt(t)?n>=r&&-1 0 && r(f) ? (e > 1 ? E(f, e - 1, r, n, o) : c(o, f)) : n || (o[o.length] = f); + } + return o; + } + function I(t, e) { + e = at(e, t) ? [e] : C(e); + for (var r = 0, n = e.length; null != t && n > r; ) t = t[lt(e[r++])]; + return r && r == n ? t : Wt; + } + function F(t, e, r) { + return (e = e(t)), nr(t) ? e : c(e, r(t)); + } + function $(t, e) { + return ( + null != t && + (ve.call(t, e) || (typeof t == "object" && e in t && null === Be(Object(t)))) + ); + } + function M(t, e, r, n, o) { + if (t === e) e = true; + else if (null == t || null == e || (!At(t) && !wt(e))) e = t !== t && e !== e; + else + t: { + var u = nr(t), + c = nr(e), + a = "[object Array]", + f = "[object Array]"; + u || ((a = tt(t)), (a = "[object Arguments]" == a ? "[object Object]" : a)), + c || ((f = tt(e)), (f = "[object Arguments]" == f ? "[object Object]" : f)); + var i = "[object Object]" == a && !h(t), + c = "[object Object]" == f && !h(e); + if ((f = a == f) && !i) + o || (o = new w()), + (e = u || kt(t) ? H(t, e, M, r, n, o) : J(t, e, a, M, r, n, o)); + else { + if ( + !(2 & n) && + ((u = i && ve.call(t, "__wrapped__")), + (a = c && ve.call(e, "__wrapped__")), + u || a) + ) { + (t = u ? t.value() : t), + (e = a ? e.value() : e), + o || (o = new w()), + (e = M(t, e, r, n, o)); + break t; + } + if (f) + e: if ( + (o || (o = new w()), + (u = 2 & n), + (a = Bt(t)), + (c = a.length), + (f = Bt(e).length), + c == f || u) + ) { + for (i = c; i--; ) { + var l = a[i]; + if (!(u ? l in e : $(e, l))) { + e = false; + break e; + } + } + if ((f = o.get(t))) e = f == e; + else { + (f = true), o.set(t, e); + for (var s = u; ++i < c; ) { + var l = a[i], + b = t[l], + p = e[l]; + if (r) var y = u ? r(p, b, l, e, t, o) : r(b, p, l, t, e, o); + if (y === Wt ? b !== p && !M(b, p, r, n, o) : !y) { + f = false; + break; + } + s || (s = "constructor" == l); + } + f && + !s && + ((r = t.constructor), + (n = e.constructor), + r != n && + "constructor" in t && + "constructor" in e && + !( + typeof r == "function" && + r instanceof r && + typeof n == "function" && + n instanceof n + ) && + (f = false)), + o["delete"](t), + (e = f); + } + } else e = false; + else e = false; + } + } + return e; + } + function U(t, e) { + var r = e.length, + n = r; + if (null == t) return !n; + for (t = Object(t); r--; ) { + var o = e[r]; + if (o[2] ? o[1] !== t[o[0]] : !(o[0] in t)) return false; + } + for (; ++r < n; ) { + var o = e[r], + u = o[0], + c = t[u], + a = o[1]; + if (o[2]) { + if (c === Wt && !(u in t)) return false; + } else if (((o = new w()), void 0 === Wt ? !M(a, c, void 0, 3, o) : 1)) return false; + } + return true; + } + function B(t) { + return typeof t == "function" + ? t + : null == t + ? Pt + : typeof t == "object" + ? nr(t) + ? P(t[0], t[1]) + : L(t) + : Vt(t); + } + function D(t) { + t = null == t ? t : Object(t); + var e, + r = []; + for (e in t) r.push(e); + return r; + } + function L(t) { + var e = X(t); + return 1 == e.length && e[0][2] + ? it(e[0][0], e[0][1]) + : function(r) { + return r === t || U(r, e); + }; + } + function P(t, e) { + return at(t) && e === e && !At(e) + ? it(lt(t), e) + : function(r) { + var n = Mt(r, t); + return n === Wt && n === e ? Ut(r, t) : M(e, n, Wt, 3); + }; + } + function R(t, e, r, o, u) { + if (t !== e) { + if (!nr(e) && !kt(e)) var c = Dt(e); + n(c || e, function(n, a) { + if ((c && ((a = n), (n = e[a])), At(n))) { + u || (u = new w()); + var f = a, + i = u, + l = t[f], + s = e[f], + b = i.get(s); + if (b) O(t, f, b); + else { + var b = o ? o(l, s, f + "", t, e, i) : Wt, + h = b === Wt; + h && + ((b = s), + nr(s) || kt(s) + ? nr(l) + ? (b = l) + : gt(l) + ? (b = T(l)) + : ((h = false), (b = x(s, true))) + : Ot(s) || jt(s) + ? jt(l) + ? (b = Ft(l)) + : !At(l) || (r && dt(l)) + ? ((h = false), (b = x(s, true))) + : (b = l) + : (h = false)), + i.set(s, b), + h && R(b, s, r, o, i), + i["delete"](s), + O(t, f, b); + } + } else (f = o ? o(t[a], n, a + "", t, e, u) : Wt), f === Wt && (f = n), O(t, a, f); + }); + } + } + function N(t) { + return function(e) { + return null == e ? Wt : e[t]; + }; + } + function V(t) { + return function(e) { + return I(e, t); + }; + } + function C(t) { + return nr(t) ? t : er(t); + } + function z(t, e) { + if (e) return t.slice(); + var r = new t.constructor(t.length); + return t.copy(r), r; + } + function W(t) { + var e = new t.constructor(t.byteLength); + return new xe(e).set(new xe(t)), e; + } + function T(t, e) { + var r = -1, + n = t.length; + for (e || (e = Array(n)); ++r < n; ) e[r] = t[r]; + return e; + } + function G(t, e, r) { + r || (r = {}); + for (var n = -1, o = e.length; ++n < o; ) { + var u = e[n]; + m(r, u, t[u]); + } + return r; + } + function q(t, e) { + return G(t, Z(t), e); + } + function H(t, e, r, n, o, u) { + var c = 2 & o, + a = t.length, + i = e.length; + if (a != i && !(c && i > a)) return false; + if ((i = u.get(t))) return i == e; + var i = -1, + l = true, + s = 1 & o ? new A() : Wt; + for (u.set(t, e); ++i < a; ) { + var b = t[i], + h = e[i]; + if (n) var p = c ? n(h, b, i, e, t, u) : n(b, h, i, t, e, u); + if (p !== Wt) { + if (p) continue; + l = false; + break; + } + if (s) { + if ( + !f(e, function(t, e) { + return s.has(e) || (b !== t && !r(b, t, n, o, u)) ? void 0 : s.add(e); + }) + ) { + l = false; + break; + } + } else if (b !== h && !r(b, h, n, o, u)) { + l = false; + break; + } + } + return u["delete"](t), l; + } + function J(t, e, r, n, o, u, c) { + switch (r) { + case "[object DataView]": + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) break; + (t = t.buffer), (e = e.buffer); + case "[object ArrayBuffer]": + if (t.byteLength != e.byteLength || !n(new xe(t), new xe(e))) break; + return true; + case "[object Boolean]": + case "[object Date]": + return +t == +e; + case "[object Error]": + return t.name == e.name && t.message == e.message; + case "[object Number]": + return t != +t ? e != +e : t == +e; + case "[object RegExp]": + case "[object String]": + return t == e + ""; + case "[object Map]": + var a = y; + case "[object Set]": + if ((a || (a = j), t.size != e.size && !(2 & u))) break; + return (r = c.get(t)) ? r == e : ((u |= 1), c.set(t, e), H(a(t), a(e), n, o, u, c)); + case "[object Symbol]": + if (Ke) return Ke.call(t) == Ke.call(e); + } + return false; + } + function K() { + var t = _.iteratee || Rt, + t = t === Rt ? B : t; + return arguments.length ? t(arguments[0], arguments[1]) : t; + } + function Q(t, e) { + var r = t.__data__, + n = typeof e; + return ("string" == n || "number" == n || "symbol" == n || "boolean" == n + ? "__proto__" !== e + : null === e) + ? r[typeof e == "string" ? "string" : "hash"] + : r.map; + } + function X(t) { + for (var e = Bt(t), r = e.length; r--; ) { + var n = e[r], + o = t[n]; + e[r] = [n, o, o === o && !At(o)]; + } + return e; + } + function Y(t, e) { + var r = null == t ? Wt : t[e]; + return (!At(r) || (ge && ge in r) ? 0 : (dt(r) || h(r) ? Oe : te).test(st(r))) ? r : Wt; + } + function Z(t) { + return Ie(Object(t)); + } + function tt(t) { + return we.call(t); + } + function et(t) { + var e = t.length, + r = t.constructor(e); + return ( + e && + "string" == typeof t[0] && + ve.call(t, "index") && + ((r.index = t.index), (r.input = t.input)), + r + ); + } + function rt(t) { + return ( + typeof t.constructor != "function" || ft(t) + ? (t = {}) + : ((t = Be(Object(t))), (t = At(t) ? $e(t) : {})), + t + ); + } + function nt(r, n, o, u) { + var c = r.constructor; + switch (n) { + case "[object ArrayBuffer]": + return W(r); + case "[object Boolean]": + case "[object Date]": + return new c(+r); + case "[object DataView]": + return ( + (n = u ? W(r.buffer) : r.buffer), + new r.constructor(n, r.byteOffset, r.byteLength) + ); + case "[object Float32Array]": + case "[object Float64Array]": + case "[object Int8Array]": + case "[object Int16Array]": + case "[object Int32Array]": + case "[object Uint8Array]": + case "[object Uint8ClampedArray]": + case "[object Uint16Array]": + case "[object Uint32Array]": + return ( + (n = u ? W(r.buffer) : r.buffer), new r.constructor(n, r.byteOffset, r.length) + ); + case "[object Map]": + return (n = u ? o(y(r), true) : y(r)), a(n, t, new r.constructor()); + case "[object Number]": + case "[object String]": + return new c(r); + case "[object RegExp]": + return ( + (n = new r.constructor(r.source, Xt.exec(r))), (n.lastIndex = r.lastIndex), n + ); + case "[object Set]": + return (n = u ? o(j(r), true) : j(r)), a(n, e, new r.constructor()); + case "[object Symbol]": + return Ke ? Object(Ke.call(r)) : {}; + } + } + function ot(t) { + var e = t ? t.length : Wt; + if (vt(e) && (nr(t) || mt(t) || jt(t))) { + t = String; + for (var r = -1, n = Array(e); ++r < e; ) n[r] = t(r); + e = n; + } else e = null; + return e; + } + function ut(t) { + return nr(t) || jt(t); + } + function ct(t, e) { + return ( + (e = null == e ? 9007199254740991 : e), + !!e && (typeof t == "number" || re.test(t)) && t > -1 && 0 == t % 1 && e > t + ); + } + function at(t, e) { + if (nr(t)) return false; + var r = typeof t; + return "number" == r || "symbol" == r || "boolean" == r || null == t || St(t) + ? true + : Ht.test(t) || !qt.test(t) || (null != e && t in Object(e)); + } + function ft(t) { + var e = t && t.constructor; + return t === ((typeof e == "function" && e.prototype) || je); + } + function it(t, e) { + return function(r) { + return null == r ? false : r[t] === e && (e !== Wt || t in Object(r)); + }; + } + function lt(t) { + if (typeof t == "string" || St(t)) return t; + var e = t + ""; + return "0" == e && 1 / t == -Tt ? "-0" : e; + } + function st(t) { + if (null != t) { + try { + return de.call(t); + } catch (e) {} + return t + ""; + } + return ""; + } + function bt(t, e) { + return (nr(t) ? n : Xe)(t, K(e, 3)); + } + function ht(t, e) { + function r() { + var n = arguments, + o = e ? e.apply(this, n) : n[0], + u = r.cache; + return u.has(o) ? u.get(o) : ((n = t.apply(this, n)), (r.cache = u.set(o, n)), n); + } + if (typeof t != "function" || (e && typeof e != "function")) + throw new TypeError("Expected a function"); + return (r.cache = new (ht.Cache || v)()), r; + } + function pt(t, e) { + if (typeof t != "function") throw new TypeError("Expected a function"); + return ( + (e = Le(e === Wt ? t.length - 1 : Et(e), 0)), + function() { + for (var n = arguments, o = -1, u = Le(n.length - e, 0), c = Array(u); ++o < u; ) + c[o] = n[e + o]; + switch (e) { + case 0: + return t.call(this, c); + case 1: + return t.call(this, n[0], c); + case 2: + return t.call(this, n[0], n[1], c); + } + for (u = Array(e + 1), o = -1; ++o < e; ) u[o] = n[o]; + return (u[e] = c), r(t, this, u); + } + ); + } + function yt(t, e) { + return t === e || (t !== t && e !== e); + } + function jt(t) { + return ( + gt(t) && + ve.call(t, "callee") && + (!Me.call(t, "callee") || "[object Arguments]" == we.call(t)) + ); + } + function _t(t) { + return null != t && vt(tr(t)) && !dt(t); + } + function gt(t) { + return wt(t) && _t(t); + } + function dt(t) { + return ( + (t = At(t) ? we.call(t) : ""), + "[object Function]" == t || "[object GeneratorFunction]" == t + ); + } + function vt(t) { + return typeof t == "number" && t > -1 && 0 == t % 1 && 9007199254740991 >= t; + } + function At(t) { + var e = typeof t; + return !!t && ("object" == e || "function" == e); + } + function wt(t) { + return !!t && typeof t == "object"; + } + function Ot(t) { + return !wt(t) || "[object Object]" != we.call(t) || h(t) + ? false + : ((t = Be(Object(t))), + null === t + ? true + : ((t = ve.call(t, "constructor") && t.constructor), + typeof t == "function" && t instanceof t && de.call(t) == Ae)); + } + function mt(t) { + return typeof t == "string" || (!nr(t) && wt(t) && "[object String]" == we.call(t)); + } + function St(t) { + return typeof t == "symbol" || (wt(t) && "[object Symbol]" == we.call(t)); + } + function kt(t) { + return wt(t) && vt(t.length) && !!ce[we.call(t)]; + } + function xt(t) { + return t + ? ((t = It(t)), + t === Tt || t === -Tt ? 1.7976931348623157e308 * (0 > t ? -1 : 1) : t === t ? t : 0) + : 0 === t + ? t + : 0; + } + function Et(t) { + t = xt(t); + var e = t % 1; + return t === t ? (e ? t - e : t) : 0; + } + function It(t) { + if (typeof t == "number") return t; + if (St(t)) return Gt; + if ( + (At(t) && ((t = dt(t.valueOf) ? t.valueOf() : t), (t = At(t) ? t + "" : t)), + typeof t != "string") + ) + return 0 === t ? t : +t; + t = t.replace(Kt, ""); + var e = Zt.test(t); + return e || ee.test(t) ? fe(t.slice(2), e ? 2 : 8) : Yt.test(t) ? Gt : +t; + } + function Ft(t) { + return G(t, Dt(t)); + } + function $t(t) { + if (null == t) t = ""; + else if (typeof t != "string") + if (St(t)) t = Qe ? Qe.call(t) : ""; + else { + var e = t + ""; + t = "0" == e && 1 / t == -Tt ? "-0" : e; + } + return t; + } + function Mt(t, e, r) { + return (t = null == t ? Wt : I(t, e)), t === Wt ? r : t; + } + function Ut(t, e) { + var r; + if ((r = null != t)) { + r = t; + for (var n, o = e, o = at(o, r) ? [o] : C(o), u = -1, c = o.length; ++u < c; ) { + var a = lt(o[u]); + if (!(n = null != r && null != r && a in Object(r))) break; + r = r[a]; + } + n + ? (r = n) + : ((c = r ? r.length : 0), + (r = !!c && vt(c) && ct(a, c) && (nr(r) || mt(r) || jt(r)))); + } + return r; + } + function Bt(t) { + var e = ft(t); + if (!e && !_t(t)) return De(Object(t)); + var r, + n = ot(t), + o = !!n, + n = n || [], + u = n.length; + for (r in t) + !$(t, r) || + (o && ("length" == r || ct(r, u))) || + (e && "constructor" == r) || + n.push(r); + return n; + } + function Dt(t) { + for ( + var e = -1, + r = ft(t), + n = D(t), + o = n.length, + u = ot(t), + c = !!u, + u = u || [], + a = u.length; + ++e < o; + + ) { + var f = n[e]; + (c && ("length" == f || ct(f, a))) || + ("constructor" == f && (r || !ve.call(t, f))) || + u.push(f); + } + return u; + } + function Lt(t) { + return t ? l(t, Bt(t)) : []; + } + function Pt(t) { + return t; + } + function Rt(t) { + return B(typeof t == "function" ? t : x(t, true)); + } + function Nt() {} + function Vt(t) { + return at(t) ? N(lt(t)) : V(t); + } + function Ct() { + return []; + } + function zt() { + return false; + } + var Wt, + Tt = 1 / 0, + Gt = NaN, + qt = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Ht = /^\w*$/, + Jt = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(\.|\[\])(?:\4|$))/g, + Kt = /^\s+|\s+$/g, + Qt = /\\(\\)?/g, + Xt = /\w*$/, + Yt = /^[-+]0x[0-9a-f]+$/i, + Zt = /^0b[01]+$/i, + te = /^\[object .+?Constructor\]$/, + ee = /^0o[0-7]+$/i, + re = /^(?:0|[1-9]\d*)$/, + ne = + "[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*", + oe = + "(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])", + ue = RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|" + oe + ne, "g"), + ce = {}; + (ce["[object Float32Array]"] = ce["[object Float64Array]"] = ce["[object Int8Array]"] = ce[ + "[object Int16Array]" + ] = ce["[object Int32Array]"] = ce["[object Uint8Array]"] = ce[ + "[object Uint8ClampedArray]" + ] = ce["[object Uint16Array]"] = ce["[object Uint32Array]"] = true), + (ce["[object Arguments]"] = ce["[object Array]"] = ce["[object ArrayBuffer]"] = ce[ + "[object Boolean]" + ] = ce["[object DataView]"] = ce["[object Date]"] = ce["[object Error]"] = ce[ + "[object Function]" + ] = ce["[object Map]"] = ce["[object Number]"] = ce["[object Object]"] = ce[ + "[object RegExp]" + ] = ce["[object Set]"] = ce["[object String]"] = ce["[object WeakMap]"] = false); + var ae = {}; + (ae["[object Arguments]"] = ae["[object Array]"] = ae["[object ArrayBuffer]"] = ae[ + "[object DataView]" + ] = ae["[object Boolean]"] = ae["[object Date]"] = ae["[object Float32Array]"] = ae[ + "[object Float64Array]" + ] = ae["[object Int8Array]"] = ae["[object Int16Array]"] = ae["[object Int32Array]"] = ae[ + "[object Map]" + ] = ae["[object Number]"] = ae["[object Object]"] = ae["[object RegExp]"] = ae[ + "[object Set]" + ] = ae["[object String]"] = ae["[object Symbol]"] = ae["[object Uint8Array]"] = ae[ + "[object Uint8ClampedArray]" + ] = ae["[object Uint16Array]"] = ae["[object Uint32Array]"] = true), + (ae["[object Error]"] = ae["[object Function]"] = ae["[object WeakMap]"] = false); + var fe = parseInt, + ie = typeof exports == "object" && exports, + le = ie && typeof module == "object" && module, + se = le && le.exports === ie, + be = b(typeof self == "object" && self), + he = b(typeof this == "object" && this), + pe = b(typeof global == "object" && global) || be || he || Function("return this")(), + ye = Array.prototype, + je = Object.prototype, + _e = pe["__core-js_shared__"], + ge = (function() { + var t = /[^.]+$/.exec((_e && _e.keys && _e.keys.IE_PROTO) || ""); + return t ? "Symbol(src)_1." + t : ""; + })(), + de = Function.prototype.toString, + ve = je.hasOwnProperty, + Ae = de.call(Object), + we = je.toString, + Oe = RegExp( + "^" + + de + .call(ve) + .replace(/[\\^$.*+?()[\]{}|]/g, "\\$&") + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + + "$" + ), + me = se ? pe.Buffer : Wt, + Se = pe.Reflect, + ke = pe.Symbol, + xe = pe.Uint8Array, + Ee = Se ? Se.a : Wt, + Ie = Object.getOwnPropertySymbols, + Fe = typeof (Fe = ke && ke.iterator) == "symbol" ? Fe : Wt, + $e = Object.create, + Me = je.propertyIsEnumerable, + Ue = ye.splice, + Be = Object.getPrototypeOf, + De = Object.keys, + Le = Math.max, + Pe = Y(pe, "DataView"), + Re = Y(pe, "Map"), + Ne = Y(pe, "Promise"), + Ve = Y(pe, "Set"), + Ce = Y(pe, "WeakMap"), + ze = Y(Object, "create"), + We = st(Pe), + Te = st(Re), + Ge = st(Ne), + qe = st(Ve), + He = st(Ce), + Je = ke ? ke.prototype : Wt, + Ke = Je ? Je.valueOf : Wt, + Qe = Je ? Je.toString : Wt; + (g.prototype.clear = function() { + this.__data__ = ze ? ze(null) : {}; + }), + (g.prototype["delete"] = function(t) { + return this.has(t) && delete this.__data__[t]; + }), + (g.prototype.get = function(t) { + var e = this.__data__; + return ze + ? ((t = e[t]), "__lodash_hash_undefined__" === t ? Wt : t) + : ve.call(e, t) + ? e[t] + : Wt; + }), + (g.prototype.has = function(t) { + var e = this.__data__; + return ze ? e[t] !== Wt : ve.call(e, t); + }), + (g.prototype.set = function(t, e) { + return (this.__data__[t] = ze && e === Wt ? "__lodash_hash_undefined__" : e), this; + }), + (d.prototype.clear = function() { + this.__data__ = []; + }), + (d.prototype["delete"] = function(t) { + var e = this.__data__; + return ( + (t = S(e, t)), + 0 > t ? false : (t == e.length - 1 ? e.pop() : Ue.call(e, t, 1), true) + ); + }), + (d.prototype.get = function(t) { + var e = this.__data__; + return (t = S(e, t)), 0 > t ? Wt : e[t][1]; + }), + (d.prototype.has = function(t) { + return -1 < S(this.__data__, t); + }), + (d.prototype.set = function(t, e) { + var r = this.__data__, + n = S(r, t); + return 0 > n ? r.push([t, e]) : (r[n][1] = e), this; + }), + (v.prototype.clear = function() { + this.__data__ = { hash: new g(), map: new (Re || d)(), string: new g() }; + }), + (v.prototype["delete"] = function(t) { + return Q(this, t)["delete"](t); + }), + (v.prototype.get = function(t) { + return Q(this, t).get(t); + }), + (v.prototype.has = function(t) { + return Q(this, t).has(t); + }), + (v.prototype.set = function(t, e) { + return Q(this, t).set(t, e), this; + }), + (A.prototype.add = A.prototype.push = function(t) { + return this.__data__.set(t, "__lodash_hash_undefined__"), this; + }), + (A.prototype.has = function(t) { + return this.__data__.has(t); + }), + (w.prototype.clear = function() { + this.__data__ = new d(); + }), + (w.prototype["delete"] = function(t) { + return this.__data__["delete"](t); + }), + (w.prototype.get = function(t) { + return this.__data__.get(t); + }), + (w.prototype.has = function(t) { + return this.__data__.has(t); + }), + (w.prototype.set = function(t, e) { + var r = this.__data__; + return ( + r instanceof d && + 200 == r.__data__.length && + (r = this.__data__ = new v(r.__data__)), + r.set(t, e), + this + ); + }); + var Xe = (function(t, e) { + return function(r, n) { + if (null == r) return r; + if (!_t(r)) return t(r, n); + for ( + var o = r.length, u = e ? o : -1, c = Object(r); + (e ? u-- : ++u < o) && false !== n(c[u], u, c); + + ); + return r; + }; + })(function(t, e) { + return t && Ye(t, e, Bt); + }), + Ye = (function(t) { + return function(e, r, n) { + var o = -1, + u = Object(e); + n = n(e); + for (var c = n.length; c--; ) { + var a = n[t ? c : ++o]; + if (false === r(u[a], a, u)) break; + } + return e; + }; + })(); + Ee && + !Me.call({ valueOf: 1 }, "valueOf") && + (D = function(t) { + return p(Ee(t)); + }); + var Ze = + Ve && 1 / j(new Ve([, -0]))[1] == Tt + ? function(t) { + return new Ve(t); + } + : Nt, + tr = N("length"); + Ie || (Z = Ct), + ((Pe && "[object DataView]" != tt(new Pe(new ArrayBuffer(1)))) || + (Re && "[object Map]" != tt(new Re())) || + (Ne && "[object Promise]" != tt(Ne.resolve())) || + (Ve && "[object Set]" != tt(new Ve())) || + (Ce && "[object WeakMap]" != tt(new Ce()))) && + (tt = function(t) { + var e = we.call(t); + if ((t = (t = "[object Object]" == e ? t.constructor : Wt) ? st(t) : Wt)) + switch (t) { + case We: + return "[object DataView]"; + case Te: + return "[object Map]"; + case Ge: + return "[object Promise]"; + case qe: + return "[object Set]"; + case He: + return "[object WeakMap]"; + } + return e; + }); + var er = ht(function(t) { + var e = []; + return ( + $t(t).replace(Jt, function(t, r, n, o) { + e.push(n ? o.replace(Qt, "$1") : r || t); + }), + e + ); + }), + rr = pt(function(t) { + t: { + t = E(t, 1, gt, true); + var e = -1, + r = o, + n = t.length, + u = true, + c = [], + a = c; + if (n >= 200) { + if ((r = Ze(t))) { + t = j(r); + break t; + } + (u = false), (r = s), (a = new A()); + } else a = c; + e: for (; ++e < n; ) { + var f = t[e], + i = f, + f = 0 !== f ? f : 0; + if (u && i === i) { + for (var l = a.length; l--; ) if (a[l] === i) continue e; + c.push(f); + } else r(a, i, void 0) || (a !== c && a.push(i), c.push(f)); + } + t = c; + } + return t; + }); + ht.Cache = v; + var nr = Array.isArray, + or = me + ? function(t) { + return t instanceof me; + } + : zt, + ur = (function(t) { + return pt(function(e, r) { + var n, + o = -1, + u = r.length, + c = u > 1 ? r[u - 1] : Wt, + a = u > 2 ? r[2] : Wt, + c = t.length > 3 && typeof c == "function" ? (u--, c) : Wt; + if ((n = a)) { + n = r[0]; + var f = r[1]; + if (At(a)) { + var i = typeof f; + n = ("number" == i + ? _t(a) && ct(f, a.length) + : "string" == i && f in a) + ? yt(a[f], n) + : false; + } else n = false; + } + for (n && ((c = 3 > u ? Wt : c), (u = 1)), e = Object(e); ++o < u; ) + (a = r[o]) && t(e, a, o, c); + return e; + }); + })(function(t, e, r) { + R(t, e, r); + }); + (_.iteratee = Rt), + (_.keys = Bt), + (_.keysIn = Dt), + (_.memoize = ht), + (_.merge = ur), + (_.property = Vt), + (_.rest = pt), + (_.set = function(t, e, r) { + if (null != t) { + e = at(e, t) ? [e] : C(e); + for (var n = -1, o = e.length, u = o - 1, c = t; null != c && ++n < o; ) { + var a = lt(e[n]); + if (At(c)) { + var f = r; + if (n != u) { + var i = c[a], + f = Wt; + f === Wt && (f = null == i ? (ct(e[n + 1]) ? [] : {}) : i); + } + m(c, a, f); + } + c = c[a]; + } + } + return t; + }), + (_.toArray = function(t) { + if (!t) return []; + if (_t(t)) return mt(t) ? t.match(ue) : T(t); + if (Fe && t[Fe]) return p(t[Fe]()); + var e = tt(t); + return ("[object Map]" == e ? y : "[object Set]" == e ? j : Lt)(t); + }), + (_.toPlainObject = Ft), + (_.union = rr), + (_.values = Lt), + (_.eq = yt), + (_.forEach = bt), + (_.get = Mt), + (_.hasIn = Ut), + (_.identity = Pt), + (_.includes = function(t, e, r, n) { + return ( + (t = _t(t) ? t : Lt(t)), + (r = r && !n ? Et(r) : 0), + (n = t.length), + 0 > r && (r = Le(n + r, 0)), + mt(t) ? n >= r && -1 < t.indexOf(e, r) : !!n && -1 < i(t, e, r) + ); + }), + (_.isArguments = jt), + (_.isArray = nr), + (_.isArrayLike = _t), + (_.isArrayLikeObject = gt), + (_.isBuffer = or), + (_.isFunction = dt), + (_.isLength = vt), + (_.isObject = At), + (_.isObjectLike = wt), + (_.isPlainObject = Ot), + (_.isString = mt), + (_.isSymbol = St), + (_.isTypedArray = kt), + (_.isUndefined = function(t) { + return t === Wt; + }), + (_.stubArray = Ct), + (_.stubFalse = zt), + (_.noop = Nt), + (_.toFinite = xt), + (_.toInteger = Et), + (_.toNumber = It), + (_.toString = $t), + (_.each = bt), + (_.VERSION = "4.13.1"), + le && (((le.exports = _)._ = _), (ie._ = _)); +}.call(this)); diff --git a/packages/browser-sync/package.json b/packages/browser-sync/package.json index a1ab2b3d1..a5303096c 100644 --- a/packages/browser-sync/package.json +++ b/packages/browser-sync/package.json @@ -20,11 +20,6 @@ "engines": { "node": ">= 8.0.0" }, - "prettier": { - "tabWidth": 4, - "singleQuote": false, - "printWidth": 100 - }, "scripts": { "build": "npm run build.tsc", "build.tsc": "tsc", diff --git a/packages/browser-sync/templates/script-tags.html b/packages/browser-sync/templates/script-tags.html index 4cc7d9d5d..82bb57a8a 100644 --- a/packages/browser-sync/templates/script-tags.html +++ b/packages/browser-sync/templates/script-tags.html @@ -1,18 +1,20 @@ - + diff --git a/packages/browser-sync/test/fixtures/.tmp/temp.css b/packages/browser-sync/test/fixtures/.tmp/temp.css index c489d3098..5c5e887d7 100644 --- a/packages/browser-sync/test/fixtures/.tmp/temp.css +++ b/packages/browser-sync/test/fixtures/.tmp/temp.css @@ -1,3 +1,3 @@ body { background: red; -} \ No newline at end of file +} diff --git a/packages/browser-sync/test/fixtures/assets/import2.css b/packages/browser-sync/test/fixtures/assets/import2.css index c489d3098..5c5e887d7 100644 --- a/packages/browser-sync/test/fixtures/assets/import2.css +++ b/packages/browser-sync/test/fixtures/assets/import2.css @@ -1,3 +1,3 @@ body { background: red; -} \ No newline at end of file +} diff --git a/packages/browser-sync/test/fixtures/assets/print.css b/packages/browser-sync/test/fixtures/assets/print.css index b8d175e5a..daa902bff 100644 --- a/packages/browser-sync/test/fixtures/assets/print.css +++ b/packages/browser-sync/test/fixtures/assets/print.css @@ -5,4 +5,4 @@ body { .container { margin: 0 auto; width: 320px; -} \ No newline at end of file +} diff --git a/packages/browser-sync/test/fixtures/assets/style.css b/packages/browser-sync/test/fixtures/assets/style.css index ba3c1285f..26b77bac8 100644 --- a/packages/browser-sync/test/fixtures/assets/style.css +++ b/packages/browser-sync/test/fixtures/assets/style.css @@ -2,7 +2,6 @@ body { background: white; } - .container { margin: 0 auto; width: 320px; diff --git a/packages/browser-sync/test/fixtures/base.html b/packages/browser-sync/test/fixtures/base.html index 64d567b94..a4aefc51f 100644 --- a/packages/browser-sync/test/fixtures/base.html +++ b/packages/browser-sync/test/fixtures/base.html @@ -1,62 +1,60 @@ - - - - - Forms - - - - - -
-

Browsersync Ghost Mode: Form sync

- -

Links: synced

- Hompage - -
-

- - -

- -

- - -

- - -

Radio Buttons: synced

- -

- - - - -

- -

Check Boxes: synced

- -
- - - - + + + + + Forms + + + + +
+

Browsersync Ghost Mode: Form sync

+ +

Links: synced

+ Hompage + + +

+ + +

+ +

+ + +

+ + +

Radio Buttons: synced

+ +

+ + + + +

+ +

Check Boxes: synced

+ +
+ + + + +
+ +

+ + + + +
- -

- - - - - - -
- + diff --git a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-grid.css b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-grid.css index 2cbd51771..597f6bea8 100755 --- a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-grid.css +++ b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-grid.css @@ -5,1784 +5,1848 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ @-ms-viewport { - width: device-width; + width: device-width; } html { - box-sizing: border-box; - -ms-overflow-style: scrollbar; + box-sizing: border-box; + -ms-overflow-style: scrollbar; } *, *::before, *::after { - box-sizing: inherit; + box-sizing: inherit; } .container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } @media (min-width: 576px) { - .container { - max-width: 540px; - } + .container { + max-width: 540px; + } } @media (min-width: 768px) { - .container { - max-width: 720px; - } + .container { + max-width: 720px; + } } @media (min-width: 992px) { - .container { - max-width: 960px; - } + .container { + max-width: 960px; + } } @media (min-width: 1200px) { - .container { - max-width: 1140px; - } + .container { + max-width: 1140px; + } } .container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } .row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; } .no-gutters { - margin-right: 0; - margin-left: 0; + margin-right: 0; + margin-left: 0; } .no-gutters > .col, .no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .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-sm, -.col-sm-auto, .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-md, -.col-md-auto, .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-lg, -.col-lg-auto, .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, .col-xl, + padding-right: 0; + padding-left: 0; +} + +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-12, +.col, +.col-auto, +.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-sm, +.col-sm-auto, +.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-md, +.col-md-auto, +.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-lg, +.col-lg-auto, +.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, +.col-xl, .col-xl-auto { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } .col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } .col-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; } .col-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; } .col-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; } .col-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } .col-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; } .col-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; } .col-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } .col-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; } .col-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; } .col-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } .col-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; } .col-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; } .col-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } .order-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } .order-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } .order-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } .order-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } .order-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } .order-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } .order-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } .order-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } .order-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } .order-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } .order-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } .order-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } .order-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } .offset-1 { - margin-left: 8.333333%; + margin-left: 8.333333%; } .offset-2 { - margin-left: 16.666667%; + margin-left: 16.666667%; } .offset-3 { - margin-left: 25%; + margin-left: 25%; } .offset-4 { - margin-left: 33.333333%; + margin-left: 33.333333%; } .offset-5 { - margin-left: 41.666667%; + margin-left: 41.666667%; } .offset-6 { - margin-left: 50%; + margin-left: 50%; } .offset-7 { - margin-left: 58.333333%; + margin-left: 58.333333%; } .offset-8 { - margin-left: 66.666667%; + margin-left: 66.666667%; } .offset-9 { - margin-left: 75%; + margin-left: 75%; } .offset-10 { - margin-left: 83.333333%; + margin-left: 83.333333%; } .offset-11 { - margin-left: 91.666667%; + margin-left: 91.666667%; } @media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-sm-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-sm-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-sm-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } } @media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-md-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-md-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-lg-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-lg-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-xl-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-xl-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; -} - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; -} - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; -} - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; -} - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; -} - -.justify-content-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; -} - -.justify-content-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; -} - -.justify-content-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; -} - -.justify-content-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; -} - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; -} - -.align-items-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; -} - -.align-items-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; -} - -.align-items-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; -} - -.align-items-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; -} - -.align-items-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; -} - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; -} - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; -} - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; -} - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; -} - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; -} - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; -} - -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; -} - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; -} - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; -} - -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; -} - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; -} - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-md-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } } -@media (min-width: 768px) { - .flex-md-row { +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-lg-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-xl-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.flex-row { -webkit-box-orient: horizontal !important; -webkit-box-direction: normal !important; -ms-flex-direction: row !important; flex-direction: row !important; - } - .flex-md-column { +} + +.flex-column { -webkit-box-orient: vertical !important; -webkit-box-direction: normal !important; -ms-flex-direction: column !important; flex-direction: column !important; - } - .flex-md-row-reverse { +} + +.flex-row-reverse { -webkit-box-orient: horizontal !important; -webkit-box-direction: reverse !important; -ms-flex-direction: row-reverse !important; flex-direction: row-reverse !important; - } - .flex-md-column-reverse { +} + +.flex-column-reverse { -webkit-box-orient: vertical !important; -webkit-box-direction: reverse !important; -ms-flex-direction: column-reverse !important; flex-direction: column-reverse !important; - } - .flex-md-wrap { +} + +.flex-wrap { -ms-flex-wrap: wrap !important; flex-wrap: wrap !important; - } - .flex-md-nowrap { +} + +.flex-nowrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { +} + +.flex-wrap-reverse { -ms-flex-wrap: wrap-reverse !important; flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { +} + +.justify-content-start { -webkit-box-pack: start !important; -ms-flex-pack: start !important; justify-content: flex-start !important; - } - .justify-content-md-end { +} + +.justify-content-end { -webkit-box-pack: end !important; -ms-flex-pack: end !important; justify-content: flex-end !important; - } - .justify-content-md-center { +} + +.justify-content-center { -webkit-box-pack: center !important; -ms-flex-pack: center !important; justify-content: center !important; - } - .justify-content-md-between { +} + +.justify-content-between { -webkit-box-pack: justify !important; -ms-flex-pack: justify !important; justify-content: space-between !important; - } - .justify-content-md-around { +} + +.justify-content-around { -ms-flex-pack: distribute !important; justify-content: space-around !important; - } - .align-items-md-start { +} + +.align-items-start { -webkit-box-align: start !important; -ms-flex-align: start !important; align-items: flex-start !important; - } - .align-items-md-end { +} + +.align-items-end { -webkit-box-align: end !important; -ms-flex-align: end !important; align-items: flex-end !important; - } - .align-items-md-center { +} + +.align-items-center { -webkit-box-align: center !important; -ms-flex-align: center !important; align-items: center !important; - } - .align-items-md-baseline { +} + +.align-items-baseline { -webkit-box-align: baseline !important; -ms-flex-align: baseline !important; align-items: baseline !important; - } - .align-items-md-stretch { +} + +.align-items-stretch { -webkit-box-align: stretch !important; -ms-flex-align: stretch !important; align-items: stretch !important; - } - .align-content-md-start { +} + +.align-content-start { -ms-flex-line-pack: start !important; align-content: flex-start !important; - } - .align-content-md-end { +} + +.align-content-end { -ms-flex-line-pack: end !important; align-content: flex-end !important; - } - .align-content-md-center { +} + +.align-content-center { -ms-flex-line-pack: center !important; align-content: center !important; - } - .align-content-md-between { +} + +.align-content-between { -ms-flex-line-pack: justify !important; align-content: space-between !important; - } - .align-content-md-around { +} + +.align-content-around { -ms-flex-line-pack: distribute !important; align-content: space-around !important; - } - .align-content-md-stretch { +} + +.align-content-stretch { -ms-flex-line-pack: stretch !important; align-content: stretch !important; - } - .align-self-md-auto { +} + +.align-self-auto { -ms-flex-item-align: auto !important; align-self: auto !important; - } - .align-self-md-start { +} + +.align-self-start { -ms-flex-item-align: start !important; align-self: flex-start !important; - } - .align-self-md-end { +} + +.align-self-end { -ms-flex-item-align: end !important; align-self: flex-end !important; - } - .align-self-md-center { +} + +.align-self-center { -ms-flex-item-align: center !important; align-self: center !important; - } - .align-self-md-baseline { +} + +.align-self-baseline { -ms-flex-item-align: baseline !important; align-self: baseline !important; - } - .align-self-md-stretch { +} + +.align-self-stretch { -ms-flex-item-align: stretch !important; align-self: stretch !important; - } +} + +@media (min-width: 576px) { + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } @media (min-width: 992px) { - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } @media (min-width: 1200px) { - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } -} -/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } +} +/*# sourceMappingURL=bootstrap-grid.css.map */ diff --git a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-reboot.css b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-reboot.css index 3bad9fcf1..202a5d86d 100755 --- a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-reboot.css +++ b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap-reboot.css @@ -8,180 +8,197 @@ *, *::before, *::after { - box-sizing: border-box; + box-sizing: border-box; } html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; } @-ms-viewport { - width: device-width; + width: device-width; } -article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; +article, +aside, +dialog, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block; } body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; } [tabindex="-1"]:focus { - outline: 0 !important; + outline: 0 !important; } hr { - box-sizing: content-box; - height: 0; - overflow: visible; + box-sizing: content-box; + height: 0; + overflow: visible; } -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; } p { - margin-top: 0; - margin-bottom: 1rem; + margin-top: 0; + margin-bottom: 1rem; } abbr[title], abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; } address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } ol, ul, dl { - margin-top: 0; - margin-bottom: 1rem; + margin-top: 0; + margin-bottom: 1rem; } ol ol, ul ul, ol ul, ul ol { - margin-bottom: 0; + margin-bottom: 0; } dt { - font-weight: 700; + font-weight: 700; } dd { - margin-bottom: .5rem; - margin-left: 0; + margin-bottom: 0.5rem; + margin-left: 0; } blockquote { - margin: 0 0 1rem; + margin: 0 0 1rem; } dfn { - font-style: italic; + font-style: italic; } b, strong { - font-weight: bolder; + font-weight: bolder; } small { - font-size: 80%; + font-size: 80%; } sub, sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } sub { - bottom: -.25em; + bottom: -0.25em; } sup { - top: -.5em; + top: -0.5em; } a { - color: #007bff; - text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; } a:hover { - color: #0056b3; - text-decoration: underline; + color: #0056b3; + text-decoration: underline; } a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; + color: inherit; + text-decoration: none; } -a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none; +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; } a:not([href]):not([tabindex]):focus { - outline: 0; + outline: 0; } pre, code, kbd, samp { - font-family: monospace, monospace; - font-size: 1em; + font-family: monospace, monospace; + font-size: 1em; } pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; } figure { - margin: 0 0 1rem; + margin: 0 0 1rem; } img { - vertical-align: middle; - border-style: none; + vertical-align: middle; + border-style: none; } svg:not(:root) { - overflow: hidden; + overflow: hidden; } a, @@ -193,38 +210,38 @@ label, select, summary, textarea { - -ms-touch-action: manipulation; - touch-action: manipulation; + -ms-touch-action: manipulation; + touch-action: manipulation; } table { - border-collapse: collapse; + border-collapse: collapse; } caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #868e96; - text-align: left; - caption-side: bottom; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; } th { - text-align: inherit; + text-align: inherit; } label { - display: inline-block; - margin-bottom: .5rem; + display: inline-block; + margin-bottom: 0.5rem; } button { - border-radius: 0; + border-radius: 0; } button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } input, @@ -232,112 +249,112 @@ button, select, optgroup, textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } button, input { - overflow: visible; + overflow: visible; } button, select { - text-transform: none; + text-transform: none; } button, html [type="button"], [type="reset"], [type="submit"] { - -webkit-appearance: button; + -webkit-appearance: button; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; + padding: 0; + border-style: none; } input[type="radio"], input[type="checkbox"] { - box-sizing: border-box; - padding: 0; + box-sizing: border-box; + padding: 0; } input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { - -webkit-appearance: listbox; + -webkit-appearance: listbox; } textarea { - overflow: auto; - resize: vertical; + overflow: auto; + resize: vertical; } fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; + min-width: 0; + padding: 0; + margin: 0; + border: 0; } legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } progress { - vertical-align: baseline; + vertical-align: baseline; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { - height: auto; + height: auto; } [type="search"] { - outline-offset: -2px; - -webkit-appearance: none; + outline-offset: -2px; + -webkit-appearance: none; } [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } ::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; + font: inherit; + -webkit-appearance: button; } output { - display: inline-block; + display: inline-block; } summary { - display: list-item; - cursor: pointer; + display: list-item; + cursor: pointer; } template { - display: none; + display: none; } [hidden] { - display: none !important; + display: none !important; } -/*# sourceMappingURL=bootstrap-reboot.css.map */ \ No newline at end of file +/*# sourceMappingURL=bootstrap-reboot.css.map */ diff --git a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap.css b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap.css index c51f9741f..8a47062ee 100755 --- a/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap.css +++ b/packages/browser-sync/test/fixtures/bootstrap/css/bootstrap.css @@ -5,215 +5,234 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ :root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #868e96; - --gray-dark: #343a40; - --primary: #007bff;s - --secondarsy: #868e96; --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dask: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - - - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #868e96; + --gray-dark: #343a40; + --primary: #007bff; + s--secondarsy: #868e96; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dask: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", + "Courier New", monospace; } - *, *::before, *::after { - box-sizing: border-box; + box-sizing: border-box; } html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; } @-ms-viewport { - width: device-width; -} - -article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; + width: device-width; +} + +article, +aside, +dialog, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block; } body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; } [tabindex="-1"]:focus { - outline: 0 !important; + outline: 0 !important; } hr { - box-sizing: content-box; - height: 0; - overflow: visible; + box-sizing: content-box; + height: 0; + overflow: visible; } -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; } p { - margin-top: 0; - margin-bottom: 1rem; + margin-top: 0; + margin-bottom: 1rem; } abbr[title], abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; } address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } ol, ul, dl { - margin-top: 0; - margin-bottom: 1rem; + margin-top: 0; + margin-bottom: 1rem; } ol ol, ul ul, ol ul, ul ol { - margin-bottom: 0; + margin-bottom: 0; } dt { - font-weight: 700; + font-weight: 700; } dd { - margin-bottom: .5rem; - margin-left: 0; + margin-bottom: 0.5rem; + margin-left: 0; } blockquote { - margin: 0 0 1rem; + margin: 0 0 1rem; } dfn { - font-style: italic; + font-style: italic; } b, strong { - font-weight: bolder; + font-weight: bolder; } small { - font-size: 80%; + font-size: 80%; } sub, sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } sub { - bottom: -.25em; + bottom: -0.25em; } sup { - top: -.5em; + top: -0.5em; } a { - color: #007bff; - text-decoration: none; - background-color: transparent; - -webkit-text-decoration-skip: objects; + color: #007bff; + text-decoration: none; + background-color: transparent; + -webkit-text-decoration-skip: objects; } a:hover { - color: #0056b3; - text-decoration: underline; + color: #0056b3; + text-decoration: underline; } a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; + color: inherit; + text-decoration: none; } -a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover { - color: inherit; - text-decoration: none; +a:not([href]):not([tabindex]):focus, +a:not([href]):not([tabindex]):hover { + color: inherit; + text-decoration: none; } a:not([href]):not([tabindex]):focus { - outline: 0; + outline: 0; } pre, code, kbd, samp { - font-family: monospace, monospace; - font-size: 1em; + font-family: monospace, monospace; + font-size: 1em; } pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + -ms-overflow-style: scrollbar; } figure { - margin: 0 0 1rem; + margin: 0 0 1rem; } img { - vertical-align: middle; - border-style: none; + vertical-align: middle; + border-style: none; } svg:not(:root) { - overflow: hidden; + overflow: hidden; } a, @@ -225,38 +244,38 @@ label, select, summary, textarea { - -ms-touch-action: manipulation; - touch-action: manipulation; + -ms-touch-action: manipulation; + touch-action: manipulation; } table { - border-collapse: collapse; + border-collapse: collapse; } caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #868e96; - text-align: left; - caption-side: bottom; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #868e96; + text-align: left; + caption-side: bottom; } th { - text-align: inherit; + text-align: inherit; } label { - display: inline-block; - margin-bottom: .5rem; + display: inline-block; + margin-bottom: 0.5rem; } button { - border-radius: 0; + border-radius: 0; } button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } input, @@ -264,2098 +283,2178 @@ button, select, optgroup, textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } button, input { - overflow: visible; + overflow: visible; } button, select { - text-transform: none; + text-transform: none; } button, html [type="button"], [type="reset"], [type="submit"] { - -webkit-appearance: button; + -webkit-appearance: button; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; + padding: 0; + border-style: none; } input[type="radio"], input[type="checkbox"] { - box-sizing: border-box; - padding: 0; + box-sizing: border-box; + padding: 0; } input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { - -webkit-appearance: listbox; + -webkit-appearance: listbox; } textarea { - overflow: auto; - resize: vertical; + overflow: auto; + resize: vertical; } fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; + min-width: 0; + padding: 0; + margin: 0; + border: 0; } legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } progress { - vertical-align: baseline; + vertical-align: baseline; } [type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { - height: auto; + height: auto; } [type="search"] { - outline-offset: -2px; - -webkit-appearance: none; + outline-offset: -2px; + -webkit-appearance: none; } [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { - -webkit-appearance: none; + -webkit-appearance: none; } ::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; + font: inherit; + -webkit-appearance: button; } output { - display: inline-block; + display: inline-block; } summary { - display: list-item; - cursor: pointer; + display: list-item; + cursor: pointer; } template { - display: none; + display: none; } [hidden] { - display: none !important; + display: none !important; } -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-family: inherit; - font-weight: 500; - line-height: 1.2; - color: inherit; +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: inherit; } -h1, .h1 { - font-size: 2.5rem; +h1, +.h1 { + font-size: 2.5rem; } -h2, .h2 { - font-size: 2rem; +h2, +.h2 { + font-size: 2rem; } -h3, .h3 { - font-size: 1.75rem; +h3, +.h3 { + font-size: 1.75rem; } -h4, .h4 { - font-size: 1.5rem; +h4, +.h4 { + font-size: 1.5rem; } -h5, .h5 { - font-size: 1.25rem; +h5, +.h5 { + font-size: 1.25rem; } -h6, .h6 { - font-size: 1rem; +h6, +.h6 { + font-size: 1rem; } .lead { - font-size: 1.25rem; - font-weight: 300; + font-size: 1.25rem; + font-weight: 300; } .display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; + font-size: 6rem; + font-weight: 300; + line-height: 1.2; } .display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; } .display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; } .display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; } hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); } small, .small { - font-size: 80%; - font-weight: 400; + font-size: 80%; + font-weight: 400; } mark, .mark { - padding: 0.2em; - background-color: #fcf8e3; + padding: 0.2em; + background-color: #fcf8e3; } .list-unstyled { - padding-left: 0; - list-style: none; + padding-left: 0; + list-style: none; } .list-inline { - padding-left: 0; - list-style: none; + padding-left: 0; + list-style: none; } .list-inline-item { - display: inline-block; + display: inline-block; } .list-inline-item:not(:last-child) { - margin-right: 0.5rem; + margin-right: 0.5rem; } .initialism { - font-size: 90%; - text-transform: uppercase; + font-size: 90%; + text-transform: uppercase; } .blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; + margin-bottom: 1rem; + font-size: 1.25rem; } .blockquote-footer { - display: block; - font-size: 80%; - color: #868e96; + display: block; + font-size: 80%; + color: #868e96; } .blockquote-footer::before { - content: "\2014 \00A0"; + content: "\2014 \00A0"; } .img-fluid { - max-width: 100%; - height: auto; + max-width: 100%; + height: auto; } .img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; } .figure { - display: inline-block; + display: inline-block; } .figure-img { - margin-bottom: 0.5rem; - line-height: 1; + margin-bottom: 0.5rem; + line-height: 1; } .figure-caption { - font-size: 90%; - color: #868e96; + font-size: 90%; + color: #868e96; } code, kbd, pre, samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", + monospace; } code { - font-size: 87.5%; - color: #e83e8c; - word-break: break-word; + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; } a > code { - color: inherit; + color: inherit; } kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; } kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; + padding: 0; + font-size: 100%; + font-weight: 700; } pre { - display: block; - font-size: 87.5%; - color: #212529; + display: block; + font-size: 87.5%; + color: #212529; } pre code { - font-size: inherit; - color: inherit; - word-break: normal; + font-size: inherit; + color: inherit; + word-break: normal; } .pre-scrollable { - max-height: 340px; - overflow-y: scroll; + max-height: 340px; + overflow-y: scroll; } .container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } @media (min-width: 576px) { - .container { - max-width: 540px; - } + .container { + max-width: 540px; + } } @media (min-width: 768px) { - .container { - max-width: 720px; - } + .container { + max-width: 720px; + } } @media (min-width: 992px) { - .container { - max-width: 960px; - } + .container { + max-width: 960px; + } } @media (min-width: 1200px) { - .container { - max-width: 1140px; - } + .container { + max-width: 1140px; + } } .container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } .row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; } .no-gutters { - margin-right: 0; - margin-left: 0; + margin-right: 0; + margin-left: 0; } .no-gutters > .col, .no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .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-sm, -.col-sm-auto, .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-md, -.col-md-auto, .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-lg, -.col-lg-auto, .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, .col-xl, +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-12, +.col, +.col-auto, +.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-sm, +.col-sm-auto, +.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-md, +.col-md-auto, +.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-lg, +.col-lg-auto, +.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, +.col-xl, .col-xl-auto { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 15px; - padding-left: 15px; + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; } .col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } .col-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; } .col-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; } .col-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; } .col-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } .col-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; } .col-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; } .col-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } .col-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; } .col-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; } .col-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } .col-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; } .col-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; } .col-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } .order-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } .order-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } .order-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } .order-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } .order-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } .order-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } .order-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } .order-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } .order-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } .order-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } .order-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } .order-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } .order-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } .offset-1 { - margin-left: 8.333333%; + margin-left: 8.333333%; } .offset-2 { - margin-left: 16.666667%; + margin-left: 16.666667%; } .offset-3 { - margin-left: 25%; + margin-left: 25%; } .offset-4 { - margin-left: 33.333333%; + margin-left: 33.333333%; } .offset-5 { - margin-left: 41.666667%; + margin-left: 41.666667%; } .offset-6 { - margin-left: 50%; + margin-left: 50%; } .offset-7 { - margin-left: 58.333333%; + margin-left: 58.333333%; } .offset-8 { - margin-left: 66.666667%; + margin-left: 66.666667%; } .offset-9 { - margin-left: 75%; + margin-left: 75%; } .offset-10 { - margin-left: 83.333333%; + margin-left: 83.333333%; } .offset-11 { - margin-left: 91.666667%; + margin-left: 91.666667%; } @media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-sm-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-sm-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-sm-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-sm-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-sm-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-sm-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-sm-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-sm-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-sm-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-sm-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-sm-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-sm-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-sm-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-sm-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-sm-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-sm-0 { + margin-left: 0; + } + .offset-sm-1 { + margin-left: 8.333333%; + } + .offset-sm-2 { + margin-left: 16.666667%; + } + .offset-sm-3 { + margin-left: 25%; + } + .offset-sm-4 { + margin-left: 33.333333%; + } + .offset-sm-5 { + margin-left: 41.666667%; + } + .offset-sm-6 { + margin-left: 50%; + } + .offset-sm-7 { + margin-left: 58.333333%; + } + .offset-sm-8 { + margin-left: 66.666667%; + } + .offset-sm-9 { + margin-left: 75%; + } + .offset-sm-10 { + margin-left: 83.333333%; + } + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-md-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-md-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-md-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-md-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-md-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-md-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-md-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-md-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-md-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-md-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-md-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-md-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-md-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-md-0 { + margin-left: 0; + } + .offset-md-1 { + margin-left: 8.333333%; + } + .offset-md-2 { + margin-left: 16.666667%; + } + .offset-md-3 { + margin-left: 25%; + } + .offset-md-4 { + margin-left: 33.333333%; + } + .offset-md-5 { + margin-left: 41.666667%; + } + .offset-md-6 { + margin-left: 50%; + } + .offset-md-7 { + margin-left: 58.333333%; + } + .offset-md-8 { + margin-left: 66.666667%; + } + .offset-md-9 { + margin-left: 75%; + } + .offset-md-10 { + margin-left: 83.333333%; + } + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-lg-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-lg-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-lg-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-lg-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-lg-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-lg-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-lg-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-lg-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-lg-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-lg-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-lg-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-lg-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-lg-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-lg-0 { + margin-left: 0; + } + .offset-lg-1 { + margin-left: 8.333333%; + } + .offset-lg-2 { + margin-left: 16.666667%; + } + .offset-lg-3 { + margin-left: 25%; + } + .offset-lg-4 { + margin-left: 33.333333%; + } + .offset-lg-5 { + margin-left: 41.666667%; + } + .offset-lg-6 { + margin-left: 50%; + } + .offset-lg-7 { + margin-left: 58.333333%; + } + .offset-lg-8 { + margin-left: 66.666667%; + } + .offset-lg-9 { + margin-left: 75%; + } + .offset-lg-10 { + margin-left: 83.333333%; + } + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; + } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: none; + } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.333333%; + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.666667%; + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; + } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.666667%; + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.333333%; + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.666667%; + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; + } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.333333%; + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.666667%; + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; + } + .order-xl-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; + } + .order-xl-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; + } + .order-xl-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; + } + .order-xl-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; + } + .order-xl-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; + } + .order-xl-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; + } + .order-xl-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; + } + .order-xl-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; + } + .order-xl-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; + } + .order-xl-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; + } + .order-xl-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; + } + .order-xl-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; + } + .order-xl-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; + } + .offset-xl-0 { + margin-left: 0; + } + .offset-xl-1 { + margin-left: 8.333333%; + } + .offset-xl-2 { + margin-left: 16.666667%; + } + .offset-xl-3 { + margin-left: 25%; + } + .offset-xl-4 { + margin-left: 33.333333%; + } + .offset-xl-5 { + margin-left: 41.666667%; + } + .offset-xl-6 { + margin-left: 50%; + } + .offset-xl-7 { + margin-left: 58.333333%; + } + .offset-xl-8 { + margin-left: 66.666667%; + } + .offset-xl-9 { + margin-left: 75%; + } + .offset-xl-10 { + margin-left: 83.333333%; + } + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; max-width: 100%; - } - .order-sm-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-sm-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-sm-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-sm-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-sm-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-sm-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-sm-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-sm-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-sm-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-sm-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-sm-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-sm-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-sm-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-md-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-md-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-md-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-md-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-md-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-md-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-md-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-md-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-md-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-md-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-md-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-md-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-md-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-md-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-lg-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-lg-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-lg-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-lg-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-lg-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-lg-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-lg-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-lg-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-lg-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-lg-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-lg-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-lg-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-lg-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-lg-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; - } - .col-xl-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: none; - } - .col-xl-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.333333%; - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.666667%; - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.666667%; - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.333333%; - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.666667%; - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.333333%; - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.666667%; - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; - } - .order-xl-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; - } - .order-xl-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; - } - .order-xl-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; - } - .order-xl-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; - } - .order-xl-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; - } - .order-xl-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; - } - .order-xl-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; - } - .order-xl-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; - } - .order-xl-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; - } - .order-xl-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; - } - .order-xl-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; - } - .order-xl-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - max-width: 100%; - margin-bottom: 1rem; - background-color: transparent; + margin-bottom: 1rem; + background-color: transparent; } .table th, .table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; } .table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; } .table tbody + tbody { - border-top: 2px solid #dee2e6; + border-top: 2px solid #dee2e6; } .table .table { - background-color: #fff; + background-color: #fff; } .table-sm th, .table-sm td { - padding: 0.3rem; + padding: 0.3rem; } .table-bordered { - border: 1px solid #dee2e6; + border: 1px solid #dee2e6; } .table-bordered th, .table-bordered td { - border: 1px solid #dee2e6; + border: 1px solid #dee2e6; } .table-bordered thead th, .table-bordered thead td { - border-bottom-width: 2px; + border-bottom-width: 2px; } .table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); + background-color: rgba(0, 0, 0, 0.05); } .table-hover tbody tr:hover { - background-color: rgba(0, 0, 0, 0.075); + background-color: rgba(0, 0, 0, 0.075); } .table-primary, .table-primary > th, .table-primary > td { - background-color: #b8daff; + background-color: #b8daff; } .table-hover .table-primary:hover { - background-color: #9fcdff; + background-color: #9fcdff; } .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th { - background-color: #9fcdff; + background-color: #9fcdff; } .table-secondary, .table-secondary > th, .table-secondary > td { - background-color: #dddfe2; + background-color: #dddfe2; } .table-hover .table-secondary:hover { - background-color: #cfd2d6; + background-color: #cfd2d6; } .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th { - background-color: #cfd2d6; + background-color: #cfd2d6; } .table-success, .table-success > th, .table-success > td { - background-color: #c3e6cb; + background-color: #c3e6cb; } .table-hover .table-success:hover { - background-color: #b1dfbb; + background-color: #b1dfbb; } .table-hover .table-success:hover > td, .table-hover .table-success:hover > th { - background-color: #b1dfbb; + background-color: #b1dfbb; } .table-info, .table-info > th, .table-info > td { - background-color: #bee5eb; + background-color: #bee5eb; } .table-hover .table-info:hover { - background-color: #abdde5; + background-color: #abdde5; } .table-hover .table-info:hover > td, .table-hover .table-info:hover > th { - background-color: #abdde5; + background-color: #abdde5; } .table-warning, .table-warning > th, .table-warning > td { - background-color: #ffeeba; + background-color: #ffeeba; } .table-hover .table-warning:hover { - background-color: #ffe8a1; + background-color: #ffe8a1; } .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { - background-color: #ffe8a1; + background-color: #ffe8a1; } .table-danger, .table-danger > th, .table-danger > td { - background-color: #f5c6cb; + background-color: #f5c6cb; } .table-hover .table-danger:hover { - background-color: #f1b0b7; + background-color: #f1b0b7; } .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { - background-color: #f1b0b7; + background-color: #f1b0b7; } .table-light, .table-light > th, .table-light > td { - background-color: #fdfdfe; + background-color: #fdfdfe; } .table-hover .table-light:hover { - background-color: #ececf6; + background-color: #ececf6; } .table-hover .table-light:hover > td, .table-hover .table-light:hover > th { - background-color: #ececf6; + background-color: #ececf6; } .table-dark, .table-dark > th, .table-dark > td { - background-color: #c6c8ca; + background-color: #c6c8ca; } .table-hover .table-dark:hover { - background-color: #b9bbbe; + background-color: #b9bbbe; } .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th { - background-color: #b9bbbe; + background-color: #b9bbbe; } .table-active, .table-active > th, .table-active > td { - background-color: rgba(0, 0, 0, 0.075); + background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); + background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); + background-color: rgba(0, 0, 0, 0.075); } .table .thead-dark th { - color: #fff; - background-color: #212529; - border-color: #32383e; + color: #fff; + background-color: #212529; + border-color: #32383e; } .table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; } .table-dark { - color: #fff; - background-color: #212529; + color: #fff; + background-color: #212529; } .table-dark th, .table-dark td, .table-dark thead th { - border-color: #32383e; + border-color: #32383e; } .table-dark.table-bordered { - border: 0; + border: 0; } .table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); + background-color: rgba(255, 255, 255, 0.05); } .table-dark.table-hover tbody tr:hover { - background-color: rgba(255, 255, 255, 0.075); + background-color: rgba(255, 255, 255, 0.075); } @media (max-width: 575.99px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-sm > .table-bordered { - border: 0; - } + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-sm > .table-bordered { + border: 0; + } } @media (max-width: 767.99px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} - -@media (max-width: 991.99px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-lg > .table-bordered { - border: 0; - } + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-md > .table-bordered { + border: 0; + } +} + +@media (max-width: 991.99px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-lg > .table-bordered { + border: 0; + } } @media (max-width: 1199.99px) { - .table-responsive-xl { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .table-responsive-xl > .table-bordered { + border: 0; + } +} + +.table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; -ms-overflow-style: -ms-autohiding-scrollbar; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - -ms-overflow-style: -ms-autohiding-scrollbar; } .table-responsive > .table-bordered { - border: 0; + border: 0; } .form-control { - display: block; - width: 100%; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } .form-control::-ms-expand { - background-color: transparent; - border: 0; + background-color: transparent; + border: 0; } .form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control::-webkit-input-placeholder { - color: #868e96; - opacity: 1; + color: #868e96; + opacity: 1; } .form-control::-moz-placeholder { - color: #868e96; - opacity: 1; + color: #868e96; + opacity: 1; } .form-control:-ms-input-placeholder { - color: #868e96; - opacity: 1; + color: #868e96; + opacity: 1; } .form-control::-ms-input-placeholder { - color: #868e96; - opacity: 1; + color: #868e96; + opacity: 1; } .form-control::placeholder { - color: #868e96; - opacity: 1; + color: #868e96; + opacity: 1; } -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; +.form-control:disabled, +.form-control[readonly] { + background-color: #e9ecef; + opacity: 1; } select.form-control:not([size]):not([multiple]) { - height: calc(2.25rem + 2px); + height: calc(2.25rem + 2px); } select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; + color: #495057; + background-color: #fff; } .form-control-file, .form-control-range { - display: block; - width: 100%; + display: block; + width: 100%; } .col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; } .col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; } .col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; } .form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, +.input-group-sm > .form-control-plaintext.form-control, .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, -.input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, +.input-group-sm > .input-group-append > .form-control-plaintext.btn, +.form-control-plaintext.form-control-lg, +.input-group-lg > .form-control-plaintext.form-control, .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, .input-group-lg > .input-group-append > .form-control-plaintext.btn { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } -.form-control-sm, .input-group-sm > .form-control, +.form-control-sm, +.input-group-sm > .form-control, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } -select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +select.form-control-sm:not([size]):not([multiple]), +.input-group-sm > select.form-control:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(1.8125rem + 2px); + height: calc(1.8125rem + 2px); } -.form-control-lg, .input-group-lg > .form-control, +.form-control-lg, +.input-group-lg > .form-control, .input-group-lg > .input-group-prepend > .input-group-text, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-append > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } -select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +select.form-control-lg:not([size]):not([multiple]), +.input-group-lg > select.form-control:not([size]):not([multiple]), .input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), .input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), .input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(2.875rem + 2px); + height: calc(2.875rem + 2px); } .form-group { - margin-bottom: 1rem; + margin-bottom: 1rem; } .form-text { - display: block; - margin-top: 0.25rem; + display: block; + margin-top: 0.25rem; } .form-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; } .form-row > .col, .form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; + padding-right: 5px; + padding-left: 5px; } .form-check { - position: relative; - display: block; - padding-left: 1.25rem; + position: relative; + display: block; + padding-left: 1.25rem; } .form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; } .form-check-input:disabled ~ .form-check-label { - color: #868e96; + color: #868e96; } .form-check-label { - margin-bottom: 0; + margin-bottom: 0; } .form-check-inline { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; } .form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; } .valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; } .valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - width: 250px; - padding: .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1; - color: #fff; - background-color: rgba(40, 167, 69, 0.8); - border-radius: .2rem; -} - -.was-validated .form-control:valid, .form-control.is-valid, .was-validated -.custom-select:valid, + position: absolute; + top: 100%; + z-index: 5; + display: none; + width: 250px; + padding: 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1; + color: #fff; + background-color: rgba(40, 167, 69, 0.8); + border-radius: 0.2rem; +} + +.was-validated .form-control:valid, +.form-control.is-valid, +.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #28a745; + border-color: #28a745; } -.was-validated .form-control:valid:focus, .form-control.is-valid:focus, .was-validated -.custom-select:valid:focus, +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus, +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .was-validated .form-control:valid ~ .valid-feedback, -.was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, -.form-control.is-valid ~ .valid-tooltip, .was-validated -.custom-select:valid ~ .valid-feedback, -.was-validated -.custom-select:valid ~ .valid-tooltip, +.was-validated .form-control:valid ~ .valid-tooltip, +.form-control.is-valid ~ .valid-feedback, +.form-control.is-valid ~ .valid-tooltip, +.was-validated .custom-select:valid ~ .valid-feedback, +.was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, .custom-select.is-valid ~ .valid-tooltip { - display: block; + display: block; } -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; +.was-validated .form-check-input:valid ~ .form-check-label, +.form-check-input.is-valid ~ .form-check-label { + color: #28a745; } -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; +.was-validated .custom-control-input:valid ~ .custom-control-label, +.custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; } -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - background-color: #71dd8a; +.was-validated .custom-control-input:valid ~ .custom-control-label::before, +.custom-control-input.is-valid ~ .custom-control-label::before { + background-color: #71dd8a; } .was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, +.custom-control-input.is-valid ~ .valid-feedback, .custom-control-input.is-valid ~ .valid-tooltip { - display: block; + display: block; } -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - background-color: #34ce57; +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, +.custom-control-input.is-valid:checked ~ .custom-control-label::before { + background-color: #34ce57; } -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, +.custom-control-input.is-valid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; +.was-validated .custom-file-input:valid ~ .custom-file-label, +.custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; } -.was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { - border-color: inherit; +.was-validated .custom-file-input:valid ~ .custom-file-label::before, +.custom-file-input.is-valid ~ .custom-file-label::before { + border-color: inherit; } .was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, +.custom-file-input.is-valid ~ .valid-feedback, .custom-file-input.is-valid ~ .valid-tooltip { - display: block; + display: block; } -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, +.custom-file-input.is-valid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } .invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; } .invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - width: 250px; - padding: .5rem; - margin-top: .1rem; - font-size: .875rem; - line-height: 1; - color: #fff; - background-color: rgba(220, 53, 69, 0.8); - border-radius: .2rem; -} - -.was-validated .form-control:invalid, .form-control.is-invalid, .was-validated -.custom-select:invalid, + position: absolute; + top: 100%; + z-index: 5; + display: none; + width: 250px; + padding: 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + line-height: 1; + color: #fff; + background-color: rgba(220, 53, 69, 0.8); + border-radius: 0.2rem; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid, +.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dc3545; + border-color: #dc3545; } -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus, .was-validated -.custom-select:invalid:focus, +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus, +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .was-validated .form-control:invalid ~ .invalid-feedback, -.was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, -.form-control.is-invalid ~ .invalid-tooltip, .was-validated -.custom-select:invalid ~ .invalid-feedback, -.was-validated -.custom-select:invalid ~ .invalid-tooltip, +.was-validated .form-control:invalid ~ .invalid-tooltip, +.form-control.is-invalid ~ .invalid-feedback, +.form-control.is-invalid ~ .invalid-tooltip, +.was-validated .custom-select:invalid ~ .invalid-feedback, +.was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, .custom-select.is-invalid ~ .invalid-tooltip { - display: block; + display: block; } -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; +.was-validated .form-check-input:invalid ~ .form-check-label, +.form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; } -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; +.was-validated .custom-control-input:invalid ~ .custom-control-label, +.custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; } -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - background-color: #efa2a9; +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, +.custom-control-input.is-invalid ~ .custom-control-label::before { + background-color: #efa2a9; } .was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, +.custom-control-input.is-invalid ~ .invalid-feedback, .custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; + display: block; } -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - background-color: #e4606d; +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, +.custom-control-input.is-invalid:checked ~ .custom-control-label::before { + background-color: #e4606d; } -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, +.custom-control-input.is-invalid:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; +.was-validated .custom-file-input:invalid ~ .custom-file-label, +.custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; } -.was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { - border-color: inherit; +.was-validated .custom-file-input:invalid ~ .custom-file-label::before, +.custom-file-input.is-invalid ~ .custom-file-label::before { + border-color: inherit; } .was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, +.custom-file-input.is-invalid ~ .invalid-feedback, .custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; + display: block; } -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, +.custom-file-input.is-invalid:focus ~ .custom-file-label { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } .form-inline { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { display: -webkit-box; display: -ms-flexbox; display: flex; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; @@ -2363,887 +2462,990 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for -webkit-box-align: center; -ms-flex-align: center; align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group { - width: auto; - } - .form-inline .form-check { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-plaintext { + display: inline-block; + } + .form-inline .input-group { + width: auto; + } + .form-inline .form-check { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; + } + .form-inline .form-check-input { + position: relative; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + .form-inline .custom-control { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + } + .form-inline .custom-control-label { + margin-bottom: 0; + } } .btn { - display: inline-block; - font-weight: 400; - text-align: center; - white-space: nowrap; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, + border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } -.btn:focus, .btn:hover { - text-decoration: none; +.btn:focus, +.btn:hover { + text-decoration: none; } -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +.btn:focus, +.btn.focus { + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } -.btn.disabled, .btn:disabled { - opacity: 0.65; +.btn.disabled, +.btn:disabled { + opacity: 0.65; } .btn:not([disabled]):not(.disabled) { - cursor: pointer; + cursor: pointer; } -.btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active { - background-image: none; +.btn:not([disabled]):not(.disabled):active, +.btn:not([disabled]):not(.disabled).active { + background-image: none; } a.btn.disabled, fieldset[disabled] a.btn { - pointer-events: none; + pointer-events: none; } .btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; + color: #fff; + background-color: #007bff; + border-color: #007bff; } .btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; + color: #fff; + background-color: #0069d9; + border-color: #0062cc; } -.btn-primary:focus, .btn-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +.btn-primary:focus, +.btn-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } -.btn-primary.disabled, .btn-primary:disabled { - background-color: #007bff; - border-color: #007bff; +.btn-primary.disabled, +.btn-primary:disabled { + background-color: #007bff; + border-color: #007bff; } -.btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active, +.btn-primary:not([disabled]):not(.disabled):active, +.btn-primary:not([disabled]):not(.disabled).active, .show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; + color: #fff; + background-color: #0062cc; + border-color: #005cbf; } -.btn-primary:not([disabled]):not(.disabled):active:focus, .btn-primary:not([disabled]):not(.disabled).active:focus, +.btn-primary:not([disabled]):not(.disabled):active:focus, +.btn-primary:not([disabled]):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-secondary { - color: #fff; - background-color: #868e96; - border-color: #868e96; + color: #fff; + background-color: #868e96; + border-color: #868e96; } .btn-secondary:hover { - color: #fff; - background-color: #727b84; - border-color: #6c757d; + color: #fff; + background-color: #727b84; + border-color: #6c757d; } -.btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +.btn-secondary:focus, +.btn-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } -.btn-secondary.disabled, .btn-secondary:disabled { - background-color: #868e96; - border-color: #868e96; +.btn-secondary.disabled, +.btn-secondary:disabled { + background-color: #868e96; + border-color: #868e96; } -.btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active, +.btn-secondary:not([disabled]):not(.disabled):active, +.btn-secondary:not([disabled]):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #666e76; + color: #fff; + background-color: #6c757d; + border-color: #666e76; } -.btn-secondary:not([disabled]):not(.disabled):active:focus, .btn-secondary:not([disabled]):not(.disabled).active:focus, +.btn-secondary:not([disabled]):not(.disabled):active:focus, +.btn-secondary:not([disabled]):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; + color: #fff; + background-color: #28a745; + border-color: #28a745; } .btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; + color: #fff; + background-color: #218838; + border-color: #1e7e34; } -.btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +.btn-success:focus, +.btn-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } -.btn-success.disabled, .btn-success:disabled { - background-color: #28a745; - border-color: #28a745; +.btn-success.disabled, +.btn-success:disabled { + background-color: #28a745; + border-color: #28a745; } -.btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active, +.btn-success:not([disabled]):not(.disabled):active, +.btn-success:not([disabled]):not(.disabled).active, .show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; } -.btn-success:not([disabled]):not(.disabled):active:focus, .btn-success:not([disabled]):not(.disabled).active:focus, +.btn-success:not([disabled]):not(.disabled):active:focus, +.btn-success:not([disabled]):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } .btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; + color: #fff; + background-color: #138496; + border-color: #117a8b; } -.btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +.btn-info:focus, +.btn-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } -.btn-info.disabled, .btn-info:disabled { - background-color: #17a2b8; - border-color: #17a2b8; +.btn-info.disabled, +.btn-info:disabled { + background-color: #17a2b8; + border-color: #17a2b8; } -.btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active, +.btn-info:not([disabled]):not(.disabled):active, +.btn-info:not([disabled]):not(.disabled).active, .show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; + color: #fff; + background-color: #117a8b; + border-color: #10707f; } -.btn-info:not([disabled]):not(.disabled):active:focus, .btn-info:not([disabled]):not(.disabled).active:focus, +.btn-info:not([disabled]):not(.disabled):active:focus, +.btn-info:not([disabled]):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } .btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; + color: #212529; + background-color: #e0a800; + border-color: #d39e00; } -.btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +.btn-warning:focus, +.btn-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } -.btn-warning.disabled, .btn-warning:disabled { - background-color: #ffc107; - border-color: #ffc107; +.btn-warning.disabled, +.btn-warning:disabled { + background-color: #ffc107; + border-color: #ffc107; } -.btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active, +.btn-warning:not([disabled]):not(.disabled):active, +.btn-warning:not([disabled]):not(.disabled).active, .show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; + color: #212529; + background-color: #d39e00; + border-color: #c69500; } -.btn-warning:not([disabled]):not(.disabled):active:focus, .btn-warning:not([disabled]):not(.disabled).active:focus, +.btn-warning:not([disabled]):not(.disabled):active:focus, +.btn-warning:not([disabled]):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } .btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; + color: #fff; + background-color: #c82333; + border-color: #bd2130; } -.btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +.btn-danger:focus, +.btn-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } -.btn-danger.disabled, .btn-danger:disabled { - background-color: #dc3545; - border-color: #dc3545; +.btn-danger.disabled, +.btn-danger:disabled { + background-color: #dc3545; + border-color: #dc3545; } -.btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active, +.btn-danger:not([disabled]):not(.disabled):active, +.btn-danger:not([disabled]):not(.disabled).active, .show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; } -.btn-danger:not([disabled]):not(.disabled):active:focus, .btn-danger:not([disabled]):not(.disabled).active:focus, +.btn-danger:not([disabled]):not(.disabled):active:focus, +.btn-danger:not([disabled]):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } .btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; } -.btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +.btn-light:focus, +.btn-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } -.btn-light.disabled, .btn-light:disabled { - background-color: #f8f9fa; - border-color: #f8f9fa; +.btn-light.disabled, +.btn-light:disabled { + background-color: #f8f9fa; + border-color: #f8f9fa; } -.btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active, +.btn-light:not([disabled]):not(.disabled):active, +.btn-light:not([disabled]):not(.disabled).active, .show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; } -.btn-light:not([disabled]):not(.disabled):active:focus, .btn-light:not([disabled]):not(.disabled).active:focus, +.btn-light:not([disabled]):not(.disabled):active:focus, +.btn-light:not([disabled]):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; + color: #fff; + background-color: #343a40; + border-color: #343a40; } .btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; + color: #fff; + background-color: #23272b; + border-color: #1d2124; } -.btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +.btn-dark:focus, +.btn-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } -.btn-dark.disabled, .btn-dark:disabled { - background-color: #343a40; - border-color: #343a40; +.btn-dark.disabled, +.btn-dark:disabled { + background-color: #343a40; + border-color: #343a40; } -.btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active, +.btn-dark:not([disabled]):not(.disabled):active, +.btn-dark:not([disabled]):not(.disabled).active, .show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; + color: #fff; + background-color: #1d2124; + border-color: #171a1d; } -.btn-dark:not([disabled]):not(.disabled):active:focus, .btn-dark:not([disabled]):not(.disabled).active:focus, +.btn-dark:not([disabled]):not(.disabled):active:focus, +.btn-dark:not([disabled]):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-outline-primary { - color: #007bff; - background-color: transparent; - background-image: none; - border-color: #007bff; + color: #007bff; + background-color: transparent; + background-image: none; + border-color: #007bff; } .btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; + color: #fff; + background-color: #007bff; + border-color: #007bff; } -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); +.btn-outline-primary:focus, +.btn-outline-primary.focus { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; } -.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active, +.btn-outline-primary:not([disabled]):not(.disabled):active, +.btn-outline-primary:not([disabled]):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { - color: #212529; - background-color: #007bff; - border-color: #007bff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); + color: #212529; + background-color: #007bff; + border-color: #007bff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } .btn-outline-secondary { - color: #868e96; - background-color: transparent; - background-image: none; - border-color: #868e96; + color: #868e96; + background-color: transparent; + background-image: none; + border-color: #868e96; } .btn-outline-secondary:hover { - color: #fff; - background-color: #868e96; - border-color: #868e96; + color: #fff; + background-color: #868e96; + border-color: #868e96; } -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); +.btn-outline-secondary:focus, +.btn-outline-secondary.focus { + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #868e96; - background-color: transparent; +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #868e96; + background-color: transparent; } -.btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active, +.btn-outline-secondary:not([disabled]):not(.disabled):active, +.btn-outline-secondary:not([disabled]):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { - color: #212529; - background-color: #868e96; - border-color: #868e96; - box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); + color: #212529; + background-color: #868e96; + border-color: #868e96; + box-shadow: 0 0 0 0.2rem rgba(134, 142, 150, 0.5); } .btn-outline-success { - color: #28a745; - background-color: transparent; - background-image: none; - border-color: #28a745; + color: #28a745; + background-color: transparent; + background-image: none; + border-color: #28a745; } .btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; + color: #fff; + background-color: #28a745; + border-color: #28a745; } -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); +.btn-outline-success:focus, +.btn-outline-success.focus { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #28a745; + background-color: transparent; } -.btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active, +.btn-outline-success:not([disabled]):not(.disabled):active, +.btn-outline-success:not([disabled]):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { - color: #212529; - background-color: #28a745; - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + color: #212529; + background-color: #28a745; + border-color: #28a745; + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } .btn-outline-info { - color: #17a2b8; - background-color: transparent; - background-image: none; - border-color: #17a2b8; + color: #17a2b8; + background-color: transparent; + background-image: none; + border-color: #17a2b8; } .btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); +.btn-outline-info:focus, +.btn-outline-info.focus { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; } -.btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active, +.btn-outline-info:not([disabled]):not(.disabled):active, +.btn-outline-info:not([disabled]):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { - color: #212529; - background-color: #17a2b8; - border-color: #17a2b8; - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + color: #212529; + background-color: #17a2b8; + border-color: #17a2b8; + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } .btn-outline-warning { - color: #ffc107; - background-color: transparent; - background-image: none; - border-color: #ffc107; + color: #ffc107; + background-color: transparent; + background-image: none; + border-color: #ffc107; } .btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); +.btn-outline-warning:focus, +.btn-outline-warning.focus { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; } -.btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active, +.btn-outline-warning:not([disabled]):not(.disabled):active, +.btn-outline-warning:not([disabled]):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + color: #212529; + background-color: #ffc107; + border-color: #ffc107; + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } .btn-outline-danger { - color: #dc3545; - background-color: transparent; - background-image: none; - border-color: #dc3545; + color: #dc3545; + background-color: transparent; + background-image: none; + border-color: #dc3545; } .btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); +.btn-outline-danger:focus, +.btn-outline-danger.focus { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; } -.btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active, +.btn-outline-danger:not([disabled]):not(.disabled):active, +.btn-outline-danger:not([disabled]):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { - color: #212529; - background-color: #dc3545; - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + color: #212529; + background-color: #dc3545; + border-color: #dc3545; + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } .btn-outline-light { - color: #f8f9fa; - background-color: transparent; - background-image: none; - border-color: #f8f9fa; + color: #f8f9fa; + background-color: transparent; + background-image: none; + border-color: #f8f9fa; } .btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); +.btn-outline-light:focus, +.btn-outline-light.focus { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; } -.btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active, +.btn-outline-light:not([disabled]):not(.disabled):active, +.btn-outline-light:not([disabled]):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { - color: #fff; - background-color: #f8f9fa; - border-color: #f8f9fa; - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + color: #fff; + background-color: #f8f9fa; + border-color: #f8f9fa; + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } .btn-outline-dark { - color: #343a40; - background-color: transparent; - background-image: none; - border-color: #343a40; + color: #343a40; + background-color: transparent; + background-image: none; + border-color: #343a40; } .btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; + color: #fff; + background-color: #343a40; + border-color: #343a40; } -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); +.btn-outline-dark:focus, +.btn-outline-dark.focus { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; } -.btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active, +.btn-outline-dark:not([disabled]):not(.disabled):active, +.btn-outline-dark:not([disabled]):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { - color: #212529; - background-color: #343a40; - border-color: #343a40; - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + color: #212529; + background-color: #343a40; + border-color: #343a40; + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } .btn-link { - font-weight: 400; - color: #007bff; - background-color: transparent; + font-weight: 400; + color: #007bff; + background-color: transparent; } .btn-link:hover { - color: #0056b3; - text-decoration: underline; - background-color: transparent; - border-color: transparent; + color: #0056b3; + text-decoration: underline; + background-color: transparent; + border-color: transparent; } -.btn-link:focus, .btn-link.focus { - text-decoration: underline; - border-color: transparent; - box-shadow: none; +.btn-link:focus, +.btn-link.focus { + text-decoration: underline; + border-color: transparent; + box-shadow: none; } -.btn-link:disabled, .btn-link.disabled { - color: #868e96; +.btn-link:disabled, +.btn-link.disabled { + color: #868e96; } -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; +.btn-lg, +.btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; +.btn-sm, +.btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } .btn-block { - display: block; - width: 100%; + display: block; + width: 100%; } .btn-block + .btn-block { - margin-top: 0.5rem; + margin-top: 0.5rem; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { - width: 100%; + width: 100%; } .fade { - opacity: 0; - transition: opacity 0.15s linear; + opacity: 0; + transition: opacity 0.15s linear; } .fade.show { - opacity: 1; + opacity: 1; } .collapse { - display: none; + display: none; } .collapse.show { - display: block; + display: block; } tr.collapse.show { - display: table-row; + display: table-row; } tbody.collapse.show { - display: table-row-group; + display: table-row-group; } .collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; } .dropup, .dropdown { - position: relative; + position: relative; } .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; } .dropdown-toggle:empty::after { - margin-left: 0; + margin-left: 0; } .dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } .dropup .dropdown-menu { - margin-top: 0; - margin-bottom: 0.125rem; + margin-top: 0; + margin-bottom: 0.125rem; } .dropup .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; } .dropup .dropdown-toggle:empty::after { - margin-left: 0; + margin-left: 0; } .dropright .dropdown-menu { - margin-top: 0; - margin-left: 0.125rem; + margin-top: 0; + margin-left: 0.125rem; } .dropright .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; } .dropright .dropdown-toggle:empty::after { - margin-left: 0; + margin-left: 0; } .dropright .dropdown-toggle::after { - vertical-align: 0; + vertical-align: 0; } .dropleft .dropdown-menu { - margin-top: 0; - margin-right: 0.125rem; + margin-top: 0; + margin-right: 0.125rem; } .dropleft .dropdown-toggle::after { - display: inline-block; - width: 0; - height: 0; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; + display: inline-block; + width: 0; + height: 0; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; } .dropleft .dropdown-toggle::after { - display: none; + display: none; } .dropleft .dropdown-toggle::before { - display: inline-block; - width: 0; - height: 0; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; + display: inline-block; + width: 0; + height: 0; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; } .dropleft .dropdown-toggle:empty::after { - margin-left: 0; + margin-left: 0; } .dropleft .dropdown-toggle::before { - vertical-align: 0; + vertical-align: 0; } .dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; } .dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; } -.dropdown-item:focus, .dropdown-item:hover { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; +.dropdown-item:focus, +.dropdown-item:hover { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; } -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; +.dropdown-item.active, +.dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; } -.dropdown-item.disabled, .dropdown-item:disabled { - color: #868e96; - background-color: transparent; +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #868e96; + background-color: transparent; } .dropdown-menu.show { - display: block; + display: block; } .dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #868e96; - white-space: nowrap; + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #868e96; + white-space: nowrap; } .btn-group, .btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { - position: relative; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover { - z-index: 1; + z-index: 1; } -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, +.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: 1; + z-index: 1; } .btn-group .btn + .btn, @@ -3254,194 +3456,196 @@ tbody.collapse.show { .btn-group-vertical .btn + .btn-group, .btn-group-vertical .btn-group + .btn, .btn-group-vertical .btn-group + .btn-group { - margin-left: -1px; + margin-left: -1px; } .btn-toolbar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } .btn-toolbar .input-group { - width: auto; + width: auto; } .btn-group > .btn:first-child { - margin-left: 0; + margin-left: 0; } .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; + padding-right: 0.5625rem; + padding-left: 0.5625rem; } .dropdown-toggle-split::after { - margin-left: 0; + margin-left: 0; } -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; +.btn-sm + .dropdown-toggle-split, +.btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; +.btn-lg + .dropdown-toggle-split, +.btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } .btn-group-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } .btn-group-vertical .btn, .btn-group-vertical .btn-group { - width: 100%; + width: 100%; } .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-top: -1px; + margin-left: 0; } .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; } .btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; + margin-bottom: 0; } .btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } .input-group { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100%; + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; } .input-group .form-control, .input-group .custom-select, .input-group .custom-file { - position: relative; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; } .input-group .form-control:focus, .input-group .custom-select:focus, .input-group .custom-file:focus { - z-index: 3; + z-index: 3; } .input-group .form-control + .form-control, .input-group .custom-select + .form-control, .input-group .custom-file + .form-control { - margin-left: -1px; + margin-left: -1px; } .input-group .form-control:not(:last-child), .input-group .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .input-group .form-control:not(:first-child), .input-group .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .input-group .custom-file { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .input-group .custom-file:not(:last-child) .custom-file-control, .input-group .custom-file:not(:last-child) .custom-file-control::before { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .input-group .custom-file:not(:first-child) .custom-file-control, .input-group .custom-file:not(:first-child) .custom-file-control::before { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .input-group-prepend, .input-group-append { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .input-group-prepend .btn, .input-group-append .btn { - position: relative; - z-index: 2; + position: relative; + z-index: 2; } .input-group-prepend .btn + .btn, @@ -3452,34 +3656,34 @@ tbody.collapse.show { .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn { - margin-left: -1px; + margin-left: -1px; } .input-group-prepend { - margin-right: -1px; + margin-right: -1px; } .input-group-append { - margin-left: -1px; + margin-left: -1px; } .input-group-text { - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; } .input-group-text input[type="radio"], .input-group-text input[type="checkbox"] { - margin-top: 0; + margin-top: 0; } .input-group > .input-group-prepend > .btn, @@ -3488,8 +3692,8 @@ tbody.collapse.show { .input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .input-group > .input-group-append > .btn, @@ -3498,621 +3702,675 @@ tbody.collapse.show { .input-group > .input-group-prepend:not(:first-child) > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } .custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; } .custom-control-inline { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 1rem; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; } .custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; + position: absolute; + z-index: -1; + opacity: 0; } .custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - background-color: #007bff; + color: #fff; + background-color: #007bff; } .custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-control-input:active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; + color: #fff; + background-color: #b3d7ff; } .custom-control-input:disabled ~ .custom-control-label { - color: #868e96; + color: #868e96; } .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; + background-color: #e9ecef; } .custom-control-label { - margin-bottom: 0; + margin-bottom: 0; } .custom-control-label::before { - position: absolute; - top: 0.25rem; - left: 0; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #dee2e6; + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #dee2e6; } .custom-control-label::after { - position: absolute; - top: 0.25rem; - left: 0; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background-repeat: no-repeat; - background-position: center center; - background-size: 50% 50%; + position: absolute; + top: 0.25rem; + left: 0; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background-repeat: no-repeat; + background-position: center center; + background-size: 50% 50%; } .custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; + border-radius: 0.25rem; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; + background-color: #007bff; } .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - background-color: #007bff; + background-color: #007bff; } .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); } .custom-radio .custom-control-label::before { - border-radius: 50%; + border-radius: 50%; } .custom-radio .custom-control-input:checked ~ .custom-control-label::before { - background-color: #007bff; + background-color: #007bff; } .custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); } .custom-select { - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; - background-size: 8px 10px; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: #fff + url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") + no-repeat right 0.75rem center; + background-size: 8px 10px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } .custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + border-color: #80bdff; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; + color: #495057; + background-color: #fff; } -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; +.custom-select[multiple], +.custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; } .custom-select:disabled { - color: #868e96; - background-color: #e9ecef; + color: #868e96; + background-color: #e9ecef; } .custom-select::-ms-expand { - opacity: 0; + opacity: 0; } .custom-select-sm { - height: calc(1.8125rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 75%; + height: calc(1.8125rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; } .custom-select-lg { - height: calc(2.875rem + 2px); - padding-top: 0.375rem; - padding-bottom: 0.375rem; - font-size: 125%; + height: calc(2.875rem + 2px); + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 125%; } .custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(2.25rem + 2px); - margin-bottom: 0; + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; } .custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(2.25rem + 2px); - margin: 0; - opacity: 0; + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; } .custom-file-input:focus ~ .custom-file-control { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + border-color: #80bdff; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .custom-file-input:focus ~ .custom-file-control::before { - border-color: #80bdff; + border-color: #80bdff; } .custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; + content: "Browse"; } .custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(2.25rem + 2px); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; } .custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(calc(2.25rem + 2px) - 1px * 2); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: 1px solid #ced4da; - border-radius: 0 0.25rem 0.25rem 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(calc(2.25rem + 2px) - 1px * 2); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: 1px solid #ced4da; + border-radius: 0 0.25rem 0.25rem 0; } .nav { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; } .nav-link { - display: block; - padding: 0.5rem 1rem; + display: block; + padding: 0.5rem 1rem; } -.nav-link:focus, .nav-link:hover { - text-decoration: none; +.nav-link:focus, +.nav-link:hover { + text-decoration: none; } .nav-link.disabled { - color: #868e96; + color: #868e96; } .nav-tabs { - border-bottom: 1px solid #dee2e6; + border-bottom: 1px solid #dee2e6; } .nav-tabs .nav-item { - margin-bottom: -1px; + margin-bottom: -1px; } .nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } -.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { - border-color: #e9ecef #e9ecef #dee2e6; +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: #e9ecef #e9ecef #dee2e6; } .nav-tabs .nav-link.disabled { - color: #868e96; - background-color: transparent; - border-color: transparent; + color: #868e96; + background-color: transparent; + border-color: transparent; } .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; } .nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } .nav-pills .nav-link { - border-radius: 0.25rem; + border-radius: 0.25rem; } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; + color: #fff; + background-color: #007bff; } .nav-fill .nav-item { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; } .nav-justified .nav-item { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center; + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; } .tab-content > .tab-pane { - display: none; + display: none; } .tab-content > .active { - display: block; + display: block; } .navbar { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 0.5rem 1rem; + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; } .navbar > .container, .navbar > .container-fluid { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; } .navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; } -.navbar-brand:focus, .navbar-brand:hover { - text-decoration: none; +.navbar-brand:focus, +.navbar-brand:hover { + text-decoration: none; } .navbar-nav { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; } .navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } .navbar-nav .dropdown-menu { - position: static; - float: none; + position: static; + float: none; } .navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; } .navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; } -.navbar-toggler:focus, .navbar-toggler:hover { - text-decoration: none; +.navbar-toggler:focus, +.navbar-toggler:hover { + text-decoration: none; } .navbar-toggler:not([disabled]):not(.disabled) { - cursor: pointer; + cursor: pointer; } .navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; } @media (max-width: 575.99px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; - } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 576px) { - .navbar-expand-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .dropdown-menu-right { - right: 0; - left: auto; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } - .navbar-expand-sm .dropup .dropdown-menu { - top: auto; - bottom: 100%; - } + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 767.99px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 768px) { - .navbar-expand-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .dropdown-menu-right { - right: 0; - left: auto; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } - .navbar-expand-md .dropup .dropdown-menu { - top: auto; - bottom: 100%; - } + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 991.99px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; - } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 992px) { - .navbar-expand-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .dropdown-menu-right { - right: 0; - left: auto; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } - .navbar-expand-lg .dropup .dropdown-menu { - top: auto; - bottom: 100%; - } + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } } @media (max-width: 1199.99px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; - } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; + } } @media (min-width: 1200px) { - .navbar-expand-xl { + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .dropdown-menu-right { + right: 0; + left: auto; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .dropup .dropdown-menu { + top: auto; + bottom: 100%; + } +} + +.navbar-expand { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; @@ -4120,4782 +4378,4829 @@ tbody.collapse.show { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .dropdown-menu-right { - right: 0; - left: auto; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } - .navbar-expand-xl .dropup .dropdown-menu { - top: auto; - bottom: 100%; - } -} - -.navbar-expand { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } .navbar-expand > .container, .navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } .navbar-expand .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } .navbar-expand .navbar-nav .dropdown-menu { - position: absolute; + position: absolute; } .navbar-expand .navbar-nav .dropdown-menu-right { - right: 0; - left: auto; + right: 0; + left: auto; } .navbar-expand .navbar-nav .nav-link { - padding-right: .5rem; - padding-left: .5rem; + padding-right: 0.5rem; + padding-left: 0.5rem; } .navbar-expand > .container, .navbar-expand > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } .navbar-expand .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } .navbar-expand .navbar-toggler { - display: none; + display: none; } .navbar-expand .dropup .dropdown-menu { - top: auto; - bottom: 100%; + top: auto; + bottom: 100%; } .navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); + color: rgba(0, 0, 0, 0.9); } -.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover { - color: rgba(0, 0, 0, 0.9); +.navbar-light .navbar-brand:focus, +.navbar-light .navbar-brand:hover { + color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); + color: rgba(0, 0, 0, 0.5); } -.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { - color: rgba(0, 0, 0, 0.7); +.navbar-light .navbar-nav .nav-link:focus, +.navbar-light .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.7); } .navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); + color: rgba(0, 0, 0, 0.3); } .navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); + color: rgba(0, 0, 0, 0.9); } .navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); } .navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); } .navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); + color: rgba(0, 0, 0, 0.5); } .navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); + color: rgba(0, 0, 0, 0.9); } -.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover { - color: rgba(0, 0, 0, 0.9); +.navbar-light .navbar-text a:focus, +.navbar-light .navbar-text a:hover { + color: rgba(0, 0, 0, 0.9); } .navbar-dark .navbar-brand { - color: #fff; + color: #fff; } -.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover { - color: #fff; +.navbar-dark .navbar-brand:focus, +.navbar-dark .navbar-brand:hover { + color: #fff; } .navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); + color: rgba(255, 255, 255, 0.5); } -.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { - color: rgba(255, 255, 255, 0.75); +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: rgba(255, 255, 255, 0.75); } .navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); + color: rgba(255, 255, 255, 0.25); } .navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { - color: #fff; + color: #fff; } .navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); } .navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); } .navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); + color: rgba(255, 255, 255, 0.5); } .navbar-dark .navbar-text a { - color: #fff; + color: #fff; } -.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover { - color: #fff; +.navbar-dark .navbar-text a:focus, +.navbar-dark .navbar-text a:hover { + color: #fff; } .card { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; } .card > hr { - margin-right: 0; - margin-left: 0; + margin-right: 0; + margin-left: 0; } .card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } .card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .card-body { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; } .card-title { - margin-bottom: 0.75rem; + margin-bottom: 0.75rem; } .card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; + margin-top: -0.375rem; + margin-bottom: 0; } .card-text:last-child { - margin-bottom: 0; + margin-bottom: 0; } .card-link:hover { - text-decoration: none; + text-decoration: none; } .card-link + .card-link { - margin-left: 1.25rem; + margin-left: 1.25rem; } .card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); } .card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } .card-header + .list-group .list-group-item:first-child { - border-top: 0; + border-top: 0; } .card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); } .card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } .card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } .card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; + margin-right: -0.625rem; + margin-left: -0.625rem; } .card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; } .card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); + width: 100%; + border-radius: calc(0.25rem - 1px); } .card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } .card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } .card-deck { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; } .card-deck .card { - margin-bottom: 15px; + margin-bottom: 15px; } @media (min-width: 576px) { - .card-deck { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + .card-deck .card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { display: -webkit-box; display: -ms-flexbox; display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 0 0%; - flex: 1 0 0%; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} - -.card-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } .card-group > .card { - margin-bottom: 15px; + margin-bottom: 15px; } @media (min-width: 576px) { - .card-group { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - } - .card-group > .card { - -webkit-box-flex: 1; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:first-child { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:first-child .card-img-top, - .card-group > .card:first-child .card-header { - border-top-right-radius: 0; - } - .card-group > .card:first-child .card-img-bottom, - .card-group > .card:first-child .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:last-child { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:last-child .card-img-top, - .card-group > .card:last-child .card-header { - border-top-left-radius: 0; - } - .card-group > .card:last-child .card-img-bottom, - .card-group > .card:last-child .card-footer { - border-bottom-left-radius: 0; - } - .card-group > .card:only-child { - border-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-top, - .card-group > .card:only-child .card-header { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - } - .card-group > .card:only-child .card-img-bottom, - .card-group > .card:only-child .card-footer { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { - border-radius: 0; - } - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, - .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { - border-radius: 0; - } + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + } + .card-group > .card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:first-child .card-img-top, + .card-group > .card:first-child .card-header { + border-top-right-radius: 0; + } + .card-group > .card:first-child .card-img-bottom, + .card-group > .card:first-child .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:last-child .card-img-top, + .card-group > .card:last-child .card-header { + border-top-left-radius: 0; + } + .card-group > .card:last-child .card-img-bottom, + .card-group > .card:last-child .card-footer { + border-bottom-left-radius: 0; + } + .card-group > .card:only-child { + border-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-top, + .card-group > .card:only-child .card-header { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .card-group > .card:only-child .card-img-bottom, + .card-group > .card:only-child .card-footer { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) { + border-radius: 0; + } + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header, + .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer { + border-radius: 0; + } } .card-columns .card { - margin-bottom: 0.75rem; + margin-bottom: 0.75rem; } @media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - } - .card-columns .card { - display: inline-block; - width: 100%; - } + .card-columns { + -webkit-column-count: 3; + -moz-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + -moz-column-gap: 1.25rem; + column-gap: 1.25rem; + } + .card-columns .card { + display: inline-block; + width: 100%; + } } .breadcrumb { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; } .breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - padding-left: 0.5rem; - color: #868e96; - content: "/"; + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; + color: #868e96; + content: "/"; } .breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; + text-decoration: underline; } .breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; + text-decoration: none; } .breadcrumb-item.active { - color: #868e96; + color: #868e96; } .pagination { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; } .page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; } -.page-link:focus, .page-link:hover { - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; +.page-link:focus, +.page-link:hover { + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; } .page-link:not([disabled]):not(.disabled) { - cursor: pointer; + cursor: pointer; } .page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } .page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff; + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; } .page-item.disabled .page-link { - color: #868e96; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; + color: #868e96; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; } .pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; } .pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; } .pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; } .pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; } .pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; } .pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; } .badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; } .badge:empty { - display: none; + display: none; } .btn .badge { - position: relative; - top: -1px; + position: relative; + top: -1px; } .badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } .badge-primary { - color: #fff; - background-color: #007bff; + color: #fff; + background-color: #007bff; } -.badge-primary[href]:focus, .badge-primary[href]:hover { - color: #fff; - text-decoration: none; - background-color: #0062cc; +.badge-primary[href]:focus, +.badge-primary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #0062cc; } .badge-secondary { - color: #fff; - background-color: #868e96; + color: #fff; + background-color: #868e96; } -.badge-secondary[href]:focus, .badge-secondary[href]:hover { - color: #fff; - text-decoration: none; - background-color: #6c757d; +.badge-secondary[href]:focus, +.badge-secondary[href]:hover { + color: #fff; + text-decoration: none; + background-color: #6c757d; } .badge-success { - color: #fff; - background-color: #28a745; + color: #fff; + background-color: #28a745; } -.badge-success[href]:focus, .badge-success[href]:hover { - color: #fff; - text-decoration: none; - background-color: #1e7e34; +.badge-success[href]:focus, +.badge-success[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1e7e34; } .badge-info { - color: #fff; - background-color: #17a2b8; + color: #fff; + background-color: #17a2b8; } -.badge-info[href]:focus, .badge-info[href]:hover { - color: #fff; - text-decoration: none; - background-color: #117a8b; +.badge-info[href]:focus, +.badge-info[href]:hover { + color: #fff; + text-decoration: none; + background-color: #117a8b; } .badge-warning { - color: #212529; - background-color: #ffc107; + color: #212529; + background-color: #ffc107; } -.badge-warning[href]:focus, .badge-warning[href]:hover { - color: #212529; - text-decoration: none; - background-color: #d39e00; +.badge-warning[href]:focus, +.badge-warning[href]:hover { + color: #212529; + text-decoration: none; + background-color: #d39e00; } .badge-danger { - color: #fff; - background-color: #dc3545; + color: #fff; + background-color: #dc3545; } -.badge-danger[href]:focus, .badge-danger[href]:hover { - color: #fff; - text-decoration: none; - background-color: #bd2130; +.badge-danger[href]:focus, +.badge-danger[href]:hover { + color: #fff; + text-decoration: none; + background-color: #bd2130; } .badge-light { - color: #212529; - background-color: #f8f9fa; + color: #212529; + background-color: #f8f9fa; } -.badge-light[href]:focus, .badge-light[href]:hover { - color: #212529; - text-decoration: none; - background-color: #dae0e5; +.badge-light[href]:focus, +.badge-light[href]:hover { + color: #212529; + text-decoration: none; + background-color: #dae0e5; } .badge-dark { - color: #fff; - background-color: #343a40; + color: #fff; + background-color: #343a40; } -.badge-dark[href]:focus, .badge-dark[href]:hover { - color: #fff; - text-decoration: none; - background-color: #1d2124; +.badge-dark[href]:focus, +.badge-dark[href]:hover { + color: #fff; + text-decoration: none; + background-color: #1d2124; } .jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; } @media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } + .jumbotron { + padding: 4rem 2rem; + } } .jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; + padding-right: 0; + padding-left: 0; + border-radius: 0; } .alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; } .alert-heading { - color: inherit; + color: inherit; } .alert-link { - font-weight: 700; + font-weight: 700; } .alert-dismissible { - padding-right: 4rem; + padding-right: 4rem; } .alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; } .alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; } .alert-primary hr { - border-top-color: #9fcdff; + border-top-color: #9fcdff; } .alert-primary .alert-link { - color: #002752; + color: #002752; } .alert-secondary { - color: #464a4e; - background-color: #e7e8ea; - border-color: #dddfe2; + color: #464a4e; + background-color: #e7e8ea; + border-color: #dddfe2; } .alert-secondary hr { - border-top-color: #cfd2d6; + border-top-color: #cfd2d6; } .alert-secondary .alert-link { - color: #2e3133; + color: #2e3133; } .alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; } .alert-success hr { - border-top-color: #b1dfbb; + border-top-color: #b1dfbb; } .alert-success .alert-link { - color: #0b2e13; + color: #0b2e13; } .alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; } .alert-info hr { - border-top-color: #abdde5; + border-top-color: #abdde5; } .alert-info .alert-link { - color: #062c33; + color: #062c33; } .alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; } .alert-warning hr { - border-top-color: #ffe8a1; + border-top-color: #ffe8a1; } .alert-warning .alert-link { - color: #533f03; + color: #533f03; } .alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; } .alert-danger hr { - border-top-color: #f1b0b7; + border-top-color: #f1b0b7; } .alert-danger .alert-link { - color: #491217; + color: #491217; } .alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; } .alert-light hr { - border-top-color: #ececf6; + border-top-color: #ececf6; } .alert-light .alert-link { - color: #686868; + color: #686868; } .alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; } .alert-dark hr { - border-top-color: #b9bbbe; + border-top-color: #b9bbbe; } .alert-dark .alert-link { - color: #040505; + color: #040505; } @-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } } @keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } + from { + background-position: 1rem 0; + } + to { + background-position: 0 0; + } } .progress { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; } .progress-bar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - color: #fff; - text-align: center; - background-color: #007bff; - transition: width 0.6s ease; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + background-color: #007bff; + transition: width 0.6s ease; } .progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; + 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-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; } .media { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; } .media-body { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; } .list-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; } .list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; + width: 100%; + color: #495057; + text-align: inherit; } -.list-group-item-action:focus, .list-group-item-action:hover { - color: #495057; - text-decoration: none; - background-color: #f8f9fa; +.list-group-item-action:focus, +.list-group-item-action:hover { + color: #495057; + text-decoration: none; + background-color: #f8f9fa; } .list-group-item-action:active { - color: #212529; - background-color: #e9ecef; + color: #212529; + background-color: #e9ecef; } .list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); } .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } .list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } -.list-group-item:focus, .list-group-item:hover { - z-index: 1; - text-decoration: none; +.list-group-item:focus, +.list-group-item:hover { + z-index: 1; + text-decoration: none; } -.list-group-item.disabled, .list-group-item:disabled { - color: #868e96; - background-color: #fff; +.list-group-item.disabled, +.list-group-item:disabled { + color: #868e96; + background-color: #fff; } .list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; } .list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; + border-right: 0; + border-left: 0; + border-radius: 0; } .list-group-flush:first-child .list-group-item:first-child { - border-top: 0; + border-top: 0; } .list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; + border-bottom: 0; } .list-group-item-primary { - color: #004085; - background-color: #b8daff; + color: #004085; + background-color: #b8daff; } a.list-group-item-primary, button.list-group-item-primary { - color: #004085; + color: #004085; } -a.list-group-item-primary:focus, a.list-group-item-primary:hover, +a.list-group-item-primary:focus, +a.list-group-item-primary:hover, button.list-group-item-primary:focus, button.list-group-item-primary:hover { - color: #004085; - background-color: #9fcdff; + color: #004085; + background-color: #9fcdff; } a.list-group-item-primary.active, button.list-group-item-primary.active { - color: #fff; - background-color: #004085; - border-color: #004085; + color: #fff; + background-color: #004085; + border-color: #004085; } .list-group-item-secondary { - color: #464a4e; - background-color: #dddfe2; + color: #464a4e; + background-color: #dddfe2; } a.list-group-item-secondary, button.list-group-item-secondary { - color: #464a4e; + color: #464a4e; } -a.list-group-item-secondary:focus, a.list-group-item-secondary:hover, +a.list-group-item-secondary:focus, +a.list-group-item-secondary:hover, button.list-group-item-secondary:focus, button.list-group-item-secondary:hover { - color: #464a4e; - background-color: #cfd2d6; + color: #464a4e; + background-color: #cfd2d6; } a.list-group-item-secondary.active, button.list-group-item-secondary.active { - color: #fff; - background-color: #464a4e; - border-color: #464a4e; + color: #fff; + background-color: #464a4e; + border-color: #464a4e; } .list-group-item-success { - color: #155724; - background-color: #c3e6cb; + color: #155724; + background-color: #c3e6cb; } a.list-group-item-success, button.list-group-item-success { - color: #155724; + color: #155724; } -a.list-group-item-success:focus, a.list-group-item-success:hover, +a.list-group-item-success:focus, +a.list-group-item-success:hover, button.list-group-item-success:focus, button.list-group-item-success:hover { - color: #155724; - background-color: #b1dfbb; + color: #155724; + background-color: #b1dfbb; } a.list-group-item-success.active, button.list-group-item-success.active { - color: #fff; - background-color: #155724; - border-color: #155724; + color: #fff; + background-color: #155724; + border-color: #155724; } .list-group-item-info { - color: #0c5460; - background-color: #bee5eb; + color: #0c5460; + background-color: #bee5eb; } a.list-group-item-info, button.list-group-item-info { - color: #0c5460; + color: #0c5460; } -a.list-group-item-info:focus, a.list-group-item-info:hover, +a.list-group-item-info:focus, +a.list-group-item-info:hover, button.list-group-item-info:focus, button.list-group-item-info:hover { - color: #0c5460; - background-color: #abdde5; + color: #0c5460; + background-color: #abdde5; } a.list-group-item-info.active, button.list-group-item-info.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; + color: #fff; + background-color: #0c5460; + border-color: #0c5460; } .list-group-item-warning { - color: #856404; - background-color: #ffeeba; + color: #856404; + background-color: #ffeeba; } a.list-group-item-warning, button.list-group-item-warning { - color: #856404; + color: #856404; } -a.list-group-item-warning:focus, a.list-group-item-warning:hover, +a.list-group-item-warning:focus, +a.list-group-item-warning:hover, button.list-group-item-warning:focus, button.list-group-item-warning:hover { - color: #856404; - background-color: #ffe8a1; + color: #856404; + background-color: #ffe8a1; } a.list-group-item-warning.active, button.list-group-item-warning.active { - color: #fff; - background-color: #856404; - border-color: #856404; + color: #fff; + background-color: #856404; + border-color: #856404; } .list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; + color: #721c24; + background-color: #f5c6cb; } a.list-group-item-danger, button.list-group-item-danger { - color: #721c24; + color: #721c24; } -a.list-group-item-danger:focus, a.list-group-item-danger:hover, +a.list-group-item-danger:focus, +a.list-group-item-danger:hover, button.list-group-item-danger:focus, button.list-group-item-danger:hover { - color: #721c24; - background-color: #f1b0b7; + color: #721c24; + background-color: #f1b0b7; } a.list-group-item-danger.active, button.list-group-item-danger.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; + color: #fff; + background-color: #721c24; + border-color: #721c24; } .list-group-item-light { - color: #818182; - background-color: #fdfdfe; + color: #818182; + background-color: #fdfdfe; } a.list-group-item-light, button.list-group-item-light { - color: #818182; + color: #818182; } -a.list-group-item-light:focus, a.list-group-item-light:hover, +a.list-group-item-light:focus, +a.list-group-item-light:hover, button.list-group-item-light:focus, button.list-group-item-light:hover { - color: #818182; - background-color: #ececf6; + color: #818182; + background-color: #ececf6; } a.list-group-item-light.active, button.list-group-item-light.active { - color: #fff; - background-color: #818182; - border-color: #818182; + color: #fff; + background-color: #818182; + border-color: #818182; } .list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; + color: #1b1e21; + background-color: #c6c8ca; } a.list-group-item-dark, button.list-group-item-dark { - color: #1b1e21; + color: #1b1e21; } -a.list-group-item-dark:focus, a.list-group-item-dark:hover, +a.list-group-item-dark:focus, +a.list-group-item-dark:hover, button.list-group-item-dark:focus, button.list-group-item-dark:hover { - color: #1b1e21; - background-color: #b9bbbe; + color: #1b1e21; + background-color: #b9bbbe; } a.list-group-item-dark.active, button.list-group-item-dark.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; } .close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: 0.5; } -.close:focus, .close:hover { - color: #000; - text-decoration: none; - opacity: .75; +.close:focus, +.close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; } .close:not([disabled]):not(.disabled) { - cursor: pointer; + cursor: pointer; } button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; } .modal-open { - overflow: hidden; + overflow: hidden; } .modal { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1050; - display: none; - overflow: hidden; - outline: 0; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + outline: 0; } .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; + overflow-x: hidden; + overflow-y: auto; } .modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; } .modal.fade .modal-dialog { - transition: -webkit-transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; - -webkit-transform: translate(0, -25%); - transform: translate(0, -25%); + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -25%); + transform: translate(0, -25%); } .modal.show .modal-dialog { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); + -webkit-transform: translate(0, 0); + transform: translate(0, 0); } .modal-dialog-centered { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - min-height: calc(100% - (0.5rem * 2)); -} - -.modal-content { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1040; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem; - border-bottom: 1px solid #e9ecef; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; -} - -.modal-header .close { - padding: 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #e9ecef; -} - -.modal-footer > :not(:first-child) { - margin-left: .25rem; -} - -.modal-footer > :not(:last-child) { - margin-right: .25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-centered { - min-height: calc(100% - (1.75rem * 2)); - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg { - max-width: 800px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; -} - -.bs-popover-top .arrow, .bs-popover-auto[x-placement^="top"] .arrow { - bottom: calc((0.5rem + 1px) * -1); -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before, -.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { - border-width: 0.5rem 0.5rem 0; -} - -.bs-popover-top .arrow::before, .bs-popover-auto[x-placement^="top"] .arrow::before { - bottom: 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-top .arrow::after, .bs-popover-auto[x-placement^="top"] .arrow::after { - bottom: 1px; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; -} - -.bs-popover-right .arrow, .bs-popover-auto[x-placement^="right"] .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before, -.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { - border-width: 0.5rem 0.5rem 0.5rem 0; -} - -.bs-popover-right .arrow::before, .bs-popover-auto[x-placement^="right"] .arrow::before { - left: 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-right .arrow::after, .bs-popover-auto[x-placement^="right"] .arrow::after { - left: 1px; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; -} - -.bs-popover-bottom .arrow, .bs-popover-auto[x-placement^="bottom"] .arrow { - top: calc((0.5rem + 1px) * -1); -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before, -.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { - border-width: 0 0.5rem 0.5rem 0.5rem; -} - -.bs-popover-bottom .arrow::before, .bs-popover-auto[x-placement^="bottom"] .arrow::before { - top: 0; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-bottom .arrow::after, .bs-popover-auto[x-placement^="bottom"] .arrow::after { - top: 1px; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; -} - -.bs-popover-left .arrow, .bs-popover-auto[x-placement^="left"] .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before, -.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { - border-width: 0.5rem 0 0.5rem 0.5rem; -} - -.bs-popover-left .arrow::before, .bs-popover-auto[x-placement^="left"] .arrow::before { - right: 0; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-left .arrow::after, .bs-popover-auto[x-placement^="left"] .arrow::after { - right: 1px; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - color: inherit; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-item { - position: relative; - display: none; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 100%; - transition: -webkit-transform 0.6s ease; - transition: transform 0.6s ease; - transition: transform 0.6s ease, -webkit-transform 0.6s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-perspective: 1000px; - perspective: 1000px; -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next, -.carousel-item-prev { - position: absolute; - top: 0; -} - -.carousel-item-next.carousel-item-left, -.carousel-item-prev.carousel-item-right { - -webkit-transform: translateX(0); - transform: translateX(0); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next.carousel-item-left, - .carousel-item-prev.carousel-item-right { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.carousel-item-next, -.active.carousel-item-right { - -webkit-transform: translateX(100%); - transform: translateX(100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-next, - .active.carousel-item-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.carousel-item-prev, -.active.carousel-item-left { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} - -@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { - .carousel-item-prev, - .active.carousel-item-left { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; -} - -.carousel-control-prev:focus, .carousel-control-prev:hover, -.carousel-control-next:focus, -.carousel-control-next:hover { - color: #fff; - text-decoration: none; - outline: 0; - opacity: .9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: transparent no-repeat center center; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 10px; - left: 0; - z-index: 15; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - position: relative; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - background-color: rgba(255, 255, 255, 0.5); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - (0.5rem * 2)); } -.carousel-indicators li::before { - position: absolute; - top: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; +.modal-content { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; } -.carousel-indicators li::after { - position: absolute; - bottom: -10px; - left: 0; - display: inline-block; - width: 100%; - height: 10px; - content: ""; +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; } -.carousel-indicators .active { - background-color: #fff; +.modal-backdrop.fade { + opacity: 0; } -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; +.modal-backdrop.show { + opacity: 0.5; } -.align-baseline { - vertical-align: baseline !important; +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; } -.align-top { - vertical-align: top !important; +.modal-header .close { + padding: 1rem; + margin: -1rem -1rem -1rem auto; } -.align-middle { - vertical-align: middle !important; +.modal-title { + margin-bottom: 0; + line-height: 1.5; } -.align-bottom { - vertical-align: bottom !important; +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; } -.align-text-bottom { - vertical-align: text-bottom !important; +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #e9ecef; } -.align-text-top { - vertical-align: text-top !important; +.modal-footer > :not(:first-child) { + margin-left: 0.25rem; } -.bg-primary { - background-color: #007bff !important; +.modal-footer > :not(:last-child) { + margin-right: 0.25rem; } -a.bg-primary:focus, a.bg-primary:hover, -button.bg-primary:focus, -button.bg-primary:hover { - background-color: #0062cc !important; +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } -.bg-secondary { - background-color: #868e96 !important; +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + .modal-dialog-centered { + min-height: calc(100% - (1.75rem * 2)); + } + .modal-sm { + max-width: 300px; + } } -a.bg-secondary:focus, a.bg-secondary:hover, -button.bg-secondary:focus, -button.bg-secondary:hover { - background-color: #6c757d !important; +@media (min-width: 992px) { + .modal-lg { + max-width: 800px; + } } -.bg-success { - background-color: #28a745 !important; +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; } -a.bg-success:focus, a.bg-success:hover, -button.bg-success:focus, -button.bg-success:hover { - background-color: #1e7e34 !important; +.tooltip.show { + opacity: 0.9; } -.bg-info { - background-color: #17a2b8 !important; +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; } -a.bg-info:focus, a.bg-info:hover, -button.bg-info:focus, -button.bg-info:hover { - background-color: #117a8b !important; +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; } -.bg-warning { - background-color: #ffc107 !important; +.bs-tooltip-top, +.bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; } -a.bg-warning:focus, a.bg-warning:hover, -button.bg-warning:focus, -button.bg-warning:hover { - background-color: #d39e00 !important; +.bs-tooltip-top .arrow, +.bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; } -.bg-danger { - background-color: #dc3545 !important; +.bs-tooltip-top .arrow::before, +.bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; } -a.bg-danger:focus, a.bg-danger:hover, -button.bg-danger:focus, -button.bg-danger:hover { - background-color: #bd2130 !important; +.bs-tooltip-right, +.bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; } -.bg-light { - background-color: #f8f9fa !important; +.bs-tooltip-right .arrow, +.bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; } -a.bg-light:focus, a.bg-light:hover, -button.bg-light:focus, -button.bg-light:hover { - background-color: #dae0e5 !important; +.bs-tooltip-right .arrow::before, +.bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; } -.bg-dark { - background-color: #343a40 !important; +.bs-tooltip-bottom, +.bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; } -a.bg-dark:focus, a.bg-dark:hover, -button.bg-dark:focus, -button.bg-dark:hover { - background-color: #1d2124 !important; +.bs-tooltip-bottom .arrow, +.bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; } -.bg-white { - background-color: #fff !important; +.bs-tooltip-bottom .arrow::before, +.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; } -.bg-transparent { - background-color: transparent !important; +.bs-tooltip-left, +.bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; } -.border { - border: 1px solid #e9ecef !important; +.bs-tooltip-left .arrow, +.bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; } -.border-0 { - border: 0 !important; +.bs-tooltip-left .arrow::before, +.bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; } -.border-top-0 { - border-top: 0 !important; +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } -.border-right-0 { - border-right: 0 !important; +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; } -.border-bottom-0 { - border-bottom: 0 !important; +.popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; } -.border-left-0 { - border-left: 0 !important; +.popover .arrow::before, +.popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; } -.border-primary { - border-color: #007bff !important; +.bs-popover-top, +.bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; } -.border-secondary { - border-color: #868e96 !important; +.bs-popover-top .arrow, +.bs-popover-auto[x-placement^="top"] .arrow { + bottom: calc((0.5rem + 1px) * -1); } -.border-success { - border-color: #28a745 !important; +.bs-popover-top .arrow::before, +.bs-popover-auto[x-placement^="top"] .arrow::before, +.bs-popover-top .arrow::after, +.bs-popover-auto[x-placement^="top"] .arrow::after { + border-width: 0.5rem 0.5rem 0; } -.border-info { - border-color: #17a2b8 !important; +.bs-popover-top .arrow::before, +.bs-popover-auto[x-placement^="top"] .arrow::before { + bottom: 0; + border-top-color: rgba(0, 0, 0, 0.25); } -.border-warning { - border-color: #ffc107 !important; +.bs-popover-top .arrow::after, +.bs-popover-auto[x-placement^="top"] .arrow::after { + bottom: 1px; + border-top-color: #fff; } -.border-danger { - border-color: #dc3545 !important; +.bs-popover-right, +.bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; } -.border-light { - border-color: #f8f9fa !important; +.bs-popover-right .arrow, +.bs-popover-auto[x-placement^="right"] .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } -.border-dark { - border-color: #343a40 !important; +.bs-popover-right .arrow::before, +.bs-popover-auto[x-placement^="right"] .arrow::before, +.bs-popover-right .arrow::after, +.bs-popover-auto[x-placement^="right"] .arrow::after { + border-width: 0.5rem 0.5rem 0.5rem 0; } -.border-white { - border-color: #fff !important; +.bs-popover-right .arrow::before, +.bs-popover-auto[x-placement^="right"] .arrow::before { + left: 0; + border-right-color: rgba(0, 0, 0, 0.25); } -.rounded { - border-radius: 0.25rem !important; +.bs-popover-right .arrow::after, +.bs-popover-auto[x-placement^="right"] .arrow::after { + left: 1px; + border-right-color: #fff; } -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; +.bs-popover-bottom, +.bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; } -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; +.bs-popover-bottom .arrow, +.bs-popover-auto[x-placement^="bottom"] .arrow { + top: calc((0.5rem + 1px) * -1); } -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; +.bs-popover-bottom .arrow::before, +.bs-popover-auto[x-placement^="bottom"] .arrow::before, +.bs-popover-bottom .arrow::after, +.bs-popover-auto[x-placement^="bottom"] .arrow::after { + border-width: 0 0.5rem 0.5rem 0.5rem; } -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; +.bs-popover-bottom .arrow::before, +.bs-popover-auto[x-placement^="bottom"] .arrow::before { + top: 0; + border-bottom-color: rgba(0, 0, 0, 0.25); } -.rounded-circle { - border-radius: 50% !important; +.bs-popover-bottom .arrow::after, +.bs-popover-auto[x-placement^="bottom"] .arrow::after { + top: 1px; + border-bottom-color: #fff; } -.rounded-0 { - border-radius: 0 !important; +.bs-popover-bottom .popover-header::before, +.bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; } -.clearfix::after { - display: block; - clear: both; - content: ""; +.bs-popover-left, +.bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; } -.d-none { - display: none !important; +.bs-popover-left .arrow, +.bs-popover-auto[x-placement^="left"] .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } -.d-inline { - display: inline !important; +.bs-popover-left .arrow::before, +.bs-popover-auto[x-placement^="left"] .arrow::before, +.bs-popover-left .arrow::after, +.bs-popover-auto[x-placement^="left"] .arrow::after { + border-width: 0.5rem 0 0.5rem 0.5rem; } -.d-inline-block { - display: inline-block !important; +.bs-popover-left .arrow::before, +.bs-popover-auto[x-placement^="left"] .arrow::before { + right: 0; + border-left-color: rgba(0, 0, 0, 0.25); } -.d-block { - display: block !important; +.bs-popover-left .arrow::after, +.bs-popover-auto[x-placement^="left"] .arrow::after { + right: 1px; + border-left-color: #fff; } -.d-table { - display: table !important; +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + color: inherit; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } -.d-table-row { - display: table-row !important; +.popover-header:empty { + display: none; } -.d-table-cell { - display: table-cell !important; +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; } -.d-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; +.carousel { + position: relative; } -.d-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-sm-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } +.carousel-item { + position: relative; + display: none; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + transition: -webkit-transform 0.6s ease; + transition: transform 0.6s ease; + transition: transform 0.6s ease, -webkit-transform 0.6s ease; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; } -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-md-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; } -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-lg-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } +.carousel-item-next, +.carousel-item-prev { + position: absolute; + top: 0; } -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - } - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; - } +.carousel-item-next.carousel-item-left, +.carousel-item-prev.carousel-item-right { + -webkit-transform: translateX(0); + transform: translateX(0); } -.d-print-block { - display: none !important; +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next.carousel-item-left, + .carousel-item-prev.carousel-item-right { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } } -@media print { - .d-print-block { - display: block !important; - } +.carousel-item-next, +.active.carousel-item-right { + -webkit-transform: translateX(100%); + transform: translateX(100%); } -.d-print-inline { - display: none !important; +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-next, + .active.carousel-item-right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } } -@media print { - .d-print-inline { - display: inline !important; - } +.carousel-item-prev, +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); } -.d-print-inline-block { - display: none !important; +@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) { + .carousel-item-prev, + .active.carousel-item-left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } } -@media print { - .d-print-inline-block { - display: inline-block !important; - } +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; } -@media print { - .d-print-none { - display: none !important; - } +.carousel-control-prev:focus, +.carousel-control-prev:hover, +.carousel-control-next:focus, +.carousel-control-next:hover { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; } -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; +.carousel-control-prev { + left: 0; } -.embed-responsive::before { - display: block; - content: ""; +.carousel-control-next { + right: 0; } -.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; +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: transparent no-repeat center center; + background-size: 100% 100%; } -.embed-responsive-21by9::before { - padding-top: 42.857143%; +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); } -.embed-responsive-16by9::before { - padding-top: 56.25%; +.carousel-control-next-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); } -.embed-responsive-4by3::before { - padding-top: 75%; +.carousel-indicators { + position: absolute; + right: 0; + bottom: 10px; + left: 0; + z-index: 15; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; } -.embed-responsive-1by1::before { - padding-top: 100%; +.carousel-indicators li { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + background-color: rgba(255, 255, 255, 0.5); } -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; +.carousel-indicators li::before { + position: absolute; + top: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; } -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; +.carousel-indicators li::after { + position: absolute; + bottom: -10px; + left: 0; + display: inline-block; + width: 100%; + height: 10px; + content: ""; } -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; +.carousel-indicators .active { + background-color: #fff; } -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; } -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; +.align-baseline { + vertical-align: baseline !important; } -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; +.align-top { + vertical-align: top !important; } -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; +.align-middle { + vertical-align: middle !important; } -.justify-content-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; +.align-bottom { + vertical-align: bottom !important; } -.justify-content-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; +.align-text-bottom { + vertical-align: text-bottom !important; } -.justify-content-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; +.align-text-top { + vertical-align: text-top !important; } -.justify-content-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; +.bg-primary { + background-color: #007bff !important; } -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; +a.bg-primary:focus, +a.bg-primary:hover, +button.bg-primary:focus, +button.bg-primary:hover { + background-color: #0062cc !important; } -.align-items-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; +.bg-secondary { + background-color: #868e96 !important; } -.align-items-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; +a.bg-secondary:focus, +a.bg-secondary:hover, +button.bg-secondary:focus, +button.bg-secondary:hover { + background-color: #6c757d !important; } -.align-items-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; +.bg-success { + background-color: #28a745 !important; } -.align-items-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; +a.bg-success:focus, +a.bg-success:hover, +button.bg-success:focus, +button.bg-success:hover { + background-color: #1e7e34 !important; } -.align-items-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; +.bg-info { + background-color: #17a2b8 !important; } -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; +a.bg-info:focus, +a.bg-info:hover, +button.bg-info:focus, +button.bg-info:hover { + background-color: #117a8b !important; } -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; +.bg-warning { + background-color: #ffc107 !important; } -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; +a.bg-warning:focus, +a.bg-warning:hover, +button.bg-warning:focus, +button.bg-warning:hover { + background-color: #d39e00 !important; } -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; +.bg-danger { + background-color: #dc3545 !important; } -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; +a.bg-danger:focus, +a.bg-danger:hover, +button.bg-danger:focus, +button.bg-danger:hover { + background-color: #bd2130 !important; } -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; +.bg-light { + background-color: #f8f9fa !important; } -.align-self-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; +a.bg-light:focus, +a.bg-light:hover, +button.bg-light:focus, +button.bg-light:hover { + background-color: #dae0e5 !important; } -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; +.bg-dark { + background-color: #343a40 !important; } -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; +a.bg-dark:focus, +a.bg-dark:hover, +button.bg-dark:focus, +button.bg-dark:hover { + background-color: #1d2124 !important; } -.align-self-center { - -ms-flex-item-align: center !important; - align-self: center !important; +.bg-white { + background-color: #fff !important; } -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; +.bg-transparent { + background-color: transparent !important; } -.align-self-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; +.border { + border: 1px solid #e9ecef !important; } -@media (min-width: 576px) { - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-sm-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-sm-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-sm-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-sm-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-sm-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-sm-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-sm-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-sm-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } +.border-0 { + border: 0 !important; } -@media (min-width: 768px) { - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-md-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-md-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-md-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-md-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-md-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-md-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-md-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-md-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-md-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-md-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } +.border-top-0 { + border-top: 0 !important; } -@media (min-width: 992px) { - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-lg-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-lg-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-lg-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-lg-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-lg-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-lg-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-lg-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-lg-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } +.border-right-0 { + border-right: 0 !important; } -@media (min-width: 1200px) { - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; - } - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; - } - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; - } - .justify-content-xl-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; - } - .justify-content-xl-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; - } - .justify-content-xl-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; - } - .justify-content-xl-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; - } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; - } - .align-items-xl-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; - } - .align-items-xl-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; - } - .align-items-xl-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; - } - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; - } - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; - } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; - } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; - } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; - } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; - } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; - } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; - } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - align-self: auto !important; - } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; - } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; - } - .align-self-xl-center { - -ms-flex-item-align: center !important; - align-self: center !important; - } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; - } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - align-self: stretch !important; - } +.border-bottom-0 { + border-bottom: 0 !important; } -.float-left { - float: left !important; +.border-left-0 { + border-left: 0 !important; } -.float-right { - float: right !important; +.border-primary { + border-color: #007bff !important; } -.float-none { - float: none !important; +.border-secondary { + border-color: #868e96 !important; } -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } +.border-success { + border-color: #28a745 !important; } -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } +.border-info { + border-color: #17a2b8 !important; } -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } +.border-warning { + border-color: #ffc107 !important; } -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } +.border-danger { + border-color: #dc3545 !important; } -.position-static { - position: static !important; +.border-light { + border-color: #f8f9fa !important; } -.position-relative { - position: relative !important; +.border-dark { + border-color: #343a40 !important; } -.position-absolute { - position: absolute !important; +.border-white { + border-color: #fff !important; } -.position-fixed { - position: fixed !important; +.rounded { + border-radius: 0.25rem !important; } -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; } -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; } -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - -webkit-clip-path: inset(50%); - clip-path: inset(50%); - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; - -webkit-clip-path: none; - clip-path: none; +.rounded-circle { + border-radius: 50% !important; } -.w-25 { - width: 25% !important; +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; +} + +.d-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + .d-sm-inline { + display: inline !important; + } + .d-sm-inline-block { + display: inline-block !important; + } + .d-sm-block { + display: block !important; + } + .d-sm-table { + display: table !important; + } + .d-sm-table-row { + display: table-row !important; + } + .d-sm-table-cell { + display: table-cell !important; + } + .d-sm-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + .d-md-inline { + display: inline !important; + } + .d-md-inline-block { + display: inline-block !important; + } + .d-md-block { + display: block !important; + } + .d-md-table { + display: table !important; + } + .d-md-table-row { + display: table-row !important; + } + .d-md-table-cell { + display: table-cell !important; + } + .d-md-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-inline { + display: inline !important; + } + .d-lg-inline-block { + display: inline-block !important; + } + .d-lg-block { + display: block !important; + } + .d-lg-table { + display: table !important; + } + .d-lg-table-row { + display: table-row !important; + } + .d-lg-table-cell { + display: table-cell !important; + } + .d-lg-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + .d-xl-inline { + display: inline !important; + } + .d-xl-inline-block { + display: inline-block !important; + } + .d-xl-block { + display: block !important; + } + .d-xl-table { + display: table !important; + } + .d-xl-table-row { + display: table-row !important; + } + .d-xl-table-cell { + display: table-cell !important; + } + .d-xl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + } + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; + } } -.w-50 { - width: 50% !important; +.d-print-block { + display: none !important; } -.w-75 { - width: 75% !important; +@media print { + .d-print-block { + display: block !important; + } } -.w-100 { - width: 100% !important; +.d-print-inline { + display: none !important; } -.h-25 { - height: 25% !important; +@media print { + .d-print-inline { + display: inline !important; + } } -.h-50 { - height: 50% !important; +.d-print-inline-block { + display: none !important; } -.h-75 { - height: 75% !important; +@media print { + .d-print-inline-block { + display: inline-block !important; + } } -.h-100 { - height: 100% !important; +@media print { + .d-print-none { + display: none !important; + } } -.mw-100 { - max-width: 100% !important; +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; } -.mh-100 { - max-height: 100% !important; +.embed-responsive::before { + display: block; + content: ""; } -.m-0 { - margin: 0 !important; +.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; } -.mt-0, -.my-0 { - margin-top: 0 !important; +.embed-responsive-21by9::before { + padding-top: 42.857143%; } -.mr-0, -.mx-0 { - margin-right: 0 !important; +.embed-responsive-16by9::before { + padding-top: 56.25%; } -.mb-0, -.my-0 { - margin-bottom: 0 !important; +.embed-responsive-4by3::before { + padding-top: 75%; } -.ml-0, -.mx-0 { - margin-left: 0 !important; +.embed-responsive-1by1::before { + padding-top: 100%; } -.m-1 { - margin: 0.25rem !important; +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } -.mt-1, -.my-1 { - margin-top: 0.25rem !important; +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } -.m-2 { - margin: 0.5rem !important; +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } -.mt-2, -.my-2 { - margin-top: 0.5rem !important; +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; +.justify-content-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; +.justify-content-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; +.justify-content-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } -.m-3 { - margin: 1rem !important; +.justify-content-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } -.mt-3, -.my-3 { - margin-top: 1rem !important; +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } -.mr-3, -.mx-3 { - margin-right: 1rem !important; +.align-items-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } -.mb-3, -.my-3 { - margin-bottom: 1rem !important; +.align-items-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } -.ml-3, -.mx-3 { - margin-left: 1rem !important; +.align-items-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } -.m-4 { - margin: 1.5rem !important; +.align-items-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } -.mt-4, -.my-4 { - margin-top: 1.5rem !important; +.align-items-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } -.m-5 { - margin: 3rem !important; +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } -.mt-5, -.my-5 { - margin-top: 3rem !important; +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } -.mr-5, -.mx-5 { - margin-right: 3rem !important; +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } -.mb-5, -.my-5 { - margin-bottom: 3rem !important; +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } -.ml-5, -.mx-5 { - margin-left: 3rem !important; +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } -.p-0 { - padding: 0 !important; +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } -.pt-0, -.py-0 { - padding-top: 0 !important; +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; } -.pr-0, -.px-0 { - padding-right: 0 !important; +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } -.pb-0, -.py-0 { - padding-bottom: 0 !important; +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } -.pl-0, -.px-0 { - padding-left: 0 !important; +@media (min-width: 576px) { + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } -.p-1 { - padding: 0.25rem !important; +@media (min-width: 768px) { + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } -.pt-1, -.py-1 { - padding-top: 0.25rem !important; +@media (min-width: 992px) { + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } -.pr-1, -.px-1 { - padding-right: 0.25rem !important; +@media (min-width: 1200px) { + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; + } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; + } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; + } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; + } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; + } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; + } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; + } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; + } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; + } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; + } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; + } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; + } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; + } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; + } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; + } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; + } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; + } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; + } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; + } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; + } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; + } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; + } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; + } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; + } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; + } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; + } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; + } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; + } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; + } } -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; +.float-left { + float: left !important; } -.pl-1, -.px-1 { - padding-left: 0.25rem !important; +.float-right { + float: right !important; } -.p-2 { - padding: 0.5rem !important; +.float-none { + float: none !important; } -.pt-2, -.py-2 { - padding-top: 0.5rem !important; +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + .float-sm-right { + float: right !important; + } + .float-sm-none { + float: none !important; + } } -.pr-2, -.px-2 { - padding-right: 0.5rem !important; +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + .float-md-right { + float: right !important; + } + .float-md-none { + float: none !important; + } } -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + .float-lg-right { + float: right !important; + } + .float-lg-none { + float: none !important; + } } -.pl-2, -.px-2 { - padding-left: 0.5rem !important; +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + .float-xl-right { + float: right !important; + } + .float-xl-none { + float: none !important; + } } -.p-3 { - padding: 1rem !important; +.position-static { + position: static !important; } -.pt-3, -.py-3 { - padding-top: 1rem !important; +.position-relative { + position: relative !important; } -.pr-3, -.px-3 { - padding-right: 1rem !important; +.position-absolute { + position: absolute !important; } -.pb-3, -.py-3 { - padding-bottom: 1rem !important; +.position-fixed { + position: fixed !important; } -.pl-3, -.px-3 { - padding-left: 1rem !important; +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; } -.p-4 { - padding: 1.5rem !important; +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } -.pt-4, -.py-4 { - padding-top: 1.5rem !important; +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; } -.pr-4, -.px-4 { - padding-right: 1.5rem !important; +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } } -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + border: 0; } -.pl-4, -.px-4 { - padding-left: 1.5rem !important; +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; + -webkit-clip-path: none; + clip-path: none; } -.p-5 { - padding: 3rem !important; +.w-25 { + width: 25% !important; } -.pt-5, -.py-5 { - padding-top: 3rem !important; +.w-50 { + width: 50% !important; } -.pr-5, -.px-5 { - padding-right: 3rem !important; +.w-75 { + width: 75% !important; } -.pb-5, -.py-5 { - padding-bottom: 3rem !important; +.w-100 { + width: 100% !important; } -.pl-5, -.px-5 { - padding-left: 3rem !important; +.h-25 { + height: 25% !important; } -.m-auto { - margin: auto !important; +.h-50 { + height: 50% !important; } -.mt-auto, -.my-auto { - margin-top: auto !important; +.h-75 { + height: 75% !important; } -.mr-auto, -.mx-auto { - margin-right: auto !important; +.h-100 { + height: 100% !important; } -.mb-auto, -.my-auto { - margin-bottom: auto !important; +.mw-100 { + max-width: 100% !important; } -.ml-auto, -.mx-auto { - margin-left: auto !important; +.mh-100 { + max-height: 100% !important; } -@media (min-width: 576px) { - .m-sm-0 { +.m-0 { margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } } -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { +.mt-0, +.my-0 { margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } } -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { +.mr-0, +.mx-0 { margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } } -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { +.mb-0, +.my-0 { margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { +} + +.ml-0, +.mx-0 { margin-left: 0 !important; - } - .m-xl-1 { +} + +.m-1 { margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { +} + +.mt-1, +.my-1 { margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { +} + +.mr-1, +.mx-1 { margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { +} + +.mb-1, +.my-1 { margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { +} + +.ml-1, +.mx-1 { margin-left: 0.25rem !important; - } - .m-xl-2 { +} + +.m-2 { margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { +} + +.mt-2, +.my-2 { margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { +} + +.mr-2, +.mx-2 { margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { +} + +.mb-2, +.my-2 { margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { +} + +.ml-2, +.mx-2 { margin-left: 0.5rem !important; - } - .m-xl-3 { +} + +.m-3 { margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { +} + +.mt-3, +.my-3 { margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { +} + +.mr-3, +.mx-3 { margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { +} + +.mb-3, +.my-3 { margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { +} + +.ml-3, +.mx-3 { margin-left: 1rem !important; - } - .m-xl-4 { +} + +.m-4 { margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { +} + +.mt-4, +.my-4 { margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { +} + +.mr-4, +.mx-4 { margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { +} + +.mb-4, +.my-4 { margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { +} + +.ml-4, +.mx-4 { margin-left: 1.5rem !important; - } - .m-xl-5 { +} + +.m-5 { margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { +} + +.mt-5, +.my-5 { margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { +} + +.mr-5, +.mx-5 { margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { +} + +.mb-5, +.my-5 { margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { +} + +.ml-5, +.mx-5 { margin-left: 3rem !important; - } - .p-xl-0 { +} + +.p-0 { padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { +} + +.pt-0, +.py-0 { padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { +} + +.pr-0, +.px-0 { padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { +} + +.pb-0, +.py-0 { padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { +} + +.pl-0, +.px-0 { padding-left: 0 !important; - } - .p-xl-1 { +} + +.p-1 { padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { +} + +.pt-1, +.py-1 { padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { +} + +.pr-1, +.px-1 { padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { +} + +.pb-1, +.py-1 { padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { +} + +.pl-1, +.px-1 { padding-left: 0.25rem !important; - } - .p-xl-2 { +} + +.p-2 { padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { +} + +.pt-2, +.py-2 { padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { +} + +.pr-2, +.px-2 { padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { +} + +.pb-2, +.py-2 { padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { +} + +.pl-2, +.px-2 { padding-left: 0.5rem !important; - } - .p-xl-3 { +} + +.p-3 { padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { +} + +.pt-3, +.py-3 { padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { +} + +.pr-3, +.px-3 { padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { +} + +.pb-3, +.py-3 { padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { +} + +.pl-3, +.px-3 { padding-left: 1rem !important; - } - .p-xl-4 { +} + +.p-4 { padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { +} + +.pt-4, +.py-4 { padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { +} + +.pr-4, +.px-4 { padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { +} + +.pb-4, +.py-4 { padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { +} + +.pl-4, +.px-4 { padding-left: 1.5rem !important; - } - .p-xl-5 { +} + +.p-5 { padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { +} + +.pt-5, +.py-5 { padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { +} + +.pr-5, +.px-5 { padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { +} + +.pb-5, +.py-5 { padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { +} + +.pl-5, +.px-5 { padding-left: 3rem !important; - } - .m-xl-auto { +} + +.m-auto { margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { +} + +.mt-auto, +.my-auto { margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { +} + +.mr-auto, +.mx-auto { margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { +} + +.mb-auto, +.my-auto { margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { +} + +.ml-auto, +.mx-auto { margin-left: auto !important; - } +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + .m-sm-1 { + margin: 0.25rem !important; + } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + .m-sm-2 { + margin: 0.5rem !important; + } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + .m-sm-3 { + margin: 1rem !important; + } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + .m-sm-4 { + margin: 1.5rem !important; + } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + .m-sm-5 { + margin: 3rem !important; + } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + .p-sm-0 { + padding: 0 !important; + } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + .p-sm-1 { + padding: 0.25rem !important; + } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + .p-sm-2 { + padding: 0.5rem !important; + } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + .p-sm-3 { + padding: 1rem !important; + } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + .p-sm-4 { + padding: 1.5rem !important; + } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + .p-sm-5 { + padding: 3rem !important; + } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + .m-sm-auto { + margin: auto !important; + } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + .m-md-1 { + margin: 0.25rem !important; + } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + .m-md-2 { + margin: 0.5rem !important; + } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + .m-md-3 { + margin: 1rem !important; + } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + .m-md-4 { + margin: 1.5rem !important; + } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + .m-md-5 { + margin: 3rem !important; + } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + .p-md-0 { + padding: 0 !important; + } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + .p-md-1 { + padding: 0.25rem !important; + } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + .p-md-2 { + padding: 0.5rem !important; + } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + .p-md-3 { + padding: 1rem !important; + } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + .p-md-4 { + padding: 1.5rem !important; + } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + .p-md-5 { + padding: 3rem !important; + } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + .m-md-auto { + margin: auto !important; + } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + .m-lg-1 { + margin: 0.25rem !important; + } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + .m-lg-2 { + margin: 0.5rem !important; + } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + .m-lg-3 { + margin: 1rem !important; + } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + .m-lg-4 { + margin: 1.5rem !important; + } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + .m-lg-5 { + margin: 3rem !important; + } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + .p-lg-0 { + padding: 0 !important; + } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + .p-lg-1 { + padding: 0.25rem !important; + } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + .p-lg-2 { + padding: 0.5rem !important; + } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + .p-lg-3 { + padding: 1rem !important; + } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + .p-lg-4 { + padding: 1.5rem !important; + } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + .p-lg-5 { + padding: 3rem !important; + } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + .m-lg-auto { + margin: auto !important; + } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + .m-xl-1 { + margin: 0.25rem !important; + } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + .m-xl-2 { + margin: 0.5rem !important; + } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + .m-xl-3 { + margin: 1rem !important; + } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + .m-xl-4 { + margin: 1.5rem !important; + } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + .m-xl-5 { + margin: 3rem !important; + } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + .p-xl-0 { + padding: 0 !important; + } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + .p-xl-1 { + padding: 0.25rem !important; + } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + .p-xl-2 { + padding: 0.5rem !important; + } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + .p-xl-3 { + padding: 1rem !important; + } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + .p-xl-4 { + padding: 1.5rem !important; + } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + .p-xl-5 { + padding: 3rem !important; + } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + .m-xl-auto { + margin: auto !important; + } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } } .text-justify { - text-align: justify !important; + text-align: justify !important; } .text-nowrap { - white-space: nowrap !important; + white-space: nowrap !important; } .text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .text-left { - text-align: left !important; + text-align: left !important; } .text-right { - text-align: right !important; + text-align: right !important; } .text-center { - text-align: center !important; + text-align: center !important; } @media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } + .text-sm-left { + text-align: left !important; + } + .text-sm-right { + text-align: right !important; + } + .text-sm-center { + text-align: center !important; + } } @media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } + .text-md-left { + text-align: left !important; + } + .text-md-right { + text-align: right !important; + } + .text-md-center { + text-align: center !important; + } } @media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } + .text-lg-left { + text-align: left !important; + } + .text-lg-right { + text-align: right !important; + } + .text-lg-center { + text-align: center !important; + } } @media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } + .text-xl-left { + text-align: left !important; + } + .text-xl-right { + text-align: right !important; + } + .text-xl-center { + text-align: center !important; + } } .text-lowercase { - text-transform: lowercase !important; + text-transform: lowercase !important; } .text-uppercase { - text-transform: uppercase !important; + text-transform: uppercase !important; } .text-capitalize { - text-transform: capitalize !important; + text-transform: capitalize !important; } .font-weight-light { - font-weight: 300 !important; + font-weight: 300 !important; } .font-weight-normal { - font-weight: 400 !important; + font-weight: 400 !important; } .font-weight-bold { - font-weight: 700 !important; + font-weight: 700 !important; } .font-italic { - font-style: italic !important; + font-style: italic !important; } .text-white { - color: #fff !important; + color: #fff !important; } .text-primary { - color: #007bff !important; + color: #007bff !important; } -a.text-primary:focus, a.text-primary:hover { - color: #0062cc !important; +a.text-primary:focus, +a.text-primary:hover { + color: #0062cc !important; } .text-secondary { - color: #868e96 !important; + color: #868e96 !important; } -a.text-secondary:focus, a.text-secondary:hover { - color: #6c757d !important; +a.text-secondary:focus, +a.text-secondary:hover { + color: #6c757d !important; } .text-success { - color: #28a745 !important; + color: #28a745 !important; } -a.text-success:focus, a.text-success:hover { - color: #1e7e34 !important; +a.text-success:focus, +a.text-success:hover { + color: #1e7e34 !important; } .text-info { - color: #17a2b8 !important; + color: #17a2b8 !important; } -a.text-info:focus, a.text-info:hover { - color: #117a8b !important; +a.text-info:focus, +a.text-info:hover { + color: #117a8b !important; } .text-warning { - color: #ffc107 !important; + color: #ffc107 !important; } -a.text-warning:focus, a.text-warning:hover { - color: #d39e00 !important; +a.text-warning:focus, +a.text-warning:hover { + color: #d39e00 !important; } .text-danger { - color: #dc3545 !important; + color: #dc3545 !important; } -a.text-danger:focus, a.text-danger:hover { - color: #bd2130 !important; +a.text-danger:focus, +a.text-danger:hover { + color: #bd2130 !important; } .text-light { - color: #f8f9fa !important; + color: #f8f9fa !important; } -a.text-light:focus, a.text-light:hover { - color: #dae0e5 !important; +a.text-light:focus, +a.text-light:hover { + color: #dae0e5 !important; } .text-dark { - color: #343a40 !important; + color: #343a40 !important; } -a.text-dark:focus, a.text-dark:hover { - color: #1d2124 !important; +a.text-dark:focus, +a.text-dark:hover { + color: #1d2124 !important; } .text-muted { - color: #868e96 !important; + color: #868e96 !important; } .text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } .visible { - visibility: visible !important; + visibility: visible !important; } .invisible { - visibility: hidden !important; + visibility: hidden !important; } @media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .badge { - 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; - } + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + abbr[title]::after { + content: " (" attr(title) ")"; + } + pre { + white-space: pre-wrap !important; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .badge { + 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; + } } /*# sourceMappingURL=bootstrap.css.map */ diff --git a/packages/browser-sync/test/fixtures/bootstrap/index.html b/packages/browser-sync/test/fixtures/bootstrap/index.html index ea374138a..09f5b35d2 100644 --- a/packages/browser-sync/test/fixtures/bootstrap/index.html +++ b/packages/browser-sync/test/fixtures/bootstrap/index.html @@ -1,103 +1,151 @@ - - + - - - - - - - Justified Nav Template for Bootstrap + + + + + - - + Justified Nav Template for Bootstrap - - - + + - + + + -
+ +
+
+

Project name

-
-

Project name

+ +
- -
+
+ +
+

Marketing stuff!

+

+ Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, + tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa + justo sit amet. +

+

+ Get started today +

+
-
- - -
-

Marketing stuff!

-

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.

-

Get started today

-
+ +
+
+

Heading

+

+ Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus + ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa + justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. + Donec sed odio dui. +

+

+ View details » +

+
+
+

Heading

+

+ Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus + ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa + justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. + Donec sed odio dui. +

+

+ View details » +

+
+
+

Heading

+

+ Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas + eget quam. Vestibulum id ligula porta felis euismod semper. Fusce + dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut + fermentum massa. +

+

+ View details » +

+
+
+
- -
-
-

Heading

-

Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

-

View details »

-
-
-

Heading

-

Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.

-

View details »

-
-
-

Heading

-

Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.

-

View details »

-
+ +
+

© Company 2017

+
+ -
- - -
-

© Company 2017

-
- -
- - - - - - + + + + diff --git a/packages/browser-sync/test/fixtures/bootstrap/js/bootstrap.bundle.js b/packages/browser-sync/test/fixtures/bootstrap/js/bootstrap.bundle.js index f905c51de..6f624d44b 100755 --- a/packages/browser-sync/test/fixtures/bootstrap/js/bootstrap.bundle.js +++ b/packages/browser-sync/test/fixtures/bootstrap/js/bootstrap.bundle.js @@ -1,6326 +1,6901 @@ /*! - * Bootstrap v4.0.0-beta.3 (https://getbootstrap.com) - * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) : - typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) : - (factory((global.bootstrap = {}),global.jQuery)); -}(this, (function (exports,$) { 'use strict'; - -$ = $ && $.hasOwnProperty('default') ? $['default'] : $; - -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); - } -} - -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; -} - -function _extends() { - _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; + * Bootstrap v4.0.0-beta.3 (https://getbootstrap.com) + * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +(function(global, factory) { + typeof exports === "object" && typeof module !== "undefined" + ? factory(exports, require("jquery")) + : typeof define === "function" && define.amd + ? define(["exports", "jquery"], factory) + : factory((global.bootstrap = {}), global.jQuery); +})(this, function(exports, $) { + "use strict"; + + $ = $ && $.hasOwnProperty("default") ? $["default"] : $; + + 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 target; - }; - - return _extends.apply(this, arguments); -} - -function _inheritsLoose(subClass, superClass) { - subClass.prototype = Object.create(superClass.prototype); - subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; -} + function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; + } -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): util.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + function _extends() { + _extends = + Object.assign || + function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; -var Util = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Private TransitionEnd Helpers - * ------------------------------------------------------------------------ - */ - var transition = false; - var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp) - - function toType(obj) { - return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase(); - } - - function getSpecialTransitionEndEvent() { - return { - bindType: transition.end, - delegateType: transition.end, - handle: function handle(event) { - if ($$$1(event.target).is(this)) { - return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params - } + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } - return undefined; // eslint-disable-line no-undefined - } - }; - } + return target; + }; - function transitionEndTest() { - if (window.QUnit) { - return false; + return _extends.apply(this, arguments); } - return { - end: 'transitionend' - }; - } - - function transitionEndEmulator(duration) { - var _this = this; - - var called = false; - $$$1(this).one(Util.TRANSITION_END, function () { - called = true; - }); - setTimeout(function () { - if (!called) { - Util.triggerTransitionEnd(_this); - } - }, duration); - return this; - } - - function setTransitionEndSupport() { - transition = transitionEndTest(); - $$$1.fn.emulateTransitionEnd = transitionEndEmulator; - - if (Util.supportsTransitionEnd()) { - $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); - } - } - - function escapeId(selector) { - // we escape IDs in case of special selectors (selector = '#myId:something') - // $.escapeSelector does not exist in jQuery < 3 - selector = typeof $$$1.escapeSelector === 'function' ? $$$1.escapeSelector(selector).substr(1) : selector.replace(/(:|\.|\[|\]|,|=|@)/g, '\\$1'); - return selector; - } - /** - * -------------------------------------------------------------------------- - * Public Util Api - * -------------------------------------------------------------------------- - */ - - - var Util = { - TRANSITION_END: 'bsTransitionEnd', - getUID: function getUID(prefix) { - do { - // eslint-disable-next-line no-bitwise - prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here - } while (document.getElementById(prefix)); - - return prefix; - }, - getSelectorFromElement: function getSelectorFromElement(element) { - var selector = element.getAttribute('data-target'); - - if (!selector || selector === '#') { - selector = element.getAttribute('href') || ''; - } // if it's an ID - - - if (selector.charAt(0) === '#') { - selector = escapeId(selector); - } - - try { - var $selector = $$$1(document).find(selector); - return $selector.length > 0 ? selector : null; - } catch (error) { - return null; - } - }, - reflow: function reflow(element) { - return element.offsetHeight; - }, - triggerTransitionEnd: function triggerTransitionEnd(element) { - $$$1(element).trigger(transition.end); - }, - supportsTransitionEnd: function supportsTransitionEnd() { - return Boolean(transition); - }, - isElement: function isElement(obj) { - return (obj[0] || obj).nodeType; - }, - typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { - for (var property in configTypes) { - if (Object.prototype.hasOwnProperty.call(configTypes, property)) { - var expectedTypes = configTypes[property]; - var value = config[property]; - var valueType = value && Util.isElement(value) ? 'element' : toType(value); - - if (!new RegExp(expectedTypes).test(valueType)) { - throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\".")); - } - } - } + function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; } - }; - setTransitionEndSupport(); - return Util; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): alert.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ -var Alert = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'alert'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.alert'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var TRANSITION_DURATION = 150; - var Selector = { - DISMISS: '[data-dismiss="alert"]' - }; - var Event = { - CLOSE: "close" + EVENT_KEY, - CLOSED: "closed" + EVENT_KEY, - CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - ALERT: 'alert', - FADE: 'fade', - SHOW: 'show' /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): util.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - }; - - var Alert = - /*#__PURE__*/ - function () { - function Alert(element) { - this._element = element; - } // getters - - - var _proto = Alert.prototype; - - // public - _proto.close = function close(element) { - element = element || this._element; - - var rootElement = this._getRootElement(element); + var Util = (function($$$1) { + /** + * ------------------------------------------------------------------------ + * Private TransitionEnd Helpers + * ------------------------------------------------------------------------ + */ + var transition = false; + var MAX_UID = 1000000; // shoutout AngusCroll (https://goo.gl/pxwQGp) + + function toType(obj) { + return {}.toString + .call(obj) + .match(/\s([a-zA-Z]+)/)[1] + .toLowerCase(); + } - var customEvent = this._triggerCloseEvent(rootElement); + function getSpecialTransitionEndEvent() { + return { + bindType: transition.end, + delegateType: transition.end, + handle: function handle(event) { + if ($$$1(event.target).is(this)) { + return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params + } + + return undefined; // eslint-disable-line no-undefined + } + }; + } - if (customEvent.isDefaultPrevented()) { - return; - } + function transitionEndTest() { + if (window.QUnit) { + return false; + } - this._removeElement(rootElement); - }; + return { + end: "transitionend" + }; + } - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - this._element = null; - }; // private + function transitionEndEmulator(duration) { + var _this = this; + + var called = false; + $$$1(this).one(Util.TRANSITION_END, function() { + called = true; + }); + setTimeout(function() { + if (!called) { + Util.triggerTransitionEnd(_this); + } + }, duration); + return this; + } + function setTransitionEndSupport() { + transition = transitionEndTest(); + $$$1.fn.emulateTransitionEnd = transitionEndEmulator; - _proto._getRootElement = function _getRootElement(element) { - var selector = Util.getSelectorFromElement(element); - var parent = false; + if (Util.supportsTransitionEnd()) { + $$$1.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); + } + } - if (selector) { - parent = $$$1(selector)[0]; - } + function escapeId(selector) { + // we escape IDs in case of special selectors (selector = '#myId:something') + // $.escapeSelector does not exist in jQuery < 3 + selector = + typeof $$$1.escapeSelector === "function" + ? $$$1.escapeSelector(selector).substr(1) + : selector.replace(/(:|\.|\[|\]|,|=|@)/g, "\\$1"); + return selector; + } + /** + * -------------------------------------------------------------------------- + * Public Util Api + * -------------------------------------------------------------------------- + */ - if (!parent) { - parent = $$$1(element).closest("." + ClassName.ALERT)[0]; - } + var Util = { + TRANSITION_END: "bsTransitionEnd", + getUID: function getUID(prefix) { + do { + // eslint-disable-next-line no-bitwise + prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here + } while (document.getElementById(prefix)); - return parent; - }; + return prefix; + }, + getSelectorFromElement: function getSelectorFromElement(element) { + var selector = element.getAttribute("data-target"); + + if (!selector || selector === "#") { + selector = element.getAttribute("href") || ""; + } // if it's an ID + + if (selector.charAt(0) === "#") { + selector = escapeId(selector); + } + + try { + var $selector = $$$1(document).find(selector); + return $selector.length > 0 ? selector : null; + } catch (error) { + return null; + } + }, + reflow: function reflow(element) { + return element.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(element) { + $$$1(element).trigger(transition.end); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(transition); + }, + isElement: function isElement(obj) { + return (obj[0] || obj).nodeType; + }, + typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { + for (var property in configTypes) { + if (Object.prototype.hasOwnProperty.call(configTypes, property)) { + var expectedTypes = configTypes[property]; + var value = config[property]; + var valueType = value && Util.isElement(value) ? "element" : toType(value); + + if (!new RegExp(expectedTypes).test(valueType)) { + throw new Error( + componentName.toUpperCase() + + ": " + + ('Option "' + + property + + '" provided type "' + + valueType + + '" ') + + ('but expected type "' + expectedTypes + '".') + ); + } + } + } + } + }; + setTransitionEndSupport(); + return Util; + })($); - _proto._triggerCloseEvent = function _triggerCloseEvent(element) { - var closeEvent = $$$1.Event(Event.CLOSE); - $$$1(element).trigger(closeEvent); - return closeEvent; - }; + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): alert.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ - _proto._removeElement = function _removeElement(element) { - var _this = this; + var Alert = (function($$$1) { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = "alert"; + var VERSION = "4.0.0-beta.3"; + var DATA_KEY = "bs.alert"; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = ".data-api"; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var TRANSITION_DURATION = 150; + var Selector = { + DISMISS: '[data-dismiss="alert"]' + }; + var Event = { + CLOSE: "close" + EVENT_KEY, + CLOSED: "closed" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY + }; + var ClassName = { + ALERT: "alert", + FADE: "fade", + SHOW: "show" + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + }; - $$$1(element).removeClass(ClassName.SHOW); + var Alert = + /*#__PURE__*/ + (function() { + function Alert(element) { + this._element = element; + } // getters + + var _proto = Alert.prototype; + + // public + _proto.close = function close(element) { + element = element || this._element; + + var rootElement = this._getRootElement(element); + + var customEvent = this._triggerCloseEvent(rootElement); + + if (customEvent.isDefaultPrevented()) { + return; + } + + this._removeElement(rootElement); + }; + + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._element = null; + }; // private + + _proto._getRootElement = function _getRootElement(element) { + var selector = Util.getSelectorFromElement(element); + var parent = false; + + if (selector) { + parent = $$$1(selector)[0]; + } + + if (!parent) { + parent = $$$1(element).closest("." + ClassName.ALERT)[0]; + } + + return parent; + }; + + _proto._triggerCloseEvent = function _triggerCloseEvent(element) { + var closeEvent = $$$1.Event(Event.CLOSE); + $$$1(element).trigger(closeEvent); + return closeEvent; + }; + + _proto._removeElement = function _removeElement(element) { + var _this = this; + + $$$1(element).removeClass(ClassName.SHOW); + + if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) { + this._destroyElement(element); + + return; + } + + $$$1(element) + .one(Util.TRANSITION_END, function(event) { + return _this._destroyElement(element, event); + }) + .emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto._destroyElement = function _destroyElement(element) { + $$$1(element) + .detach() + .trigger(Event.CLOSED) + .remove(); + }; // static + + Alert._jQueryInterface = function _jQueryInterface(config) { + return this.each(function() { + var $element = $$$1(this); + var data = $element.data(DATA_KEY); + + if (!data) { + data = new Alert(this); + $element.data(DATA_KEY, data); + } + + if (config === "close") { + data[config](this); + } + }); + }; + + Alert._handleDismiss = function _handleDismiss(alertInstance) { + return function(event) { + if (event) { + event.preventDefault(); + } + + alertInstance.close(this); + }; + }; + + _createClass(Alert, null, [ + { + key: "VERSION", + get: function get() { + return VERSION; + } + } + ]); + return Alert; + })(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - if (!Util.supportsTransitionEnd() || !$$$1(element).hasClass(ClassName.FADE)) { - this._destroyElement(element); + $$$1(document).on( + Event.CLICK_DATA_API, + Selector.DISMISS, + Alert._handleDismiss(new Alert()) + ); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - return; - } + $$$1.fn[NAME] = Alert._jQueryInterface; + $$$1.fn[NAME].Constructor = Alert; - $$$1(element).one(Util.TRANSITION_END, function (event) { - return _this._destroyElement(element, event); - }).emulateTransitionEnd(TRANSITION_DURATION); - }; + $$$1.fn[NAME].noConflict = function() { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Alert._jQueryInterface; + }; - _proto._destroyElement = function _destroyElement(element) { - $$$1(element).detach().trigger(Event.CLOSED).remove(); - }; // static + return Alert; + })($); + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): button.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ - Alert._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $element = $$$1(this); - var data = $element.data(DATA_KEY); + var Button = (function($$$1) { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = "button"; + var VERSION = "4.0.0-beta.3"; + var DATA_KEY = "bs.button"; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = ".data-api"; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var ClassName = { + ACTIVE: "active", + BUTTON: "btn", + FOCUS: "focus" + }; + var Selector = { + DATA_TOGGLE_CARROT: '[data-toggle^="button"]', + DATA_TOGGLE: '[data-toggle="buttons"]', + INPUT: "input", + ACTIVE: ".active", + BUTTON: ".btn" + }; + 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) + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + }; - if (!data) { - data = new Alert(this); - $element.data(DATA_KEY, data); - } + var Button = + /*#__PURE__*/ + (function() { + function Button(element) { + this._element = element; + } // getters + + var _proto = Button.prototype; + + // public + _proto.toggle = function toggle() { + var triggerChangeEvent = true; + var addAriaPressed = true; + var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0]; + + if (rootElement) { + var input = $$$1(this._element).find(Selector.INPUT)[0]; + + if (input) { + if (input.type === "radio") { + if ( + input.checked && + $$$1(this._element).hasClass(ClassName.ACTIVE) + ) { + triggerChangeEvent = false; + } else { + var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0]; + + if (activeElement) { + $$$1(activeElement).removeClass(ClassName.ACTIVE); + } + } + } + + if (triggerChangeEvent) { + if ( + input.hasAttribute("disabled") || + rootElement.hasAttribute("disabled") || + input.classList.contains("disabled") || + rootElement.classList.contains("disabled") + ) { + return; + } + + input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE); + $$$1(input).trigger("change"); + } + + input.focus(); + addAriaPressed = false; + } + } + + if (addAriaPressed) { + this._element.setAttribute( + "aria-pressed", + !$$$1(this._element).hasClass(ClassName.ACTIVE) + ); + } + + if (triggerChangeEvent) { + $$$1(this._element).toggleClass(ClassName.ACTIVE); + } + }; + + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._element = null; + }; // static + + Button._jQueryInterface = function _jQueryInterface(config) { + return this.each(function() { + var data = $$$1(this).data(DATA_KEY); + + if (!data) { + data = new Button(this); + $$$1(this).data(DATA_KEY, data); + } + + if (config === "toggle") { + data[config](); + } + }); + }; + + _createClass(Button, null, [ + { + key: "VERSION", + get: function get() { + return VERSION; + } + } + ]); + return Button; + })(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - if (config === 'close') { - data[config](this); - } - }); - }; + $$$1(document) + .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function(event) { + event.preventDefault(); + var button = event.target; + + if (!$$$1(button).hasClass(ClassName.BUTTON)) { + button = $$$1(button).closest(Selector.BUTTON); + } + + Button._jQueryInterface.call($$$1(button), "toggle"); + }) + .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function(event) { + var button = $$$1(event.target).closest(Selector.BUTTON)[0]; + $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - Alert._handleDismiss = function _handleDismiss(alertInstance) { - return function (event) { - if (event) { - event.preventDefault(); - } + $$$1.fn[NAME] = Button._jQueryInterface; + $$$1.fn[NAME].Constructor = Button; - alertInstance.close(this); - }; - }; + $$$1.fn[NAME].noConflict = function() { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Button._jQueryInterface; + }; - _createClass(Alert, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }]); - return Alert; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert())); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Alert._jQueryInterface; - $$$1.fn[NAME].Constructor = Alert; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Alert._jQueryInterface; - }; - - return Alert; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): button.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + return Button; + })($); -var Button = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'button'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.button'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var ClassName = { - ACTIVE: 'active', - BUTTON: 'btn', - FOCUS: 'focus' - }; - var Selector = { - DATA_TOGGLE_CARROT: '[data-toggle^="button"]', - DATA_TOGGLE: '[data-toggle="buttons"]', - INPUT: 'input', - ACTIVE: '.active', - BUTTON: '.btn' - }; - 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) /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): carousel.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- */ - }; + var Carousel = (function($$$1) { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = "carousel"; + var VERSION = "4.0.0-beta.3"; + var DATA_KEY = "bs.carousel"; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = ".data-api"; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var TRANSITION_DURATION = 600; + var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key + + var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key + + var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch + + var Default = { + interval: 5000, + keyboard: true, + slide: false, + pause: "hover", + wrap: true + }; + var DefaultType = { + interval: "(number|boolean)", + keyboard: "boolean", + slide: "(boolean|string)", + pause: "(string|boolean)", + wrap: "boolean" + }; + var Direction = { + NEXT: "next", + PREV: "prev", + LEFT: "left", + RIGHT: "right" + }; + var Event = { + SLIDE: "slide" + EVENT_KEY, + SLID: "slid" + EVENT_KEY, + KEYDOWN: "keydown" + EVENT_KEY, + MOUSEENTER: "mouseenter" + EVENT_KEY, + MOUSELEAVE: "mouseleave" + EVENT_KEY, + TOUCHEND: "touchend" + 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: "carousel-item-right", + LEFT: "carousel-item-left", + NEXT: "carousel-item-next", + PREV: "carousel-item-prev", + ITEM: "carousel-item" + }; + var Selector = { + ACTIVE: ".active", + ACTIVE_ITEM: ".active.carousel-item", + ITEM: ".carousel-item", + NEXT_PREV: ".carousel-item-next, .carousel-item-prev", + INDICATORS: ".carousel-indicators", + DATA_SLIDE: "[data-slide], [data-slide-to]", + DATA_RIDE: '[data-ride="carousel"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + }; - var Button = - /*#__PURE__*/ - function () { - function Button(element) { - this._element = element; - } // getters + var Carousel = + /*#__PURE__*/ + (function() { + function Carousel(element, config) { + this._items = null; + this._interval = null; + this._activeElement = null; + this._isPaused = false; + this._isSliding = false; + this.touchTimeout = null; + this._config = this._getConfig(config); + this._element = $$$1(element)[0]; + this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0]; + + this._addEventListeners(); + } // getters + + var _proto = Carousel.prototype; + + // public + _proto.next = function next() { + if (!this._isSliding) { + this._slide(Direction.NEXT); + } + }; + + _proto.nextWhenVisible = function nextWhenVisible() { + // Don't call next when the page isn't visible + // or the carousel or its parent isn't visible + if ( + !document.hidden && + $$$1(this._element).is(":visible") && + $$$1(this._element).css("visibility") !== "hidden" + ) { + this.next(); + } + }; + + _proto.prev = function prev() { + if (!this._isSliding) { + this._slide(Direction.PREV); + } + }; + + _proto.pause = function pause(event) { + if (!event) { + this._isPaused = true; + } + + if ( + $$$1(this._element).find(Selector.NEXT_PREV)[0] && + Util.supportsTransitionEnd() + ) { + Util.triggerTransitionEnd(this._element); + this.cycle(true); + } + + clearInterval(this._interval); + this._interval = null; + }; + + _proto.cycle = function cycle(event) { + if (!event) { + this._isPaused = false; + } + + if (this._interval) { + clearInterval(this._interval); + this._interval = null; + } + + if (this._config.interval && !this._isPaused) { + this._interval = setInterval( + (document.visibilityState ? this.nextWhenVisible : this.next).bind( + this + ), + this._config.interval + ); + } + }; + + _proto.to = function to(index) { + var _this = this; + + this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeIndex = this._getItemIndex(this._activeElement); + + if (index > this._items.length - 1 || index < 0) { + return; + } + + if (this._isSliding) { + $$$1(this._element).one(Event.SLID, function() { + return _this.to(index); + }); + return; + } + + if (activeIndex === index) { + this.pause(); + this.cycle(); + return; + } + + var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + + this._slide(direction, this._items[index]); + }; + + _proto.dispose = function dispose() { + $$$1(this._element).off(EVENT_KEY); + $$$1.removeData(this._element, DATA_KEY); + this._items = null; + this._config = null; + this._element = null; + this._interval = null; + this._isPaused = null; + this._isSliding = null; + this._activeElement = null; + this._indicatorsElement = null; + }; // private + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default, config); + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._addEventListeners = function _addEventListeners() { + var _this2 = this; + + if (this._config.keyboard) { + $$$1(this._element).on(Event.KEYDOWN, function(event) { + return _this2._keydown(event); + }); + } + + if (this._config.pause === "hover") { + $$$1(this._element) + .on(Event.MOUSEENTER, function(event) { + return _this2.pause(event); + }) + .on(Event.MOUSELEAVE, function(event) { + return _this2.cycle(event); + }); + + if ("ontouchstart" in document.documentElement) { + // if it's a touch-enabled device, mouseenter/leave are fired as + // part of the mouse compatibility events on first tap - the carousel + // would stop cycling until user tapped out of it; + // here, we listen for touchend, explicitly pause the carousel + // (as if it's the second time we tap on it, mouseenter compat event + // is NOT fired) and after a timeout (to allow for mouse compatibility + // events to fire) we explicitly restart cycling + $$$1(this._element).on(Event.TOUCHEND, function() { + _this2.pause(); + + if (_this2.touchTimeout) { + clearTimeout(_this2.touchTimeout); + } + + _this2.touchTimeout = setTimeout(function(event) { + return _this2.cycle(event); + }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); + }); + } + } + }; + + _proto._keydown = function _keydown(event) { + if (/input|textarea/i.test(event.target.tagName)) { + return; + } + + switch (event.which) { + case ARROW_LEFT_KEYCODE: + event.preventDefault(); + this.prev(); + break; + + case ARROW_RIGHT_KEYCODE: + event.preventDefault(); + this.next(); + break; + + default: + return; + } + }; + + _proto._getItemIndex = function _getItemIndex(element) { + this._items = $$$1.makeArray( + $$$1(element) + .parent() + .find(Selector.ITEM) + ); + return this._items.indexOf(element); + }; + + _proto._getItemByDirection = function _getItemByDirection( + direction, + activeElement + ) { + var isNextDirection = direction === Direction.NEXT; + var isPrevDirection = direction === Direction.PREV; + + var activeIndex = this._getItemIndex(activeElement); + + var lastItemIndex = this._items.length - 1; + var isGoingToWrap = + (isPrevDirection && activeIndex === 0) || + (isNextDirection && activeIndex === lastItemIndex); + + if (isGoingToWrap && !this._config.wrap) { + return activeElement; + } + + var delta = direction === Direction.PREV ? -1 : 1; + var itemIndex = (activeIndex + delta) % this._items.length; + return itemIndex === -1 + ? this._items[this._items.length - 1] + : this._items[itemIndex]; + }; + + _proto._triggerSlideEvent = function _triggerSlideEvent( + relatedTarget, + eventDirectionName + ) { + var targetIndex = this._getItemIndex(relatedTarget); + + var fromIndex = this._getItemIndex( + $$$1(this._element).find(Selector.ACTIVE_ITEM)[0] + ); + + var slideEvent = $$$1.Event(Event.SLIDE, { + relatedTarget: relatedTarget, + direction: eventDirectionName, + from: fromIndex, + to: targetIndex + }); + $$$1(this._element).trigger(slideEvent); + return slideEvent; + }; + + _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { + if (this._indicatorsElement) { + $$$1(this._indicatorsElement) + .find(Selector.ACTIVE) + .removeClass(ClassName.ACTIVE); + + var nextIndicator = this._indicatorsElement.children[ + this._getItemIndex(element) + ]; + + if (nextIndicator) { + $$$1(nextIndicator).addClass(ClassName.ACTIVE); + } + } + }; + + _proto._slide = function _slide(direction, element) { + var _this3 = this; + + var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; + + var activeElementIndex = this._getItemIndex(activeElement); + + var nextElement = + element || + (activeElement && this._getItemByDirection(direction, activeElement)); + + var nextElementIndex = this._getItemIndex(nextElement); + + var isCycling = Boolean(this._interval); + var directionalClassName; + var orderClassName; + var eventDirectionName; + + if (direction === Direction.NEXT) { + directionalClassName = ClassName.LEFT; + orderClassName = ClassName.NEXT; + eventDirectionName = Direction.LEFT; + } else { + directionalClassName = ClassName.RIGHT; + orderClassName = ClassName.PREV; + eventDirectionName = Direction.RIGHT; + } + + if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) { + this._isSliding = false; + return; + } + + var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); + + if (slideEvent.isDefaultPrevented()) { + return; + } + + if (!activeElement || !nextElement) { + // some weirdness is happening, so we bail + return; + } + + this._isSliding = true; + + if (isCycling) { + this.pause(); + } + + this._setActiveIndicatorElement(nextElement); + + var slidEvent = $$$1.Event(Event.SLID, { + relatedTarget: nextElement, + direction: eventDirectionName, + from: activeElementIndex, + to: nextElementIndex + }); + + if ( + Util.supportsTransitionEnd() && + $$$1(this._element).hasClass(ClassName.SLIDE) + ) { + $$$1(nextElement).addClass(orderClassName); + Util.reflow(nextElement); + $$$1(activeElement).addClass(directionalClassName); + $$$1(nextElement).addClass(directionalClassName); + $$$1(activeElement) + .one(Util.TRANSITION_END, function() { + $$$1(nextElement) + .removeClass(directionalClassName + " " + orderClassName) + .addClass(ClassName.ACTIVE); + $$$1(activeElement).removeClass( + ClassName.ACTIVE + + " " + + orderClassName + + " " + + directionalClassName + ); + _this3._isSliding = false; + setTimeout(function() { + return $$$1(_this3._element).trigger(slidEvent); + }, 0); + }) + .emulateTransitionEnd(TRANSITION_DURATION); + } else { + $$$1(activeElement).removeClass(ClassName.ACTIVE); + $$$1(nextElement).addClass(ClassName.ACTIVE); + this._isSliding = false; + $$$1(this._element).trigger(slidEvent); + } + + if (isCycling) { + this.cycle(); + } + }; // static + + Carousel._jQueryInterface = function _jQueryInterface(config) { + return this.each(function() { + var data = $$$1(this).data(DATA_KEY); + + var _config = _extends({}, Default, $$$1(this).data()); + + if (typeof config === "object") { + _config = _extends({}, _config, config); + } + + var action = typeof config === "string" ? config : _config.slide; + + if (!data) { + data = new Carousel(this, _config); + $$$1(this).data(DATA_KEY, data); + } + + if (typeof config === "number") { + data.to(config); + } else if (typeof action === "string") { + if (typeof data[action] === "undefined") { + throw new Error('No method named "' + action + '"'); + } + + data[action](); + } else if (_config.interval) { + data.pause(); + data.cycle(); + } + }); + }; + + Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { + var selector = Util.getSelectorFromElement(this); + + if (!selector) { + return; + } + + var target = $$$1(selector)[0]; + + if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) { + return; + } + + var config = _extends({}, $$$1(target).data(), $$$1(this).data()); + var slideIndex = this.getAttribute("data-slide-to"); + + if (slideIndex) { + config.interval = false; + } + + Carousel._jQueryInterface.call($$$1(target), config); + + if (slideIndex) { + $$$1(target) + .data(DATA_KEY) + .to(slideIndex); + } + + event.preventDefault(); + }; + + _createClass(Carousel, null, [ + { + key: "VERSION", + get: function get() { + return VERSION; + } + }, + { + key: "Default", + get: function get() { + return Default; + } + } + ]); + return Carousel; + })(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); + $$$1(window).on(Event.LOAD_DATA_API, function() { + $$$1(Selector.DATA_RIDE).each(function() { + var $carousel = $$$1(this); - var _proto = Button.prototype; + Carousel._jQueryInterface.call($carousel, $carousel.data()); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - // public - _proto.toggle = function toggle() { - var triggerChangeEvent = true; - var addAriaPressed = true; - var rootElement = $$$1(this._element).closest(Selector.DATA_TOGGLE)[0]; + $$$1.fn[NAME] = Carousel._jQueryInterface; + $$$1.fn[NAME].Constructor = Carousel; - if (rootElement) { - var input = $$$1(this._element).find(Selector.INPUT)[0]; + $$$1.fn[NAME].noConflict = function() { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Carousel._jQueryInterface; + }; - if (input) { - if (input.type === 'radio') { - if (input.checked && $$$1(this._element).hasClass(ClassName.ACTIVE)) { - triggerChangeEvent = false; - } else { - var activeElement = $$$1(rootElement).find(Selector.ACTIVE)[0]; + return Carousel; + })($); - if (activeElement) { - $$$1(activeElement).removeClass(ClassName.ACTIVE); - } - } - } + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): collapse.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ - if (triggerChangeEvent) { - if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) { - return; - } + var Collapse = (function($$$1) { + /** + * ------------------------------------------------------------------------ + * Constants + * ------------------------------------------------------------------------ + */ + var NAME = "collapse"; + var VERSION = "4.0.0-beta.3"; + var DATA_KEY = "bs.collapse"; + var EVENT_KEY = "." + DATA_KEY; + var DATA_API_KEY = ".data-api"; + var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; + var TRANSITION_DURATION = 600; + var Default = { + toggle: true, + parent: "" + }; + var DefaultType = { + toggle: "boolean", + parent: "(string|element)" + }; + 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 = { + SHOW: "show", + COLLAPSE: "collapse", + COLLAPSING: "collapsing", + COLLAPSED: "collapsed" + }; + var Dimension = { + WIDTH: "width", + HEIGHT: "height" + }; + var Selector = { + ACTIVES: ".show, .collapsing", + DATA_TOGGLE: '[data-toggle="collapse"]' + /** + * ------------------------------------------------------------------------ + * Class Definition + * ------------------------------------------------------------------------ + */ + }; - input.checked = !$$$1(this._element).hasClass(ClassName.ACTIVE); - $$$1(input).trigger('change'); - } + var Collapse = + /*#__PURE__*/ + (function() { + function Collapse(element, config) { + this._isTransitioning = false; + this._element = element; + this._config = this._getConfig(config); + this._triggerArray = $$$1.makeArray( + $$$1( + '[data-toggle="collapse"][href="#' + + element.id + + '"],' + + ('[data-toggle="collapse"][data-target="#' + element.id + '"]') + ) + ); + var tabToggles = $$$1(Selector.DATA_TOGGLE); + + for (var i = 0; i < tabToggles.length; i++) { + var elem = tabToggles[i]; + var selector = Util.getSelectorFromElement(elem); + + if (selector !== null && $$$1(selector).filter(element).length > 0) { + this._triggerArray.push(elem); + } + } + + this._parent = this._config.parent ? this._getParent() : null; + + if (!this._config.parent) { + this._addAriaAndCollapsedClass(this._element, this._triggerArray); + } + + if (this._config.toggle) { + this.toggle(); + } + } // getters + + var _proto = Collapse.prototype; + + // public + _proto.toggle = function toggle() { + if ($$$1(this._element).hasClass(ClassName.SHOW)) { + this.hide(); + } else { + this.show(); + } + }; + + _proto.show = function show() { + var _this = this; + + if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var actives; + var activesData; + + if (this._parent) { + actives = $$$1.makeArray( + $$$1(this._parent) + .children() + .children(Selector.ACTIVES) + ); + + if (!actives.length) { + actives = null; + } + } + + if (actives) { + activesData = $$$1(actives).data(DATA_KEY); + + if (activesData && activesData._isTransitioning) { + return; + } + } + + var startEvent = $$$1.Event(Event.SHOW); + $$$1(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + if (actives) { + Collapse._jQueryInterface.call($$$1(actives), "hide"); + + if (!activesData) { + $$$1(actives).data(DATA_KEY, null); + } + } + + var dimension = this._getDimension(); + + $$$1(this._element) + .removeClass(ClassName.COLLAPSE) + .addClass(ClassName.COLLAPSING); + this._element.style[dimension] = 0; + + if (this._triggerArray.length) { + $$$1(this._triggerArray) + .removeClass(ClassName.COLLAPSED) + .attr("aria-expanded", true); + } + + this.setTransitioning(true); + + var complete = function complete() { + $$$1(_this._element) + .removeClass(ClassName.COLLAPSING) + .addClass(ClassName.COLLAPSE) + .addClass(ClassName.SHOW); + _this._element.style[dimension] = ""; + + _this.setTransitioning(false); + + $$$1(_this._element).trigger(Event.SHOWN); + }; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); + var scrollSize = "scroll" + capitalizedDimension; + $$$1(this._element) + .one(Util.TRANSITION_END, complete) + .emulateTransitionEnd(TRANSITION_DURATION); + this._element.style[dimension] = this._element[scrollSize] + "px"; + }; + + _proto.hide = function hide() { + var _this2 = this; + + if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) { + return; + } + + var startEvent = $$$1.Event(Event.HIDE); + $$$1(this._element).trigger(startEvent); + + if (startEvent.isDefaultPrevented()) { + return; + } + + var dimension = this._getDimension(); + + this._element.style[dimension] = + this._element.getBoundingClientRect()[dimension] + "px"; + Util.reflow(this._element); + $$$1(this._element) + .addClass(ClassName.COLLAPSING) + .removeClass(ClassName.COLLAPSE) + .removeClass(ClassName.SHOW); + + if (this._triggerArray.length) { + for (var i = 0; i < this._triggerArray.length; i++) { + var trigger = this._triggerArray[i]; + var selector = Util.getSelectorFromElement(trigger); + + if (selector !== null) { + var $elem = $$$1(selector); + + if (!$elem.hasClass(ClassName.SHOW)) { + $$$1(trigger) + .addClass(ClassName.COLLAPSED) + .attr("aria-expanded", false); + } + } + } + } + + this.setTransitioning(true); + + var complete = function complete() { + _this2.setTransitioning(false); + + $$$1(_this2._element) + .removeClass(ClassName.COLLAPSING) + .addClass(ClassName.COLLAPSE) + .trigger(Event.HIDDEN); + }; + + this._element.style[dimension] = ""; + + if (!Util.supportsTransitionEnd()) { + complete(); + return; + } + + $$$1(this._element) + .one(Util.TRANSITION_END, complete) + .emulateTransitionEnd(TRANSITION_DURATION); + }; + + _proto.setTransitioning = function setTransitioning(isTransitioning) { + this._isTransitioning = isTransitioning; + }; + + _proto.dispose = function dispose() { + $$$1.removeData(this._element, DATA_KEY); + this._config = null; + this._parent = null; + this._element = null; + this._triggerArray = null; + this._isTransitioning = null; + }; // private + + _proto._getConfig = function _getConfig(config) { + config = _extends({}, Default, config); + config.toggle = Boolean(config.toggle); // coerce string values + + Util.typeCheckConfig(NAME, config, DefaultType); + return config; + }; + + _proto._getDimension = function _getDimension() { + var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH); + return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; + }; + + _proto._getParent = function _getParent() { + var _this3 = this; + + var parent = null; + + if (Util.isElement(this._config.parent)) { + parent = this._config.parent; // it's a jQuery object + + if (typeof this._config.parent.jquery !== "undefined") { + parent = this._config.parent[0]; + } + } else { + parent = $$$1(this._config.parent)[0]; + } + + var selector = + '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]'; + $$$1(parent) + .find(selector) + .each(function(i, element) { + _this3._addAriaAndCollapsedClass( + Collapse._getTargetFromElement(element), + [element] + ); + }); + return parent; + }; + + _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass( + element, + triggerArray + ) { + if (element) { + var isOpen = $$$1(element).hasClass(ClassName.SHOW); + + if (triggerArray.length) { + $$$1(triggerArray) + .toggleClass(ClassName.COLLAPSED, !isOpen) + .attr("aria-expanded", isOpen); + } + } + }; // static + + Collapse._getTargetFromElement = function _getTargetFromElement(element) { + var selector = Util.getSelectorFromElement(element); + return selector ? $$$1(selector)[0] : null; + }; + + Collapse._jQueryInterface = function _jQueryInterface(config) { + return this.each(function() { + var $this = $$$1(this); + var data = $this.data(DATA_KEY); + + var _config = _extends( + {}, + 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") { + if (typeof data[config] === "undefined") { + throw new Error('No method named "' + config + '"'); + } + + data[config](); + } + }); + }; + + _createClass(Collapse, null, [ + { + key: "VERSION", + get: function get() { + return VERSION; + } + }, + { + key: "Default", + get: function get() { + return Default; + } + } + ]); + return Collapse; + })(); + /** + * ------------------------------------------------------------------------ + * Data Api implementation + * ------------------------------------------------------------------------ + */ - input.focus(); - addAriaPressed = false; - } - } + $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function(event) { + // preventDefault only for elements (which change the URL) not inside the collapsible element + if (event.currentTarget.tagName === "A") { + event.preventDefault(); + } - if (addAriaPressed) { - this._element.setAttribute('aria-pressed', !$$$1(this._element).hasClass(ClassName.ACTIVE)); - } + var $trigger = $$$1(this); + var selector = Util.getSelectorFromElement(this); + $$$1(selector).each(function() { + var $target = $$$1(this); + var data = $target.data(DATA_KEY); + var config = data ? "toggle" : $trigger.data(); - if (triggerChangeEvent) { - $$$1(this._element).toggleClass(ClassName.ACTIVE); - } - }; + Collapse._jQueryInterface.call($target, config); + }); + }); + /** + * ------------------------------------------------------------------------ + * jQuery + * ------------------------------------------------------------------------ + */ - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - this._element = null; - }; // static + $$$1.fn[NAME] = Collapse._jQueryInterface; + $$$1.fn[NAME].Constructor = Collapse; + $$$1.fn[NAME].noConflict = function() { + $$$1.fn[NAME] = JQUERY_NO_CONFLICT; + return Collapse._jQueryInterface; + }; - Button._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); + return Collapse; + })($); - if (!data) { - data = new Button(this); - $$$1(this).data(DATA_KEY, data); + /**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.12.9 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + var isBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var longerTimeoutBrowsers = ["Edge", "Trident", "Firefox"]; + var timeoutDuration = 0; + for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + timeoutDuration = 1; + break; } + } - if (config === 'toggle') { - data[config](); - } - }); - }; + function microtaskDebounce(fn) { + var called = false; + return function() { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function() { + called = false; + fn(); + }); + }; + } - _createClass(Button, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }]); - return Button; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { - event.preventDefault(); - var button = event.target; - - if (!$$$1(button).hasClass(ClassName.BUTTON)) { - button = $$$1(button).closest(Selector.BUTTON); + function taskDebounce(fn) { + var scheduled = false; + return function() { + if (!scheduled) { + scheduled = true; + setTimeout(function() { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; } - Button._jQueryInterface.call($$$1(button), 'toggle'); - }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) { - var button = $$$1(event.target).closest(Selector.BUTTON)[0]; - $$$1(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type)); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Button._jQueryInterface; - $$$1.fn[NAME].Constructor = Button; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Button._jQueryInterface; - }; - - return Button; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): carousel.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + var supportsMicroTasks = isBrowser && window.Promise; -var Carousel = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'carousel'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.carousel'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var TRANSITION_DURATION = 600; - var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key - - var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key - - var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch - - var Default = { - interval: 5000, - keyboard: true, - slide: false, - pause: 'hover', - wrap: true - }; - var DefaultType = { - interval: '(number|boolean)', - keyboard: 'boolean', - slide: '(boolean|string)', - pause: '(string|boolean)', - wrap: 'boolean' - }; - var Direction = { - NEXT: 'next', - PREV: 'prev', - LEFT: 'left', - RIGHT: 'right' - }; - var Event = { - SLIDE: "slide" + EVENT_KEY, - SLID: "slid" + EVENT_KEY, - KEYDOWN: "keydown" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY, - TOUCHEND: "touchend" + 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: 'carousel-item-right', - LEFT: 'carousel-item-left', - NEXT: 'carousel-item-next', - PREV: 'carousel-item-prev', - ITEM: 'carousel-item' - }; - var Selector = { - ACTIVE: '.active', - ACTIVE_ITEM: '.active.carousel-item', - ITEM: '.carousel-item', - NEXT_PREV: '.carousel-item-next, .carousel-item-prev', - INDICATORS: '.carousel-indicators', - DATA_SLIDE: '[data-slide], [data-slide-to]', - DATA_RIDE: '[data-ride="carousel"]' /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Create a debounced version of a method, that's asynchronously deferred + * but called in the minimum time possible. + * + * @method + * @memberof Popper.Utils + * @argument {Function} fn + * @returns {Function} */ + var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; - }; - - var Carousel = - /*#__PURE__*/ - function () { - function Carousel(element, config) { - this._items = null; - this._interval = null; - this._activeElement = null; - this._isPaused = false; - this._isSliding = false; - this.touchTimeout = null; - this._config = this._getConfig(config); - this._element = $$$1(element)[0]; - this._indicatorsElement = $$$1(this._element).find(Selector.INDICATORS)[0]; - - this._addEventListeners(); - } // getters - - - var _proto = Carousel.prototype; - - // public - _proto.next = function next() { - if (!this._isSliding) { - this._slide(Direction.NEXT); - } - }; - - _proto.nextWhenVisible = function nextWhenVisible() { - // Don't call next when the page isn't visible - // or the carousel or its parent isn't visible - if (!document.hidden && $$$1(this._element).is(':visible') && $$$1(this._element).css('visibility') !== 'hidden') { - this.next(); - } - }; - - _proto.prev = function prev() { - if (!this._isSliding) { - this._slide(Direction.PREV); - } - }; - - _proto.pause = function pause(event) { - if (!event) { - this._isPaused = true; - } + /** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ + function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === "[object Function]"; + } - if ($$$1(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) { - Util.triggerTransitionEnd(this._element); - this.cycle(true); - } + /** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ + function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var css = getComputedStyle(element, null); + return property ? css[property] : css; + } - clearInterval(this._interval); - this._interval = null; - }; + /** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ + function getParentNode(element) { + if (element.nodeName === "HTML") { + return element; + } + return element.parentNode || element.host; + } - _proto.cycle = function cycle(event) { - if (!event) { - this._isPaused = false; - } + /** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ + function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } - if (this._interval) { - clearInterval(this._interval); - this._interval = null; - } + switch (element.nodeName) { + case "HTML": + case "BODY": + return element.ownerDocument.body; + case "#document": + return element.body; + } - if (this._config.interval && !this._isPaused) { - this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval); - } - }; + // Firefox want us to check `-x` and `-y` variations as well - _proto.to = function to(index) { - var _this = this; + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; - this._activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; + if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) { + return element; + } - var activeIndex = this._getItemIndex(this._activeElement); + return getScrollParent(getParentNode(element)); + } - if (index > this._items.length - 1 || index < 0) { - return; - } + /** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ + function getOffsetParent(element) { + // NOTE: 1 DOM access here + var offsetParent = element && element.offsetParent; + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === "BODY" || nodeName === "HTML") { + if (element) { + return element.ownerDocument.documentElement; + } - if (this._isSliding) { - $$$1(this._element).one(Event.SLID, function () { - return _this.to(index); - }); - return; - } + return document.documentElement; + } - if (activeIndex === index) { - this.pause(); - this.cycle(); - return; - } + // .offsetParent will return the closest TD or TABLE in case + // no offsetParent is present, I hate this job... + if ( + ["TD", "TABLE"].indexOf(offsetParent.nodeName) !== -1 && + getStyleComputedProperty(offsetParent, "position") === "static" + ) { + return getOffsetParent(offsetParent); + } - var direction = index > activeIndex ? Direction.NEXT : Direction.PREV; + return offsetParent; + } - this._slide(direction, this._items[index]); - }; + function isOffsetContainer(element) { + var nodeName = element.nodeName; - _proto.dispose = function dispose() { - $$$1(this._element).off(EVENT_KEY); - $$$1.removeData(this._element, DATA_KEY); - this._items = null; - this._config = null; - this._element = null; - this._interval = null; - this._isPaused = null; - this._isSliding = null; - this._activeElement = null; - this._indicatorsElement = null; - }; // private - - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + if (nodeName === "BODY") { + return false; + } + return nodeName === "HTML" || getOffsetParent(element.firstElementChild) === element; + } - _proto._addEventListeners = function _addEventListeners() { - var _this2 = this; + /** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ + function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } - if (this._config.keyboard) { - $$$1(this._element).on(Event.KEYDOWN, function (event) { - return _this2._keydown(event); - }); - } + return node; + } - if (this._config.pause === 'hover') { - $$$1(this._element).on(Event.MOUSEENTER, function (event) { - return _this2.pause(event); - }).on(Event.MOUSELEAVE, function (event) { - return _this2.cycle(event); - }); + /** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ + function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } - if ('ontouchstart' in document.documentElement) { - // if it's a touch-enabled device, mouseenter/leave are fired as - // part of the mouse compatibility events on first tap - the carousel - // would stop cycling until user tapped out of it; - // here, we listen for touchend, explicitly pause the carousel - // (as if it's the second time we tap on it, mouseenter compat event - // is NOT fired) and after a timeout (to allow for mouse compatibility - // events to fire) we explicitly restart cycling - $$$1(this._element).on(Event.TOUCHEND, function () { - _this2.pause(); - - if (_this2.touchTimeout) { - clearTimeout(_this2.touchTimeout); + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if ( + (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer) || + start.contains(end) + ) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; } - _this2.touchTimeout = setTimeout(function (event) { - return _this2.cycle(event); - }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval); - }); + return getOffsetParent(commonAncestorContainer); } - } - }; - - _proto._keydown = function _keydown(event) { - if (/input|textarea/i.test(event.target.tagName)) { - return; - } - - switch (event.which) { - case ARROW_LEFT_KEYCODE: - event.preventDefault(); - this.prev(); - break; - - case ARROW_RIGHT_KEYCODE: - event.preventDefault(); - this.next(); - break; - - default: - return; - } - }; - - _proto._getItemIndex = function _getItemIndex(element) { - this._items = $$$1.makeArray($$$1(element).parent().find(Selector.ITEM)); - return this._items.indexOf(element); - }; - _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) { - var isNextDirection = direction === Direction.NEXT; - var isPrevDirection = direction === Direction.PREV; + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } + } - var activeIndex = this._getItemIndex(activeElement); + /** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ + function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "top"; - var lastItemIndex = this._items.length - 1; - var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex; + var upperSide = side === "top" ? "scrollTop" : "scrollLeft"; + var nodeName = element.nodeName; - if (isGoingToWrap && !this._config.wrap) { - return activeElement; - } + if (nodeName === "BODY" || nodeName === "HTML") { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } - var delta = direction === Direction.PREV ? -1 : 1; - var itemIndex = (activeIndex + delta) % this._items.length; - return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; - }; + return element[upperSide]; + } - _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) { - var targetIndex = this._getItemIndex(relatedTarget); + /* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ + function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, "top"); + var scrollLeft = getScroll(element, "left"); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; + } - var fromIndex = this._getItemIndex($$$1(this._element).find(Selector.ACTIVE_ITEM)[0]); + /* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ - var slideEvent = $$$1.Event(Event.SLIDE, { - relatedTarget: relatedTarget, - direction: eventDirectionName, - from: fromIndex, - to: targetIndex - }); - $$$1(this._element).trigger(slideEvent); - return slideEvent; - }; + function getBordersSize(styles, axis) { + var sideA = axis === "x" ? "Left" : "Top"; + var sideB = sideA === "Left" ? "Right" : "Bottom"; - _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) { - if (this._indicatorsElement) { - $$$1(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE); + return ( + parseFloat(styles["border" + sideA + "Width"], 10) + + parseFloat(styles["border" + sideB + "Width"], 10) + ); + } - var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)]; + /** + * Tells if you are running Internet Explorer 10 + * @method + * @memberof Popper.Utils + * @returns {Boolean} isIE10 + */ + var isIE10 = undefined; - if (nextIndicator) { - $$$1(nextIndicator).addClass(ClassName.ACTIVE); + var isIE10$1 = function() { + if (isIE10 === undefined) { + isIE10 = navigator.appVersion.indexOf("MSIE 10") !== -1; } - } + return isIE10; }; - _proto._slide = function _slide(direction, element) { - var _this3 = this; - - var activeElement = $$$1(this._element).find(Selector.ACTIVE_ITEM)[0]; - - var activeElementIndex = this._getItemIndex(activeElement); - - var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); - - var nextElementIndex = this._getItemIndex(nextElement); - - var isCycling = Boolean(this._interval); - var directionalClassName; - var orderClassName; - var eventDirectionName; - - if (direction === Direction.NEXT) { - directionalClassName = ClassName.LEFT; - orderClassName = ClassName.NEXT; - eventDirectionName = Direction.LEFT; - } else { - directionalClassName = ClassName.RIGHT; - orderClassName = ClassName.PREV; - eventDirectionName = Direction.RIGHT; - } - - if (nextElement && $$$1(nextElement).hasClass(ClassName.ACTIVE)) { - this._isSliding = false; - return; - } - - var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName); - - if (slideEvent.isDefaultPrevented()) { - return; - } - - if (!activeElement || !nextElement) { - // some weirdness is happening, so we bail - return; - } - - this._isSliding = true; - - if (isCycling) { - this.pause(); - } - - this._setActiveIndicatorElement(nextElement); - - var slidEvent = $$$1.Event(Event.SLID, { - relatedTarget: nextElement, - direction: eventDirectionName, - from: activeElementIndex, - to: nextElementIndex - }); - - if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.SLIDE)) { - $$$1(nextElement).addClass(orderClassName); - Util.reflow(nextElement); - $$$1(activeElement).addClass(directionalClassName); - $$$1(nextElement).addClass(directionalClassName); - $$$1(activeElement).one(Util.TRANSITION_END, function () { - $$$1(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName.ACTIVE); - $$$1(activeElement).removeClass(ClassName.ACTIVE + " " + orderClassName + " " + directionalClassName); - _this3._isSliding = false; - setTimeout(function () { - return $$$1(_this3._element).trigger(slidEvent); - }, 0); - }).emulateTransitionEnd(TRANSITION_DURATION); - } else { - $$$1(activeElement).removeClass(ClassName.ACTIVE); - $$$1(nextElement).addClass(ClassName.ACTIVE); - this._isSliding = false; - $$$1(this._element).trigger(slidEvent); - } - - if (isCycling) { - this.cycle(); - } - }; // static - - - Carousel._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); - - var _config = _extends({}, Default, $$$1(this).data()); - - if (typeof config === 'object') { - _config = _extends({}, _config, config); - } + function getSize(axis, body, html, computedStyle) { + return Math.max( + body["offset" + axis], + body["scroll" + axis], + html["client" + axis], + html["offset" + axis], + html["scroll" + axis], + isIE10$1() + ? html["offset" + axis] + + computedStyle["margin" + (axis === "Height" ? "Top" : "Left")] + + computedStyle["margin" + (axis === "Height" ? "Bottom" : "Right")] + : 0 + ); + } - var action = typeof config === 'string' ? config : _config.slide; + function getWindowSizes() { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE10$1() && getComputedStyle(html); - if (!data) { - data = new Carousel(this, _config); - $$$1(this).data(DATA_KEY, data); - } + return { + height: getSize("Height", body, html, computedStyle), + width: getSize("Width", body, html, computedStyle) + }; + } - if (typeof config === 'number') { - data.to(config); - } else if (typeof action === 'string') { - if (typeof data[action] === 'undefined') { - throw new Error("No method named \"" + action + "\""); - } - - data[action](); - } else if (_config.interval) { - data.pause(); - data.cycle(); + var classCallCheck = function(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); } - }); }; - Carousel._dataApiClickHandler = function _dataApiClickHandler(event) { - var selector = Util.getSelectorFromElement(this); - - if (!selector) { - return; - } - - var target = $$$1(selector)[0]; - - if (!target || !$$$1(target).hasClass(ClassName.CAROUSEL)) { - return; - } - - var config = _extends({}, $$$1(target).data(), $$$1(this).data()); - var slideIndex = this.getAttribute('data-slide-to'); - - if (slideIndex) { - config.interval = false; - } - - Carousel._jQueryInterface.call($$$1(target), config); + 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); + } + } - if (slideIndex) { - $$$1(target).data(DATA_KEY).to(slideIndex); - } + return function(Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; + })(); + + var defineProperty = function(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } - event.preventDefault(); + return obj; }; - _createClass(Carousel, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); - return Carousel; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler); - $$$1(window).on(Event.LOAD_DATA_API, function () { - $$$1(Selector.DATA_RIDE).each(function () { - var $carousel = $$$1(this); - - Carousel._jQueryInterface.call($carousel, $carousel.data()); - }); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Carousel._jQueryInterface; - $$$1.fn[NAME].Constructor = Carousel; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Carousel._jQueryInterface; - }; - - return Carousel; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): collapse.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + var _extends$1 = + Object.assign || + function(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; -var Collapse = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'collapse'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.collapse'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var TRANSITION_DURATION = 600; - var Default = { - toggle: true, - parent: '' - }; - var DefaultType = { - toggle: 'boolean', - parent: '(string|element)' - }; - 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 = { - SHOW: 'show', - COLLAPSE: 'collapse', - COLLAPSING: 'collapsing', - COLLAPSED: 'collapsed' - }; - var Dimension = { - WIDTH: 'width', - HEIGHT: 'height' - }; - var Selector = { - ACTIVES: '.show, .collapsing', - DATA_TOGGLE: '[data-toggle="collapse"]' /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output */ + function getClientRect(offsets) { + return _extends$1({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); + } - }; + /** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ + function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + if (isIE10$1()) { + try { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, "top"); + var scrollLeft = getScroll(element, "left"); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } catch (err) {} + } else { + rect = element.getBoundingClientRect(); + } - var Collapse = - /*#__PURE__*/ - function () { - function Collapse(element, config) { - this._isTransitioning = false; - this._element = element; - this._config = this._getConfig(config); - this._triggerArray = $$$1.makeArray($$$1("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]"))); - var tabToggles = $$$1(Selector.DATA_TOGGLE); + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; - for (var i = 0; i < tabToggles.length; i++) { - var elem = tabToggles[i]; - var selector = Util.getSelectorFromElement(elem); + // subtract scrollbar size from sizes + var sizes = element.nodeName === "HTML" ? getWindowSizes() : {}; + var width = sizes.width || element.clientWidth || result.right - result.left; + var height = sizes.height || element.clientHeight || result.bottom - result.top; - if (selector !== null && $$$1(selector).filter(element).length > 0) { - this._triggerArray.push(elem); - } - } + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; - this._parent = this._config.parent ? this._getParent() : null; + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, "x"); + vertScrollbar -= getBordersSize(styles, "y"); - if (!this._config.parent) { - this._addAriaAndCollapsedClass(this._element, this._triggerArray); - } + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } - if (this._config.toggle) { - this.toggle(); - } - } // getters + return getClientRect(result); + } + function getOffsetRectRelativeToArbitraryNode(children, parent) { + var isIE10 = isIE10$1(); + var isHTML = parent.nodeName === "HTML"; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } - var _proto = Collapse.prototype; + if ( + isIE10 + ? parent.contains(scrollParent) + : parent === scrollParent && scrollParent.nodeName !== "BODY" + ) { + offsets = includeScroll(offsets, parent); + } - // public - _proto.toggle = function toggle() { - if ($$$1(this._element).hasClass(ClassName.SHOW)) { - this.hide(); - } else { - this.show(); - } - }; + return offsets; + } - _proto.show = function show() { - var _this = this; + function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); - if (this._isTransitioning || $$$1(this._element).hasClass(ClassName.SHOW)) { - return; - } + var scrollTop = getScroll(html); + var scrollLeft = getScroll(html, "left"); - var actives; - var activesData; + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; - if (this._parent) { - actives = $$$1.makeArray($$$1(this._parent).children().children(Selector.ACTIVES)); + return getClientRect(offset); + } - if (!actives.length) { - actives = null; + /** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ + function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === "BODY" || nodeName === "HTML") { + return false; } - } - - if (actives) { - activesData = $$$1(actives).data(DATA_KEY); - - if (activesData && activesData._isTransitioning) { - return; + if (getStyleComputedProperty(element, "position") === "fixed") { + return true; } - } + return isFixed(getParentNode(element)); + } - var startEvent = $$$1.Event(Event.SHOW); - $$$1(this._element).trigger(startEvent); + /** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @returns {Object} Coordinates of the boundaries + */ + function getBoundaries(popper, reference, padding, boundariesElement) { + // NOTE: 1 DOM access here + var boundaries = { top: 0, left: 0 }; + var offsetParent = findCommonOffsetParent(popper, reference); + + // Handle viewport case + if (boundariesElement === "viewport") { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === "scrollParent") { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === "BODY") { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === "window") { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } - if (startEvent.isDefaultPrevented()) { - return; - } + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent); - if (actives) { - Collapse._jQueryInterface.call($$$1(actives), 'hide'); + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === "HTML" && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(), + height = _getWindowSizes.height, + width = _getWindowSizes.width; - if (!activesData) { - $$$1(actives).data(DATA_KEY, null); + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } } - } - - var dimension = this._getDimension(); - $$$1(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING); - this._element.style[dimension] = 0; + // Add paddings + boundaries.left += padding; + boundaries.top += padding; + boundaries.right -= padding; + boundaries.bottom -= padding; - if (this._triggerArray.length) { - $$$1(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true); - } - - this.setTransitioning(true); + return boundaries; + } - var complete = function complete() { - $$$1(_this._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.SHOW); - _this._element.style[dimension] = ''; + function getArea(_ref) { + var width = _ref.width, + height = _ref.height; - _this.setTransitioning(false); + return width * height; + } - $$$1(_this._element).trigger(Event.SHOWN); - }; + /** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; - if (!Util.supportsTransitionEnd()) { - complete(); - return; - } + if (placement.indexOf("auto") === -1) { + return placement; + } - var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1); - var scrollSize = "scroll" + capitalizedDimension; - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); - this._element.style[dimension] = this._element[scrollSize] + "px"; - }; + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); - _proto.hide = function hide() { - var _this2 = this; + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; - if (this._isTransitioning || !$$$1(this._element).hasClass(ClassName.SHOW)) { - return; - } + var sortedAreas = Object.keys(rects) + .map(function(key) { + return _extends$1( + { + key: key + }, + rects[key], + { + area: getArea(rects[key]) + } + ); + }) + .sort(function(a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function(_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); - var startEvent = $$$1.Event(Event.HIDE); - $$$1(this._element).trigger(startEvent); + var computedPlacement = + filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; - if (startEvent.isDefaultPrevented()) { - return; - } + var variation = placement.split("-")[1]; - var dimension = this._getDimension(); + return computedPlacement + (variation ? "-" + variation : ""); + } - this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px"; - Util.reflow(this._element); - $$$1(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW); - - if (this._triggerArray.length) { - for (var i = 0; i < this._triggerArray.length; i++) { - var trigger = this._triggerArray[i]; - var selector = Util.getSelectorFromElement(trigger); - - if (selector !== null) { - var $elem = $$$1(selector); - - if (!$elem.hasClass(ClassName.SHOW)) { - $$$1(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false); - } - } - } - } - - this.setTransitioning(true); - - var complete = function complete() { - _this2.setTransitioning(false); - - $$$1(_this2._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN); - }; - - this._element.style[dimension] = ''; - - if (!Util.supportsTransitionEnd()) { - complete(); - return; - } - - $$$1(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); - }; - - _proto.setTransitioning = function setTransitioning(isTransitioning) { - this._isTransitioning = isTransitioning; - }; - - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - this._config = null; - this._parent = null; - this._element = null; - this._triggerArray = null; - this._isTransitioning = null; - }; // private - - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); - config.toggle = Boolean(config.toggle); // coerce string values - - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; - - _proto._getDimension = function _getDimension() { - var hasWidth = $$$1(this._element).hasClass(Dimension.WIDTH); - return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT; - }; - - _proto._getParent = function _getParent() { - var _this3 = this; - - var parent = null; - - if (Util.isElement(this._config.parent)) { - parent = this._config.parent; // it's a jQuery object - - if (typeof this._config.parent.jquery !== 'undefined') { - parent = this._config.parent[0]; - } - } else { - parent = $$$1(this._config.parent)[0]; - } - - var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]"; - $$$1(parent).find(selector).each(function (i, element) { - _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]); - }); - return parent; - }; - - _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) { - if (element) { - var isOpen = $$$1(element).hasClass(ClassName.SHOW); - - if (triggerArray.length) { - $$$1(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen); - } - } - }; // static - - - Collapse._getTargetFromElement = function _getTargetFromElement(element) { - var selector = Util.getSelectorFromElement(element); - return selector ? $$$1(selector)[0] : null; - }; - - Collapse._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var $this = $$$1(this); - var data = $this.data(DATA_KEY); - - var _config = _extends({}, 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') { - if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - _createClass(Collapse, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); - return Collapse; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { - // preventDefault only for elements (which change the URL) not inside the collapsible element - if (event.currentTarget.tagName === 'A') { - event.preventDefault(); - } - - var $trigger = $$$1(this); - var selector = Util.getSelectorFromElement(this); - $$$1(selector).each(function () { - var $target = $$$1(this); - var data = $target.data(DATA_KEY); - var config = data ? 'toggle' : $trigger.data(); - - Collapse._jQueryInterface.call($target, config); - }); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Collapse._jQueryInterface; - $$$1.fn[NAME].Constructor = Collapse; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Collapse._jQueryInterface; - }; - - return Collapse; -}($); - -/**! - * @fileOverview Kickass library to create and place poppers near their reference elements. - * @version 1.12.9 - * @license - * Copyright (c) 2016 Federico Zivolo and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; -var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; -var timeoutDuration = 0; -for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { - if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { - timeoutDuration = 1; - break; - } -} - -function microtaskDebounce(fn) { - var called = false; - return function () { - if (called) { - return; - } - called = true; - window.Promise.resolve().then(function () { - called = false; - fn(); - }); - }; -} - -function taskDebounce(fn) { - var scheduled = false; - return function () { - if (!scheduled) { - scheduled = true; - setTimeout(function () { - scheduled = false; - fn(); - }, timeoutDuration); - } - }; -} - -var supportsMicroTasks = isBrowser && window.Promise; - -/** -* Create a debounced version of a method, that's asynchronously deferred -* but called in the minimum time possible. -* -* @method -* @memberof Popper.Utils -* @argument {Function} fn -* @returns {Function} -*/ -var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; - -/** - * Check if the given variable is a function - * @method - * @memberof Popper.Utils - * @argument {Any} functionToCheck - variable to check - * @returns {Boolean} answer to: is a function? - */ -function isFunction(functionToCheck) { - var getType = {}; - return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; -} - -/** - * Get CSS computed property of the given element - * @method - * @memberof Popper.Utils - * @argument {Eement} element - * @argument {String} property - */ -function getStyleComputedProperty(element, property) { - if (element.nodeType !== 1) { - return []; - } - // NOTE: 1 DOM access here - var css = getComputedStyle(element, null); - return property ? css[property] : css; -} - -/** - * Returns the parentNode or the host of the element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} parent - */ -function getParentNode(element) { - if (element.nodeName === 'HTML') { - return element; - } - return element.parentNode || element.host; -} - -/** - * Returns the scrolling parent of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} scroll parent - */ -function getScrollParent(element) { - // Return body, `getScroll` will take care to get the correct `scrollTop` from it - if (!element) { - return document.body; - } - - switch (element.nodeName) { - case 'HTML': - case 'BODY': - return element.ownerDocument.body; - case '#document': - return element.body; - } - - // Firefox want us to check `-x` and `-y` variations as well - - var _getStyleComputedProp = getStyleComputedProperty(element), - overflow = _getStyleComputedProp.overflow, - overflowX = _getStyleComputedProp.overflowX, - overflowY = _getStyleComputedProp.overflowY; - - if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) { - return element; - } - - return getScrollParent(getParentNode(element)); -} - -/** - * Returns the offset parent of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Element} offset parent - */ -function getOffsetParent(element) { - // NOTE: 1 DOM access here - var offsetParent = element && element.offsetParent; - var nodeName = offsetParent && offsetParent.nodeName; - - if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { - if (element) { - return element.ownerDocument.documentElement; - } - - return document.documentElement; - } - - // .offsetParent will return the closest TD or TABLE in case - // no offsetParent is present, I hate this job... - if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { - return getOffsetParent(offsetParent); - } - - return offsetParent; -} - -function isOffsetContainer(element) { - var nodeName = element.nodeName; - - if (nodeName === 'BODY') { - return false; - } - return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; -} - -/** - * Finds the root node (document, shadowDOM root) of the given element - * @method - * @memberof Popper.Utils - * @argument {Element} node - * @returns {Element} root node - */ -function getRoot(node) { - if (node.parentNode !== null) { - return getRoot(node.parentNode); - } - - return node; -} - -/** - * Finds the offset parent common to the two provided nodes - * @method - * @memberof Popper.Utils - * @argument {Element} element1 - * @argument {Element} element2 - * @returns {Element} common offset parent - */ -function findCommonOffsetParent(element1, element2) { - // This check is needed to avoid errors in case one of the elements isn't defined for any reason - if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { - return document.documentElement; - } - - // Here we make sure to give as "start" the element that comes first in the DOM - var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; - var start = order ? element1 : element2; - var end = order ? element2 : element1; - - // Get common ancestor container - var range = document.createRange(); - range.setStart(start, 0); - range.setEnd(end, 0); - var commonAncestorContainer = range.commonAncestorContainer; - - // Both nodes are inside #document - - if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { - if (isOffsetContainer(commonAncestorContainer)) { - return commonAncestorContainer; - } - - return getOffsetParent(commonAncestorContainer); - } - - // one of the nodes is inside shadowDOM, find which one - var element1root = getRoot(element1); - if (element1root.host) { - return findCommonOffsetParent(element1root.host, element2); - } else { - return findCommonOffsetParent(element1, getRoot(element2).host); - } -} - -/** - * Gets the scroll value of the given element in the given side (top and left) - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @argument {String} side `top` or `left` - * @returns {number} amount of scrolled pixels - */ -function getScroll(element) { - var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; - - var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; - var nodeName = element.nodeName; - - if (nodeName === 'BODY' || nodeName === 'HTML') { - var html = element.ownerDocument.documentElement; - var scrollingElement = element.ownerDocument.scrollingElement || html; - return scrollingElement[upperSide]; - } - - return element[upperSide]; -} - -/* - * Sum or subtract the element scroll values (left and top) from a given rect object - * @method - * @memberof Popper.Utils - * @param {Object} rect - Rect object you want to change - * @param {HTMLElement} element - The element from the function reads the scroll values - * @param {Boolean} subtract - set to true if you want to subtract the scroll values - * @return {Object} rect - The modifier rect object - */ -function includeScroll(rect, element) { - var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - var scrollTop = getScroll(element, 'top'); - var scrollLeft = getScroll(element, 'left'); - var modifier = subtract ? -1 : 1; - rect.top += scrollTop * modifier; - rect.bottom += scrollTop * modifier; - rect.left += scrollLeft * modifier; - rect.right += scrollLeft * modifier; - return rect; -} - -/* - * Helper to detect borders of a given element - * @method - * @memberof Popper.Utils - * @param {CSSStyleDeclaration} styles - * Result of `getStyleComputedProperty` on the given element - * @param {String} axis - `x` or `y` - * @return {number} borders - The borders size of the given axis - */ - -function getBordersSize(styles, axis) { - var sideA = axis === 'x' ? 'Left' : 'Top'; - var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; - - return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); -} - -/** - * Tells if you are running Internet Explorer 10 - * @method - * @memberof Popper.Utils - * @returns {Boolean} isIE10 - */ -var isIE10 = undefined; - -var isIE10$1 = function () { - if (isIE10 === undefined) { - isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1; - } - return isIE10; -}; - -function getSize(axis, body, html, computedStyle) { - return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0); -} - -function getWindowSizes() { - var body = document.body; - var html = document.documentElement; - var computedStyle = isIE10$1() && getComputedStyle(html); - - return { - height: getSize('Height', body, html, computedStyle), - width: getSize('Width', body, html, computedStyle) - }; -} - -var classCallCheck = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; - -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 defineProperty = function (obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -}; - -var _extends$1 = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -/** - * Given element offsets, generate an output similar to getBoundingClientRect - * @method - * @memberof Popper.Utils - * @argument {Object} offsets - * @returns {Object} ClientRect like output - */ -function getClientRect(offsets) { - return _extends$1({}, offsets, { - right: offsets.left + offsets.width, - bottom: offsets.top + offsets.height - }); -} - -/** - * Get bounding client rect of given element - * @method - * @memberof Popper.Utils - * @param {HTMLElement} element - * @return {Object} client rect - */ -function getBoundingClientRect(element) { - var rect = {}; - - // IE10 10 FIX: Please, don't ask, the element isn't - // considered in DOM in some circumstances... - // This isn't reproducible in IE10 compatibility mode of IE11 - if (isIE10$1()) { - try { - rect = element.getBoundingClientRect(); - var scrollTop = getScroll(element, 'top'); - var scrollLeft = getScroll(element, 'left'); - rect.top += scrollTop; - rect.left += scrollLeft; - rect.bottom += scrollTop; - rect.right += scrollLeft; - } catch (err) {} - } else { - rect = element.getBoundingClientRect(); - } - - var result = { - left: rect.left, - top: rect.top, - width: rect.right - rect.left, - height: rect.bottom - rect.top - }; - - // subtract scrollbar size from sizes - var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {}; - var width = sizes.width || element.clientWidth || result.right - result.left; - var height = sizes.height || element.clientHeight || result.bottom - result.top; - - var horizScrollbar = element.offsetWidth - width; - var vertScrollbar = element.offsetHeight - height; - - // if an hypothetical scrollbar is detected, we must be sure it's not a `border` - // we make this check conditional for performance reasons - if (horizScrollbar || vertScrollbar) { - var styles = getStyleComputedProperty(element); - horizScrollbar -= getBordersSize(styles, 'x'); - vertScrollbar -= getBordersSize(styles, 'y'); - - result.width -= horizScrollbar; - result.height -= vertScrollbar; - } - - return getClientRect(result); -} - -function getOffsetRectRelativeToArbitraryNode(children, parent) { - var isIE10 = isIE10$1(); - var isHTML = parent.nodeName === 'HTML'; - var childrenRect = getBoundingClientRect(children); - var parentRect = getBoundingClientRect(parent); - var scrollParent = getScrollParent(children); - - var styles = getStyleComputedProperty(parent); - var borderTopWidth = parseFloat(styles.borderTopWidth, 10); - var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); - - var offsets = getClientRect({ - top: childrenRect.top - parentRect.top - borderTopWidth, - left: childrenRect.left - parentRect.left - borderLeftWidth, - width: childrenRect.width, - height: childrenRect.height - }); - offsets.marginTop = 0; - offsets.marginLeft = 0; - - // Subtract margins of documentElement in case it's being used as parent - // we do this only on HTML because it's the only element that behaves - // differently when margins are applied to it. The margins are included in - // the box of the documentElement, in the other cases not. - if (!isIE10 && isHTML) { - var marginTop = parseFloat(styles.marginTop, 10); - var marginLeft = parseFloat(styles.marginLeft, 10); - - offsets.top -= borderTopWidth - marginTop; - offsets.bottom -= borderTopWidth - marginTop; - offsets.left -= borderLeftWidth - marginLeft; - offsets.right -= borderLeftWidth - marginLeft; - - // Attach marginTop and marginLeft because in some circumstances we may need them - offsets.marginTop = marginTop; - offsets.marginLeft = marginLeft; - } - - if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { - offsets = includeScroll(offsets, parent); - } - - return offsets; -} - -function getViewportOffsetRectRelativeToArtbitraryNode(element) { - var html = element.ownerDocument.documentElement; - var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); - var width = Math.max(html.clientWidth, window.innerWidth || 0); - var height = Math.max(html.clientHeight, window.innerHeight || 0); - - var scrollTop = getScroll(html); - var scrollLeft = getScroll(html, 'left'); - - var offset = { - top: scrollTop - relativeOffset.top + relativeOffset.marginTop, - left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, - width: width, - height: height - }; - - return getClientRect(offset); -} - -/** - * Check if the given element is fixed or is inside a fixed parent - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @argument {Element} customContainer - * @returns {Boolean} answer to "isFixed?" - */ -function isFixed(element) { - var nodeName = element.nodeName; - if (nodeName === 'BODY' || nodeName === 'HTML') { - return false; - } - if (getStyleComputedProperty(element, 'position') === 'fixed') { - return true; - } - return isFixed(getParentNode(element)); -} - -/** - * Computed the boundaries limits and return them - * @method - * @memberof Popper.Utils - * @param {HTMLElement} popper - * @param {HTMLElement} reference - * @param {number} padding - * @param {HTMLElement} boundariesElement - Element used to define the boundaries - * @returns {Object} Coordinates of the boundaries - */ -function getBoundaries(popper, reference, padding, boundariesElement) { - // NOTE: 1 DOM access here - var boundaries = { top: 0, left: 0 }; - var offsetParent = findCommonOffsetParent(popper, reference); - - // Handle viewport case - if (boundariesElement === 'viewport') { - boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent); - } else { - // Handle other cases based on DOM element used as boundaries - var boundariesNode = void 0; - if (boundariesElement === 'scrollParent') { - boundariesNode = getScrollParent(getParentNode(reference)); - if (boundariesNode.nodeName === 'BODY') { - boundariesNode = popper.ownerDocument.documentElement; - } - } else if (boundariesElement === 'window') { - boundariesNode = popper.ownerDocument.documentElement; - } else { - boundariesNode = boundariesElement; - } - - var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent); - - // In case of HTML, we need a different computation - if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { - var _getWindowSizes = getWindowSizes(), - height = _getWindowSizes.height, - width = _getWindowSizes.width; - - boundaries.top += offsets.top - offsets.marginTop; - boundaries.bottom = height + offsets.top; - boundaries.left += offsets.left - offsets.marginLeft; - boundaries.right = width + offsets.left; - } else { - // for all the other DOM elements, this one is good - boundaries = offsets; - } - } - - // Add paddings - boundaries.left += padding; - boundaries.top += padding; - boundaries.right -= padding; - boundaries.bottom -= padding; - - return boundaries; -} - -function getArea(_ref) { - var width = _ref.width, - height = _ref.height; - - return width * height; -} - -/** - * Utility used to transform the `auto` placement to the placement with more - * available space. - * @method - * @memberof Popper.Utils - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { - var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; - - if (placement.indexOf('auto') === -1) { - return placement; - } - - var boundaries = getBoundaries(popper, reference, padding, boundariesElement); - - var rects = { - top: { - width: boundaries.width, - height: refRect.top - boundaries.top - }, - right: { - width: boundaries.right - refRect.right, - height: boundaries.height - }, - bottom: { - width: boundaries.width, - height: boundaries.bottom - refRect.bottom - }, - left: { - width: refRect.left - boundaries.left, - height: boundaries.height - } - }; - - var sortedAreas = Object.keys(rects).map(function (key) { - return _extends$1({ - key: key - }, rects[key], { - area: getArea(rects[key]) - }); - }).sort(function (a, b) { - return b.area - a.area; - }); - - var filteredAreas = sortedAreas.filter(function (_ref2) { - var width = _ref2.width, - height = _ref2.height; - return width >= popper.clientWidth && height >= popper.clientHeight; - }); - - var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; - - var variation = placement.split('-')[1]; - - return computedPlacement + (variation ? '-' + variation : ''); -} - -/** - * Get offsets to the reference element - * @method - * @memberof Popper.Utils - * @param {Object} state - * @param {Element} popper - the popper element - * @param {Element} reference - the reference element (the popper will be relative to this) - * @returns {Object} An object containing the offsets which will be applied to the popper - */ -function getReferenceOffsets(state, popper, reference) { - var commonOffsetParent = findCommonOffsetParent(popper, reference); - return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent); -} - -/** - * Get the outer sizes of the given element (offset size + margins) - * @method - * @memberof Popper.Utils - * @argument {Element} element - * @returns {Object} object containing width and height properties - */ -function getOuterSizes(element) { - var styles = getComputedStyle(element); - var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); - var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); - var result = { - width: element.offsetWidth + y, - height: element.offsetHeight + x - }; - return result; -} - -/** - * Get the opposite placement of the given one - * @method - * @memberof Popper.Utils - * @argument {String} placement - * @returns {String} flipped placement - */ -function getOppositePlacement(placement) { - var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; - return placement.replace(/left|right|bottom|top/g, function (matched) { - return hash[matched]; - }); -} - -/** - * Get offsets to the popper - * @method - * @memberof Popper.Utils - * @param {Object} position - CSS position the Popper will get applied - * @param {HTMLElement} popper - the popper element - * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) - * @param {String} placement - one of the valid placement options - * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper - */ -function getPopperOffsets(popper, referenceOffsets, placement) { - placement = placement.split('-')[0]; - - // Get popper node sizes - var popperRect = getOuterSizes(popper); - - // Add position, width and height to our offsets object - var popperOffsets = { - width: popperRect.width, - height: popperRect.height - }; - - // depending by the popper placement we have to compute its offsets slightly differently - var isHoriz = ['right', 'left'].indexOf(placement) !== -1; - var mainSide = isHoriz ? 'top' : 'left'; - var secondarySide = isHoriz ? 'left' : 'top'; - var measurement = isHoriz ? 'height' : 'width'; - var secondaryMeasurement = !isHoriz ? 'height' : 'width'; - - popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; - if (placement === secondarySide) { - popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; - } else { - popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; - } - - return popperOffsets; -} - -/** - * Mimics the `find` method of Array - * @method - * @memberof Popper.Utils - * @argument {Array} arr - * @argument prop - * @argument value - * @returns index or -1 - */ -function find(arr, check) { - // use native find if supported - if (Array.prototype.find) { - return arr.find(check); - } - - // use `filter` to obtain the same behavior of `find` - return arr.filter(check)[0]; -} - -/** - * Return the index of the matching object - * @method - * @memberof Popper.Utils - * @argument {Array} arr - * @argument prop - * @argument value - * @returns index or -1 - */ -function findIndex(arr, prop, value) { - // use native findIndex if supported - if (Array.prototype.findIndex) { - return arr.findIndex(function (cur) { - return cur[prop] === value; - }); - } - - // use `find` + `indexOf` if `findIndex` isn't supported - var match = find(arr, function (obj) { - return obj[prop] === value; - }); - return arr.indexOf(match); -} - -/** - * Loop trough the list of modifiers and run them in order, - * each of them will then edit the data object. - * @method - * @memberof Popper.Utils - * @param {dataObject} data - * @param {Array} modifiers - * @param {String} ends - Optional modifier name used as stopper - * @returns {dataObject} - */ -function runModifiers(modifiers, data, ends) { - var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); - - modifiersToRun.forEach(function (modifier) { - if (modifier['function']) { - // eslint-disable-line dot-notation - console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); - } - var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation - if (modifier.enabled && isFunction(fn)) { - // Add properties to offsets to make them a complete clientRect object - // we do this before each modifier to make sure the previous one doesn't - // mess with these values - data.offsets.popper = getClientRect(data.offsets.popper); - data.offsets.reference = getClientRect(data.offsets.reference); - - data = fn(data, modifier); - } - }); - - return data; -} - -/** - * Updates the position of the popper, computing the new offsets and applying - * the new style.
- * Prefer `scheduleUpdate` over `update` because of performance reasons. - * @method - * @memberof Popper - */ -function update() { - // if popper is destroyed, don't perform any further update - if (this.state.isDestroyed) { - return; - } - - var data = { - instance: this, - styles: {}, - arrowStyles: {}, - attributes: {}, - flipped: false, - offsets: {} - }; - - // compute reference element offsets - data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference); - - // compute auto placement, store placement inside the data object, - // modifiers will be able to edit `placement` if needed - // and refer to originalPlacement to know the original value - data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); - - // store the computed placement inside `originalPlacement` - data.originalPlacement = data.placement; - - // compute the popper offsets - data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); - data.offsets.popper.position = 'absolute'; - - // run the modifiers - data = runModifiers(this.modifiers, data); - - // the first `update` will call `onCreate` callback - // the other ones will call `onUpdate` callback - if (!this.state.isCreated) { - this.state.isCreated = true; - this.options.onCreate(data); - } else { - this.options.onUpdate(data); - } -} - -/** - * Helper used to know if the given modifier is enabled. - * @method - * @memberof Popper.Utils - * @returns {Boolean} - */ -function isModifierEnabled(modifiers, modifierName) { - return modifiers.some(function (_ref) { - var name = _ref.name, - enabled = _ref.enabled; - return enabled && name === modifierName; - }); -} - -/** - * Get the prefixed supported property name - * @method - * @memberof Popper.Utils - * @argument {String} property (camelCase) - * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) - */ -function getSupportedPropertyName(property) { - var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; - var upperProp = property.charAt(0).toUpperCase() + property.slice(1); - - for (var i = 0; i < prefixes.length - 1; i++) { - var prefix = prefixes[i]; - var toCheck = prefix ? '' + prefix + upperProp : property; - if (typeof document.body.style[toCheck] !== 'undefined') { - return toCheck; - } - } - return null; -} - -/** - * Destroy the popper - * @method - * @memberof Popper - */ -function destroy() { - this.state.isDestroyed = true; - - // touch DOM only if `applyStyle` modifier is enabled - if (isModifierEnabled(this.modifiers, 'applyStyle')) { - this.popper.removeAttribute('x-placement'); - this.popper.style.left = ''; - this.popper.style.position = ''; - this.popper.style.top = ''; - this.popper.style[getSupportedPropertyName('transform')] = ''; - } - - this.disableEventListeners(); - - // remove the popper if user explicity asked for the deletion on destroy - // do not use `remove` because IE11 doesn't support it - if (this.options.removeOnDestroy) { - this.popper.parentNode.removeChild(this.popper); - } - return this; -} - -/** - * Get the window associated with the element - * @argument {Element} element - * @returns {Window} - */ -function getWindow(element) { - var ownerDocument = element.ownerDocument; - return ownerDocument ? ownerDocument.defaultView : window; -} - -function attachToScrollParents(scrollParent, event, callback, scrollParents) { - var isBody = scrollParent.nodeName === 'BODY'; - var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; - target.addEventListener(event, callback, { passive: true }); - - if (!isBody) { - attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); - } - scrollParents.push(target); -} - -/** - * Setup needed event listeners used to update the popper position - * @method - * @memberof Popper.Utils - * @private - */ -function setupEventListeners(reference, options, state, updateBound) { - // Resize event listener on window - state.updateBound = updateBound; - getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); - - // Scroll event listener on scroll parents - var scrollElement = getScrollParent(reference); - attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); - state.scrollElement = scrollElement; - state.eventsEnabled = true; - - return state; -} - -/** - * It will add resize/scroll events and start recalculating - * position of the popper element when they are triggered. - * @method - * @memberof Popper - */ -function enableEventListeners() { - if (!this.state.eventsEnabled) { - this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); - } -} - -/** - * Remove event listeners used to update the popper position - * @method - * @memberof Popper.Utils - * @private - */ -function removeEventListeners(reference, state) { - // Remove resize event listener on window - getWindow(reference).removeEventListener('resize', state.updateBound); - - // Remove scroll event listener on scroll parents - state.scrollParents.forEach(function (target) { - target.removeEventListener('scroll', state.updateBound); - }); - - // Reset state - state.updateBound = null; - state.scrollParents = []; - state.scrollElement = null; - state.eventsEnabled = false; - return state; -} - -/** - * It will remove resize/scroll events and won't recalculate popper position - * when they are triggered. It also won't trigger onUpdate callback anymore, - * unless you call `update` method manually. - * @method - * @memberof Popper - */ -function disableEventListeners() { - if (this.state.eventsEnabled) { - cancelAnimationFrame(this.scheduleUpdate); - this.state = removeEventListeners(this.reference, this.state); - } -} - -/** - * Tells if a given input is a number - * @method - * @memberof Popper.Utils - * @param {*} input to check - * @return {Boolean} - */ -function isNumeric(n) { - return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); -} - -/** - * Set the style to the given popper - * @method - * @memberof Popper.Utils - * @argument {Element} element - Element to apply the style to - * @argument {Object} styles - * Object with a list of properties and values which will be applied to the element - */ -function setStyles(element, styles) { - Object.keys(styles).forEach(function (prop) { - var unit = ''; - // add unit if the value is numeric and is one of the following - if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { - unit = 'px'; - } - element.style[prop] = styles[prop] + unit; - }); -} - -/** - * Set the attributes to the given popper - * @method - * @memberof Popper.Utils - * @argument {Element} element - Element to apply the attributes to - * @argument {Object} styles - * Object with a list of properties and values which will be applied to the element - */ -function setAttributes(element, attributes) { - Object.keys(attributes).forEach(function (prop) { - var value = attributes[prop]; - if (value !== false) { - element.setAttribute(prop, attributes[prop]); - } else { - element.removeAttribute(prop); - } - }); -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} data.styles - List of style properties - values to apply to popper element - * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The same data object - */ -function applyStyle(data) { - // any property present in `data.styles` will be applied to the popper, - // in this way we can make the 3rd party modifiers add custom styles to it - // Be aware, modifiers could override the properties defined in the previous - // lines of this modifier! - setStyles(data.instance.popper, data.styles); - - // any property present in `data.attributes` will be applied to the popper, - // they will be set as HTML attributes of the element - setAttributes(data.instance.popper, data.attributes); - - // if arrowElement is defined and arrowStyles has some properties - if (data.arrowElement && Object.keys(data.arrowStyles).length) { - setStyles(data.arrowElement, data.arrowStyles); - } - - return data; -} - -/** - * Set the x-placement attribute before everything else because it could be used - * to add margins to the popper margins needs to be calculated to get the - * correct popper offsets. - * @method - * @memberof Popper.modifiers - * @param {HTMLElement} reference - The reference element used to position the popper - * @param {HTMLElement} popper - The HTML element used as popper. - * @param {Object} options - Popper.js options - */ -function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { - // compute reference element offsets - var referenceOffsets = getReferenceOffsets(state, popper, reference); - - // compute auto placement, store placement inside the data object, - // modifiers will be able to edit `placement` if needed - // and refer to originalPlacement to know the original value - var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); - - popper.setAttribute('x-placement', placement); - - // Apply `position` to popper before anything else because - // without the position applied we can't guarantee correct computations - setStyles(popper, { position: 'absolute' }); - - return options; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function computeStyle(data, options) { - var x = options.x, - y = options.y; - var popper = data.offsets.popper; - - // Remove this legacy support in Popper.js v2 - - var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { - return modifier.name === 'applyStyle'; - }).gpuAcceleration; - if (legacyGpuAccelerationOption !== undefined) { - console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); - } - var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; - - var offsetParent = getOffsetParent(data.instance.popper); - var offsetParentRect = getBoundingClientRect(offsetParent); - - // Styles - var styles = { - position: popper.position - }; - - // floor sides to avoid blurry text - var offsets = { - left: Math.floor(popper.left), - top: Math.floor(popper.top), - bottom: Math.floor(popper.bottom), - right: Math.floor(popper.right) - }; - - var sideA = x === 'bottom' ? 'top' : 'bottom'; - var sideB = y === 'right' ? 'left' : 'right'; - - // if gpuAcceleration is set to `true` and transform is supported, - // we use `translate3d` to apply the position to the popper we - // automatically use the supported prefixed version if needed - var prefixedProperty = getSupportedPropertyName('transform'); - - // now, let's make a step back and look at this code closely (wtf?) - // If the content of the popper grows once it's been positioned, it - // may happen that the popper gets misplaced because of the new content - // overflowing its reference element - // To avoid this problem, we provide two options (x and y), which allow - // the consumer to define the offset origin. - // If we position a popper on top of a reference element, we can set - // `x` to `top` to make the popper grow towards its top instead of - // its bottom. - var left = void 0, - top = void 0; - if (sideA === 'bottom') { - top = -offsetParentRect.height + offsets.bottom; - } else { - top = offsets.top; - } - if (sideB === 'right') { - left = -offsetParentRect.width + offsets.right; - } else { - left = offsets.left; - } - if (gpuAcceleration && prefixedProperty) { - styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; - styles[sideA] = 0; - styles[sideB] = 0; - styles.willChange = 'transform'; - } else { - // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties - var invertTop = sideA === 'bottom' ? -1 : 1; - var invertLeft = sideB === 'right' ? -1 : 1; - styles[sideA] = top * invertTop; - styles[sideB] = left * invertLeft; - styles.willChange = sideA + ', ' + sideB; - } - - // Attributes - var attributes = { - 'x-placement': data.placement - }; - - // Update `data` attributes, styles and arrowStyles - data.attributes = _extends$1({}, attributes, data.attributes); - data.styles = _extends$1({}, styles, data.styles); - data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles); - - return data; -} - -/** - * Helper used to know if the given modifier depends from another one.
- * It checks if the needed modifier is listed and enabled. - * @method - * @memberof Popper.Utils - * @param {Array} modifiers - list of modifiers - * @param {String} requestingName - name of requesting modifier - * @param {String} requestedName - name of requested modifier - * @returns {Boolean} - */ -function isModifierRequired(modifiers, requestingName, requestedName) { - var requesting = find(modifiers, function (_ref) { - var name = _ref.name; - return name === requestingName; - }); - - var isRequired = !!requesting && modifiers.some(function (modifier) { - return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; - }); - - if (!isRequired) { - var _requesting = '`' + requestingName + '`'; - var requested = '`' + requestedName + '`'; - console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); - } - return isRequired; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function arrow(data, options) { - var _data$offsets$arrow; - - // arrow depends on keepTogether in order to work - if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { - return data; - } - - var arrowElement = options.element; - - // if arrowElement is a string, suppose it's a CSS selector - if (typeof arrowElement === 'string') { - arrowElement = data.instance.popper.querySelector(arrowElement); - - // if arrowElement is not found, don't run the modifier - if (!arrowElement) { - return data; - } - } else { - // if the arrowElement isn't a query selector we must check that the - // provided DOM node is child of its popper node - if (!data.instance.popper.contains(arrowElement)) { - console.warn('WARNING: `arrow.element` must be child of its popper element!'); - return data; - } - } - - var placement = data.placement.split('-')[0]; - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var isVertical = ['left', 'right'].indexOf(placement) !== -1; - - var len = isVertical ? 'height' : 'width'; - var sideCapitalized = isVertical ? 'Top' : 'Left'; - var side = sideCapitalized.toLowerCase(); - var altSide = isVertical ? 'left' : 'top'; - var opSide = isVertical ? 'bottom' : 'right'; - var arrowElementSize = getOuterSizes(arrowElement)[len]; - - // - // extends keepTogether behavior making sure the popper and its - // reference have enough pixels in conjuction - // - - // top/left side - if (reference[opSide] - arrowElementSize < popper[side]) { - data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); - } - // bottom/right side - if (reference[side] + arrowElementSize > popper[opSide]) { - data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; - } - data.offsets.popper = getClientRect(data.offsets.popper); - - // compute center of the popper - var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; - - // Compute the sideValue using the updated popper offsets - // take popper margin in account because we don't have this info available - var css = getStyleComputedProperty(data.instance.popper); - var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); - var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); - var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; - - // prevent arrowElement from being placed not contiguously to its popper - sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); - - data.arrowElement = arrowElement; - data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); - - return data; -} - -/** - * Get the opposite placement variation of the given one - * @method - * @memberof Popper.Utils - * @argument {String} placement variation - * @returns {String} flipped placement variation - */ -function getOppositeVariation(variation) { - if (variation === 'end') { - return 'start'; - } else if (variation === 'start') { - return 'end'; - } - return variation; -} - -/** - * List of accepted placements to use as values of the `placement` option.
- * Valid placements are: - * - `auto` - * - `top` - * - `right` - * - `bottom` - * - `left` - * - * Each placement can have a variation from this list: - * - `-start` - * - `-end` - * - * Variations are interpreted easily if you think of them as the left to right - * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` - * is right.
- * Vertically (`left` and `right`), `start` is top and `end` is bottom. - * - * Some valid examples are: - * - `top-end` (on top of reference, right aligned) - * - `right-start` (on right of reference, top aligned) - * - `bottom` (on bottom, centered) - * - `auto-right` (on the side with more space available, alignment depends by placement) - * - * @static - * @type {Array} - * @enum {String} - * @readonly - * @method placements - * @memberof Popper - */ -var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; - -// Get rid of `auto` `auto-start` and `auto-end` -var validPlacements = placements.slice(3); - -/** - * Given an initial placement, returns all the subsequent placements - * clockwise (or counter-clockwise). - * - * @method - * @memberof Popper.Utils - * @argument {String} placement - A valid placement (it accepts variations) - * @argument {Boolean} counter - Set to true to walk the placements counterclockwise - * @returns {Array} placements including their variations - */ -function clockwise(placement) { - var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - var index = validPlacements.indexOf(placement); - var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); - return counter ? arr.reverse() : arr; -} - -var BEHAVIORS = { - FLIP: 'flip', - CLOCKWISE: 'clockwise', - COUNTERCLOCKWISE: 'counterclockwise' -}; - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function flip(data, options) { - // if `inner` modifier is enabled, we can't use the `flip` modifier - if (isModifierEnabled(data.instance.modifiers, 'inner')) { - return data; - } - - if (data.flipped && data.placement === data.originalPlacement) { - // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides - return data; - } - - var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement); - - var placement = data.placement.split('-')[0]; - var placementOpposite = getOppositePlacement(placement); - var variation = data.placement.split('-')[1] || ''; - - var flipOrder = []; - - switch (options.behavior) { - case BEHAVIORS.FLIP: - flipOrder = [placement, placementOpposite]; - break; - case BEHAVIORS.CLOCKWISE: - flipOrder = clockwise(placement); - break; - case BEHAVIORS.COUNTERCLOCKWISE: - flipOrder = clockwise(placement, true); - break; - default: - flipOrder = options.behavior; - } - - flipOrder.forEach(function (step, index) { - if (placement !== step || flipOrder.length === index + 1) { - return data; - } - - placement = data.placement.split('-')[0]; - placementOpposite = getOppositePlacement(placement); - - var popperOffsets = data.offsets.popper; - var refOffsets = data.offsets.reference; - - // using floor because the reference offsets may contain decimals we are not going to consider here - var floor = Math.floor; - var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); - - var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); - var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); - var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); - var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); - - var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; - - // flip the variation if required - var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; - var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); - - if (overlapsRef || overflowsBoundaries || flippedVariation) { - // this boolean to detect any flip loop - data.flipped = true; - - if (overlapsRef || overflowsBoundaries) { - placement = flipOrder[index + 1]; - } - - if (flippedVariation) { - variation = getOppositeVariation(variation); - } - - data.placement = placement + (variation ? '-' + variation : ''); - - // this object contains `position`, we want to preserve it along with - // any additional property we may add in the future - data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); - - data = runModifiers(data.instance.modifiers, data, 'flip'); - } - }); - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function keepTogether(data) { - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var placement = data.placement.split('-')[0]; - var floor = Math.floor; - var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; - var side = isVertical ? 'right' : 'bottom'; - var opSide = isVertical ? 'left' : 'top'; - var measurement = isVertical ? 'width' : 'height'; - - if (popper[side] < floor(reference[opSide])) { - data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; - } - if (popper[opSide] > floor(reference[side])) { - data.offsets.popper[opSide] = floor(reference[side]); - } - - return data; -} - -/** - * Converts a string containing value + unit into a px value number - * @function - * @memberof {modifiers~offset} - * @private - * @argument {String} str - Value + unit string - * @argument {String} measurement - `height` or `width` - * @argument {Object} popperOffsets - * @argument {Object} referenceOffsets - * @returns {Number|String} - * Value in pixels, or original string if no values were extracted - */ -function toValue(str, measurement, popperOffsets, referenceOffsets) { - // separate value from unit - var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); - var value = +split[1]; - var unit = split[2]; - - // If it's not a number it's an operator, I guess - if (!value) { - return str; - } - - if (unit.indexOf('%') === 0) { - var element = void 0; - switch (unit) { - case '%p': - element = popperOffsets; - break; - case '%': - case '%r': - default: - element = referenceOffsets; - } - - var rect = getClientRect(element); - return rect[measurement] / 100 * value; - } else if (unit === 'vh' || unit === 'vw') { - // if is a vh or vw, we calculate the size based on the viewport - var size = void 0; - if (unit === 'vh') { - size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); - } else { - size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); - } - return size / 100 * value; - } else { - // if is an explicit pixel unit, we get rid of the unit and keep the value - // if is an implicit unit, it's px, and we return just the value - return value; - } -} - -/** - * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. - * @function - * @memberof {modifiers~offset} - * @private - * @argument {String} offset - * @argument {Object} popperOffsets - * @argument {Object} referenceOffsets - * @argument {String} basePlacement - * @returns {Array} a two cells array with x and y offsets in numbers - */ -function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { - var offsets = [0, 0]; - - // Use height if placement is left or right and index is 0 otherwise use width - // in this way the first offset will use an axis and the second one - // will use the other one - var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; - - // Split the offset string to obtain a list of values and operands - // The regex addresses values with the plus or minus sign in front (+10, -20, etc) - var fragments = offset.split(/(\+|\-)/).map(function (frag) { - return frag.trim(); - }); - - // Detect if the offset string contains a pair of values or a single one - // they could be separated by comma or space - var divider = fragments.indexOf(find(fragments, function (frag) { - return frag.search(/,|\s/) !== -1; - })); - - if (fragments[divider] && fragments[divider].indexOf(',') === -1) { - console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); - } - - // If divider is found, we divide the list of values and operands to divide - // them by ofset X and Y. - var splitRegex = /\s*,\s*|\s+/; - var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; - - // Convert the values with units to absolute pixels to allow our computations - ops = ops.map(function (op, index) { - // Most of the units rely on the orientation of the popper - var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; - var mergeWithPrevious = false; - return op - // This aggregates any `+` or `-` sign that aren't considered operators - // e.g.: 10 + +5 => [10, +, +5] - .reduce(function (a, b) { - if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { - a[a.length - 1] = b; - mergeWithPrevious = true; - return a; - } else if (mergeWithPrevious) { - a[a.length - 1] += b; - mergeWithPrevious = false; - return a; - } else { - return a.concat(b); - } - }, []) - // Here we convert the string values into number values (in px) - .map(function (str) { - return toValue(str, measurement, popperOffsets, referenceOffsets); - }); - }); - - // Loop trough the offsets arrays and execute the operations - ops.forEach(function (op, index) { - op.forEach(function (frag, index2) { - if (isNumeric(frag)) { - offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); - } - }); - }); - return offsets; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @argument {Number|String} options.offset=0 - * The offset value as described in the modifier description - * @returns {Object} The data object, properly modified - */ -function offset(data, _ref) { - var offset = _ref.offset; - var placement = data.placement, - _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var basePlacement = placement.split('-')[0]; - - var offsets = void 0; - if (isNumeric(+offset)) { - offsets = [+offset, 0]; - } else { - offsets = parseOffset(offset, popper, reference, basePlacement); - } - - if (basePlacement === 'left') { - popper.top += offsets[0]; - popper.left -= offsets[1]; - } else if (basePlacement === 'right') { - popper.top += offsets[0]; - popper.left += offsets[1]; - } else if (basePlacement === 'top') { - popper.left += offsets[0]; - popper.top -= offsets[1]; - } else if (basePlacement === 'bottom') { - popper.left += offsets[0]; - popper.top += offsets[1]; - } - - data.popper = popper; - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function preventOverflow(data, options) { - var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); - - // If offsetParent is the reference element, we really want to - // go one step up and use the next offsetParent as reference to - // avoid to make this modifier completely useless and look like broken - if (data.instance.reference === boundariesElement) { - boundariesElement = getOffsetParent(boundariesElement); - } - - var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement); - options.boundaries = boundaries; - - var order = options.priority; - var popper = data.offsets.popper; - - var check = { - primary: function primary(placement) { - var value = popper[placement]; - if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { - value = Math.max(popper[placement], boundaries[placement]); - } - return defineProperty({}, placement, value); - }, - secondary: function secondary(placement) { - var mainSide = placement === 'right' ? 'left' : 'top'; - var value = popper[mainSide]; - if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { - value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); - } - return defineProperty({}, mainSide, value); - } - }; - - order.forEach(function (placement) { - var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; - popper = _extends$1({}, popper, check[side](placement)); - }); - - data.offsets.popper = popper; - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function shift(data) { - var placement = data.placement; - var basePlacement = placement.split('-')[0]; - var shiftvariation = placement.split('-')[1]; - - // if shift shiftvariation is specified, run the modifier - if (shiftvariation) { - var _data$offsets = data.offsets, - reference = _data$offsets.reference, - popper = _data$offsets.popper; - - var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; - var side = isVertical ? 'left' : 'top'; - var measurement = isVertical ? 'width' : 'height'; - - var shiftOffsets = { - start: defineProperty({}, side, reference[side]), - end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) - }; - - data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]); - } - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by update method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function hide(data) { - if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { - return data; - } - - var refRect = data.offsets.reference; - var bound = find(data.instance.modifiers, function (modifier) { - return modifier.name === 'preventOverflow'; - }).boundaries; - - if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { - // Avoid unnecessary DOM access if visibility hasn't changed - if (data.hide === true) { - return data; - } - - data.hide = true; - data.attributes['x-out-of-boundaries'] = ''; - } else { - // Avoid unnecessary DOM access if visibility hasn't changed - if (data.hide === false) { - return data; - } - - data.hide = false; - data.attributes['x-out-of-boundaries'] = false; - } - - return data; -} - -/** - * @function - * @memberof Modifiers - * @argument {Object} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {Object} The data object, properly modified - */ -function inner(data) { - var placement = data.placement; - var basePlacement = placement.split('-')[0]; - var _data$offsets = data.offsets, - popper = _data$offsets.popper, - reference = _data$offsets.reference; - - var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; - - var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; - - popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); - - data.placement = getOppositePlacement(placement); - data.offsets.popper = getClientRect(popper); - - return data; -} - -/** - * Modifier function, each modifier can have a function of this type assigned - * to its `fn` property.
- * These functions will be called on each update, this means that you must - * make sure they are performant enough to avoid performance bottlenecks. - * - * @function ModifierFn - * @argument {dataObject} data - The data object generated by `update` method - * @argument {Object} options - Modifiers configuration and options - * @returns {dataObject} The data object, properly modified - */ - -/** - * Modifiers are plugins used to alter the behavior of your poppers.
- * Popper.js uses a set of 9 modifiers to provide all the basic functionalities - * needed by the library. - * - * Usually you don't want to override the `order`, `fn` and `onLoad` props. - * All the other properties are configurations that could be tweaked. - * @namespace modifiers - */ -var modifiers = { - /** - * Modifier used to shift the popper on the start or end of its reference - * element.
- * It will read the variation of the `placement` property.
- * It can be one either `-end` or `-start`. - * @memberof modifiers - * @inner - */ - shift: { - /** @prop {number} order=100 - Index used to define the order of execution */ - order: 100, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: shift - }, - - /** - * The `offset` modifier can shift your popper on both its axis. - * - * It accepts the following units: - * - `px` or unitless, interpreted as pixels - * - `%` or `%r`, percentage relative to the length of the reference element - * - `%p`, percentage relative to the length of the popper element - * - `vw`, CSS viewport width unit - * - `vh`, CSS viewport height unit - * - * For length is intended the main axis relative to the placement of the popper.
- * This means that if the placement is `top` or `bottom`, the length will be the - * `width`. In case of `left` or `right`, it will be the height. - * - * You can provide a single value (as `Number` or `String`), or a pair of values - * as `String` divided by a comma or one (or more) white spaces.
- * The latter is a deprecated method because it leads to confusion and will be - * removed in v2.
- * Additionally, it accepts additions and subtractions between different units. - * Note that multiplications and divisions aren't supported. - * - * Valid examples are: - * ``` - * 10 - * '10%' - * '10, 10' - * '10%, 10' - * '10 + 10%' - * '10 - 5vh + 3%' - * '-10px + 5vh, 5px - 6%' - * ``` - * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap - * > with their reference element, unfortunately, you will have to disable the `flip` modifier. - * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373) - * - * @memberof modifiers - * @inner - */ - offset: { - /** @prop {number} order=200 - Index used to define the order of execution */ - order: 200, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: offset, - /** @prop {Number|String} offset=0 - * The offset value as described in the modifier description - */ - offset: 0 - }, - - /** - * Modifier used to prevent the popper from being positioned outside the boundary. - * - * An scenario exists where the reference itself is not within the boundaries.
- * We can say it has "escaped the boundaries" — or just "escaped".
- * In this case we need to decide whether the popper should either: - * - * - detach from the reference and remain "trapped" in the boundaries, or - * - if it should ignore the boundary and "escape with its reference" - * - * When `escapeWithReference` is set to`true` and reference is completely - * outside its boundaries, the popper will overflow (or completely leave) - * the boundaries in order to remain attached to the edge of the reference. - * - * @memberof modifiers - * @inner - */ - preventOverflow: { - /** @prop {number} order=300 - Index used to define the order of execution */ - order: 300, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: preventOverflow, - /** - * @prop {Array} [priority=['left','right','top','bottom']] - * Popper will try to prevent overflow following these priorities by default, - * then, it could overflow on the left and on top of the `boundariesElement` - */ - priority: ['left', 'right', 'top', 'bottom'], - /** - * @prop {number} padding=5 - * Amount of pixel used to define a minimum distance between the boundaries - * and the popper this makes sure the popper has always a little padding - * between the edges of its container - */ - padding: 5, - /** - * @prop {String|HTMLElement} boundariesElement='scrollParent' - * Boundaries used by the modifier, can be `scrollParent`, `window`, - * `viewport` or any DOM element. - */ - boundariesElement: 'scrollParent' - }, - - /** - * Modifier used to make sure the reference and its popper stay near eachothers - * without leaving any gap between the two. Expecially useful when the arrow is - * enabled and you want to assure it to point to its reference element. - * It cares only about the first axis, you can still have poppers with margin - * between the popper and its reference element. - * @memberof modifiers - * @inner - */ - keepTogether: { - /** @prop {number} order=400 - Index used to define the order of execution */ - order: 400, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: keepTogether - }, - - /** - * This modifier is used to move the `arrowElement` of the popper to make - * sure it is positioned between the reference element and its popper element. - * It will read the outer size of the `arrowElement` node to detect how many - * pixels of conjuction are needed. - * - * It has no effect if no `arrowElement` is provided. - * @memberof modifiers - * @inner - */ - arrow: { - /** @prop {number} order=500 - Index used to define the order of execution */ - order: 500, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: arrow, - /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ - element: '[x-arrow]' - }, - - /** - * Modifier used to flip the popper's placement when it starts to overlap its - * reference element. - * - * Requires the `preventOverflow` modifier before it in order to work. - * - * **NOTE:** this modifier will interrupt the current update cycle and will - * restart it if it detects the need to flip the placement. - * @memberof modifiers - * @inner - */ - flip: { - /** @prop {number} order=600 - Index used to define the order of execution */ - order: 600, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: flip, - /** - * @prop {String|Array} behavior='flip' - * The behavior used to change the popper's placement. It can be one of - * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid - * placements (with optional variations). - */ - behavior: 'flip', - /** - * @prop {number} padding=5 - * The popper will flip if it hits the edges of the `boundariesElement` - */ - padding: 5, - /** - * @prop {String|HTMLElement} boundariesElement='viewport' - * The element which will define the boundaries of the popper position, - * the popper will never be placed outside of the defined boundaries - * (except if keepTogether is enabled) - */ - boundariesElement: 'viewport' - }, - - /** - * Modifier used to make the popper flow toward the inner of the reference element. - * By default, when this modifier is disabled, the popper will be placed outside - * the reference element. - * @memberof modifiers - * @inner - */ - inner: { - /** @prop {number} order=700 - Index used to define the order of execution */ - order: 700, - /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ - enabled: false, - /** @prop {ModifierFn} */ - fn: inner - }, - - /** - * Modifier used to hide the popper when its reference element is outside of the - * popper boundaries. It will set a `x-out-of-boundaries` attribute which can - * be used to hide with a CSS selector the popper when its reference is - * out of boundaries. - * - * Requires the `preventOverflow` modifier before it in order to work. - * @memberof modifiers - * @inner - */ - hide: { - /** @prop {number} order=800 - Index used to define the order of execution */ - order: 800, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: hide - }, - - /** - * Computes the style that will be applied to the popper element to gets - * properly positioned. - * - * Note that this modifier will not touch the DOM, it just prepares the styles - * so that `applyStyle` modifier can apply it. This separation is useful - * in case you need to replace `applyStyle` with a custom implementation. - * - * This modifier has `850` as `order` value to maintain backward compatibility - * with previous versions of Popper.js. Expect the modifiers ordering method - * to change in future major versions of the library. - * - * @memberof modifiers - * @inner - */ - computeStyle: { - /** @prop {number} order=850 - Index used to define the order of execution */ - order: 850, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: computeStyle, - /** - * @prop {Boolean} gpuAcceleration=true - * If true, it uses the CSS 3d transformation to position the popper. - * Otherwise, it will use the `top` and `left` properties. - */ - gpuAcceleration: true, - /** - * @prop {string} [x='bottom'] - * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. - * Change this if your popper should grow in a direction different from `bottom` - */ - x: 'bottom', - /** - * @prop {string} [x='left'] - * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. - * Change this if your popper should grow in a direction different from `right` - */ - y: 'right' - }, - - /** - * Applies the computed styles to the popper element. - * - * All the DOM manipulations are limited to this modifier. This is useful in case - * you want to integrate Popper.js inside a framework or view library and you - * want to delegate all the DOM manipulations to it. - * - * Note that if you disable this modifier, you must make sure the popper element - * has its position set to `absolute` before Popper.js can do its work! - * - * Just disable this modifier and define you own to achieve the desired effect. - * - * @memberof modifiers - * @inner - */ - applyStyle: { - /** @prop {number} order=900 - Index used to define the order of execution */ - order: 900, - /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ - enabled: true, - /** @prop {ModifierFn} */ - fn: applyStyle, - /** @prop {Function} */ - onLoad: applyStyleOnLoad, - /** - * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier - * @prop {Boolean} gpuAcceleration=true - * If true, it uses the CSS 3d transformation to position the popper. - * Otherwise, it will use the `top` and `left` properties. - */ - gpuAcceleration: undefined - } -}; - -/** - * The `dataObject` is an object containing all the informations used by Popper.js - * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks. - * @name dataObject - * @property {Object} data.instance The Popper.js instance - * @property {String} data.placement Placement applied to popper - * @property {String} data.originalPlacement Placement originally defined on init - * @property {Boolean} data.flipped True if popper has been flipped by flip modifier - * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper. - * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier - * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`) - * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`) - * @property {Object} data.boundaries Offsets of the popper boundaries - * @property {Object} data.offsets The measurements of popper, reference and arrow elements. - * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values - * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values - * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 - */ - -/** - * Default options provided to Popper.js constructor.
- * These can be overriden using the `options` argument of Popper.js.
- * To override an option, simply pass as 3rd argument an object with the same - * structure of this object, example: - * ``` - * new Popper(ref, pop, { - * modifiers: { - * preventOverflow: { enabled: false } - * } - * }) - * ``` - * @type {Object} - * @static - * @memberof Popper - */ -var Defaults = { - /** - * Popper's placement - * @prop {Popper.placements} placement='bottom' - */ - placement: 'bottom', - - /** - * Whether events (resize, scroll) are initially enabled - * @prop {Boolean} eventsEnabled=true - */ - eventsEnabled: true, - - /** - * Set to true if you want to automatically remove the popper when - * you call the `destroy` method. - * @prop {Boolean} removeOnDestroy=false - */ - removeOnDestroy: false, - - /** - * Callback called when the popper is created.
- * By default, is set to no-op.
- * Access Popper.js instance with `data.instance`. - * @prop {onCreate} - */ - onCreate: function onCreate() {}, - - /** - * Callback called when the popper is updated, this callback is not called - * on the initialization/creation of the popper, but only on subsequent - * updates.
- * By default, is set to no-op.
- * Access Popper.js instance with `data.instance`. - * @prop {onUpdate} - */ - onUpdate: function onUpdate() {}, - - /** - * List of modifiers used to modify the offsets before they are applied to the popper. - * They provide most of the functionalities of Popper.js - * @prop {modifiers} - */ - modifiers: modifiers -}; - -/** - * @callback onCreate - * @param {dataObject} data - */ - -/** - * @callback onUpdate - * @param {dataObject} data - */ - -// Utils -// Methods -var Popper = function () { - /** - * Create a new Popper.js instance - * @class Popper - * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper - * @param {HTMLElement} popper - The HTML element used as popper. - * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) - * @return {Object} instance - The generated Popper.js instance - */ - function Popper(reference, popper) { - var _this = this; - - var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - classCallCheck(this, Popper); - - this.scheduleUpdate = function () { - return requestAnimationFrame(_this.update); - }; - - // make update() debounced, so that it only runs at most once-per-tick - this.update = debounce(this.update.bind(this)); - - // with {} we create a new object with the options inside it - this.options = _extends$1({}, Popper.Defaults, options); - - // init state - this.state = { - isDestroyed: false, - isCreated: false, - scrollParents: [] - }; - - // get reference and popper elements (allow jQuery wrappers) - this.reference = reference && reference.jquery ? reference[0] : reference; - this.popper = popper && popper.jquery ? popper[0] : popper; - - // Deep merge modifiers options - this.options.modifiers = {}; - Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { - _this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); - }); - - // Refactoring modifiers' list (Object => Array) - this.modifiers = Object.keys(this.options.modifiers).map(function (name) { - return _extends$1({ - name: name - }, _this.options.modifiers[name]); - }) - // sort the modifiers by order - .sort(function (a, b) { - return a.order - b.order; - }); - - // modifiers have the ability to execute arbitrary code when Popper.js get inited - // such code is executed in the same order of its modifier - // they could add new properties to their options configuration - // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! - this.modifiers.forEach(function (modifierOptions) { - if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { - modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); - } - }); - - // fire the first update to position the popper in the right place - this.update(); - - var eventsEnabled = this.options.eventsEnabled; - if (eventsEnabled) { - // setup event listeners, they will take care of update the position in specific situations - this.enableEventListeners(); - } - - this.state.eventsEnabled = eventsEnabled; - } - - // We can't use class properties because they don't get listed in the - // class prototype and break stuff like Sinon stubs - - - createClass(Popper, [{ - key: 'update', - value: function update$$1() { - return update.call(this); - } - }, { - key: 'destroy', - value: function destroy$$1() { - return destroy.call(this); - } - }, { - key: 'enableEventListeners', - value: function enableEventListeners$$1() { - return enableEventListeners.call(this); - } - }, { - key: 'disableEventListeners', - value: function disableEventListeners$$1() { - return disableEventListeners.call(this); - } - - /** - * Schedule an update, it will run on the next UI update available - * @method scheduleUpdate - * @memberof Popper - */ - - - /** - * Collection of utilities useful when writing custom modifiers. - * Starting from version 1.7, this method is available only if you - * include `popper-utils.js` before `popper.js`. - * - * **DEPRECATION**: This way to access PopperUtils is deprecated - * and will be removed in v2! Use the PopperUtils module directly instead. - * Due to the high instability of the methods contained in Utils, we can't - * guarantee them to follow semver. Use them at your own risk! - * @static - * @private - * @type {Object} - * @deprecated since version 1.8 - * @member Utils - * @memberof Popper - */ - - }]); - return Popper; -}(); - -/** - * The `referenceObject` is an object that provides an interface compatible with Popper.js - * and lets you use it as replacement of a real DOM node.
- * You can use this method to position a popper relatively to a set of coordinates - * in case you don't have a DOM node to use as reference. - * - * ``` - * new Popper(referenceObject, popperNode); - * ``` - * - * NB: This feature isn't supported in Internet Explorer 10 - * @name referenceObject - * @property {Function} data.getBoundingClientRect - * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. - * @property {number} data.clientWidth - * An ES6 getter that will return the width of the virtual reference element. - * @property {number} data.clientHeight - * An ES6 getter that will return the height of the virtual reference element. - */ - - -Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; -Popper.placements = placements; -Popper.Defaults = Defaults; - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): dropdown.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - -var Dropdown = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'dropdown'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.dropdown'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key - - var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key - - var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key - - var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key - - var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key - - var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse) - - var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE); - 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, - KEYUP_DATA_API: "keyup" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - DISABLED: 'disabled', - SHOW: 'show', - DROPUP: 'dropup', - DROPRIGHT: 'dropright', - DROPLEFT: 'dropleft', - MENURIGHT: 'dropdown-menu-right', - MENULEFT: 'dropdown-menu-left', - POSITION_STATIC: 'position-static' - }; - var Selector = { - DATA_TOGGLE: '[data-toggle="dropdown"]', - FORM_CHILD: '.dropdown form', - MENU: '.dropdown-menu', - NAVBAR_NAV: '.navbar-nav', - VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)' - }; - var AttachmentMap = { - TOP: 'top-start', - TOPEND: 'top-end', - BOTTOM: 'bottom-start', - BOTTOMEND: 'bottom-end', - RIGHT: 'right-start', - RIGHTEND: 'right-end', - LEFT: 'left-start', - LEFTEND: 'left-end' - }; - var Default = { - offset: 0, - flip: true, - boundary: 'scrollParent' - }; - var DefaultType = { - offset: '(number|string|function)', - flip: 'boolean', - boundary: '(string|element)' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Dropdown = - /*#__PURE__*/ - function () { - function Dropdown(element, config) { - this._element = element; - this._popper = null; - this._config = this._getConfig(config); - this._menu = this._getMenuElement(); - this._inNavbar = this._detectNavbar(); - - this._addEventListeners(); - } // getters - - - var _proto = Dropdown.prototype; - - // public - _proto.toggle = function toggle() { - if (this._element.disabled || $$$1(this._element).hasClass(ClassName.DISABLED)) { - return; - } - - var parent = Dropdown._getParentFromElement(this._element); - - var isActive = $$$1(this._menu).hasClass(ClassName.SHOW); - - Dropdown._clearMenus(); - - if (isActive) { - return; - } - - var relatedTarget = { - relatedTarget: this._element - }; - var showEvent = $$$1.Event(Event.SHOW, relatedTarget); - $$$1(parent).trigger(showEvent); - - if (showEvent.isDefaultPrevented()) { - return; - } // Disable totally Popper.js for Dropdown in Navbar - - - if (!this._inNavbar) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper === 'undefined') { - throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)'); - } - - var element = this._element; // for dropup with alignment we use the parent as popper container - - if ($$$1(parent).hasClass(ClassName.DROPUP)) { - if ($$$1(this._menu).hasClass(ClassName.MENULEFT) || $$$1(this._menu).hasClass(ClassName.MENURIGHT)) { - element = parent; - } - } // If boundary is not `scrollParent`, then set position to `static` - // to allow the menu to "escape" the scroll parent's boundaries - // https://github.com/twbs/bootstrap/issues/24251 - - - if (this._config.boundary !== 'scrollParent') { - $$$1(parent).addClass(ClassName.POSITION_STATIC); - } - - this._popper = new Popper(element, this._menu, this._getPopperConfig()); - } // if this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - - if ('ontouchstart' in document.documentElement && !$$$1(parent).closest(Selector.NAVBAR_NAV).length) { - $$$1('body').children().on('mouseover', null, $$$1.noop); - } - - this._element.focus(); - - this._element.setAttribute('aria-expanded', true); - - $$$1(this._menu).toggleClass(ClassName.SHOW); - $$$1(parent).toggleClass(ClassName.SHOW).trigger($$$1.Event(Event.SHOWN, relatedTarget)); - }; - - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - $$$1(this._element).off(EVENT_KEY); - this._element = null; - this._menu = null; - - if (this._popper !== null) { - this._popper.destroy(); - - this._popper = null; - } - }; - - _proto.update = function update() { - this._inNavbar = this._detectNavbar(); - - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - }; // private - - - _proto._addEventListeners = function _addEventListeners() { - var _this = this; - - $$$1(this._element).on(Event.CLICK, function (event) { - event.preventDefault(); - event.stopPropagation(); - - _this.toggle(); - }); - }; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, this.constructor.Default, $$$1(this._element).data(), config); - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - return config; - }; - - _proto._getMenuElement = function _getMenuElement() { - if (!this._menu) { - var parent = Dropdown._getParentFromElement(this._element); - - this._menu = $$$1(parent).find(Selector.MENU)[0]; - } - - return this._menu; - }; - - _proto._getPlacement = function _getPlacement() { - var $parentDropdown = $$$1(this._element).parent(); - var placement = AttachmentMap.BOTTOM; // Handle dropup - - if ($parentDropdown.hasClass(ClassName.DROPUP)) { - placement = AttachmentMap.TOP; - - if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { - placement = AttachmentMap.TOPEND; - } - } else if ($parentDropdown.hasClass(ClassName.DROPRIGHT)) { - placement = AttachmentMap.RIGHT; - } else if ($parentDropdown.hasClass(ClassName.DROPLEFT)) { - placement = AttachmentMap.LEFT; - } else if ($$$1(this._menu).hasClass(ClassName.MENURIGHT)) { - placement = AttachmentMap.BOTTOMEND; - } - - return placement; - }; - - _proto._detectNavbar = function _detectNavbar() { - return $$$1(this._element).closest('.navbar').length > 0; - }; - - _proto._getPopperConfig = function _getPopperConfig() { - var _this2 = this; - - var offsetConf = {}; - - if (typeof this._config.offset === 'function') { - offsetConf.fn = function (data) { - data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets) || {}); - return data; - }; - } else { - offsetConf.offset = this._config.offset; - } - - var popperConfig = { - placement: this._getPlacement(), - modifiers: { - offset: offsetConf, - flip: { - enabled: this._config.flip - }, - preventOverflow: { - boundariesElement: this._config.boundary - } - } - }; - return popperConfig; - }; // static - - - Dropdown._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); - - var _config = typeof config === 'object' ? config : null; - - if (!data) { - data = new Dropdown(this, _config); - $$$1(this).data(DATA_KEY, data); - } - - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); - } - - data[config](); - } - }); - }; - - Dropdown._clearMenus = function _clearMenus(event) { - if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) { - return; - } - - var toggles = $$$1.makeArray($$$1(Selector.DATA_TOGGLE)); - - for (var i = 0; i < toggles.length; i++) { - var parent = Dropdown._getParentFromElement(toggles[i]); - - var context = $$$1(toggles[i]).data(DATA_KEY); - var relatedTarget = { - relatedTarget: toggles[i] - }; - - if (!context) { - continue; - } - - var dropdownMenu = context._menu; - - if (!$$$1(parent).hasClass(ClassName.SHOW)) { - continue; - } - - if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $$$1.contains(parent, event.target)) { - continue; - } - - var hideEvent = $$$1.Event(Event.HIDE, relatedTarget); - $$$1(parent).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - continue; - } // if this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - - if ('ontouchstart' in document.documentElement) { - $$$1('body').children().off('mouseover', null, $$$1.noop); - } - - toggles[i].setAttribute('aria-expanded', 'false'); - $$$1(dropdownMenu).removeClass(ClassName.SHOW); - $$$1(parent).removeClass(ClassName.SHOW).trigger($$$1.Event(Event.HIDDEN, relatedTarget)); - } - }; - - Dropdown._getParentFromElement = function _getParentFromElement(element) { - var parent; - var selector = Util.getSelectorFromElement(element); - - if (selector) { - parent = $$$1(selector)[0]; - } - - return parent || element.parentNode; - }; - - Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) { - // If not input/textarea: - // - And not a key in REGEXP_KEYDOWN => not a dropdown command - // If input/textarea: - // - If space key => not a dropdown command - // - If key is other than escape - // - If key is not up or down => not a dropdown command - // - If trigger inside the menu => not a dropdown command - if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $$$1(event.target).closest(Selector.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) { - return; - } - - event.preventDefault(); - event.stopPropagation(); - - if (this.disabled || $$$1(this).hasClass(ClassName.DISABLED)) { - return; - } - - var parent = Dropdown._getParentFromElement(this); - - var isActive = $$$1(parent).hasClass(ClassName.SHOW); - - if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { - if (event.which === ESCAPE_KEYCODE) { - var toggle = $$$1(parent).find(Selector.DATA_TOGGLE)[0]; - $$$1(toggle).trigger('focus'); - } - - $$$1(this).trigger('click'); - return; - } - - var items = $$$1(parent).find(Selector.VISIBLE_ITEMS).get(); - - if (!items.length) { - return; - } - - var index = items.indexOf(event.target); - - if (event.which === ARROW_UP_KEYCODE && index > 0) { - // up - index--; - } - - if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { - // down - index++; - } - - if (index < 0) { - index = 0; - } - - items[index].focus(); - }; - - _createClass(Dropdown, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); - return Dropdown; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + " " + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { - event.preventDefault(); - event.stopPropagation(); - - Dropdown._jQueryInterface.call($$$1(this), 'toggle'); - }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) { - e.stopPropagation(); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Dropdown._jQueryInterface; - $$$1.fn[NAME].Constructor = Dropdown; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Dropdown._jQueryInterface; - }; - - return Dropdown; -}($, Popper); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): modal.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ - -var Modal = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'modal'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.modal'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var TRANSITION_DURATION = 300; - var BACKDROP_TRANSITION_DURATION = 150; - var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key - - var Default = { - backdrop: true, - keyboard: true, - focus: true, - show: true - }; - var DefaultType = { - backdrop: '(boolean|string)', - keyboard: 'boolean', - focus: 'boolean', - show: 'boolean' - }; - 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 - }; - var ClassName = { - SCROLLBAR_MEASURER: 'modal-scrollbar-measure', - BACKDROP: 'modal-backdrop', - OPEN: 'modal-open', - FADE: 'fade', - SHOW: 'show' - }; - var Selector = { - DIALOG: '.modal-dialog', - DATA_TOGGLE: '[data-toggle="modal"]', - DATA_DISMISS: '[data-dismiss="modal"]', - FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', - STICKY_CONTENT: '.sticky-top', - NAVBAR_TOGGLER: '.navbar-toggler' - /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ - */ - - }; - - var Modal = - /*#__PURE__*/ - function () { - function Modal(element, config) { - this._config = this._getConfig(config); - this._element = element; - this._dialog = $$$1(element).find(Selector.DIALOG)[0]; - this._backdrop = null; - this._isShown = false; - this._isBodyOverflowing = false; - this._ignoreBackdropClick = false; - this._originalBodyPadding = 0; - this._scrollbarWidth = 0; - } // getters - - - var _proto = Modal.prototype; - - // public - _proto.toggle = function toggle(relatedTarget) { - return this._isShown ? this.hide() : this.show(relatedTarget); - }; - - _proto.show = function show(relatedTarget) { - var _this = this; - - if (this._isTransitioning || this._isShown) { - return; - } - - if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { - this._isTransitioning = true; - } - - var showEvent = $$$1.Event(Event.SHOW, { - relatedTarget: relatedTarget - }); - $$$1(this._element).trigger(showEvent); - - if (this._isShown || showEvent.isDefaultPrevented()) { - return; - } - - this._isShown = true; - - this._checkScrollbar(); - - this._setScrollbar(); - - this._adjustDialog(); - - $$$1(document.body).addClass(ClassName.OPEN); - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $$$1(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) { - return _this.hide(event); - }); - $$$1(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () { - $$$1(_this._element).one(Event.MOUSEUP_DISMISS, function (event) { - if ($$$1(event.target).is(_this._element)) { - _this._ignoreBackdropClick = true; - } - }); - }); - - this._showBackdrop(function () { - return _this._showElement(relatedTarget); - }); - }; - - _proto.hide = function hide(event) { - var _this2 = this; - - if (event) { - event.preventDefault(); - } - - if (this._isTransitioning || !this._isShown) { - return; - } - - var hideEvent = $$$1.Event(Event.HIDE); - $$$1(this._element).trigger(hideEvent); - - if (!this._isShown || hideEvent.isDefaultPrevented()) { - return; - } - - this._isShown = false; - var transition = Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE); - - if (transition) { - this._isTransitioning = true; - } - - this._setEscapeEvent(); - - this._setResizeEvent(); - - $$$1(document).off(Event.FOCUSIN); - $$$1(this._element).removeClass(ClassName.SHOW); - $$$1(this._element).off(Event.CLICK_DISMISS); - $$$1(this._dialog).off(Event.MOUSEDOWN_DISMISS); - - if (transition) { - $$$1(this._element).one(Util.TRANSITION_END, function (event) { - return _this2._hideModal(event); - }).emulateTransitionEnd(TRANSITION_DURATION); - } else { - this._hideModal(); - } - }; - - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - $$$1(window, document, this._element, 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._scrollbarWidth = null; - }; - - _proto.handleUpdate = function handleUpdate() { - this._adjustDialog(); - }; // private - - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; - - _proto._showElement = function _showElement(relatedTarget) { - var _this3 = this; - - var transition = Util.supportsTransitionEnd() && $$$1(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.removeAttribute('aria-hidden'); - - this._element.scrollTop = 0; - - if (transition) { - Util.reflow(this._element); - } - - $$$1(this._element).addClass(ClassName.SHOW); - - if (this._config.focus) { - this._enforceFocus(); - } - - var shownEvent = $$$1.Event(Event.SHOWN, { - relatedTarget: relatedTarget - }); - - var transitionComplete = function transitionComplete() { - if (_this3._config.focus) { - _this3._element.focus(); - } - - _this3._isTransitioning = false; - $$$1(_this3._element).trigger(shownEvent); - }; - - if (transition) { - $$$1(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION); - } else { - transitionComplete(); - } - }; - - _proto._enforceFocus = function _enforceFocus() { - var _this4 = this; - - $$$1(document).off(Event.FOCUSIN) // guard against infinite focus loop - .on(Event.FOCUSIN, function (event) { - if (document !== event.target && _this4._element !== event.target && !$$$1(_this4._element).has(event.target).length) { - _this4._element.focus(); - } - }); - }; - - _proto._setEscapeEvent = function _setEscapeEvent() { - var _this5 = this; - - if (this._isShown && this._config.keyboard) { - $$$1(this._element).on(Event.KEYDOWN_DISMISS, function (event) { - if (event.which === ESCAPE_KEYCODE) { - event.preventDefault(); - - _this5.hide(); - } - }); - } else if (!this._isShown) { - $$$1(this._element).off(Event.KEYDOWN_DISMISS); - } - }; - - _proto._setResizeEvent = function _setResizeEvent() { - var _this6 = this; - - if (this._isShown) { - $$$1(window).on(Event.RESIZE, function (event) { - return _this6.handleUpdate(event); - }); - } else { - $$$1(window).off(Event.RESIZE); - } - }; - - _proto._hideModal = function _hideModal() { - var _this7 = this; - - this._element.style.display = 'none'; - - this._element.setAttribute('aria-hidden', true); - - this._isTransitioning = false; - - this._showBackdrop(function () { - $$$1(document.body).removeClass(ClassName.OPEN); - - _this7._resetAdjustments(); - - _this7._resetScrollbar(); - - $$$1(_this7._element).trigger(Event.HIDDEN); - }); - }; - - _proto._removeBackdrop = function _removeBackdrop() { - if (this._backdrop) { - $$$1(this._backdrop).remove(); - this._backdrop = null; - } - }; - - _proto._showBackdrop = function _showBackdrop(callback) { - var _this8 = this; - - var animate = $$$1(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) { - $$$1(this._backdrop).addClass(animate); - } - - $$$1(this._backdrop).appendTo(document.body); - $$$1(this._element).on(Event.CLICK_DISMISS, function (event) { - if (_this8._ignoreBackdropClick) { - _this8._ignoreBackdropClick = false; - return; - } + /** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @returns {Object} An object containing the offsets which will be applied to the popper + */ + function getReferenceOffsets(state, popper, reference) { + var commonOffsetParent = findCommonOffsetParent(popper, reference); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent); + } - if (event.target !== event.currentTarget) { - return; - } + /** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ + function getOuterSizes(element) { + var styles = getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; + } - if (_this8._config.backdrop === 'static') { - _this8._element.focus(); - } else { - _this8.hide(); - } + /** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ + function getOppositePlacement(placement) { + var hash = { left: "right", right: "left", bottom: "top", top: "bottom" }; + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash[matched]; }); + } - if (doAnimate) { - Util.reflow(this._backdrop); - } - - $$$1(this._backdrop).addClass(ClassName.SHOW); - - if (!callback) { - return; - } - - if (!doAnimate) { - callback(); - return; - } - - $$$1(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); - } else if (!this._isShown && this._backdrop) { - $$$1(this._backdrop).removeClass(ClassName.SHOW); + /** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ + function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split("-")[0]; - var callbackRemove = function callbackRemove() { - _this8._removeBackdrop(); + // Get popper node sizes + var popperRect = getOuterSizes(popper); - if (callback) { - callback(); - } + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height }; - if (Util.supportsTransitionEnd() && $$$1(this._element).hasClass(ClassName.FADE)) { - $$$1(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION); + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ["right", "left"].indexOf(placement) !== -1; + var mainSide = isHoriz ? "top" : "left"; + var secondarySide = isHoriz ? "left" : "top"; + var measurement = isHoriz ? "height" : "width"; + var secondaryMeasurement = !isHoriz ? "height" : "width"; + + popperOffsets[mainSide] = + referenceOffsets[mainSide] + + referenceOffsets[measurement] / 2 - + popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = + referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; } else { - callbackRemove(); + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; } - } else if (callback) { - callback(); - } - }; // ---------------------------------------------------------------------- - // the following methods are used to handle overflowing modals - // todo (fat): these should probably be refactored out of modal.js - // ---------------------------------------------------------------------- - - - _proto._adjustDialog = 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"; - } - }; - - _proto._resetAdjustments = function _resetAdjustments() { - this._element.style.paddingLeft = ''; - this._element.style.paddingRight = ''; - }; - _proto._checkScrollbar = function _checkScrollbar() { - var rect = document.body.getBoundingClientRect(); - this._isBodyOverflowing = rect.left + rect.right < window.innerWidth; - this._scrollbarWidth = this._getScrollbarWidth(); - }; - - _proto._setScrollbar = function _setScrollbar() { - var _this9 = this; - - if (this._isBodyOverflowing) { - // Note: DOMNode.style.paddingRight returns the actual value or '' if not set - // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set - // Adjust fixed content padding - $$$1(Selector.FIXED_CONTENT).each(function (index, element) { - var actualPadding = $$$1(element)[0].style.paddingRight; - var calculatedPadding = $$$1(element).css('padding-right'); - $$$1(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px"); - }); // Adjust sticky content margin - - $$$1(Selector.STICKY_CONTENT).each(function (index, element) { - var actualMargin = $$$1(element)[0].style.marginRight; - var calculatedMargin = $$$1(element).css('margin-right'); - $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px"); - }); // Adjust navbar-toggler margin - - $$$1(Selector.NAVBAR_TOGGLER).each(function (index, element) { - var actualMargin = $$$1(element)[0].style.marginRight; - var calculatedMargin = $$$1(element).css('margin-right'); - $$$1(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + "px"); - }); // Adjust body padding - - var actualPadding = document.body.style.paddingRight; - var calculatedPadding = $$$1('body').css('padding-right'); - $$$1('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px"); - } - }; - - _proto._resetScrollbar = function _resetScrollbar() { - // Restore fixed content padding - $$$1(Selector.FIXED_CONTENT).each(function (index, element) { - var padding = $$$1(element).data('padding-right'); + return popperOffsets; + } - if (typeof padding !== 'undefined') { - $$$1(element).css('padding-right', padding).removeData('padding-right'); + /** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); } - }); // Restore sticky content and navbar-toggler margin - $$$1(Selector.STICKY_CONTENT + ", " + Selector.NAVBAR_TOGGLER).each(function (index, element) { - var margin = $$$1(element).data('margin-right'); + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; + } - if (typeof margin !== 'undefined') { - $$$1(element).css('margin-right', margin).removeData('margin-right'); + /** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ + function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function(cur) { + return cur[prop] === value; + }); } - }); // Restore body padding - - var padding = $$$1('body').data('padding-right'); - - if (typeof padding !== 'undefined') { - $$$1('body').css('padding-right', padding).removeData('padding-right'); - } - }; - - _proto._getScrollbarWidth = function _getScrollbarWidth() { - // thx d.walsh - var scrollDiv = document.createElement('div'); - scrollDiv.className = ClassName.SCROLLBAR_MEASURER; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - }; // static + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function(obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); + } - Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); + /** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ + function runModifiers(modifiers, data, ends) { + var modifiersToRun = + ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, "name", ends)); + + modifiersToRun.forEach(function(modifier) { + if (modifier["function"]) { + // eslint-disable-line dot-notation + console.warn("`modifier.function` is deprecated, use `modifier.fn`!"); + } + var fn = modifier["function"] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); - var _config = _extends({}, Modal.Default, $$$1(this).data(), typeof config === 'object' && config); + return data; + } - if (!data) { - data = new Modal(this, _config); - $$$1(this).data(DATA_KEY, data); + /** + * Updates the position of the popper, computing the new offsets and applying + * the new style.
+ * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ + function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); - } + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; - data[config](relatedTarget); - } else if (_config.show) { - data.show(relatedTarget); + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement( + this.options.placement, + data.offsets.reference, + this.popper, + this.reference, + this.options.modifiers.flip.boundariesElement, + this.options.modifiers.flip.padding + ); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + data.offsets.popper.position = "absolute"; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); } - }); - }; - - _createClass(Modal, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }]); - return Modal; - }(); - /** - * ------------------------------------------------------------------------ - * Data Api implementation - * ------------------------------------------------------------------------ - */ - - - $$$1(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { - var _this10 = this; - - var target; - var selector = Util.getSelectorFromElement(this); - - if (selector) { - target = $$$1(selector)[0]; } - var config = $$$1(target).data(DATA_KEY) ? 'toggle' : _extends({}, $$$1(target).data(), $$$1(this).data()); - - if (this.tagName === 'A' || this.tagName === 'AREA') { - event.preventDefault(); + /** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ + function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function(_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); } - var $target = $$$1(target).one(Event.SHOW, function (showEvent) { - if (showEvent.isDefaultPrevented()) { - // only register focus restorer if modal will actually get shown - return; - } - - $target.one(Event.HIDDEN, function () { - if ($$$1(_this10).is(':visible')) { - _this10.focus(); + /** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ + function getSupportedPropertyName(property) { + var prefixes = [false, "ms", "Webkit", "Moz", "O"]; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length - 1; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? "" + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== "undefined") { + return toCheck; + } } - }); - }); - - Modal._jQueryInterface.call($$$1(target), config, this); - }); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - $$$1.fn[NAME] = Modal._jQueryInterface; - $$$1.fn[NAME].Constructor = Modal; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Modal._jQueryInterface; - }; - - return Modal; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): tooltip.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + return null; + } -var Tooltip = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'tooltip'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.tooltip'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var TRANSITION_DURATION = 150; - var CLASS_PREFIX = 'bs-tooltip'; - var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); - var DefaultType = { - animation: 'boolean', - template: 'string', - title: '(string|element|function)', - trigger: 'string', - delay: '(number|object)', - html: 'boolean', - selector: '(string|boolean)', - placement: '(string|function)', - offset: '(number|string)', - container: '(string|element|boolean)', - fallbackPlacement: '(string|array)', - boundary: '(string|element)' - }; - var AttachmentMap = { - AUTO: 'auto', - TOP: 'top', - RIGHT: 'right', - BOTTOM: 'bottom', - LEFT: 'left' - }; - var Default = { - animation: true, - template: '', - trigger: 'hover focus', - title: '', - delay: 0, - html: false, - selector: false, - placement: 'top', - offset: 0, - container: false, - fallbackPlacement: 'flip', - boundary: 'scrollParent' - }; - var HoverState = { - SHOW: 'show', - OUT: 'out' - }; - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - INSERTED: "inserted" + EVENT_KEY, - CLICK: "click" + EVENT_KEY, - FOCUSIN: "focusin" + EVENT_KEY, - FOCUSOUT: "focusout" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY - }; - var ClassName = { - FADE: 'fade', - SHOW: 'show' - }; - var Selector = { - TOOLTIP: '.tooltip', - TOOLTIP_INNER: '.tooltip-inner', - ARROW: '.arrow' - }; - var Trigger = { - HOVER: 'hover', - FOCUS: 'focus', - CLICK: 'click', - MANUAL: 'manual' /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Destroy the popper + * @method + * @memberof Popper */ - - }; - - var Tooltip = - /*#__PURE__*/ - function () { - function Tooltip(element, config) { - /** - * Check for Popper dependency - * Popper - https://popper.js.org - */ - if (typeof Popper === 'undefined') { - throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)'); - } // private - - - this._isEnabled = true; - this._timeout = 0; - this._hoverState = ''; - this._activeTrigger = {}; - this._popper = null; // protected - - this.element = element; - this.config = this._getConfig(config); - this.tip = null; - - this._setListeners(); - } // getters - - - var _proto = Tooltip.prototype; - - // public - _proto.enable = function enable() { - this._isEnabled = true; - }; - - _proto.disable = function disable() { - this._isEnabled = false; - }; - - _proto.toggleEnabled = function toggleEnabled() { - this._isEnabled = !this._isEnabled; - }; - - _proto.toggle = function toggle(event) { - if (!this._isEnabled) { - return; - } - - if (event) { - var dataKey = this.constructor.DATA_KEY; - var context = $$$1(event.currentTarget).data(dataKey); - - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $$$1(event.currentTarget).data(dataKey, context); + function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, "applyStyle")) { + this.popper.removeAttribute("x-placement"); + this.popper.style.left = ""; + this.popper.style.position = ""; + this.popper.style.top = ""; + this.popper.style[getSupportedPropertyName("transform")] = ""; } - context._activeTrigger.click = !context._activeTrigger.click; + this.disableEventListeners(); - if (context._isWithActiveTrigger()) { - context._enter(null, context); - } else { - context._leave(null, context); - } - } else { - if ($$$1(this.getTipElement()).hasClass(ClassName.SHOW)) { - this._leave(null, this); - - return; + // remove the popper if user explicity asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); } + return this; + } - this._enter(null, this); - } - }; - - _proto.dispose = function dispose() { - clearTimeout(this._timeout); - $$$1.removeData(this.element, this.constructor.DATA_KEY); - $$$1(this.element).off(this.constructor.EVENT_KEY); - $$$1(this.element).closest('.modal').off('hide.bs.modal'); - - if (this.tip) { - $$$1(this.tip).remove(); - } - - this._isEnabled = null; - this._timeout = null; - this._hoverState = null; - this._activeTrigger = null; - - if (this._popper !== null) { - this._popper.destroy(); - } - - this._popper = null; - this.element = null; - this.config = null; - this.tip = null; - }; - - _proto.show = function show() { - var _this = this; - - if ($$$1(this.element).css('display') === 'none') { - throw new Error('Please use show on visible elements'); - } - - var showEvent = $$$1.Event(this.constructor.Event.SHOW); - - if (this.isWithContent() && this._isEnabled) { - $$$1(this.element).trigger(showEvent); - var isInTheDom = $$$1.contains(this.element.ownerDocument.documentElement, this.element); + /** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ + function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; + } - if (showEvent.isDefaultPrevented() || !isInTheDom) { - return; + function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === "BODY"; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents( + getScrollParent(target.parentNode), + event, + callback, + scrollParents + ); } + scrollParents.push(target); + } - var tip = this.getTipElement(); - var tipId = Util.getUID(this.constructor.NAME); - tip.setAttribute('id', tipId); - this.element.setAttribute('aria-describedby', tipId); - this.setContent(); + /** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener("resize", state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, "scroll", state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; + } - if (this.config.animation) { - $$$1(tip).addClass(ClassName.FADE); + /** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ + function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners( + this.reference, + this.options, + this.state, + this.scheduleUpdate + ); } + } - var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + /** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ + function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener("resize", state.updateBound); - var attachment = this._getAttachment(placement); + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function(target) { + target.removeEventListener("scroll", state.updateBound); + }); - this.addAttachmentClass(attachment); - var container = this.config.container === false ? document.body : $$$1(this.config.container); - $$$1(tip).data(this.constructor.DATA_KEY, this); + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; + } - if (!$$$1.contains(this.element.ownerDocument.documentElement, this.tip)) { - $$$1(tip).appendTo(container); + /** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger onUpdate callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ + function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); } + } - $$$1(this.element).trigger(this.constructor.Event.INSERTED); - this._popper = new Popper(this.element, tip, { - placement: attachment, - modifiers: { - offset: { - offset: this.config.offset - }, - flip: { - behavior: this.config.fallbackPlacement - }, - arrow: { - element: Selector.ARROW - }, - preventOverflow: { - boundariesElement: this.config.boundary - } - }, - onCreate: function onCreate(data) { - if (data.originalPlacement !== data.placement) { - _this._handlePopperPlacementChange(data); + /** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ + function isNumeric(n) { + return n !== "" && !isNaN(parseFloat(n)) && isFinite(n); + } + + /** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setStyles(element, styles) { + Object.keys(styles).forEach(function(prop) { + var unit = ""; + // add unit if the value is numeric and is one of the following + if ( + ["width", "height", "top", "right", "bottom", "left"].indexOf(prop) !== -1 && + isNumeric(styles[prop]) + ) { + unit = "px"; } - }, - onUpdate: function onUpdate(data) { - _this._handlePopperPlacementChange(data); - } + element.style[prop] = styles[prop] + unit; }); - $$$1(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - - if ('ontouchstart' in document.documentElement) { - $$$1('body').children().on('mouseover', null, $$$1.noop); - } - - var complete = function complete() { - if (_this.config.animation) { - _this._fixTransition(); - } - - var prevHoverState = _this._hoverState; - _this._hoverState = null; - $$$1(_this.element).trigger(_this.constructor.Event.SHOWN); + } - if (prevHoverState === HoverState.OUT) { - _this._leave(null, _this); - } - }; + /** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ + function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function(prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); + } - if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { - $$$1(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); - } else { - complete(); + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ + function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); } - } - }; - _proto.hide = function hide(callback) { - var _this2 = this; + return data; + } - var tip = this.getTipElement(); - var hideEvent = $$$1.Event(this.constructor.Event.HIDE); + /** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Popper.js options + */ + function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement( + options.placement, + referenceOffsets, + popper, + reference, + options.modifiers.flip.boundariesElement, + options.modifiers.flip.padding + ); + + popper.setAttribute("x-placement", placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: "absolute" }); + + return options; + } - var complete = function complete() { - if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { - tip.parentNode.removeChild(tip); + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function(modifier) { + return modifier.name === "applyStyle"; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn( + "WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!" + ); } + var gpuAcceleration = + legacyGpuAccelerationOption !== undefined + ? legacyGpuAccelerationOption + : options.gpuAcceleration; - _this2._cleanTipClass(); + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); - _this2.element.removeAttribute('aria-describedby'); + // Styles + var styles = { + position: popper.position + }; - $$$1(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + // floor sides to avoid blurry text + var offsets = { + left: Math.floor(popper.left), + top: Math.floor(popper.top), + bottom: Math.floor(popper.bottom), + right: Math.floor(popper.right) + }; - if (_this2._popper !== null) { - _this2._popper.destroy(); + var sideA = x === "bottom" ? "top" : "bottom"; + var sideB = y === "right" ? "left" : "right"; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName("transform"); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === "bottom") { + top = -offsetParentRect.height + offsets.bottom; + } else { + top = offsets.top; } - - if (callback) { - callback(); + if (sideB === "right") { + left = -offsetParentRect.width + offsets.right; + } else { + left = offsets.left; } - }; - - $$$1(this.element).trigger(hideEvent); - - if (hideEvent.isDefaultPrevented()) { - return; - } - - $$$1(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - - if ('ontouchstart' in document.documentElement) { - $$$1('body').children().off('mouseover', null, $$$1.noop); - } - - this._activeTrigger[Trigger.CLICK] = false; - this._activeTrigger[Trigger.FOCUS] = false; - this._activeTrigger[Trigger.HOVER] = false; - - if (Util.supportsTransitionEnd() && $$$1(this.tip).hasClass(ClassName.FADE)) { - $$$1(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); - } else { - complete(); - } - - this._hoverState = ''; - }; - - _proto.update = function update() { - if (this._popper !== null) { - this._popper.scheduleUpdate(); - } - }; // protected - - - _proto.isWithContent = function isWithContent() { - return Boolean(this.getTitle()); - }; - - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); - }; - - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $$$1(this.config.template)[0]; - return this.tip; - }; - - _proto.setContent = function setContent() { - var $tip = $$$1(this.getTipElement()); - this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); - $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); - }; - - _proto.setElementContent = function setElementContent($element, content) { - var html = this.config.html; - - if (typeof content === 'object' && (content.nodeType || content.jquery)) { - // content is a DOM node or a jQuery - if (html) { - if (!$$$1(content).parent().is($element)) { - $element.empty().append(content); - } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = "translate3d(" + left + "px, " + top + "px, 0)"; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = "transform"; } else { - $element.text($$$1(content).text()); + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === "bottom" ? -1 : 1; + var invertLeft = sideB === "right" ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ", " + sideB; } - } else { - $element[html ? 'html' : 'text'](content); - } - }; - - _proto.getTitle = function getTitle() { - var title = this.element.getAttribute('data-original-title'); - - if (!title) { - title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; - } - return title; - }; // private - - - _proto._getAttachment = function _getAttachment(placement) { - return AttachmentMap[placement.toUpperCase()]; - }; + // Attributes + var attributes = { + "x-placement": data.placement + }; - _proto._setListeners = function _setListeners() { - var _this3 = this; - - var triggers = this.config.trigger.split(' '); - triggers.forEach(function (trigger) { - if (trigger === 'click') { - $$$1(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { - return _this3.toggle(event); - }); - } else if (trigger !== Trigger.MANUAL) { - var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; - var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; - $$$1(_this3.element).on(eventIn, _this3.config.selector, function (event) { - return _this3._enter(event); - }).on(eventOut, _this3.config.selector, function (event) { - return _this3._leave(event); - }); - } + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends$1({}, attributes, data.attributes); + data.styles = _extends$1({}, styles, data.styles); + data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles); - $$$1(_this3.element).closest('.modal').on('hide.bs.modal', function () { - return _this3.hide(); - }); - }); + return data; + } - if (this.config.selector) { - this.config = _extends({}, this.config, { - trigger: 'manual', - selector: '' + /** + * Helper used to know if the given modifier depends from another one.
+ * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ + function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function(_ref) { + var name = _ref.name; + return name === requestingName; }); - } else { - this._fixTitle(); - } - }; - - _proto._fixTitle = function _fixTitle() { - var titleType = typeof this.element.getAttribute('data-original-title'); - - if (this.element.getAttribute('title') || titleType !== 'string') { - this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); - this.element.setAttribute('title', ''); - } - }; - - _proto._enter = function _enter(event, context) { - var dataKey = this.constructor.DATA_KEY; - context = context || $$$1(event.currentTarget).data(dataKey); - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $$$1(event.currentTarget).data(dataKey, context); - } + var isRequired = + !!requesting && + modifiers.some(function(modifier) { + return ( + modifier.name === requestedName && + modifier.enabled && + modifier.order < requesting.order + ); + }); + + if (!isRequired) { + var _requesting = "`" + requestingName + "`"; + var requested = "`" + requestedName + "`"; + console.warn( + requested + + " modifier is required by " + + _requesting + + " modifier in order to work, be sure to include it before " + + _requesting + + "!" + ); + } + return isRequired; + } - if (event) { - context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; - } + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function arrow(data, options) { + var _data$offsets$arrow; - if ($$$1(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { - context._hoverState = HoverState.SHOW; - return; - } + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, "arrow", "keepTogether")) { + return data; + } - clearTimeout(context._timeout); - context._hoverState = HoverState.SHOW; + var arrowElement = options.element; - if (!context.config.delay || !context.config.delay.show) { - context.show(); - return; - } + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === "string") { + arrowElement = data.instance.popper.querySelector(arrowElement); - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.SHOW) { - context.show(); + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn("WARNING: `arrow.element` must be child of its popper element!"); + return data; + } } - }, context.config.delay.show); - }; - - _proto._leave = function _leave(event, context) { - var dataKey = this.constructor.DATA_KEY; - context = context || $$$1(event.currentTarget).data(dataKey); - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $$$1(event.currentTarget).data(dataKey, context); - } + var placement = data.placement.split("-")[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; - if (event) { - context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; - } + var isVertical = ["left", "right"].indexOf(placement) !== -1; - if (context._isWithActiveTrigger()) { - return; - } + var len = isVertical ? "height" : "width"; + var sideCapitalized = isVertical ? "Top" : "Left"; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? "left" : "top"; + var opSide = isVertical ? "bottom" : "right"; + var arrowElementSize = getOuterSizes(arrowElement)[len]; - clearTimeout(context._timeout); - context._hoverState = HoverState.OUT; + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjuction + // - if (!context.config.delay || !context.config.delay.hide) { - context.hide(); - return; - } - - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.OUT) { - context.hide(); + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); } - }, context.config.delay.hide); - }; - - _proto._isWithActiveTrigger = function _isWithActiveTrigger() { - for (var trigger in this._activeTrigger) { - if (this._activeTrigger[trigger]) { - return true; + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; } - } - - return false; - }; - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, this.constructor.Default, $$$1(this.element).data(), config); + data.offsets.popper = getClientRect(data.offsets.popper); - if (typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; - if (typeof config.title === 'number') { - config.title = config.title.toString(); - } + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css["margin" + sideCapitalized], 10); + var popperBorderSide = parseFloat(css["border" + sideCapitalized + "Width"], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; - if (typeof config.content === 'number') { - config.content = config.content.toString(); - } + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - return config; - }; + data.arrowElement = arrowElement; + data.offsets.arrow = + ((_data$offsets$arrow = {}), + defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), + defineProperty(_data$offsets$arrow, altSide, ""), + _data$offsets$arrow); - _proto._getDelegateConfig = function _getDelegateConfig() { - var config = {}; + return data; + } - if (this.config) { - for (var key in this.config) { - if (this.constructor.Default[key] !== this.config[key]) { - config[key] = this.config[key]; - } + /** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ + function getOppositeVariation(variation) { + if (variation === "end") { + return "start"; + } else if (variation === "start") { + return "end"; } - } - - return config; - }; + return variation; + } - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $$$1(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + /** + * List of accepted placements to use as values of the `placement` option.
+ * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.
+ * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-right` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ + var placements = [ + "auto-start", + "auto", + "auto-end", + "top-start", + "top", + "top-end", + "right-start", + "right", + "right-end", + "bottom-end", + "bottom", + "bottom-start", + "left-end", + "left", + "left-start" + ]; + + // Get rid of `auto` `auto-start` and `auto-end` + var validPlacements = placements.slice(3); - if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); - } - }; + /** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ + function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { - this._cleanTipClass(); + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; + } - this.addAttachmentClass(this._getAttachment(data.placement)); + var BEHAVIORS = { + FLIP: "flip", + CLOCKWISE: "clockwise", + COUNTERCLOCKWISE: "counterclockwise" }; - _proto._fixTransition = function _fixTransition() { - var tip = this.getTipElement(); - var initConfigAnimation = this.config.animation; - - if (tip.getAttribute('x-placement') !== null) { - return; - } + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, "inner")) { + return data; + } - $$$1(tip).removeClass(ClassName.FADE); - this.config.animation = false; - this.hide(); - this.show(); - this.config.animation = initConfigAnimation; - }; // static + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + var boundaries = getBoundaries( + data.instance.popper, + data.instance.reference, + options.padding, + options.boundariesElement + ); + + var placement = data.placement.split("-")[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split("-")[1] || ""; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } - Tooltip._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); + flipOrder.forEach(function(step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } - var _config = typeof config === 'object' && config; + placement = data.placement.split("-")[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = + (placement === "left" && floor(popperOffsets.right) > floor(refOffsets.left)) || + (placement === "right" && floor(popperOffsets.left) < floor(refOffsets.right)) || + (placement === "top" && floor(popperOffsets.bottom) > floor(refOffsets.top)) || + (placement === "bottom" && floor(popperOffsets.top) < floor(refOffsets.bottom)); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = + (placement === "left" && overflowsLeft) || + (placement === "right" && overflowsRight) || + (placement === "top" && overflowsTop) || + (placement === "bottom" && overflowsBottom); + + // flip the variation if required + var isVertical = ["top", "bottom"].indexOf(placement) !== -1; + var flippedVariation = + !!options.flipVariations && + ((isVertical && variation === "start" && overflowsLeft) || + (isVertical && variation === "end" && overflowsRight) || + (!isVertical && variation === "start" && overflowsTop) || + (!isVertical && variation === "end" && overflowsBottom)); + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? "-" + variation : ""); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends$1( + {}, + data.offsets.popper, + getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement) + ); + + data = runModifiers(data.instance.modifiers, data, "flip"); + } + }); + return data; + } - if (!data && /dispose|hide/.test(config)) { - return; + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split("-")[0]; + var floor = Math.floor; + var isVertical = ["top", "bottom"].indexOf(placement) !== -1; + var side = isVertical ? "right" : "bottom"; + var opSide = isVertical ? "left" : "top"; + var measurement = isVertical ? "width" : "height"; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; } - - if (!data) { - data = new Tooltip(this, _config); - $$$1(this).data(DATA_KEY, data); + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); - } + return data; + } - data[config](); + /** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ + function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; } - }); - }; - _createClass(Tooltip, null, [{ - key: "VERSION", - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "NAME", - get: function get() { - return NAME; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY; - } - }, { - key: "Event", - get: function get() { - return Event; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); - return Tooltip; - }(); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - - $$$1.fn[NAME] = Tooltip._jQueryInterface; - $$$1.fn[NAME].Constructor = Tooltip; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Tooltip._jQueryInterface; - }; - - return Tooltip; -}($, Popper); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): popover.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + if (unit.indexOf("%") === 0) { + var element = void 0; + switch (unit) { + case "%p": + element = popperOffsets; + break; + case "%": + case "%r": + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return (rect[measurement] / 100) * value; + } else if (unit === "vh" || unit === "vw") { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === "vh") { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return (size / 100) * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } + } -var Popover = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'popover'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.popover'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var CLASS_PREFIX = 'bs-popover'; - var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g'); - var Default = _extends({}, Tooltip.Default, { - placement: 'right', - trigger: 'click', - content: '', - template: '' - }); - var DefaultType = _extends({}, Tooltip.DefaultType, { - content: '(string|element|function)' - }); - var ClassName = { - FADE: 'fade', - SHOW: 'show' - }; - var Selector = { - TITLE: '.popover-header', - CONTENT: '.popover-body' - }; - var Event = { - HIDE: "hide" + EVENT_KEY, - HIDDEN: "hidden" + EVENT_KEY, - SHOW: "show" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY, - INSERTED: "inserted" + EVENT_KEY, - CLICK: "click" + EVENT_KEY, - FOCUSIN: "focusin" + EVENT_KEY, - FOCUSOUT: "focusout" + EVENT_KEY, - MOUSEENTER: "mouseenter" + EVENT_KEY, - MOUSELEAVE: "mouseleave" + EVENT_KEY /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers */ + function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ["right", "left"].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function(frag) { + return frag.trim(); + }); - }; + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf( + find(fragments, function(frag) { + return frag.search(/,|\s/) !== -1; + }) + ); + + if (fragments[divider] && fragments[divider].indexOf(",") === -1) { + console.warn( + "Offsets separated by white space(s) are deprecated, use a comma (,) instead." + ); + } - var Popover = - /*#__PURE__*/ - function (_Tooltip) { - _inheritsLoose(Popover, _Tooltip); + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = + divider !== -1 + ? [ + fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), + [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1)) + ] + : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function(op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? "height" : "width"; + var mergeWithPrevious = false; + return ( + op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function(a, b) { + if (a[a.length - 1] === "" && ["+", "-"].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function(str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }) + ); + }); - function Popover() { - return _Tooltip.apply(this, arguments) || this; + // Loop trough the offsets arrays and execute the operations + ops.forEach(function(op, index) { + op.forEach(function(frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === "-" ? -1 : 1); + } + }); + }); + return offsets; } - var _proto = Popover.prototype; + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ + function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split("-")[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } - // overrides - _proto.isWithContent = function isWithContent() { - return this.getTitle() || this._getContent(); - }; + if (basePlacement === "left") { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === "right") { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === "top") { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === "bottom") { + popper.left += offsets[0]; + popper.top += offsets[1]; + } - _proto.addAttachmentClass = function addAttachmentClass(attachment) { - $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment); - }; + data.popper = popper; + return data; + } - _proto.getTipElement = function getTipElement() { - this.tip = this.tip || $$$1(this.config.template)[0]; - return this.tip; - }; + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } - _proto.setContent = function setContent() { - var $tip = $$$1(this.getTipElement()); // we use append for html objects to maintain js events + var boundaries = getBoundaries( + data.instance.popper, + data.instance.reference, + options.padding, + boundariesElement + ); + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === "right" ? "left" : "top"; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min( + popper[mainSide], + boundaries[placement] - + (placement === "right" ? popper.width : popper.height) + ); + } + return defineProperty({}, mainSide, value); + } + }; - this.setElementContent($tip.find(Selector.TITLE), this.getTitle()); + order.forEach(function(placement) { + var side = ["left", "top"].indexOf(placement) !== -1 ? "primary" : "secondary"; + popper = _extends$1({}, popper, check[side](placement)); + }); - var content = this._getContent(); + data.offsets.popper = popper; - if (typeof content === 'function') { - content = content.call(this.element); - } + return data; + } - this.setElementContent($tip.find(Selector.CONTENT), content); - $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW); - }; // private + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function shift(data) { + var placement = data.placement; + var basePlacement = placement.split("-")[0]; + var shiftvariation = placement.split("-")[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ["bottom", "top"].indexOf(basePlacement) !== -1; + var side = isVertical ? "left" : "top"; + var measurement = isVertical ? "width" : "height"; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty( + {}, + side, + reference[side] + reference[measurement] - popper[measurement] + ) + }; + + data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]); + } + return data; + } - _proto._getContent = function _getContent() { - return this.element.getAttribute('data-content') || this.config.content; - }; + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function hide(data) { + if (!isModifierRequired(data.instance.modifiers, "hide", "preventOverflow")) { + return data; + } - _proto._cleanTipClass = function _cleanTipClass() { - var $tip = $$$1(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function(modifier) { + return modifier.name === "preventOverflow"; + }).boundaries; + + if ( + refRect.bottom < bound.top || + refRect.left > bound.right || + refRect.top > bound.bottom || + refRect.right < bound.left + ) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } - if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); - } - }; // static + data.hide = true; + data.attributes["x-out-of-boundaries"] = ""; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + data.hide = false; + data.attributes["x-out-of-boundaries"] = false; + } - Popover._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $$$1(this).data(DATA_KEY); + return data; + } - var _config = typeof config === 'object' ? config : null; + /** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ + function inner(data) { + var placement = data.placement; + var basePlacement = placement.split("-")[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; - if (!data && /destroy|hide/.test(config)) { - return; - } + var isHoriz = ["left", "right"].indexOf(basePlacement) !== -1; - if (!data) { - data = new Popover(this, _config); - $$$1(this).data(DATA_KEY, data); - } + var subtractLength = ["top", "left"].indexOf(basePlacement) === -1; - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new Error("No method named \"" + config + "\""); - } + popper[isHoriz ? "left" : "top"] = + reference[basePlacement] - (subtractLength ? popper[isHoriz ? "width" : "height"] : 0); - data[config](); - } - }); - }; + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); - _createClass(Popover, null, [{ - key: "VERSION", - // getters - get: function get() { - return VERSION; - } - }, { - key: "Default", - get: function get() { - return Default; - } - }, { - key: "NAME", - get: function get() { - return NAME; - } - }, { - key: "DATA_KEY", - get: function get() { - return DATA_KEY; - } - }, { - key: "Event", - get: function get() { - return Event; - } - }, { - key: "EVENT_KEY", - get: function get() { - return EVENT_KEY; - } - }, { - key: "DefaultType", - get: function get() { - return DefaultType; - } - }]); - return Popover; - }(Tooltip); - /** - * ------------------------------------------------------------------------ - * jQuery - * ------------------------------------------------------------------------ - */ - - - $$$1.fn[NAME] = Popover._jQueryInterface; - $$$1.fn[NAME].Constructor = Popover; - - $$$1.fn[NAME].noConflict = function () { - $$$1.fn[NAME] = JQUERY_NO_CONFLICT; - return Popover._jQueryInterface; - }; - - return Popover; -}($); - -/** - * -------------------------------------------------------------------------- - * Bootstrap (v4.0.0-beta.3): scrollspy.js - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - * -------------------------------------------------------------------------- - */ + return data; + } -var ScrollSpy = function ($$$1) { - /** - * ------------------------------------------------------------------------ - * Constants - * ------------------------------------------------------------------------ - */ - var NAME = 'scrollspy'; - var VERSION = '4.0.0-beta.3'; - var DATA_KEY = 'bs.scrollspy'; - var EVENT_KEY = "." + DATA_KEY; - var DATA_API_KEY = '.data-api'; - var JQUERY_NO_CONFLICT = $$$1.fn[NAME]; - var Default = { - offset: 10, - method: 'auto', - target: '' - }; - var DefaultType = { - offset: 'number', - method: 'string', - target: '(string|element)' - }; - var Event = { - ACTIVATE: "activate" + EVENT_KEY, - SCROLL: "scroll" + EVENT_KEY, - LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY - }; - var ClassName = { - DROPDOWN_ITEM: 'dropdown-item', - DROPDOWN_MENU: 'dropdown-menu', - ACTIVE: 'active' - }; - var Selector = { - DATA_SPY: '[data-spy="scroll"]', - ACTIVE: '.active', - NAV_LIST_GROUP: '.nav, .list-group', - NAV_LINKS: '.nav-link', - NAV_ITEMS: '.nav-item', - LIST_ITEMS: '.list-group-item', - DROPDOWN: '.dropdown', - DROPDOWN_ITEMS: '.dropdown-item', - DROPDOWN_TOGGLE: '.dropdown-toggle' - }; - var OffsetMethod = { - OFFSET: 'offset', - POSITION: 'position' /** - * ------------------------------------------------------------------------ - * Class Definition - * ------------------------------------------------------------------------ + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.
+ * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified */ - }; - - var ScrollSpy = - /*#__PURE__*/ - function () { - function ScrollSpy(element, config) { - var _this = this; - - this._element = element; - this._scrollElement = element.tagName === 'BODY' ? window : element; - this._config = this._getConfig(config); - this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS); - this._offsets = []; - this._targets = []; - this._activeTarget = null; - this._scrollHeight = 0; - $$$1(this._scrollElement).on(Event.SCROLL, function (event) { - return _this._process(event); - }); - this.refresh(); - - this._process(); - } // getters - - - var _proto = ScrollSpy.prototype; - - // public - _proto.refresh = function refresh() { - var _this2 = 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 = $$$1.makeArray($$$1(this._selector)); - targets.map(function (element) { - var target; - var targetSelector = Util.getSelectorFromElement(element); - - if (targetSelector) { - target = $$$1(targetSelector)[0]; - } + /** + * Modifiers are plugins used to alter the behavior of your poppers.
+ * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ + var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.
+ * It will read the variation of the `placement` property.
+ * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, - if (target) { - var targetBCR = target.getBoundingClientRect(); + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unitless, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.
+ * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the height. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.
+ * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.
+ * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373) + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, - if (targetBCR.width || targetBCR.height) { - // todo (fat): remove sketch reliance on jQuery position/offset - return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector]; - } - } + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * An scenario exists where the reference itself is not within the boundaries.
+ * We can say it has "escaped the boundaries" — or just "escaped".
+ * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ["left", "right", "top", "bottom"], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper this makes sure the popper has always a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier, can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: "scrollParent" + }, - return null; - }).filter(function (item) { - return item; - }).sort(function (a, b) { - return a[0] - b[0]; - }).forEach(function (item) { - _this2._offsets.push(item[0]); - - _this2._targets.push(item[1]); - }); - }; + /** + * Modifier used to make sure the reference and its popper stay near eachothers + * without leaving any gap between the two. Expecially useful when the arrow is + * enabled and you want to assure it to point to its reference element. + * It cares only about the first axis, you can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, - _proto.dispose = function dispose() { - $$$1.removeData(this._element, DATA_KEY); - $$$1(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; - }; // private - - - _proto._getConfig = function _getConfig(config) { - config = _extends({}, Default, config); - - if (typeof config.target !== 'string') { - var id = $$$1(config.target).attr('id'); - - if (!id) { - id = Util.getUID(NAME); - $$$1(config.target).attr('id', id); - } + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjuction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: "[x-arrow]" + }, - config.target = "#" + id; - } + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations). + */ + behavior: "flip", + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position, + * the popper will never be placed outside of the defined boundaries + * (except if keepTogether is enabled) + */ + boundariesElement: "viewport" + }, - Util.typeCheckConfig(NAME, config, DefaultType); - return config; - }; + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, - _proto._getScrollTop = function _getScrollTop() { - return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; - }; + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, - _proto._getScrollHeight = function _getScrollHeight() { - return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); - }; + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: "bottom", + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: "right" + }, - _proto._getOffsetHeight = function _getOffsetHeight() { - return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define you own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: undefined + } }; - _proto._process = function _process() { - var scrollTop = this._getScrollTop() + this._config.offset; - - var scrollHeight = this._getScrollHeight(); + /** + * The `dataObject` is an object containing all the informations used by Popper.js + * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper. + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements. + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ - var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight(); + /** + * Default options provided to Popper.js constructor.
+ * These can be overriden using the `options` argument of Popper.js.
+ * To override an option, simply pass as 3rd argument an object with the same + * structure of this object, example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ + var Defaults = { + /** + * Popper's placement + * @prop {Popper.placements} placement='bottom' + */ + placement: "bottom", - if (this._scrollHeight !== scrollHeight) { - this.refresh(); - } + /** + * Whether events (resize, scroll) are initially enabled + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, - if (scrollTop >= maxScroll) { - var target = this._targets[this._targets.length - 1]; + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, - if (this._activeTarget !== target) { - this._activate(target); - } + /** + * Callback called when the popper is created.
+ * By default, is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, - return; - } + /** + * Callback called when the popper is updated, this callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.
+ * By default, is set to no-op.
+ * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, - if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) { - this._activeTarget = null; + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js + * @prop {modifiers} + */ + modifiers: modifiers + }; - this._clear(); + /** + * @callback onCreate + * @param {dataObject} data + */ - return; - } + /** + * @callback onUpdate + * @param {dataObject} data + */ - for (var i = this._offsets.length; i--;) { - var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]); + // Utils + // Methods + var Popper = (function() { + /** + * Create a new Popper.js instance + * @class Popper + * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function() { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends$1({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach( + function(name) { + _this.options.modifiers[name] = _extends$1( + {}, + Popper.Defaults.modifiers[name] || {}, + options.modifiers ? options.modifiers[name] : {} + ); + } + ); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers) + .map(function(name) { + return _extends$1( + { + name: name + }, + _this.options.modifiers[name] + ); + }) + // sort the modifiers by order + .sort(function(a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function(modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad( + _this.reference, + _this.popper, + _this.options, + modifierOptions, + _this.state + ); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } - if (isActiveTarget) { - this._activate(this._targets[i]); + this.state.eventsEnabled = eventsEnabled; } - } - }; - _proto._activate = function _activate(target) { - this._activeTarget = target; + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs - this._clear(); + createClass(Popper, [ + { + key: "update", + value: function update$$1() { + return update.call(this); + } + }, + { + key: "destroy", + value: function destroy$$1() { + return destroy.call(this); + } + }, + { + key: "enableEventListeners", + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, + { + key: "disableEventListeners", + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedule an update, it will run on the next UI update available + * @method scheduleUpdate + * @memberof Popper + */ + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + } + ]); + return Popper; + })(); - var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style + /** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.
+ * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10 + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + Popper.Utils = (typeof window !== "undefined" ? window : global).PopperUtils; + Popper.placements = placements; + Popper.Defaults = Defaults; - queries = queries.map(function (selector) { - return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]"); - }); - var $link = $$$1(queries.join(',')); + /** + * -------------------------------------------------------------------------- + * Bootstrap (v4.0.0-beta.3): dropdown.js + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * -------------------------------------------------------------------------- + */ - if ($link.hasClass(ClassName.DROPDOWN_ITEM)) { - $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); - $link.addClass(ClassName.ACTIVE); - } else { - // Set triggered link as active - $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active - // With both
+
+ +
+
+
+
+

Firecrest UK LTD

+

+ Welcome to Firecrest UK LTD, a midlands based + supplier of fire safety equipment and solutions for + protecting your business from fire. + read more... +

+

+ Whether you require fire risk assessments, fire alarm installation + and maintenance, fire extinguisher supply and service, Staff fire + training or a complete solution to protect your business from the + devastation of fire, we can put together a plan to meet all your + companies’ requirements. +

+

+ + Watch + our video + +

+ + +
+
+
+
+ +
+
+
+

People we've loved working with over the years

+
+ + + +
+
+
- + +
+
+
+
+

Testimonials

+
+ + + + + +
+ + View All Testimonials + + +
+
+ +
+
+
+ + + + + +
+
-
-
- - - + + + + + + + + diff --git a/packages/browser-sync/test/fixtures/proxy-vhost.html b/packages/browser-sync/test/fixtures/proxy-vhost.html index 9475ee5b4..d0f05442c 100644 --- a/packages/browser-sync/test/fixtures/proxy-vhost.html +++ b/packages/browser-sync/test/fixtures/proxy-vhost.html @@ -1,366 +1,483 @@ - - + - - - - - - Home - Firecrest UK - - - - - - - - - - - - -
- -
-
-
-
- -

Firecrest UK LTD

-

- Welcome to Firecrest UK LTD, a midlands based supplier of fire safety equipment and solutions for protecting your business from fire. - read more... -

-

- Whether you require fire risk assessments, fire alarm installation and maintenance, fire extinguisher supply and service, Staff fire training or a complete solution to protect your business from the devastation of fire, we can put together a plan to meet all your companies’ requirements. -

-

- - Watch our video - -

- -
-
-
-
- - -
-
-
-

People we've loved working with over the years

-
- - - -
-
-
- - -
-
-
-
-

Testimonials

-
- -
- - View All Testimonials - - -
-
-
-
- -
-
-
- -
- - + + + + + + + + diff --git a/packages/browser-sync/test/fixtures/rewrites/comment.expected.html b/packages/browser-sync/test/fixtures/rewrites/comment.expected.html index 5e54afb6c..81a9909ec 100644 --- a/packages/browser-sync/test/fixtures/rewrites/comment.expected.html +++ b/packages/browser-sync/test/fixtures/rewrites/comment.expected.html @@ -1,7 +1,9 @@ - - -

This is an experiment.dev

-

- -

Link

- + + + +

This is an experiment.dev

+

+ +

Link

+ + diff --git a/packages/browser-sync/test/fixtures/rewrites/comment.html b/packages/browser-sync/test/fixtures/rewrites/comment.html index 41907af7d..f54c68645 100644 --- a/packages/browser-sync/test/fixtures/rewrites/comment.html +++ b/packages/browser-sync/test/fixtures/rewrites/comment.html @@ -1,7 +1,9 @@ - - -

This is an experiment.dev

-

- -

Link

- + + + +

This is an experiment.dev

+

+ +

Link

+ + diff --git a/packages/browser-sync/test/fixtures/rewrites/escaped.1.expected.html b/packages/browser-sync/test/fixtures/rewrites/escaped.1.expected.html index 8928e1a1b..fd1d6cd34 100644 --- a/packages/browser-sync/test/fixtures/rewrites/escaped.1.expected.html +++ b/packages/browser-sync/test/fixtures/rewrites/escaped.1.expected.html @@ -1,2 +1,3 @@ -phpdebugbar.setOpenHandler(new PhpDebugBar.OpenHandler({"url":"http:\/\/192.168.0.4:3002\/_debugbar\/open"})); +phpdebugbar.setOpenHandler(new +PhpDebugBar.OpenHandler({"url":"http:\/\/192.168.0.4:3002\/_debugbar\/open"})); diff --git a/packages/browser-sync/test/fixtures/rewrites/escaped.1.html b/packages/browser-sync/test/fixtures/rewrites/escaped.1.html index 25872c9f1..84e2f8f84 100644 --- a/packages/browser-sync/test/fixtures/rewrites/escaped.1.html +++ b/packages/browser-sync/test/fixtures/rewrites/escaped.1.html @@ -1,2 +1,3 @@ -phpdebugbar.setOpenHandler(new PhpDebugBar.OpenHandler({"url":"http:\/\/demo.l5\/_debugbar\/open"})); +phpdebugbar.setOpenHandler(new +PhpDebugBar.OpenHandler({"url":"http:\/\/demo.l5\/_debugbar\/open"})); diff --git a/packages/browser-sync/test/fixtures/rewrites/hashes.expected.html b/packages/browser-sync/test/fixtures/rewrites/hashes.expected.html index c5543bb09..9c82ff1ce 100644 --- a/packages/browser-sync/test/fixtures/rewrites/hashes.expected.html +++ b/packages/browser-sync/test/fixtures/rewrites/hashes.expected.html @@ -1,20 +1,20 @@ diff --git a/packages/browser-sync/test/fixtures/rewrites/hashes.input.html b/packages/browser-sync/test/fixtures/rewrites/hashes.input.html index 291753487..f1b53b643 100644 --- a/packages/browser-sync/test/fixtures/rewrites/hashes.input.html +++ b/packages/browser-sync/test/fixtures/rewrites/hashes.input.html @@ -1,20 +1,20 @@ diff --git a/packages/browser-sync/test/fixtures/sass.html b/packages/browser-sync/test/fixtures/sass.html index 875473cc9..a56674b3e 100644 --- a/packages/browser-sync/test/fixtures/sass.html +++ b/packages/browser-sync/test/fixtures/sass.html @@ -1,24 +1,23 @@ - - - - - Test HTML Page - - - + + + + + Test HTML Page + + + +

Hello from the test

+ Forms + Scrolling Window -

Hello from the test

- Forms - Scrolling Window - - - - - - \ No newline at end of file + + + diff --git a/packages/browser-sync/test/fixtures/scrolling.html b/packages/browser-sync/test/fixtures/scrolling.html index 4494d435e..1d9847ffa 100644 --- a/packages/browser-sync/test/fixtures/scrolling.html +++ b/packages/browser-sync/test/fixtures/scrolling.html @@ -1,349 +1,347 @@ - - - - - About us - - - - -
-

Browsersync Ghost Mode: Scrolling

- Homepage - + + + + + About us + + + + +
+

Browsersync Ghost Mode: Scrolling

+ Homepage + +
+

1

-
-

1

+

2

-

2

+

3

-

3

+

4

-

4

+

5

-

5

+

6

-

6

+

7

-

7

+

8

-

8

+

9

-

9

+

10

-

10

+

11

-

11

+

12

-

12

+

13

-

13

+

14

-

14

+

15

-

15

+

16

-

16

+

17

-

17

+

18

-

18

+

19

-

19

+

20

-

20

+

21

-

21

+

22

-

22

+

23

-

23

+

24

-

24

+

25

-

25

+

26

-

26

+

27

-

27

+

28

-

28

+

29

-

29

+

30

-

30

+

31

-

31

+

32

-

32

+

33

-

33

+

34

-

34

+

35

-

35

+

36

-

36

+

37

-

37

+

38

-

38

+

39

-

39

+

40

-

40

+

41

-

41

+

42

-

42

+

43

-

43

+

44

-

44

+

45

-

45

+

46

-

46

+

47

-

47

+

48

-

48

+

49

-

49

+

50

+
+

Element .element1

+
+

Element 1 1

+

Element 1 2

+

Element 1 3

+

Element 1 4

+

Element 1 5

+

Element 1 6

+

Element 1 7

+

Element 1 8

+

Element 1 9

+

Element 1 10

+
+

Element .element2

+
+

Element 2 1

+

Element 2 2

+

Element 2 3

+

Element 2 4

+

Element 2 5

+

Element 2 6

+

Element 2 7

+

Element 2 8

+

Element 2 9

+

Element 2 10

+
+

1

-

50

-
-

Element .element1

-
-

Element 1 1

-

Element 1 2

-

Element 1 3

-

Element 1 4

-

Element 1 5

-

Element 1 6

-

Element 1 7

-

Element 1 8

-

Element 1 9

-

Element 1 10

-
-

Element .element2

-
-

Element 2 1

-

Element 2 2

-

Element 2 3

-

Element 2 4

-

Element 2 5

-

Element 2 6

-

Element 2 7

-

Element 2 8

-

Element 2 9

-

Element 2 10

-
-

1

+

2

-

2

+

3

-

3

+

4

-

4

+

5

-

5

+

6

-

6

+

7

-

7

+

8

-

8

+

9

-

9

+

10

-

10

+

11

-

11

+

12

-

12

+

13

-

13

+

14

-

14

+

15

-

15

+

16

-

16

+

17

-

17

+

18

-

18

+

19

-

19

+

20

-

20

+

21

-

21

+

22

-

22

+

23

-

23

+

24

-

24

+

25

-

25

+

26

-

26

+

27

-

27

+

28

-

28

+

29

-

29

+

30

-

30

+

31

-

31

+

32

-

32

+

33

-

33

+

34

-

34

+

35

-

35

+

36

-

36

+

37

-

37

+

38

-

38

+

39

-

39

+

40

-

40

+

41

-

41

+

42

-

42

+

43

-

43

+

44

-

44

+

45

-

45

+

46

-

46

+

47

-

47

+

48

-

48

+

49

-

49

+

50

-

50

+

51

-

51

+

52

-

52

+

53

-

53

+

54

-

54

+

55

-

55

+

56

-

56

+

57

-

57

+

58

-

58

+

59

-

59

+

60

-

60

+

61

-

61

+

62

-

62

+

63

-

63

+

64

-

64

+

65

-

65

+

66

-

66

+

67

-

67

+

68

-

68

+

69

-

69

+

70

-

70

+

71

-

71

+

72

-

72

+

73

-

73

+

74

-

74

+

75

-

75

+

76

-

76

+

77

-

77

+

78

-

78

+

79

-

79

+

80

-

80

+

81

-

81

+

82

-

82

+

83

-

83

+

84

-

84

+

85

-

85

+

86

-

86

+

87

-

87

+

88

-

88

+

89

-

89

+

90

-

90

+

91

-

91

+

92

-

92

+

93

-

93

+

94

-

94

+

-

+

96

+

97

+

98

+

99

-

96

-

97

-

98

-

99

- - -

100

-
- +

100

+
+ diff --git a/packages/browser-sync/test/fixtures/socket.io.html b/packages/browser-sync/test/fixtures/socket.io.html index 43af2e681..aa0b435a9 100644 --- a/packages/browser-sync/test/fixtures/socket.io.html +++ b/packages/browser-sync/test/fixtures/socket.io.html @@ -1,16 +1,16 @@ - - - - - About us - - - -
-

Browsersync + Socket IO

- -
- + + + + + About us + + + +
+

Browsersync + Socket IO

+ +
+ diff --git a/packages/browser-sync/test/fixtures/svg.html b/packages/browser-sync/test/fixtures/svg.html index 3fd1bd5af..6e83aab41 100644 --- a/packages/browser-sync/test/fixtures/svg.html +++ b/packages/browser-sync/test/fixtures/svg.html @@ -1,12 +1,10 @@ - - - Included SVG reload test - - - - - - - \ No newline at end of file + + + Included SVG reload test + + + + + diff --git a/packages/browser-sync/test/fixtures/tailwind/index.html b/packages/browser-sync/test/fixtures/tailwind/index.html index 07c5a44df..f7d5fb461 100644 --- a/packages/browser-sync/test/fixtures/tailwind/index.html +++ b/packages/browser-sync/test/fixtures/tailwind/index.html @@ -1,26 +1,43 @@ - + - - - - - Document - - - -
- Sunset in the mountains -
-
The Coldest Sunset
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatibus quia, nulla! Maiores et perferendis eaque, exercitationem praesentium nihil. -

-
-
- #photography - #travel - #winter -
-
- - \ No newline at end of file + + + + + Document + + + +
+ Sunset in the mountains +
+
The Coldest Sunset
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatibus quia, + nulla! Maiores et perferendis eaque, exercitationem praesentium nihil. +

+
+
+ #photography + #travel + #winter +
+
+ + diff --git a/packages/browser-sync/test/fixtures/tailwind/tailwind.min.css b/packages/browser-sync/test/fixtures/tailwind/tailwind.min.css index 2d4b0aaba..8fd2a21a5 100644 --- a/packages/browser-sync/test/fixtures/tailwind/tailwind.min.css +++ b/packages/browser-sync/test/fixtures/tailwind/tailwind.min.css @@ -1 +1,15115 @@ -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{box-sizing:border-box;font-family:sans-serif}*,::after,::before{box-sizing:inherit}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,p,pre{margin:0}button{background:0 0;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{margin:0}[tabindex="-1"]:focus{outline:0!important}*,::after,::before{border-width:0;border-style:solid;border-color:#dae1e7}[type=button],[type=reset],[type=submit],button{border-radius:0}textarea{resize:vertical}img{max-width:100%}button,input,optgroup,select,textarea{font-family:inherit}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:inherit;opacity:.5}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder,textarea::placeholder{color:inherit;opacity:.5}[role=button],button{cursor:pointer}.container{width:100%}@media (min-width:576px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:992px){.container{max-width:992px}}@media (min-width:1200px){.container{max-width:1200px}}.list-reset{list-style:none;padding:0}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-transparent{background-color:transparent}.bg-black{background-color:#22292f}.bg-grey-darkest{background-color:#3d4852}.bg-grey-darker{background-color:#606f7b}.bg-grey-dark{background-color:#8795a1}.bg-grey{background-color:#b8c2cc}.bg-grey-light{background-color:#dae1e7}.bg-grey-lighter{background-color:#f1f5f8}.bg-grey-lightest{background-color:#f8fafc}.bg-white{background-color:#fff}.bg-red-darkest{background-color:#3b0d0c}.bg-red-darker{background-color:#621b18}.bg-red-dark{background-color:#cc1f1a}.bg-red{background-color:#e3342f}.bg-red-light{background-color:#ef5753}.bg-red-lighter{background-color:#f9acaa}.bg-red-lightest{background-color:#fcebea}.bg-orange-darkest{background-color:#462a16}.bg-orange-darker{background-color:#613b1f}.bg-orange-dark{background-color:#de751f}.bg-orange{background-color:#f6993f}.bg-orange-light{background-color:#faad63}.bg-orange-lighter{background-color:#fcd9b6}.bg-orange-lightest{background-color:#fff5eb}.bg-yellow-darkest{background-color:#453411}.bg-yellow-darker{background-color:#684f1d}.bg-yellow-dark{background-color:#f2d024}.bg-yellow{background-color:#ffed4a}.bg-yellow-light{background-color:#fff382}.bg-yellow-lighter{background-color:#fff9c2}.bg-yellow-lightest{background-color:#fcfbeb}.bg-green-darkest{background-color:#0f2f21}.bg-green-darker{background-color:#1a4731}.bg-green-dark{background-color:#1f9d55}.bg-green{background-color:#38c172}.bg-green-light{background-color:#51d88a}.bg-green-lighter{background-color:#a2f5bf}.bg-green-lightest{background-color:#e3fcec}.bg-teal-darkest{background-color:#0d3331}.bg-teal-darker{background-color:#20504f}.bg-teal-dark{background-color:#38a89d}.bg-teal{background-color:#4dc0b5}.bg-teal-light{background-color:#64d5ca}.bg-teal-lighter{background-color:#a0f0ed}.bg-teal-lightest{background-color:#e8fffe}.bg-blue-darkest{background-color:#12283a}.bg-blue-darker{background-color:#1c3d5a}.bg-blue-dark{background-color:#2779bd}.bg-blue{background-color:#3490dc}.bg-blue-light{background-color:#6cb2eb}.bg-blue-lighter{background-color:#bcdefa}.bg-blue-lightest{background-color:#eff8ff}.bg-indigo-darkest{background-color:#191e38}.bg-indigo-darker{background-color:#2f365f}.bg-indigo-dark{background-color:#5661b3}.bg-indigo{background-color:#6574cd}.bg-indigo-light{background-color:#7886d7}.bg-indigo-lighter{background-color:#b2b7ff}.bg-indigo-lightest{background-color:#e6e8ff}.bg-purple-darkest{background-color:#21183c}.bg-purple-darker{background-color:#382b5f}.bg-purple-dark{background-color:#794acf}.bg-purple{background-color:#9561e2}.bg-purple-light{background-color:#a779e9}.bg-purple-lighter{background-color:#d6bbfc}.bg-purple-lightest{background-color:#f3ebff}.bg-pink-darkest{background-color:#451225}.bg-pink-darker{background-color:#6f213f}.bg-pink-dark{background-color:#eb5286}.bg-pink{background-color:#f66d9b}.bg-pink-light{background-color:#fa7ea8}.bg-pink-lighter{background-color:#ffbbca}.bg-pink-lightest{background-color:#ffebef}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-black:hover{background-color:#22292f}.hover\:bg-grey-darkest:hover{background-color:#3d4852}.hover\:bg-grey-darker:hover{background-color:#606f7b}.hover\:bg-grey-dark:hover{background-color:#8795a1}.hover\:bg-grey:hover{background-color:#b8c2cc}.hover\:bg-grey-light:hover{background-color:#dae1e7}.hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.hover\:bg-grey-lightest:hover{background-color:#f8fafc}.hover\:bg-white:hover{background-color:#fff}.hover\:bg-red-darkest:hover{background-color:#3b0d0c}.hover\:bg-red-darker:hover{background-color:#621b18}.hover\:bg-red-dark:hover{background-color:#cc1f1a}.hover\:bg-red:hover{background-color:#e3342f}.hover\:bg-red-light:hover{background-color:#ef5753}.hover\:bg-red-lighter:hover{background-color:#f9acaa}.hover\:bg-red-lightest:hover{background-color:#fcebea}.hover\:bg-orange-darkest:hover{background-color:#462a16}.hover\:bg-orange-darker:hover{background-color:#613b1f}.hover\:bg-orange-dark:hover{background-color:#de751f}.hover\:bg-orange:hover{background-color:#f6993f}.hover\:bg-orange-light:hover{background-color:#faad63}.hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.hover\:bg-orange-lightest:hover{background-color:#fff5eb}.hover\:bg-yellow-darkest:hover{background-color:#453411}.hover\:bg-yellow-darker:hover{background-color:#684f1d}.hover\:bg-yellow-dark:hover{background-color:#f2d024}.hover\:bg-yellow:hover{background-color:#ffed4a}.hover\:bg-yellow-light:hover{background-color:#fff382}.hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.hover\:bg-green-darkest:hover{background-color:#0f2f21}.hover\:bg-green-darker:hover{background-color:#1a4731}.hover\:bg-green-dark:hover{background-color:#1f9d55}.hover\:bg-green:hover{background-color:#38c172}.hover\:bg-green-light:hover{background-color:#51d88a}.hover\:bg-green-lighter:hover{background-color:#a2f5bf}.hover\:bg-green-lightest:hover{background-color:#e3fcec}.hover\:bg-teal-darkest:hover{background-color:#0d3331}.hover\:bg-teal-darker:hover{background-color:#20504f}.hover\:bg-teal-dark:hover{background-color:#38a89d}.hover\:bg-teal:hover{background-color:#4dc0b5}.hover\:bg-teal-light:hover{background-color:#64d5ca}.hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.hover\:bg-teal-lightest:hover{background-color:#e8fffe}.hover\:bg-blue-darkest:hover{background-color:#12283a}.hover\:bg-blue-darker:hover{background-color:#1c3d5a}.hover\:bg-blue-dark:hover{background-color:#2779bd}.hover\:bg-blue:hover{background-color:#3490dc}.hover\:bg-blue-light:hover{background-color:#6cb2eb}.hover\:bg-blue-lighter:hover{background-color:#bcdefa}.hover\:bg-blue-lightest:hover{background-color:#eff8ff}.hover\:bg-indigo-darkest:hover{background-color:#191e38}.hover\:bg-indigo-darker:hover{background-color:#2f365f}.hover\:bg-indigo-dark:hover{background-color:#5661b3}.hover\:bg-indigo:hover{background-color:#6574cd}.hover\:bg-indigo-light:hover{background-color:#7886d7}.hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.hover\:bg-purple-darkest:hover{background-color:#21183c}.hover\:bg-purple-darker:hover{background-color:#382b5f}.hover\:bg-purple-dark:hover{background-color:#794acf}.hover\:bg-purple:hover{background-color:#9561e2}.hover\:bg-purple-light:hover{background-color:#a779e9}.hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.hover\:bg-purple-lightest:hover{background-color:#f3ebff}.hover\:bg-pink-darkest:hover{background-color:#451225}.hover\:bg-pink-darker:hover{background-color:#6f213f}.hover\:bg-pink-dark:hover{background-color:#eb5286}.hover\:bg-pink:hover{background-color:#f66d9b}.hover\:bg-pink-light:hover{background-color:#fa7ea8}.hover\:bg-pink-lighter:hover{background-color:#ffbbca}.hover\:bg-pink-lightest:hover{background-color:#ffebef}.bg-bottom{background-position:bottom}.bg-center{background-position:center}.bg-left{background-position:left}.bg-left-bottom{background-position:left bottom}.bg-left-top{background-position:left top}.bg-right{background-position:right}.bg-right-bottom{background-position:right bottom}.bg-right-top{background-position:right top}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-transparent{border-color:transparent}.border-black{border-color:#22292f}.border-grey-darkest{border-color:#3d4852}.border-grey-darker{border-color:#606f7b}.border-grey-dark{border-color:#8795a1}.border-grey{border-color:#b8c2cc}.border-grey-light{border-color:#dae1e7}.border-grey-lighter{border-color:#f1f5f8}.border-grey-lightest{border-color:#f8fafc}.border-white{border-color:#fff}.border-red-darkest{border-color:#3b0d0c}.border-red-darker{border-color:#621b18}.border-red-dark{border-color:#cc1f1a}.border-red{border-color:#e3342f}.border-red-light{border-color:#ef5753}.border-red-lighter{border-color:#f9acaa}.border-red-lightest{border-color:#fcebea}.border-orange-darkest{border-color:#462a16}.border-orange-darker{border-color:#613b1f}.border-orange-dark{border-color:#de751f}.border-orange{border-color:#f6993f}.border-orange-light{border-color:#faad63}.border-orange-lighter{border-color:#fcd9b6}.border-orange-lightest{border-color:#fff5eb}.border-yellow-darkest{border-color:#453411}.border-yellow-darker{border-color:#684f1d}.border-yellow-dark{border-color:#f2d024}.border-yellow{border-color:#ffed4a}.border-yellow-light{border-color:#fff382}.border-yellow-lighter{border-color:#fff9c2}.border-yellow-lightest{border-color:#fcfbeb}.border-green-darkest{border-color:#0f2f21}.border-green-darker{border-color:#1a4731}.border-green-dark{border-color:#1f9d55}.border-green{border-color:#38c172}.border-green-light{border-color:#51d88a}.border-green-lighter{border-color:#a2f5bf}.border-green-lightest{border-color:#e3fcec}.border-teal-darkest{border-color:#0d3331}.border-teal-darker{border-color:#20504f}.border-teal-dark{border-color:#38a89d}.border-teal{border-color:#4dc0b5}.border-teal-light{border-color:#64d5ca}.border-teal-lighter{border-color:#a0f0ed}.border-teal-lightest{border-color:#e8fffe}.border-blue-darkest{border-color:#12283a}.border-blue-darker{border-color:#1c3d5a}.border-blue-dark{border-color:#2779bd}.border-blue{border-color:#3490dc}.border-blue-light{border-color:#6cb2eb}.border-blue-lighter{border-color:#bcdefa}.border-blue-lightest{border-color:#eff8ff}.border-indigo-darkest{border-color:#191e38}.border-indigo-darker{border-color:#2f365f}.border-indigo-dark{border-color:#5661b3}.border-indigo{border-color:#6574cd}.border-indigo-light{border-color:#7886d7}.border-indigo-lighter{border-color:#b2b7ff}.border-indigo-lightest{border-color:#e6e8ff}.border-purple-darkest{border-color:#21183c}.border-purple-darker{border-color:#382b5f}.border-purple-dark{border-color:#794acf}.border-purple{border-color:#9561e2}.border-purple-light{border-color:#a779e9}.border-purple-lighter{border-color:#d6bbfc}.border-purple-lightest{border-color:#f3ebff}.border-pink-darkest{border-color:#451225}.border-pink-darker{border-color:#6f213f}.border-pink-dark{border-color:#eb5286}.border-pink{border-color:#f66d9b}.border-pink-light{border-color:#fa7ea8}.border-pink-lighter{border-color:#ffbbca}.border-pink-lightest{border-color:#ffebef}.hover\:border-transparent:hover{border-color:transparent}.hover\:border-black:hover{border-color:#22292f}.hover\:border-grey-darkest:hover{border-color:#3d4852}.hover\:border-grey-darker:hover{border-color:#606f7b}.hover\:border-grey-dark:hover{border-color:#8795a1}.hover\:border-grey:hover{border-color:#b8c2cc}.hover\:border-grey-light:hover{border-color:#dae1e7}.hover\:border-grey-lighter:hover{border-color:#f1f5f8}.hover\:border-grey-lightest:hover{border-color:#f8fafc}.hover\:border-white:hover{border-color:#fff}.hover\:border-red-darkest:hover{border-color:#3b0d0c}.hover\:border-red-darker:hover{border-color:#621b18}.hover\:border-red-dark:hover{border-color:#cc1f1a}.hover\:border-red:hover{border-color:#e3342f}.hover\:border-red-light:hover{border-color:#ef5753}.hover\:border-red-lighter:hover{border-color:#f9acaa}.hover\:border-red-lightest:hover{border-color:#fcebea}.hover\:border-orange-darkest:hover{border-color:#462a16}.hover\:border-orange-darker:hover{border-color:#613b1f}.hover\:border-orange-dark:hover{border-color:#de751f}.hover\:border-orange:hover{border-color:#f6993f}.hover\:border-orange-light:hover{border-color:#faad63}.hover\:border-orange-lighter:hover{border-color:#fcd9b6}.hover\:border-orange-lightest:hover{border-color:#fff5eb}.hover\:border-yellow-darkest:hover{border-color:#453411}.hover\:border-yellow-darker:hover{border-color:#684f1d}.hover\:border-yellow-dark:hover{border-color:#f2d024}.hover\:border-yellow:hover{border-color:#ffed4a}.hover\:border-yellow-light:hover{border-color:#fff382}.hover\:border-yellow-lighter:hover{border-color:#fff9c2}.hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.hover\:border-green-darkest:hover{border-color:#0f2f21}.hover\:border-green-darker:hover{border-color:#1a4731}.hover\:border-green-dark:hover{border-color:#1f9d55}.hover\:border-green:hover{border-color:#38c172}.hover\:border-green-light:hover{border-color:#51d88a}.hover\:border-green-lighter:hover{border-color:#a2f5bf}.hover\:border-green-lightest:hover{border-color:#e3fcec}.hover\:border-teal-darkest:hover{border-color:#0d3331}.hover\:border-teal-darker:hover{border-color:#20504f}.hover\:border-teal-dark:hover{border-color:#38a89d}.hover\:border-teal:hover{border-color:#4dc0b5}.hover\:border-teal-light:hover{border-color:#64d5ca}.hover\:border-teal-lighter:hover{border-color:#a0f0ed}.hover\:border-teal-lightest:hover{border-color:#e8fffe}.hover\:border-blue-darkest:hover{border-color:#12283a}.hover\:border-blue-darker:hover{border-color:#1c3d5a}.hover\:border-blue-dark:hover{border-color:#2779bd}.hover\:border-blue:hover{border-color:#3490dc}.hover\:border-blue-light:hover{border-color:#6cb2eb}.hover\:border-blue-lighter:hover{border-color:#bcdefa}.hover\:border-blue-lightest:hover{border-color:#eff8ff}.hover\:border-indigo-darkest:hover{border-color:#191e38}.hover\:border-indigo-darker:hover{border-color:#2f365f}.hover\:border-indigo-dark:hover{border-color:#5661b3}.hover\:border-indigo:hover{border-color:#6574cd}.hover\:border-indigo-light:hover{border-color:#7886d7}.hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.hover\:border-purple-darkest:hover{border-color:#21183c}.hover\:border-purple-darker:hover{border-color:#382b5f}.hover\:border-purple-dark:hover{border-color:#794acf}.hover\:border-purple:hover{border-color:#9561e2}.hover\:border-purple-light:hover{border-color:#a779e9}.hover\:border-purple-lighter:hover{border-color:#d6bbfc}.hover\:border-purple-lightest:hover{border-color:#f3ebff}.hover\:border-pink-darkest:hover{border-color:#451225}.hover\:border-pink-darker:hover{border-color:#6f213f}.hover\:border-pink-dark:hover{border-color:#eb5286}.hover\:border-pink:hover{border-color:#f66d9b}.hover\:border-pink-light:hover{border-color:#fa7ea8}.hover\:border-pink-lighter:hover{border-color:#ffbbca}.hover\:border-pink-lightest:hover{border-color:#ffebef}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.table-row{display:table-row}.table-cell{display:table-cell}.hidden{display:none}.flex{display:-webkit-box;display:flex}.inline-flex{display:-webkit-inline-box;display:inline-flex}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-no-wrap{flex-wrap:nowrap}.items-start{-webkit-box-align:start;align-items:flex-start}.items-end{-webkit-box-align:end;align-items:flex-end}.items-center{-webkit-box-align:center;align-items:center}.items-baseline{-webkit-box-align:baseline;align-items:baseline}.items-stretch{-webkit-box-align:stretch;align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-start{-webkit-box-pack:start;justify-content:flex-start}.justify-end{-webkit-box-pack:end;justify-content:flex-end}.justify-center{-webkit-box-pack:center;justify-content:center}.justify-between{-webkit-box-pack:justify;justify-content:space-between}.justify-around{justify-content:space-around}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.flex-1{-webkit-box-flex:1;flex:1}.flex-auto{-webkit-box-flex:1;flex:auto}.flex-initial{-webkit-box-flex:initial;flex:initial}.flex-none{-webkit-box-flex:0;flex:none}.flex-grow{-webkit-box-flex:1;flex-grow:1}.flex-shrink{flex-shrink:1}.flex-no-grow{-webkit-box-flex:0;flex-grow:0}.flex-no-shrink{flex-shrink:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-hairline{font-weight:100}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-black{font-weight:900}.hover\:font-hairline:hover{font-weight:100}.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-normal:hover{font-weight:400}.hover\:font-medium:hover{font-weight:500}.hover\:font-semibold:hover{font-weight:600}.hover\:font-bold:hover{font-weight:700}.hover\:font-extrabold:hover{font-weight:800}.hover\:font-black:hover{font-weight:900}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.h-32{height:8rem}.h-48{height:12rem}.h-64{height:16rem}.h-auto{height:auto}.h-px{height:1px}.h-full{height:100%}.h-screen{height:100vh}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-auto{margin:auto}.m-px{margin:1px}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-w-xs{max-width:20rem}.max-w-sm{max-width:30rem}.max-w-md{max-width:40rem}.max-w-lg{max-width:50rem}.max-w-xl{max-width:60rem}.max-w-2xl{max-width:70rem}.max-w-3xl{max-width:80rem}.max-w-4xl{max-width:90rem}.max-w-5xl{max-width:100rem}.max-w-full{max-width:100%}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.-m-0{margin:0}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-6{margin:-1.5rem}.-m-8{margin:-2rem}.-m-px{margin:-1px}.-my-0{margin-top:0;margin-bottom:0}.-mx-0{margin-left:0;margin-right:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.-mt-0{margin-top:0}.-mr-0{margin-right:0}.-mb-0{margin-bottom:0}.-ml-0{margin-left:0}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-1rem}.-mt-6{margin-top:-1.5rem}.-mr-6{margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.-ml-6{margin-left:-1.5rem}.-mt-8{margin-top:-2rem}.-mr-8{margin-right:-2rem}.-mb-8{margin-bottom:-2rem}.-ml-8{margin-left:-2rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-scroll{overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.overflow-y-scroll{overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.pin-none{top:auto;right:auto;bottom:auto;left:auto}.pin{top:0;right:0;bottom:0;left:0}.pin-y{top:0;bottom:0}.pin-x{right:0;left:0}.pin-t{top:0}.pin-r{right:0}.pin-b{bottom:0}.pin-l{left:0}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-none{box-shadow:none}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-transparent{color:transparent}.text-black{color:#22292f}.text-grey-darkest{color:#3d4852}.text-grey-darker{color:#606f7b}.text-grey-dark{color:#8795a1}.text-grey{color:#b8c2cc}.text-grey-light{color:#dae1e7}.text-grey-lighter{color:#f1f5f8}.text-grey-lightest{color:#f8fafc}.text-white{color:#fff}.text-red-darkest{color:#3b0d0c}.text-red-darker{color:#621b18}.text-red-dark{color:#cc1f1a}.text-red{color:#e3342f}.text-red-light{color:#ef5753}.text-red-lighter{color:#f9acaa}.text-red-lightest{color:#fcebea}.text-orange-darkest{color:#462a16}.text-orange-darker{color:#613b1f}.text-orange-dark{color:#de751f}.text-orange{color:#f6993f}.text-orange-light{color:#faad63}.text-orange-lighter{color:#fcd9b6}.text-orange-lightest{color:#fff5eb}.text-yellow-darkest{color:#453411}.text-yellow-darker{color:#684f1d}.text-yellow-dark{color:#f2d024}.text-yellow{color:#ffed4a}.text-yellow-light{color:#fff382}.text-yellow-lighter{color:#fff9c2}.text-yellow-lightest{color:#fcfbeb}.text-green-darkest{color:#0f2f21}.text-green-darker{color:#1a4731}.text-green-dark{color:#1f9d55}.text-green{color:#38c172}.text-green-light{color:#51d88a}.text-green-lighter{color:#a2f5bf}.text-green-lightest{color:#e3fcec}.text-teal-darkest{color:#0d3331}.text-teal-darker{color:#20504f}.text-teal-dark{color:#38a89d}.text-teal{color:#4dc0b5}.text-teal-light{color:#64d5ca}.text-teal-lighter{color:#a0f0ed}.text-teal-lightest{color:#e8fffe}.text-blue-darkest{color:#12283a}.text-blue-darker{color:#1c3d5a}.text-blue-dark{color:#2779bd}.text-blue{color:#3490dc}.text-blue-light{color:#6cb2eb}.text-blue-lighter{color:#bcdefa}.text-blue-lightest{color:#eff8ff}.text-indigo-darkest{color:#191e38}.text-indigo-darker{color:#2f365f}.text-indigo-dark{color:#5661b3}.text-indigo{color:#6574cd}.text-indigo-light{color:#7886d7}.text-indigo-lighter{color:#b2b7ff}.text-indigo-lightest{color:#e6e8ff}.text-purple-darkest{color:#21183c}.text-purple-darker{color:#382b5f}.text-purple-dark{color:#794acf}.text-purple{color:#9561e2}.text-purple-light{color:#a779e9}.text-purple-lighter{color:#d6bbfc}.text-purple-lightest{color:#f3ebff}.text-pink-darkest{color:#451225}.text-pink-darker{color:#6f213f}.text-pink-dark{color:#eb5286}.text-pink{color:#f66d9b}.text-pink-light{color:#fa7ea8}.text-pink-lighter{color:#ffbbca}.text-pink-lightest{color:#ffebef}.hover\:text-transparent:hover{color:transparent}.hover\:text-black:hover{color:#22292f}.hover\:text-grey-darkest:hover{color:#3d4852}.hover\:text-grey-darker:hover{color:#606f7b}.hover\:text-grey-dark:hover{color:#8795a1}.hover\:text-grey:hover{color:#b8c2cc}.hover\:text-grey-light:hover{color:#dae1e7}.hover\:text-grey-lighter:hover{color:#f1f5f8}.hover\:text-grey-lightest:hover{color:#f8fafc}.hover\:text-white:hover{color:#fff}.hover\:text-red-darkest:hover{color:#3b0d0c}.hover\:text-red-darker:hover{color:#621b18}.hover\:text-red-dark:hover{color:#cc1f1a}.hover\:text-red:hover{color:#e3342f}.hover\:text-red-light:hover{color:#ef5753}.hover\:text-red-lighter:hover{color:#f9acaa}.hover\:text-red-lightest:hover{color:#fcebea}.hover\:text-orange-darkest:hover{color:#462a16}.hover\:text-orange-darker:hover{color:#613b1f}.hover\:text-orange-dark:hover{color:#de751f}.hover\:text-orange:hover{color:#f6993f}.hover\:text-orange-light:hover{color:#faad63}.hover\:text-orange-lighter:hover{color:#fcd9b6}.hover\:text-orange-lightest:hover{color:#fff5eb}.hover\:text-yellow-darkest:hover{color:#453411}.hover\:text-yellow-darker:hover{color:#684f1d}.hover\:text-yellow-dark:hover{color:#f2d024}.hover\:text-yellow:hover{color:#ffed4a}.hover\:text-yellow-light:hover{color:#fff382}.hover\:text-yellow-lighter:hover{color:#fff9c2}.hover\:text-yellow-lightest:hover{color:#fcfbeb}.hover\:text-green-darkest:hover{color:#0f2f21}.hover\:text-green-darker:hover{color:#1a4731}.hover\:text-green-dark:hover{color:#1f9d55}.hover\:text-green:hover{color:#38c172}.hover\:text-green-light:hover{color:#51d88a}.hover\:text-green-lighter:hover{color:#a2f5bf}.hover\:text-green-lightest:hover{color:#e3fcec}.hover\:text-teal-darkest:hover{color:#0d3331}.hover\:text-teal-darker:hover{color:#20504f}.hover\:text-teal-dark:hover{color:#38a89d}.hover\:text-teal:hover{color:#4dc0b5}.hover\:text-teal-light:hover{color:#64d5ca}.hover\:text-teal-lighter:hover{color:#a0f0ed}.hover\:text-teal-lightest:hover{color:#e8fffe}.hover\:text-blue-darkest:hover{color:#12283a}.hover\:text-blue-darker:hover{color:#1c3d5a}.hover\:text-blue-dark:hover{color:#2779bd}.hover\:text-blue:hover{color:#3490dc}.hover\:text-blue-light:hover{color:#6cb2eb}.hover\:text-blue-lighter:hover{color:#bcdefa}.hover\:text-blue-lightest:hover{color:#eff8ff}.hover\:text-indigo-darkest:hover{color:#191e38}.hover\:text-indigo-darker:hover{color:#2f365f}.hover\:text-indigo-dark:hover{color:#5661b3}.hover\:text-indigo:hover{color:#6574cd}.hover\:text-indigo-light:hover{color:#7886d7}.hover\:text-indigo-lighter:hover{color:#b2b7ff}.hover\:text-indigo-lightest:hover{color:#e6e8ff}.hover\:text-purple-darkest:hover{color:#21183c}.hover\:text-purple-darker:hover{color:#382b5f}.hover\:text-purple-dark:hover{color:#794acf}.hover\:text-purple:hover{color:#9561e2}.hover\:text-purple-light:hover{color:#a779e9}.hover\:text-purple-lighter:hover{color:#d6bbfc}.hover\:text-purple-lightest:hover{color:#f3ebff}.hover\:text-pink-darkest:hover{color:#451225}.hover\:text-pink-darker:hover{color:#6f213f}.hover\:text-pink-dark:hover{color:#eb5286}.hover\:text-pink:hover{color:#f66d9b}.hover\:text-pink-light:hover{color:#fa7ea8}.hover\:text-pink-lighter:hover{color:#ffbbca}.hover\:text-pink-lightest:hover{color:#ffebef}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.italic{font-style:italic}.roman{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hover\:italic:hover{font-style:italic}.hover\:roman:hover{font-style:normal}.hover\:uppercase:hover{text-transform:uppercase}.hover\:lowercase:hover{text-transform:lowercase}.hover\:capitalize:hover{text-transform:capitalize}.hover\:normal-case:hover{text-transform:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.tracking-tight{letter-spacing:-.05em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-wrap:break-word}.break-normal{word-wrap:normal}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-32{width:8rem}.w-48{width:12rem}.w-64{width:16rem}.w-auto{width:auto}.w-px{width:1px}.w-1\/2{width:50%}.w-1\/3{width:33.33333%}.w-2\/3{width:66.66667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.66667%}.w-5\/6{width:83.33333%}.w-full{width:100%}.w-screen{width:100vw}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}@media (min-width:576px){.sm\:list-reset{list-style:none;padding:0}.sm\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.sm\:bg-fixed{background-attachment:fixed}.sm\:bg-local{background-attachment:local}.sm\:bg-scroll{background-attachment:scroll}.sm\:bg-transparent{background-color:transparent}.sm\:bg-black{background-color:#22292f}.sm\:bg-grey-darkest{background-color:#3d4852}.sm\:bg-grey-darker{background-color:#606f7b}.sm\:bg-grey-dark{background-color:#8795a1}.sm\:bg-grey{background-color:#b8c2cc}.sm\:bg-grey-light{background-color:#dae1e7}.sm\:bg-grey-lighter{background-color:#f1f5f8}.sm\:bg-grey-lightest{background-color:#f8fafc}.sm\:bg-white{background-color:#fff}.sm\:bg-red-darkest{background-color:#3b0d0c}.sm\:bg-red-darker{background-color:#621b18}.sm\:bg-red-dark{background-color:#cc1f1a}.sm\:bg-red{background-color:#e3342f}.sm\:bg-red-light{background-color:#ef5753}.sm\:bg-red-lighter{background-color:#f9acaa}.sm\:bg-red-lightest{background-color:#fcebea}.sm\:bg-orange-darkest{background-color:#462a16}.sm\:bg-orange-darker{background-color:#613b1f}.sm\:bg-orange-dark{background-color:#de751f}.sm\:bg-orange{background-color:#f6993f}.sm\:bg-orange-light{background-color:#faad63}.sm\:bg-orange-lighter{background-color:#fcd9b6}.sm\:bg-orange-lightest{background-color:#fff5eb}.sm\:bg-yellow-darkest{background-color:#453411}.sm\:bg-yellow-darker{background-color:#684f1d}.sm\:bg-yellow-dark{background-color:#f2d024}.sm\:bg-yellow{background-color:#ffed4a}.sm\:bg-yellow-light{background-color:#fff382}.sm\:bg-yellow-lighter{background-color:#fff9c2}.sm\:bg-yellow-lightest{background-color:#fcfbeb}.sm\:bg-green-darkest{background-color:#0f2f21}.sm\:bg-green-darker{background-color:#1a4731}.sm\:bg-green-dark{background-color:#1f9d55}.sm\:bg-green{background-color:#38c172}.sm\:bg-green-light{background-color:#51d88a}.sm\:bg-green-lighter{background-color:#a2f5bf}.sm\:bg-green-lightest{background-color:#e3fcec}.sm\:bg-teal-darkest{background-color:#0d3331}.sm\:bg-teal-darker{background-color:#20504f}.sm\:bg-teal-dark{background-color:#38a89d}.sm\:bg-teal{background-color:#4dc0b5}.sm\:bg-teal-light{background-color:#64d5ca}.sm\:bg-teal-lighter{background-color:#a0f0ed}.sm\:bg-teal-lightest{background-color:#e8fffe}.sm\:bg-blue-darkest{background-color:#12283a}.sm\:bg-blue-darker{background-color:#1c3d5a}.sm\:bg-blue-dark{background-color:#2779bd}.sm\:bg-blue{background-color:#3490dc}.sm\:bg-blue-light{background-color:#6cb2eb}.sm\:bg-blue-lighter{background-color:#bcdefa}.sm\:bg-blue-lightest{background-color:#eff8ff}.sm\:bg-indigo-darkest{background-color:#191e38}.sm\:bg-indigo-darker{background-color:#2f365f}.sm\:bg-indigo-dark{background-color:#5661b3}.sm\:bg-indigo{background-color:#6574cd}.sm\:bg-indigo-light{background-color:#7886d7}.sm\:bg-indigo-lighter{background-color:#b2b7ff}.sm\:bg-indigo-lightest{background-color:#e6e8ff}.sm\:bg-purple-darkest{background-color:#21183c}.sm\:bg-purple-darker{background-color:#382b5f}.sm\:bg-purple-dark{background-color:#794acf}.sm\:bg-purple{background-color:#9561e2}.sm\:bg-purple-light{background-color:#a779e9}.sm\:bg-purple-lighter{background-color:#d6bbfc}.sm\:bg-purple-lightest{background-color:#f3ebff}.sm\:bg-pink-darkest{background-color:#451225}.sm\:bg-pink-darker{background-color:#6f213f}.sm\:bg-pink-dark{background-color:#eb5286}.sm\:bg-pink{background-color:#f66d9b}.sm\:bg-pink-light{background-color:#fa7ea8}.sm\:bg-pink-lighter{background-color:#ffbbca}.sm\:bg-pink-lightest{background-color:#ffebef}.sm\:hover\:bg-transparent:hover{background-color:transparent}.sm\:hover\:bg-black:hover{background-color:#22292f}.sm\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.sm\:hover\:bg-grey-darker:hover{background-color:#606f7b}.sm\:hover\:bg-grey-dark:hover{background-color:#8795a1}.sm\:hover\:bg-grey:hover{background-color:#b8c2cc}.sm\:hover\:bg-grey-light:hover{background-color:#dae1e7}.sm\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.sm\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.sm\:hover\:bg-white:hover{background-color:#fff}.sm\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.sm\:hover\:bg-red-darker:hover{background-color:#621b18}.sm\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.sm\:hover\:bg-red:hover{background-color:#e3342f}.sm\:hover\:bg-red-light:hover{background-color:#ef5753}.sm\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.sm\:hover\:bg-red-lightest:hover{background-color:#fcebea}.sm\:hover\:bg-orange-darkest:hover{background-color:#462a16}.sm\:hover\:bg-orange-darker:hover{background-color:#613b1f}.sm\:hover\:bg-orange-dark:hover{background-color:#de751f}.sm\:hover\:bg-orange:hover{background-color:#f6993f}.sm\:hover\:bg-orange-light:hover{background-color:#faad63}.sm\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.sm\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.sm\:hover\:bg-yellow-darkest:hover{background-color:#453411}.sm\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.sm\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.sm\:hover\:bg-yellow:hover{background-color:#ffed4a}.sm\:hover\:bg-yellow-light:hover{background-color:#fff382}.sm\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.sm\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.sm\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.sm\:hover\:bg-green-darker:hover{background-color:#1a4731}.sm\:hover\:bg-green-dark:hover{background-color:#1f9d55}.sm\:hover\:bg-green:hover{background-color:#38c172}.sm\:hover\:bg-green-light:hover{background-color:#51d88a}.sm\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.sm\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.sm\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.sm\:hover\:bg-teal-darker:hover{background-color:#20504f}.sm\:hover\:bg-teal-dark:hover{background-color:#38a89d}.sm\:hover\:bg-teal:hover{background-color:#4dc0b5}.sm\:hover\:bg-teal-light:hover{background-color:#64d5ca}.sm\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.sm\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.sm\:hover\:bg-blue-darkest:hover{background-color:#12283a}.sm\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.sm\:hover\:bg-blue-dark:hover{background-color:#2779bd}.sm\:hover\:bg-blue:hover{background-color:#3490dc}.sm\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.sm\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.sm\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.sm\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.sm\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.sm\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.sm\:hover\:bg-indigo:hover{background-color:#6574cd}.sm\:hover\:bg-indigo-light:hover{background-color:#7886d7}.sm\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.sm\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.sm\:hover\:bg-purple-darkest:hover{background-color:#21183c}.sm\:hover\:bg-purple-darker:hover{background-color:#382b5f}.sm\:hover\:bg-purple-dark:hover{background-color:#794acf}.sm\:hover\:bg-purple:hover{background-color:#9561e2}.sm\:hover\:bg-purple-light:hover{background-color:#a779e9}.sm\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.sm\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.sm\:hover\:bg-pink-darkest:hover{background-color:#451225}.sm\:hover\:bg-pink-darker:hover{background-color:#6f213f}.sm\:hover\:bg-pink-dark:hover{background-color:#eb5286}.sm\:hover\:bg-pink:hover{background-color:#f66d9b}.sm\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.sm\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.sm\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.sm\:bg-bottom{background-position:bottom}.sm\:bg-center{background-position:center}.sm\:bg-left{background-position:left}.sm\:bg-left-bottom{background-position:left bottom}.sm\:bg-left-top{background-position:left top}.sm\:bg-right{background-position:right}.sm\:bg-right-bottom{background-position:right bottom}.sm\:bg-right-top{background-position:right top}.sm\:bg-top{background-position:top}.sm\:bg-repeat{background-repeat:repeat}.sm\:bg-no-repeat{background-repeat:no-repeat}.sm\:bg-repeat-x{background-repeat:repeat-x}.sm\:bg-repeat-y{background-repeat:repeat-y}.sm\:bg-cover{background-size:cover}.sm\:bg-contain{background-size:contain}.sm\:border-transparent{border-color:transparent}.sm\:border-black{border-color:#22292f}.sm\:border-grey-darkest{border-color:#3d4852}.sm\:border-grey-darker{border-color:#606f7b}.sm\:border-grey-dark{border-color:#8795a1}.sm\:border-grey{border-color:#b8c2cc}.sm\:border-grey-light{border-color:#dae1e7}.sm\:border-grey-lighter{border-color:#f1f5f8}.sm\:border-grey-lightest{border-color:#f8fafc}.sm\:border-white{border-color:#fff}.sm\:border-red-darkest{border-color:#3b0d0c}.sm\:border-red-darker{border-color:#621b18}.sm\:border-red-dark{border-color:#cc1f1a}.sm\:border-red{border-color:#e3342f}.sm\:border-red-light{border-color:#ef5753}.sm\:border-red-lighter{border-color:#f9acaa}.sm\:border-red-lightest{border-color:#fcebea}.sm\:border-orange-darkest{border-color:#462a16}.sm\:border-orange-darker{border-color:#613b1f}.sm\:border-orange-dark{border-color:#de751f}.sm\:border-orange{border-color:#f6993f}.sm\:border-orange-light{border-color:#faad63}.sm\:border-orange-lighter{border-color:#fcd9b6}.sm\:border-orange-lightest{border-color:#fff5eb}.sm\:border-yellow-darkest{border-color:#453411}.sm\:border-yellow-darker{border-color:#684f1d}.sm\:border-yellow-dark{border-color:#f2d024}.sm\:border-yellow{border-color:#ffed4a}.sm\:border-yellow-light{border-color:#fff382}.sm\:border-yellow-lighter{border-color:#fff9c2}.sm\:border-yellow-lightest{border-color:#fcfbeb}.sm\:border-green-darkest{border-color:#0f2f21}.sm\:border-green-darker{border-color:#1a4731}.sm\:border-green-dark{border-color:#1f9d55}.sm\:border-green{border-color:#38c172}.sm\:border-green-light{border-color:#51d88a}.sm\:border-green-lighter{border-color:#a2f5bf}.sm\:border-green-lightest{border-color:#e3fcec}.sm\:border-teal-darkest{border-color:#0d3331}.sm\:border-teal-darker{border-color:#20504f}.sm\:border-teal-dark{border-color:#38a89d}.sm\:border-teal{border-color:#4dc0b5}.sm\:border-teal-light{border-color:#64d5ca}.sm\:border-teal-lighter{border-color:#a0f0ed}.sm\:border-teal-lightest{border-color:#e8fffe}.sm\:border-blue-darkest{border-color:#12283a}.sm\:border-blue-darker{border-color:#1c3d5a}.sm\:border-blue-dark{border-color:#2779bd}.sm\:border-blue{border-color:#3490dc}.sm\:border-blue-light{border-color:#6cb2eb}.sm\:border-blue-lighter{border-color:#bcdefa}.sm\:border-blue-lightest{border-color:#eff8ff}.sm\:border-indigo-darkest{border-color:#191e38}.sm\:border-indigo-darker{border-color:#2f365f}.sm\:border-indigo-dark{border-color:#5661b3}.sm\:border-indigo{border-color:#6574cd}.sm\:border-indigo-light{border-color:#7886d7}.sm\:border-indigo-lighter{border-color:#b2b7ff}.sm\:border-indigo-lightest{border-color:#e6e8ff}.sm\:border-purple-darkest{border-color:#21183c}.sm\:border-purple-darker{border-color:#382b5f}.sm\:border-purple-dark{border-color:#794acf}.sm\:border-purple{border-color:#9561e2}.sm\:border-purple-light{border-color:#a779e9}.sm\:border-purple-lighter{border-color:#d6bbfc}.sm\:border-purple-lightest{border-color:#f3ebff}.sm\:border-pink-darkest{border-color:#451225}.sm\:border-pink-darker{border-color:#6f213f}.sm\:border-pink-dark{border-color:#eb5286}.sm\:border-pink{border-color:#f66d9b}.sm\:border-pink-light{border-color:#fa7ea8}.sm\:border-pink-lighter{border-color:#ffbbca}.sm\:border-pink-lightest{border-color:#ffebef}.sm\:hover\:border-transparent:hover{border-color:transparent}.sm\:hover\:border-black:hover{border-color:#22292f}.sm\:hover\:border-grey-darkest:hover{border-color:#3d4852}.sm\:hover\:border-grey-darker:hover{border-color:#606f7b}.sm\:hover\:border-grey-dark:hover{border-color:#8795a1}.sm\:hover\:border-grey:hover{border-color:#b8c2cc}.sm\:hover\:border-grey-light:hover{border-color:#dae1e7}.sm\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.sm\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.sm\:hover\:border-white:hover{border-color:#fff}.sm\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.sm\:hover\:border-red-darker:hover{border-color:#621b18}.sm\:hover\:border-red-dark:hover{border-color:#cc1f1a}.sm\:hover\:border-red:hover{border-color:#e3342f}.sm\:hover\:border-red-light:hover{border-color:#ef5753}.sm\:hover\:border-red-lighter:hover{border-color:#f9acaa}.sm\:hover\:border-red-lightest:hover{border-color:#fcebea}.sm\:hover\:border-orange-darkest:hover{border-color:#462a16}.sm\:hover\:border-orange-darker:hover{border-color:#613b1f}.sm\:hover\:border-orange-dark:hover{border-color:#de751f}.sm\:hover\:border-orange:hover{border-color:#f6993f}.sm\:hover\:border-orange-light:hover{border-color:#faad63}.sm\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.sm\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.sm\:hover\:border-yellow-darkest:hover{border-color:#453411}.sm\:hover\:border-yellow-darker:hover{border-color:#684f1d}.sm\:hover\:border-yellow-dark:hover{border-color:#f2d024}.sm\:hover\:border-yellow:hover{border-color:#ffed4a}.sm\:hover\:border-yellow-light:hover{border-color:#fff382}.sm\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.sm\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.sm\:hover\:border-green-darkest:hover{border-color:#0f2f21}.sm\:hover\:border-green-darker:hover{border-color:#1a4731}.sm\:hover\:border-green-dark:hover{border-color:#1f9d55}.sm\:hover\:border-green:hover{border-color:#38c172}.sm\:hover\:border-green-light:hover{border-color:#51d88a}.sm\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.sm\:hover\:border-green-lightest:hover{border-color:#e3fcec}.sm\:hover\:border-teal-darkest:hover{border-color:#0d3331}.sm\:hover\:border-teal-darker:hover{border-color:#20504f}.sm\:hover\:border-teal-dark:hover{border-color:#38a89d}.sm\:hover\:border-teal:hover{border-color:#4dc0b5}.sm\:hover\:border-teal-light:hover{border-color:#64d5ca}.sm\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.sm\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.sm\:hover\:border-blue-darkest:hover{border-color:#12283a}.sm\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.sm\:hover\:border-blue-dark:hover{border-color:#2779bd}.sm\:hover\:border-blue:hover{border-color:#3490dc}.sm\:hover\:border-blue-light:hover{border-color:#6cb2eb}.sm\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.sm\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.sm\:hover\:border-indigo-darkest:hover{border-color:#191e38}.sm\:hover\:border-indigo-darker:hover{border-color:#2f365f}.sm\:hover\:border-indigo-dark:hover{border-color:#5661b3}.sm\:hover\:border-indigo:hover{border-color:#6574cd}.sm\:hover\:border-indigo-light:hover{border-color:#7886d7}.sm\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.sm\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.sm\:hover\:border-purple-darkest:hover{border-color:#21183c}.sm\:hover\:border-purple-darker:hover{border-color:#382b5f}.sm\:hover\:border-purple-dark:hover{border-color:#794acf}.sm\:hover\:border-purple:hover{border-color:#9561e2}.sm\:hover\:border-purple-light:hover{border-color:#a779e9}.sm\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.sm\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.sm\:hover\:border-pink-darkest:hover{border-color:#451225}.sm\:hover\:border-pink-darker:hover{border-color:#6f213f}.sm\:hover\:border-pink-dark:hover{border-color:#eb5286}.sm\:hover\:border-pink:hover{border-color:#f66d9b}.sm\:hover\:border-pink-light:hover{border-color:#fa7ea8}.sm\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.sm\:hover\:border-pink-lightest:hover{border-color:#ffebef}.sm\:rounded-none{border-radius:0}.sm\:rounded-sm{border-radius:.125rem}.sm\:rounded{border-radius:.25rem}.sm\:rounded-lg{border-radius:.5rem}.sm\:rounded-full{border-radius:9999px}.sm\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.sm\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.sm\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.sm\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.sm\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.sm\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.sm\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.sm\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.sm\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.sm\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.sm\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.sm\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.sm\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.sm\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.sm\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.sm\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.sm\:rounded-tl-none{border-top-left-radius:0}.sm\:rounded-tr-none{border-top-right-radius:0}.sm\:rounded-br-none{border-bottom-right-radius:0}.sm\:rounded-bl-none{border-bottom-left-radius:0}.sm\:rounded-tl-sm{border-top-left-radius:.125rem}.sm\:rounded-tr-sm{border-top-right-radius:.125rem}.sm\:rounded-br-sm{border-bottom-right-radius:.125rem}.sm\:rounded-bl-sm{border-bottom-left-radius:.125rem}.sm\:rounded-tl{border-top-left-radius:.25rem}.sm\:rounded-tr{border-top-right-radius:.25rem}.sm\:rounded-br{border-bottom-right-radius:.25rem}.sm\:rounded-bl{border-bottom-left-radius:.25rem}.sm\:rounded-tl-lg{border-top-left-radius:.5rem}.sm\:rounded-tr-lg{border-top-right-radius:.5rem}.sm\:rounded-br-lg{border-bottom-right-radius:.5rem}.sm\:rounded-bl-lg{border-bottom-left-radius:.5rem}.sm\:rounded-tl-full{border-top-left-radius:9999px}.sm\:rounded-tr-full{border-top-right-radius:9999px}.sm\:rounded-br-full{border-bottom-right-radius:9999px}.sm\:rounded-bl-full{border-bottom-left-radius:9999px}.sm\:border-solid{border-style:solid}.sm\:border-dashed{border-style:dashed}.sm\:border-dotted{border-style:dotted}.sm\:border-none{border-style:none}.sm\:border-0{border-width:0}.sm\:border-2{border-width:2px}.sm\:border-4{border-width:4px}.sm\:border-8{border-width:8px}.sm\:border{border-width:1px}.sm\:border-t-0{border-top-width:0}.sm\:border-r-0{border-right-width:0}.sm\:border-b-0{border-bottom-width:0}.sm\:border-l-0{border-left-width:0}.sm\:border-t-2{border-top-width:2px}.sm\:border-r-2{border-right-width:2px}.sm\:border-b-2{border-bottom-width:2px}.sm\:border-l-2{border-left-width:2px}.sm\:border-t-4{border-top-width:4px}.sm\:border-r-4{border-right-width:4px}.sm\:border-b-4{border-bottom-width:4px}.sm\:border-l-4{border-left-width:4px}.sm\:border-t-8{border-top-width:8px}.sm\:border-r-8{border-right-width:8px}.sm\:border-b-8{border-bottom-width:8px}.sm\:border-l-8{border-left-width:8px}.sm\:border-t{border-top-width:1px}.sm\:border-r{border-right-width:1px}.sm\:border-b{border-bottom-width:1px}.sm\:border-l{border-left-width:1px}.sm\:cursor-auto{cursor:auto}.sm\:cursor-default{cursor:default}.sm\:cursor-pointer{cursor:pointer}.sm\:cursor-not-allowed{cursor:not-allowed}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:inline{display:inline}.sm\:table{display:table}.sm\:table-row{display:table-row}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:flex{display:-webkit-box;display:flex}.sm\:inline-flex{display:-webkit-inline-box;display:inline-flex}.sm\:flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.sm\:flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.sm\:flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.sm\:flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.sm\:flex-wrap{flex-wrap:wrap}.sm\:flex-wrap-reverse{flex-wrap:wrap-reverse}.sm\:flex-no-wrap{flex-wrap:nowrap}.sm\:items-start{-webkit-box-align:start;align-items:flex-start}.sm\:items-end{-webkit-box-align:end;align-items:flex-end}.sm\:items-center{-webkit-box-align:center;align-items:center}.sm\:items-baseline{-webkit-box-align:baseline;align-items:baseline}.sm\:items-stretch{-webkit-box-align:stretch;align-items:stretch}.sm\:self-auto{align-self:auto}.sm\:self-start{align-self:flex-start}.sm\:self-end{align-self:flex-end}.sm\:self-center{align-self:center}.sm\:self-stretch{align-self:stretch}.sm\:justify-start{-webkit-box-pack:start;justify-content:flex-start}.sm\:justify-end{-webkit-box-pack:end;justify-content:flex-end}.sm\:justify-center{-webkit-box-pack:center;justify-content:center}.sm\:justify-between{-webkit-box-pack:justify;justify-content:space-between}.sm\:justify-around{justify-content:space-around}.sm\:content-center{align-content:center}.sm\:content-start{align-content:flex-start}.sm\:content-end{align-content:flex-end}.sm\:content-between{align-content:space-between}.sm\:content-around{align-content:space-around}.sm\:flex-1{-webkit-box-flex:1;flex:1}.sm\:flex-auto{-webkit-box-flex:1;flex:auto}.sm\:flex-initial{-webkit-box-flex:initial;flex:initial}.sm\:flex-none{-webkit-box-flex:0;flex:none}.sm\:flex-grow{-webkit-box-flex:1;flex-grow:1}.sm\:flex-shrink{flex-shrink:1}.sm\:flex-no-grow{-webkit-box-flex:0;flex-grow:0}.sm\:flex-no-shrink{flex-shrink:0}.sm\:float-right{float:right}.sm\:float-left{float:left}.sm\:float-none{float:none}.sm\:clearfix:after{content:"";display:table;clear:both}.sm\:font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.sm\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.sm\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.sm\:font-hairline{font-weight:100}.sm\:font-thin{font-weight:200}.sm\:font-light{font-weight:300}.sm\:font-normal{font-weight:400}.sm\:font-medium{font-weight:500}.sm\:font-semibold{font-weight:600}.sm\:font-bold{font-weight:700}.sm\:font-extrabold{font-weight:800}.sm\:font-black{font-weight:900}.sm\:hover\:font-hairline:hover{font-weight:100}.sm\:hover\:font-thin:hover{font-weight:200}.sm\:hover\:font-light:hover{font-weight:300}.sm\:hover\:font-normal:hover{font-weight:400}.sm\:hover\:font-medium:hover{font-weight:500}.sm\:hover\:font-semibold:hover{font-weight:600}.sm\:hover\:font-bold:hover{font-weight:700}.sm\:hover\:font-extrabold:hover{font-weight:800}.sm\:hover\:font-black:hover{font-weight:900}.sm\:h-1{height:.25rem}.sm\:h-2{height:.5rem}.sm\:h-3{height:.75rem}.sm\:h-4{height:1rem}.sm\:h-6{height:1.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-24{height:6rem}.sm\:h-32{height:8rem}.sm\:h-48{height:12rem}.sm\:h-64{height:16rem}.sm\:h-auto{height:auto}.sm\:h-px{height:1px}.sm\:h-full{height:100%}.sm\:h-screen{height:100vh}.sm\:leading-none{line-height:1}.sm\:leading-tight{line-height:1.25}.sm\:leading-normal{line-height:1.5}.sm\:leading-loose{line-height:2}.sm\:m-0{margin:0}.sm\:m-1{margin:.25rem}.sm\:m-2{margin:.5rem}.sm\:m-3{margin:.75rem}.sm\:m-4{margin:1rem}.sm\:m-6{margin:1.5rem}.sm\:m-8{margin:2rem}.sm\:m-auto{margin:auto}.sm\:m-px{margin:1px}.sm\:my-0{margin-top:0;margin-bottom:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-1{margin-top:.25rem;margin-bottom:.25rem}.sm\:mx-1{margin-left:.25rem;margin-right:.25rem}.sm\:my-2{margin-top:.5rem;margin-bottom:.5rem}.sm\:mx-2{margin-left:.5rem;margin-right:.5rem}.sm\:my-3{margin-top:.75rem;margin-bottom:.75rem}.sm\:mx-3{margin-left:.75rem;margin-right:.75rem}.sm\:my-4{margin-top:1rem;margin-bottom:1rem}.sm\:mx-4{margin-left:1rem;margin-right:1rem}.sm\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:my-auto{margin-top:auto;margin-bottom:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-px{margin-top:1px;margin-bottom:1px}.sm\:mx-px{margin-left:1px;margin-right:1px}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mt-1{margin-top:.25rem}.sm\:mr-1{margin-right:.25rem}.sm\:mb-1{margin-bottom:.25rem}.sm\:ml-1{margin-left:.25rem}.sm\:mt-2{margin-top:.5rem}.sm\:mr-2{margin-right:.5rem}.sm\:mb-2{margin-bottom:.5rem}.sm\:ml-2{margin-left:.5rem}.sm\:mt-3{margin-top:.75rem}.sm\:mr-3{margin-right:.75rem}.sm\:mb-3{margin-bottom:.75rem}.sm\:ml-3{margin-left:.75rem}.sm\:mt-4{margin-top:1rem}.sm\:mr-4{margin-right:1rem}.sm\:mb-4{margin-bottom:1rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-6{margin-top:1.5rem}.sm\:mr-6{margin-right:1.5rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:ml-6{margin-left:1.5rem}.sm\:mt-8{margin-top:2rem}.sm\:mr-8{margin-right:2rem}.sm\:mb-8{margin-bottom:2rem}.sm\:ml-8{margin-left:2rem}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mt-px{margin-top:1px}.sm\:mr-px{margin-right:1px}.sm\:mb-px{margin-bottom:1px}.sm\:ml-px{margin-left:1px}.sm\:max-h-full{max-height:100%}.sm\:max-h-screen{max-height:100vh}.sm\:max-w-xs{max-width:20rem}.sm\:max-w-sm{max-width:30rem}.sm\:max-w-md{max-width:40rem}.sm\:max-w-lg{max-width:50rem}.sm\:max-w-xl{max-width:60rem}.sm\:max-w-2xl{max-width:70rem}.sm\:max-w-3xl{max-width:80rem}.sm\:max-w-4xl{max-width:90rem}.sm\:max-w-5xl{max-width:100rem}.sm\:max-w-full{max-width:100%}.sm\:min-h-0{min-height:0}.sm\:min-h-full{min-height:100%}.sm\:min-h-screen{min-height:100vh}.sm\:min-w-0{min-width:0}.sm\:min-w-full{min-width:100%}.sm\:-m-0{margin:0}.sm\:-m-1{margin:-.25rem}.sm\:-m-2{margin:-.5rem}.sm\:-m-3{margin:-.75rem}.sm\:-m-4{margin:-1rem}.sm\:-m-6{margin:-1.5rem}.sm\:-m-8{margin:-2rem}.sm\:-m-px{margin:-1px}.sm\:-my-0{margin-top:0;margin-bottom:0}.sm\:-mx-0{margin-left:0;margin-right:0}.sm\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.sm\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.sm\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.sm\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.sm\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.sm\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:-my-px{margin-top:-1px;margin-bottom:-1px}.sm\:-mx-px{margin-left:-1px;margin-right:-1px}.sm\:-mt-0{margin-top:0}.sm\:-mr-0{margin-right:0}.sm\:-mb-0{margin-bottom:0}.sm\:-ml-0{margin-left:0}.sm\:-mt-1{margin-top:-.25rem}.sm\:-mr-1{margin-right:-.25rem}.sm\:-mb-1{margin-bottom:-.25rem}.sm\:-ml-1{margin-left:-.25rem}.sm\:-mt-2{margin-top:-.5rem}.sm\:-mr-2{margin-right:-.5rem}.sm\:-mb-2{margin-bottom:-.5rem}.sm\:-ml-2{margin-left:-.5rem}.sm\:-mt-3{margin-top:-.75rem}.sm\:-mr-3{margin-right:-.75rem}.sm\:-mb-3{margin-bottom:-.75rem}.sm\:-ml-3{margin-left:-.75rem}.sm\:-mt-4{margin-top:-1rem}.sm\:-mr-4{margin-right:-1rem}.sm\:-mb-4{margin-bottom:-1rem}.sm\:-ml-4{margin-left:-1rem}.sm\:-mt-6{margin-top:-1.5rem}.sm\:-mr-6{margin-right:-1.5rem}.sm\:-mb-6{margin-bottom:-1.5rem}.sm\:-ml-6{margin-left:-1.5rem}.sm\:-mt-8{margin-top:-2rem}.sm\:-mr-8{margin-right:-2rem}.sm\:-mb-8{margin-bottom:-2rem}.sm\:-ml-8{margin-left:-2rem}.sm\:-mt-px{margin-top:-1px}.sm\:-mr-px{margin-right:-1px}.sm\:-mb-px{margin-bottom:-1px}.sm\:-ml-px{margin-left:-1px}.sm\:opacity-0{opacity:0}.sm\:opacity-25{opacity:.25}.sm\:opacity-50{opacity:.5}.sm\:opacity-75{opacity:.75}.sm\:opacity-100{opacity:1}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:overflow-visible{overflow:visible}.sm\:overflow-scroll{overflow:scroll}.sm\:overflow-x-scroll{overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.sm\:overflow-y-scroll{overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.sm\:scrolling-touch{-webkit-overflow-scrolling:touch}.sm\:scrolling-auto{-webkit-overflow-scrolling:auto}.sm\:p-0{padding:0}.sm\:p-1{padding:.25rem}.sm\:p-2{padding:.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:p-px{padding:1px}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-1{padding-top:.25rem;padding-bottom:.25rem}.sm\:px-1{padding-left:.25rem;padding-right:.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-px{padding-top:1px;padding-bottom:1px}.sm\:px-px{padding-left:1px;padding-right:1px}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:pt-1{padding-top:.25rem}.sm\:pr-1{padding-right:.25rem}.sm\:pb-1{padding-bottom:.25rem}.sm\:pl-1{padding-left:.25rem}.sm\:pt-2{padding-top:.5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pb-2{padding-bottom:.5rem}.sm\:pl-2{padding-left:.5rem}.sm\:pt-3{padding-top:.75rem}.sm\:pr-3{padding-right:.75rem}.sm\:pb-3{padding-bottom:.75rem}.sm\:pl-3{padding-left:.75rem}.sm\:pt-4{padding-top:1rem}.sm\:pr-4{padding-right:1rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-4{padding-left:1rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pr-6{padding-right:1.5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:pr-8{padding-right:2rem}.sm\:pb-8{padding-bottom:2rem}.sm\:pl-8{padding-left:2rem}.sm\:pt-px{padding-top:1px}.sm\:pr-px{padding-right:1px}.sm\:pb-px{padding-bottom:1px}.sm\:pl-px{padding-left:1px}.sm\:pointer-events-none{pointer-events:none}.sm\:pointer-events-auto{pointer-events:auto}.sm\:static{position:static}.sm\:fixed{position:fixed}.sm\:absolute{position:absolute}.sm\:relative{position:relative}.sm\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.sm\:pin{top:0;right:0;bottom:0;left:0}.sm\:pin-y{top:0;bottom:0}.sm\:pin-x{right:0;left:0}.sm\:pin-t{top:0}.sm\:pin-r{right:0}.sm\:pin-b{bottom:0}.sm\:pin-l{left:0}.sm\:resize-none{resize:none}.sm\:resize-y{resize:vertical}.sm\:resize-x{resize:horizontal}.sm\:resize{resize:both}.sm\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.sm\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.sm\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.sm\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.sm\:shadow-none{box-shadow:none}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}.sm\:text-justify{text-align:justify}.sm\:text-transparent{color:transparent}.sm\:text-black{color:#22292f}.sm\:text-grey-darkest{color:#3d4852}.sm\:text-grey-darker{color:#606f7b}.sm\:text-grey-dark{color:#8795a1}.sm\:text-grey{color:#b8c2cc}.sm\:text-grey-light{color:#dae1e7}.sm\:text-grey-lighter{color:#f1f5f8}.sm\:text-grey-lightest{color:#f8fafc}.sm\:text-white{color:#fff}.sm\:text-red-darkest{color:#3b0d0c}.sm\:text-red-darker{color:#621b18}.sm\:text-red-dark{color:#cc1f1a}.sm\:text-red{color:#e3342f}.sm\:text-red-light{color:#ef5753}.sm\:text-red-lighter{color:#f9acaa}.sm\:text-red-lightest{color:#fcebea}.sm\:text-orange-darkest{color:#462a16}.sm\:text-orange-darker{color:#613b1f}.sm\:text-orange-dark{color:#de751f}.sm\:text-orange{color:#f6993f}.sm\:text-orange-light{color:#faad63}.sm\:text-orange-lighter{color:#fcd9b6}.sm\:text-orange-lightest{color:#fff5eb}.sm\:text-yellow-darkest{color:#453411}.sm\:text-yellow-darker{color:#684f1d}.sm\:text-yellow-dark{color:#f2d024}.sm\:text-yellow{color:#ffed4a}.sm\:text-yellow-light{color:#fff382}.sm\:text-yellow-lighter{color:#fff9c2}.sm\:text-yellow-lightest{color:#fcfbeb}.sm\:text-green-darkest{color:#0f2f21}.sm\:text-green-darker{color:#1a4731}.sm\:text-green-dark{color:#1f9d55}.sm\:text-green{color:#38c172}.sm\:text-green-light{color:#51d88a}.sm\:text-green-lighter{color:#a2f5bf}.sm\:text-green-lightest{color:#e3fcec}.sm\:text-teal-darkest{color:#0d3331}.sm\:text-teal-darker{color:#20504f}.sm\:text-teal-dark{color:#38a89d}.sm\:text-teal{color:#4dc0b5}.sm\:text-teal-light{color:#64d5ca}.sm\:text-teal-lighter{color:#a0f0ed}.sm\:text-teal-lightest{color:#e8fffe}.sm\:text-blue-darkest{color:#12283a}.sm\:text-blue-darker{color:#1c3d5a}.sm\:text-blue-dark{color:#2779bd}.sm\:text-blue{color:#3490dc}.sm\:text-blue-light{color:#6cb2eb}.sm\:text-blue-lighter{color:#bcdefa}.sm\:text-blue-lightest{color:#eff8ff}.sm\:text-indigo-darkest{color:#191e38}.sm\:text-indigo-darker{color:#2f365f}.sm\:text-indigo-dark{color:#5661b3}.sm\:text-indigo{color:#6574cd}.sm\:text-indigo-light{color:#7886d7}.sm\:text-indigo-lighter{color:#b2b7ff}.sm\:text-indigo-lightest{color:#e6e8ff}.sm\:text-purple-darkest{color:#21183c}.sm\:text-purple-darker{color:#382b5f}.sm\:text-purple-dark{color:#794acf}.sm\:text-purple{color:#9561e2}.sm\:text-purple-light{color:#a779e9}.sm\:text-purple-lighter{color:#d6bbfc}.sm\:text-purple-lightest{color:#f3ebff}.sm\:text-pink-darkest{color:#451225}.sm\:text-pink-darker{color:#6f213f}.sm\:text-pink-dark{color:#eb5286}.sm\:text-pink{color:#f66d9b}.sm\:text-pink-light{color:#fa7ea8}.sm\:text-pink-lighter{color:#ffbbca}.sm\:text-pink-lightest{color:#ffebef}.sm\:hover\:text-transparent:hover{color:transparent}.sm\:hover\:text-black:hover{color:#22292f}.sm\:hover\:text-grey-darkest:hover{color:#3d4852}.sm\:hover\:text-grey-darker:hover{color:#606f7b}.sm\:hover\:text-grey-dark:hover{color:#8795a1}.sm\:hover\:text-grey:hover{color:#b8c2cc}.sm\:hover\:text-grey-light:hover{color:#dae1e7}.sm\:hover\:text-grey-lighter:hover{color:#f1f5f8}.sm\:hover\:text-grey-lightest:hover{color:#f8fafc}.sm\:hover\:text-white:hover{color:#fff}.sm\:hover\:text-red-darkest:hover{color:#3b0d0c}.sm\:hover\:text-red-darker:hover{color:#621b18}.sm\:hover\:text-red-dark:hover{color:#cc1f1a}.sm\:hover\:text-red:hover{color:#e3342f}.sm\:hover\:text-red-light:hover{color:#ef5753}.sm\:hover\:text-red-lighter:hover{color:#f9acaa}.sm\:hover\:text-red-lightest:hover{color:#fcebea}.sm\:hover\:text-orange-darkest:hover{color:#462a16}.sm\:hover\:text-orange-darker:hover{color:#613b1f}.sm\:hover\:text-orange-dark:hover{color:#de751f}.sm\:hover\:text-orange:hover{color:#f6993f}.sm\:hover\:text-orange-light:hover{color:#faad63}.sm\:hover\:text-orange-lighter:hover{color:#fcd9b6}.sm\:hover\:text-orange-lightest:hover{color:#fff5eb}.sm\:hover\:text-yellow-darkest:hover{color:#453411}.sm\:hover\:text-yellow-darker:hover{color:#684f1d}.sm\:hover\:text-yellow-dark:hover{color:#f2d024}.sm\:hover\:text-yellow:hover{color:#ffed4a}.sm\:hover\:text-yellow-light:hover{color:#fff382}.sm\:hover\:text-yellow-lighter:hover{color:#fff9c2}.sm\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.sm\:hover\:text-green-darkest:hover{color:#0f2f21}.sm\:hover\:text-green-darker:hover{color:#1a4731}.sm\:hover\:text-green-dark:hover{color:#1f9d55}.sm\:hover\:text-green:hover{color:#38c172}.sm\:hover\:text-green-light:hover{color:#51d88a}.sm\:hover\:text-green-lighter:hover{color:#a2f5bf}.sm\:hover\:text-green-lightest:hover{color:#e3fcec}.sm\:hover\:text-teal-darkest:hover{color:#0d3331}.sm\:hover\:text-teal-darker:hover{color:#20504f}.sm\:hover\:text-teal-dark:hover{color:#38a89d}.sm\:hover\:text-teal:hover{color:#4dc0b5}.sm\:hover\:text-teal-light:hover{color:#64d5ca}.sm\:hover\:text-teal-lighter:hover{color:#a0f0ed}.sm\:hover\:text-teal-lightest:hover{color:#e8fffe}.sm\:hover\:text-blue-darkest:hover{color:#12283a}.sm\:hover\:text-blue-darker:hover{color:#1c3d5a}.sm\:hover\:text-blue-dark:hover{color:#2779bd}.sm\:hover\:text-blue:hover{color:#3490dc}.sm\:hover\:text-blue-light:hover{color:#6cb2eb}.sm\:hover\:text-blue-lighter:hover{color:#bcdefa}.sm\:hover\:text-blue-lightest:hover{color:#eff8ff}.sm\:hover\:text-indigo-darkest:hover{color:#191e38}.sm\:hover\:text-indigo-darker:hover{color:#2f365f}.sm\:hover\:text-indigo-dark:hover{color:#5661b3}.sm\:hover\:text-indigo:hover{color:#6574cd}.sm\:hover\:text-indigo-light:hover{color:#7886d7}.sm\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.sm\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.sm\:hover\:text-purple-darkest:hover{color:#21183c}.sm\:hover\:text-purple-darker:hover{color:#382b5f}.sm\:hover\:text-purple-dark:hover{color:#794acf}.sm\:hover\:text-purple:hover{color:#9561e2}.sm\:hover\:text-purple-light:hover{color:#a779e9}.sm\:hover\:text-purple-lighter:hover{color:#d6bbfc}.sm\:hover\:text-purple-lightest:hover{color:#f3ebff}.sm\:hover\:text-pink-darkest:hover{color:#451225}.sm\:hover\:text-pink-darker:hover{color:#6f213f}.sm\:hover\:text-pink-dark:hover{color:#eb5286}.sm\:hover\:text-pink:hover{color:#f66d9b}.sm\:hover\:text-pink-light:hover{color:#fa7ea8}.sm\:hover\:text-pink-lighter:hover{color:#ffbbca}.sm\:hover\:text-pink-lightest:hover{color:#ffebef}.sm\:text-xs{font-size:.75rem}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:text-xl{font-size:1.25rem}.sm\:text-2xl{font-size:1.5rem}.sm\:text-3xl{font-size:1.875rem}.sm\:text-4xl{font-size:2.25rem}.sm\:text-5xl{font-size:3rem}.sm\:italic{font-style:italic}.sm\:roman{font-style:normal}.sm\:uppercase{text-transform:uppercase}.sm\:lowercase{text-transform:lowercase}.sm\:capitalize{text-transform:capitalize}.sm\:normal-case{text-transform:none}.sm\:underline{text-decoration:underline}.sm\:line-through{text-decoration:line-through}.sm\:no-underline{text-decoration:none}.sm\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:hover\:italic:hover{font-style:italic}.sm\:hover\:roman:hover{font-style:normal}.sm\:hover\:uppercase:hover{text-transform:uppercase}.sm\:hover\:lowercase:hover{text-transform:lowercase}.sm\:hover\:capitalize:hover{text-transform:capitalize}.sm\:hover\:normal-case:hover{text-transform:none}.sm\:hover\:underline:hover{text-decoration:underline}.sm\:hover\:line-through:hover{text-decoration:line-through}.sm\:hover\:no-underline:hover{text-decoration:none}.sm\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sm\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sm\:tracking-tight{letter-spacing:-.05em}.sm\:tracking-normal{letter-spacing:0}.sm\:tracking-wide{letter-spacing:.05em}.sm\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sm\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.sm\:align-baseline{vertical-align:baseline}.sm\:align-top{vertical-align:top}.sm\:align-middle{vertical-align:middle}.sm\:align-bottom{vertical-align:bottom}.sm\:align-text-top{vertical-align:text-top}.sm\:align-text-bottom{vertical-align:text-bottom}.sm\:visible{visibility:visible}.sm\:invisible{visibility:hidden}.sm\:whitespace-normal{white-space:normal}.sm\:whitespace-no-wrap{white-space:nowrap}.sm\:whitespace-pre{white-space:pre}.sm\:whitespace-pre-line{white-space:pre-line}.sm\:whitespace-pre-wrap{white-space:pre-wrap}.sm\:break-words{word-wrap:break-word}.sm\:break-normal{word-wrap:normal}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:w-1{width:.25rem}.sm\:w-2{width:.5rem}.sm\:w-3{width:.75rem}.sm\:w-4{width:1rem}.sm\:w-6{width:1.5rem}.sm\:w-8{width:2rem}.sm\:w-10{width:2.5rem}.sm\:w-12{width:3rem}.sm\:w-16{width:4rem}.sm\:w-24{width:6rem}.sm\:w-32{width:8rem}.sm\:w-48{width:12rem}.sm\:w-64{width:16rem}.sm\:w-auto{width:auto}.sm\:w-px{width:1px}.sm\:w-1\/2{width:50%}.sm\:w-1\/3{width:33.33333%}.sm\:w-2\/3{width:66.66667%}.sm\:w-1\/4{width:25%}.sm\:w-3\/4{width:75%}.sm\:w-1\/5{width:20%}.sm\:w-2\/5{width:40%}.sm\:w-3\/5{width:60%}.sm\:w-4\/5{width:80%}.sm\:w-1\/6{width:16.66667%}.sm\:w-5\/6{width:83.33333%}.sm\:w-full{width:100%}.sm\:w-screen{width:100vw}.sm\:z-0{z-index:0}.sm\:z-10{z-index:10}.sm\:z-20{z-index:20}.sm\:z-30{z-index:30}.sm\:z-40{z-index:40}.sm\:z-50{z-index:50}.sm\:z-auto{z-index:auto}}@media (min-width:768px){.md\:list-reset{list-style:none;padding:0}.md\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.md\:bg-fixed{background-attachment:fixed}.md\:bg-local{background-attachment:local}.md\:bg-scroll{background-attachment:scroll}.md\:bg-transparent{background-color:transparent}.md\:bg-black{background-color:#22292f}.md\:bg-grey-darkest{background-color:#3d4852}.md\:bg-grey-darker{background-color:#606f7b}.md\:bg-grey-dark{background-color:#8795a1}.md\:bg-grey{background-color:#b8c2cc}.md\:bg-grey-light{background-color:#dae1e7}.md\:bg-grey-lighter{background-color:#f1f5f8}.md\:bg-grey-lightest{background-color:#f8fafc}.md\:bg-white{background-color:#fff}.md\:bg-red-darkest{background-color:#3b0d0c}.md\:bg-red-darker{background-color:#621b18}.md\:bg-red-dark{background-color:#cc1f1a}.md\:bg-red{background-color:#e3342f}.md\:bg-red-light{background-color:#ef5753}.md\:bg-red-lighter{background-color:#f9acaa}.md\:bg-red-lightest{background-color:#fcebea}.md\:bg-orange-darkest{background-color:#462a16}.md\:bg-orange-darker{background-color:#613b1f}.md\:bg-orange-dark{background-color:#de751f}.md\:bg-orange{background-color:#f6993f}.md\:bg-orange-light{background-color:#faad63}.md\:bg-orange-lighter{background-color:#fcd9b6}.md\:bg-orange-lightest{background-color:#fff5eb}.md\:bg-yellow-darkest{background-color:#453411}.md\:bg-yellow-darker{background-color:#684f1d}.md\:bg-yellow-dark{background-color:#f2d024}.md\:bg-yellow{background-color:#ffed4a}.md\:bg-yellow-light{background-color:#fff382}.md\:bg-yellow-lighter{background-color:#fff9c2}.md\:bg-yellow-lightest{background-color:#fcfbeb}.md\:bg-green-darkest{background-color:#0f2f21}.md\:bg-green-darker{background-color:#1a4731}.md\:bg-green-dark{background-color:#1f9d55}.md\:bg-green{background-color:#38c172}.md\:bg-green-light{background-color:#51d88a}.md\:bg-green-lighter{background-color:#a2f5bf}.md\:bg-green-lightest{background-color:#e3fcec}.md\:bg-teal-darkest{background-color:#0d3331}.md\:bg-teal-darker{background-color:#20504f}.md\:bg-teal-dark{background-color:#38a89d}.md\:bg-teal{background-color:#4dc0b5}.md\:bg-teal-light{background-color:#64d5ca}.md\:bg-teal-lighter{background-color:#a0f0ed}.md\:bg-teal-lightest{background-color:#e8fffe}.md\:bg-blue-darkest{background-color:#12283a}.md\:bg-blue-darker{background-color:#1c3d5a}.md\:bg-blue-dark{background-color:#2779bd}.md\:bg-blue{background-color:#3490dc}.md\:bg-blue-light{background-color:#6cb2eb}.md\:bg-blue-lighter{background-color:#bcdefa}.md\:bg-blue-lightest{background-color:#eff8ff}.md\:bg-indigo-darkest{background-color:#191e38}.md\:bg-indigo-darker{background-color:#2f365f}.md\:bg-indigo-dark{background-color:#5661b3}.md\:bg-indigo{background-color:#6574cd}.md\:bg-indigo-light{background-color:#7886d7}.md\:bg-indigo-lighter{background-color:#b2b7ff}.md\:bg-indigo-lightest{background-color:#e6e8ff}.md\:bg-purple-darkest{background-color:#21183c}.md\:bg-purple-darker{background-color:#382b5f}.md\:bg-purple-dark{background-color:#794acf}.md\:bg-purple{background-color:#9561e2}.md\:bg-purple-light{background-color:#a779e9}.md\:bg-purple-lighter{background-color:#d6bbfc}.md\:bg-purple-lightest{background-color:#f3ebff}.md\:bg-pink-darkest{background-color:#451225}.md\:bg-pink-darker{background-color:#6f213f}.md\:bg-pink-dark{background-color:#eb5286}.md\:bg-pink{background-color:#f66d9b}.md\:bg-pink-light{background-color:#fa7ea8}.md\:bg-pink-lighter{background-color:#ffbbca}.md\:bg-pink-lightest{background-color:#ffebef}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:bg-black:hover{background-color:#22292f}.md\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.md\:hover\:bg-grey-darker:hover{background-color:#606f7b}.md\:hover\:bg-grey-dark:hover{background-color:#8795a1}.md\:hover\:bg-grey:hover{background-color:#b8c2cc}.md\:hover\:bg-grey-light:hover{background-color:#dae1e7}.md\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.md\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.md\:hover\:bg-white:hover{background-color:#fff}.md\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.md\:hover\:bg-red-darker:hover{background-color:#621b18}.md\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.md\:hover\:bg-red:hover{background-color:#e3342f}.md\:hover\:bg-red-light:hover{background-color:#ef5753}.md\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.md\:hover\:bg-red-lightest:hover{background-color:#fcebea}.md\:hover\:bg-orange-darkest:hover{background-color:#462a16}.md\:hover\:bg-orange-darker:hover{background-color:#613b1f}.md\:hover\:bg-orange-dark:hover{background-color:#de751f}.md\:hover\:bg-orange:hover{background-color:#f6993f}.md\:hover\:bg-orange-light:hover{background-color:#faad63}.md\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.md\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.md\:hover\:bg-yellow-darkest:hover{background-color:#453411}.md\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.md\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.md\:hover\:bg-yellow:hover{background-color:#ffed4a}.md\:hover\:bg-yellow-light:hover{background-color:#fff382}.md\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.md\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.md\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.md\:hover\:bg-green-darker:hover{background-color:#1a4731}.md\:hover\:bg-green-dark:hover{background-color:#1f9d55}.md\:hover\:bg-green:hover{background-color:#38c172}.md\:hover\:bg-green-light:hover{background-color:#51d88a}.md\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.md\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.md\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.md\:hover\:bg-teal-darker:hover{background-color:#20504f}.md\:hover\:bg-teal-dark:hover{background-color:#38a89d}.md\:hover\:bg-teal:hover{background-color:#4dc0b5}.md\:hover\:bg-teal-light:hover{background-color:#64d5ca}.md\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.md\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.md\:hover\:bg-blue-darkest:hover{background-color:#12283a}.md\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.md\:hover\:bg-blue-dark:hover{background-color:#2779bd}.md\:hover\:bg-blue:hover{background-color:#3490dc}.md\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.md\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.md\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.md\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.md\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.md\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.md\:hover\:bg-indigo:hover{background-color:#6574cd}.md\:hover\:bg-indigo-light:hover{background-color:#7886d7}.md\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.md\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.md\:hover\:bg-purple-darkest:hover{background-color:#21183c}.md\:hover\:bg-purple-darker:hover{background-color:#382b5f}.md\:hover\:bg-purple-dark:hover{background-color:#794acf}.md\:hover\:bg-purple:hover{background-color:#9561e2}.md\:hover\:bg-purple-light:hover{background-color:#a779e9}.md\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.md\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.md\:hover\:bg-pink-darkest:hover{background-color:#451225}.md\:hover\:bg-pink-darker:hover{background-color:#6f213f}.md\:hover\:bg-pink-dark:hover{background-color:#eb5286}.md\:hover\:bg-pink:hover{background-color:#f66d9b}.md\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.md\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.md\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.md\:bg-bottom{background-position:bottom}.md\:bg-center{background-position:center}.md\:bg-left{background-position:left}.md\:bg-left-bottom{background-position:left bottom}.md\:bg-left-top{background-position:left top}.md\:bg-right{background-position:right}.md\:bg-right-bottom{background-position:right bottom}.md\:bg-right-top{background-position:right top}.md\:bg-top{background-position:top}.md\:bg-repeat{background-repeat:repeat}.md\:bg-no-repeat{background-repeat:no-repeat}.md\:bg-repeat-x{background-repeat:repeat-x}.md\:bg-repeat-y{background-repeat:repeat-y}.md\:bg-cover{background-size:cover}.md\:bg-contain{background-size:contain}.md\:border-transparent{border-color:transparent}.md\:border-black{border-color:#22292f}.md\:border-grey-darkest{border-color:#3d4852}.md\:border-grey-darker{border-color:#606f7b}.md\:border-grey-dark{border-color:#8795a1}.md\:border-grey{border-color:#b8c2cc}.md\:border-grey-light{border-color:#dae1e7}.md\:border-grey-lighter{border-color:#f1f5f8}.md\:border-grey-lightest{border-color:#f8fafc}.md\:border-white{border-color:#fff}.md\:border-red-darkest{border-color:#3b0d0c}.md\:border-red-darker{border-color:#621b18}.md\:border-red-dark{border-color:#cc1f1a}.md\:border-red{border-color:#e3342f}.md\:border-red-light{border-color:#ef5753}.md\:border-red-lighter{border-color:#f9acaa}.md\:border-red-lightest{border-color:#fcebea}.md\:border-orange-darkest{border-color:#462a16}.md\:border-orange-darker{border-color:#613b1f}.md\:border-orange-dark{border-color:#de751f}.md\:border-orange{border-color:#f6993f}.md\:border-orange-light{border-color:#faad63}.md\:border-orange-lighter{border-color:#fcd9b6}.md\:border-orange-lightest{border-color:#fff5eb}.md\:border-yellow-darkest{border-color:#453411}.md\:border-yellow-darker{border-color:#684f1d}.md\:border-yellow-dark{border-color:#f2d024}.md\:border-yellow{border-color:#ffed4a}.md\:border-yellow-light{border-color:#fff382}.md\:border-yellow-lighter{border-color:#fff9c2}.md\:border-yellow-lightest{border-color:#fcfbeb}.md\:border-green-darkest{border-color:#0f2f21}.md\:border-green-darker{border-color:#1a4731}.md\:border-green-dark{border-color:#1f9d55}.md\:border-green{border-color:#38c172}.md\:border-green-light{border-color:#51d88a}.md\:border-green-lighter{border-color:#a2f5bf}.md\:border-green-lightest{border-color:#e3fcec}.md\:border-teal-darkest{border-color:#0d3331}.md\:border-teal-darker{border-color:#20504f}.md\:border-teal-dark{border-color:#38a89d}.md\:border-teal{border-color:#4dc0b5}.md\:border-teal-light{border-color:#64d5ca}.md\:border-teal-lighter{border-color:#a0f0ed}.md\:border-teal-lightest{border-color:#e8fffe}.md\:border-blue-darkest{border-color:#12283a}.md\:border-blue-darker{border-color:#1c3d5a}.md\:border-blue-dark{border-color:#2779bd}.md\:border-blue{border-color:#3490dc}.md\:border-blue-light{border-color:#6cb2eb}.md\:border-blue-lighter{border-color:#bcdefa}.md\:border-blue-lightest{border-color:#eff8ff}.md\:border-indigo-darkest{border-color:#191e38}.md\:border-indigo-darker{border-color:#2f365f}.md\:border-indigo-dark{border-color:#5661b3}.md\:border-indigo{border-color:#6574cd}.md\:border-indigo-light{border-color:#7886d7}.md\:border-indigo-lighter{border-color:#b2b7ff}.md\:border-indigo-lightest{border-color:#e6e8ff}.md\:border-purple-darkest{border-color:#21183c}.md\:border-purple-darker{border-color:#382b5f}.md\:border-purple-dark{border-color:#794acf}.md\:border-purple{border-color:#9561e2}.md\:border-purple-light{border-color:#a779e9}.md\:border-purple-lighter{border-color:#d6bbfc}.md\:border-purple-lightest{border-color:#f3ebff}.md\:border-pink-darkest{border-color:#451225}.md\:border-pink-darker{border-color:#6f213f}.md\:border-pink-dark{border-color:#eb5286}.md\:border-pink{border-color:#f66d9b}.md\:border-pink-light{border-color:#fa7ea8}.md\:border-pink-lighter{border-color:#ffbbca}.md\:border-pink-lightest{border-color:#ffebef}.md\:hover\:border-transparent:hover{border-color:transparent}.md\:hover\:border-black:hover{border-color:#22292f}.md\:hover\:border-grey-darkest:hover{border-color:#3d4852}.md\:hover\:border-grey-darker:hover{border-color:#606f7b}.md\:hover\:border-grey-dark:hover{border-color:#8795a1}.md\:hover\:border-grey:hover{border-color:#b8c2cc}.md\:hover\:border-grey-light:hover{border-color:#dae1e7}.md\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.md\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.md\:hover\:border-white:hover{border-color:#fff}.md\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.md\:hover\:border-red-darker:hover{border-color:#621b18}.md\:hover\:border-red-dark:hover{border-color:#cc1f1a}.md\:hover\:border-red:hover{border-color:#e3342f}.md\:hover\:border-red-light:hover{border-color:#ef5753}.md\:hover\:border-red-lighter:hover{border-color:#f9acaa}.md\:hover\:border-red-lightest:hover{border-color:#fcebea}.md\:hover\:border-orange-darkest:hover{border-color:#462a16}.md\:hover\:border-orange-darker:hover{border-color:#613b1f}.md\:hover\:border-orange-dark:hover{border-color:#de751f}.md\:hover\:border-orange:hover{border-color:#f6993f}.md\:hover\:border-orange-light:hover{border-color:#faad63}.md\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.md\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.md\:hover\:border-yellow-darkest:hover{border-color:#453411}.md\:hover\:border-yellow-darker:hover{border-color:#684f1d}.md\:hover\:border-yellow-dark:hover{border-color:#f2d024}.md\:hover\:border-yellow:hover{border-color:#ffed4a}.md\:hover\:border-yellow-light:hover{border-color:#fff382}.md\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.md\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.md\:hover\:border-green-darkest:hover{border-color:#0f2f21}.md\:hover\:border-green-darker:hover{border-color:#1a4731}.md\:hover\:border-green-dark:hover{border-color:#1f9d55}.md\:hover\:border-green:hover{border-color:#38c172}.md\:hover\:border-green-light:hover{border-color:#51d88a}.md\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.md\:hover\:border-green-lightest:hover{border-color:#e3fcec}.md\:hover\:border-teal-darkest:hover{border-color:#0d3331}.md\:hover\:border-teal-darker:hover{border-color:#20504f}.md\:hover\:border-teal-dark:hover{border-color:#38a89d}.md\:hover\:border-teal:hover{border-color:#4dc0b5}.md\:hover\:border-teal-light:hover{border-color:#64d5ca}.md\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.md\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.md\:hover\:border-blue-darkest:hover{border-color:#12283a}.md\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.md\:hover\:border-blue-dark:hover{border-color:#2779bd}.md\:hover\:border-blue:hover{border-color:#3490dc}.md\:hover\:border-blue-light:hover{border-color:#6cb2eb}.md\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.md\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.md\:hover\:border-indigo-darkest:hover{border-color:#191e38}.md\:hover\:border-indigo-darker:hover{border-color:#2f365f}.md\:hover\:border-indigo-dark:hover{border-color:#5661b3}.md\:hover\:border-indigo:hover{border-color:#6574cd}.md\:hover\:border-indigo-light:hover{border-color:#7886d7}.md\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.md\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.md\:hover\:border-purple-darkest:hover{border-color:#21183c}.md\:hover\:border-purple-darker:hover{border-color:#382b5f}.md\:hover\:border-purple-dark:hover{border-color:#794acf}.md\:hover\:border-purple:hover{border-color:#9561e2}.md\:hover\:border-purple-light:hover{border-color:#a779e9}.md\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.md\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.md\:hover\:border-pink-darkest:hover{border-color:#451225}.md\:hover\:border-pink-darker:hover{border-color:#6f213f}.md\:hover\:border-pink-dark:hover{border-color:#eb5286}.md\:hover\:border-pink:hover{border-color:#f66d9b}.md\:hover\:border-pink-light:hover{border-color:#fa7ea8}.md\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.md\:hover\:border-pink-lightest:hover{border-color:#ffebef}.md\:rounded-none{border-radius:0}.md\:rounded-sm{border-radius:.125rem}.md\:rounded{border-radius:.25rem}.md\:rounded-lg{border-radius:.5rem}.md\:rounded-full{border-radius:9999px}.md\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.md\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.md\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.md\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.md\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.md\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.md\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.md\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.md\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.md\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.md\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.md\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.md\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.md\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.md\:rounded-tl-none{border-top-left-radius:0}.md\:rounded-tr-none{border-top-right-radius:0}.md\:rounded-br-none{border-bottom-right-radius:0}.md\:rounded-bl-none{border-bottom-left-radius:0}.md\:rounded-tl-sm{border-top-left-radius:.125rem}.md\:rounded-tr-sm{border-top-right-radius:.125rem}.md\:rounded-br-sm{border-bottom-right-radius:.125rem}.md\:rounded-bl-sm{border-bottom-left-radius:.125rem}.md\:rounded-tl{border-top-left-radius:.25rem}.md\:rounded-tr{border-top-right-radius:.25rem}.md\:rounded-br{border-bottom-right-radius:.25rem}.md\:rounded-bl{border-bottom-left-radius:.25rem}.md\:rounded-tl-lg{border-top-left-radius:.5rem}.md\:rounded-tr-lg{border-top-right-radius:.5rem}.md\:rounded-br-lg{border-bottom-right-radius:.5rem}.md\:rounded-bl-lg{border-bottom-left-radius:.5rem}.md\:rounded-tl-full{border-top-left-radius:9999px}.md\:rounded-tr-full{border-top-right-radius:9999px}.md\:rounded-br-full{border-bottom-right-radius:9999px}.md\:rounded-bl-full{border-bottom-left-radius:9999px}.md\:border-solid{border-style:solid}.md\:border-dashed{border-style:dashed}.md\:border-dotted{border-style:dotted}.md\:border-none{border-style:none}.md\:border-0{border-width:0}.md\:border-2{border-width:2px}.md\:border-4{border-width:4px}.md\:border-8{border-width:8px}.md\:border{border-width:1px}.md\:border-t-0{border-top-width:0}.md\:border-r-0{border-right-width:0}.md\:border-b-0{border-bottom-width:0}.md\:border-l-0{border-left-width:0}.md\:border-t-2{border-top-width:2px}.md\:border-r-2{border-right-width:2px}.md\:border-b-2{border-bottom-width:2px}.md\:border-l-2{border-left-width:2px}.md\:border-t-4{border-top-width:4px}.md\:border-r-4{border-right-width:4px}.md\:border-b-4{border-bottom-width:4px}.md\:border-l-4{border-left-width:4px}.md\:border-t-8{border-top-width:8px}.md\:border-r-8{border-right-width:8px}.md\:border-b-8{border-bottom-width:8px}.md\:border-l-8{border-left-width:8px}.md\:border-t{border-top-width:1px}.md\:border-r{border-right-width:1px}.md\:border-b{border-bottom-width:1px}.md\:border-l{border-left-width:1px}.md\:cursor-auto{cursor:auto}.md\:cursor-default{cursor:default}.md\:cursor-pointer{cursor:pointer}.md\:cursor-not-allowed{cursor:not-allowed}.md\:block{display:block}.md\:inline-block{display:inline-block}.md\:inline{display:inline}.md\:table{display:table}.md\:table-row{display:table-row}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:flex{display:-webkit-box;display:flex}.md\:inline-flex{display:-webkit-inline-box;display:inline-flex}.md\:flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.md\:flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.md\:flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.md\:flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.md\:flex-wrap{flex-wrap:wrap}.md\:flex-wrap-reverse{flex-wrap:wrap-reverse}.md\:flex-no-wrap{flex-wrap:nowrap}.md\:items-start{-webkit-box-align:start;align-items:flex-start}.md\:items-end{-webkit-box-align:end;align-items:flex-end}.md\:items-center{-webkit-box-align:center;align-items:center}.md\:items-baseline{-webkit-box-align:baseline;align-items:baseline}.md\:items-stretch{-webkit-box-align:stretch;align-items:stretch}.md\:self-auto{align-self:auto}.md\:self-start{align-self:flex-start}.md\:self-end{align-self:flex-end}.md\:self-center{align-self:center}.md\:self-stretch{align-self:stretch}.md\:justify-start{-webkit-box-pack:start;justify-content:flex-start}.md\:justify-end{-webkit-box-pack:end;justify-content:flex-end}.md\:justify-center{-webkit-box-pack:center;justify-content:center}.md\:justify-between{-webkit-box-pack:justify;justify-content:space-between}.md\:justify-around{justify-content:space-around}.md\:content-center{align-content:center}.md\:content-start{align-content:flex-start}.md\:content-end{align-content:flex-end}.md\:content-between{align-content:space-between}.md\:content-around{align-content:space-around}.md\:flex-1{-webkit-box-flex:1;flex:1}.md\:flex-auto{-webkit-box-flex:1;flex:auto}.md\:flex-initial{-webkit-box-flex:initial;flex:initial}.md\:flex-none{-webkit-box-flex:0;flex:none}.md\:flex-grow{-webkit-box-flex:1;flex-grow:1}.md\:flex-shrink{flex-shrink:1}.md\:flex-no-grow{-webkit-box-flex:0;flex-grow:0}.md\:flex-no-shrink{flex-shrink:0}.md\:float-right{float:right}.md\:float-left{float:left}.md\:float-none{float:none}.md\:clearfix:after{content:"";display:table;clear:both}.md\:font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.md\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.md\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.md\:font-hairline{font-weight:100}.md\:font-thin{font-weight:200}.md\:font-light{font-weight:300}.md\:font-normal{font-weight:400}.md\:font-medium{font-weight:500}.md\:font-semibold{font-weight:600}.md\:font-bold{font-weight:700}.md\:font-extrabold{font-weight:800}.md\:font-black{font-weight:900}.md\:hover\:font-hairline:hover{font-weight:100}.md\:hover\:font-thin:hover{font-weight:200}.md\:hover\:font-light:hover{font-weight:300}.md\:hover\:font-normal:hover{font-weight:400}.md\:hover\:font-medium:hover{font-weight:500}.md\:hover\:font-semibold:hover{font-weight:600}.md\:hover\:font-bold:hover{font-weight:700}.md\:hover\:font-extrabold:hover{font-weight:800}.md\:hover\:font-black:hover{font-weight:900}.md\:h-1{height:.25rem}.md\:h-2{height:.5rem}.md\:h-3{height:.75rem}.md\:h-4{height:1rem}.md\:h-6{height:1.5rem}.md\:h-8{height:2rem}.md\:h-10{height:2.5rem}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-24{height:6rem}.md\:h-32{height:8rem}.md\:h-48{height:12rem}.md\:h-64{height:16rem}.md\:h-auto{height:auto}.md\:h-px{height:1px}.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:leading-none{line-height:1}.md\:leading-tight{line-height:1.25}.md\:leading-normal{line-height:1.5}.md\:leading-loose{line-height:2}.md\:m-0{margin:0}.md\:m-1{margin:.25rem}.md\:m-2{margin:.5rem}.md\:m-3{margin:.75rem}.md\:m-4{margin:1rem}.md\:m-6{margin:1.5rem}.md\:m-8{margin:2rem}.md\:m-auto{margin:auto}.md\:m-px{margin:1px}.md\:my-0{margin-top:0;margin-bottom:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-1{margin-top:.25rem;margin-bottom:.25rem}.md\:mx-1{margin-left:.25rem;margin-right:.25rem}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:my-3{margin-top:.75rem;margin-bottom:.75rem}.md\:mx-3{margin-left:.75rem;margin-right:.75rem}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.md\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.md\:my-8{margin-top:2rem;margin-bottom:2rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:my-auto{margin-top:auto;margin-bottom:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-px{margin-top:1px;margin-bottom:1px}.md\:mx-px{margin-left:1px;margin-right:1px}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-1{margin-top:.25rem}.md\:mr-1{margin-right:.25rem}.md\:mb-1{margin-bottom:.25rem}.md\:ml-1{margin-left:.25rem}.md\:mt-2{margin-top:.5rem}.md\:mr-2{margin-right:.5rem}.md\:mb-2{margin-bottom:.5rem}.md\:ml-2{margin-left:.5rem}.md\:mt-3{margin-top:.75rem}.md\:mr-3{margin-right:.75rem}.md\:mb-3{margin-bottom:.75rem}.md\:ml-3{margin-left:.75rem}.md\:mt-4{margin-top:1rem}.md\:mr-4{margin-right:1rem}.md\:mb-4{margin-bottom:1rem}.md\:ml-4{margin-left:1rem}.md\:mt-6{margin-top:1.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:ml-6{margin-left:1.5rem}.md\:mt-8{margin-top:2rem}.md\:mr-8{margin-right:2rem}.md\:mb-8{margin-bottom:2rem}.md\:ml-8{margin-left:2rem}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mt-px{margin-top:1px}.md\:mr-px{margin-right:1px}.md\:mb-px{margin-bottom:1px}.md\:ml-px{margin-left:1px}.md\:max-h-full{max-height:100%}.md\:max-h-screen{max-height:100vh}.md\:max-w-xs{max-width:20rem}.md\:max-w-sm{max-width:30rem}.md\:max-w-md{max-width:40rem}.md\:max-w-lg{max-width:50rem}.md\:max-w-xl{max-width:60rem}.md\:max-w-2xl{max-width:70rem}.md\:max-w-3xl{max-width:80rem}.md\:max-w-4xl{max-width:90rem}.md\:max-w-5xl{max-width:100rem}.md\:max-w-full{max-width:100%}.md\:min-h-0{min-height:0}.md\:min-h-full{min-height:100%}.md\:min-h-screen{min-height:100vh}.md\:min-w-0{min-width:0}.md\:min-w-full{min-width:100%}.md\:-m-0{margin:0}.md\:-m-1{margin:-.25rem}.md\:-m-2{margin:-.5rem}.md\:-m-3{margin:-.75rem}.md\:-m-4{margin:-1rem}.md\:-m-6{margin:-1.5rem}.md\:-m-8{margin:-2rem}.md\:-m-px{margin:-1px}.md\:-my-0{margin-top:0;margin-bottom:0}.md\:-mx-0{margin-left:0;margin-right:0}.md\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.md\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.md\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.md\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.md\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.md\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.md\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.md\:-mx-8{margin-left:-2rem;margin-right:-2rem}.md\:-my-px{margin-top:-1px;margin-bottom:-1px}.md\:-mx-px{margin-left:-1px;margin-right:-1px}.md\:-mt-0{margin-top:0}.md\:-mr-0{margin-right:0}.md\:-mb-0{margin-bottom:0}.md\:-ml-0{margin-left:0}.md\:-mt-1{margin-top:-.25rem}.md\:-mr-1{margin-right:-.25rem}.md\:-mb-1{margin-bottom:-.25rem}.md\:-ml-1{margin-left:-.25rem}.md\:-mt-2{margin-top:-.5rem}.md\:-mr-2{margin-right:-.5rem}.md\:-mb-2{margin-bottom:-.5rem}.md\:-ml-2{margin-left:-.5rem}.md\:-mt-3{margin-top:-.75rem}.md\:-mr-3{margin-right:-.75rem}.md\:-mb-3{margin-bottom:-.75rem}.md\:-ml-3{margin-left:-.75rem}.md\:-mt-4{margin-top:-1rem}.md\:-mr-4{margin-right:-1rem}.md\:-mb-4{margin-bottom:-1rem}.md\:-ml-4{margin-left:-1rem}.md\:-mt-6{margin-top:-1.5rem}.md\:-mr-6{margin-right:-1.5rem}.md\:-mb-6{margin-bottom:-1.5rem}.md\:-ml-6{margin-left:-1.5rem}.md\:-mt-8{margin-top:-2rem}.md\:-mr-8{margin-right:-2rem}.md\:-mb-8{margin-bottom:-2rem}.md\:-ml-8{margin-left:-2rem}.md\:-mt-px{margin-top:-1px}.md\:-mr-px{margin-right:-1px}.md\:-mb-px{margin-bottom:-1px}.md\:-ml-px{margin-left:-1px}.md\:opacity-0{opacity:0}.md\:opacity-25{opacity:.25}.md\:opacity-50{opacity:.5}.md\:opacity-75{opacity:.75}.md\:opacity-100{opacity:1}.md\:overflow-auto{overflow:auto}.md\:overflow-hidden{overflow:hidden}.md\:overflow-visible{overflow:visible}.md\:overflow-scroll{overflow:scroll}.md\:overflow-x-scroll{overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.md\:overflow-y-scroll{overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.md\:scrolling-touch{-webkit-overflow-scrolling:touch}.md\:scrolling-auto{-webkit-overflow-scrolling:auto}.md\:p-0{padding:0}.md\:p-1{padding:.25rem}.md\:p-2{padding:.5rem}.md\:p-3{padding:.75rem}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:p-px{padding:1px}.md\:py-0{padding-top:0;padding-bottom:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:px-1{padding-left:.25rem;padding-right:.25rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-px{padding-top:1px;padding-bottom:1px}.md\:px-px{padding-left:1px;padding-right:1px}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:pt-1{padding-top:.25rem}.md\:pr-1{padding-right:.25rem}.md\:pb-1{padding-bottom:.25rem}.md\:pl-1{padding-left:.25rem}.md\:pt-2{padding-top:.5rem}.md\:pr-2{padding-right:.5rem}.md\:pb-2{padding-bottom:.5rem}.md\:pl-2{padding-left:.5rem}.md\:pt-3{padding-top:.75rem}.md\:pr-3{padding-right:.75rem}.md\:pb-3{padding-bottom:.75rem}.md\:pl-3{padding-left:.75rem}.md\:pt-4{padding-top:1rem}.md\:pr-4{padding-right:1rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:pt-6{padding-top:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pt-8{padding-top:2rem}.md\:pr-8{padding-right:2rem}.md\:pb-8{padding-bottom:2rem}.md\:pl-8{padding-left:2rem}.md\:pt-px{padding-top:1px}.md\:pr-px{padding-right:1px}.md\:pb-px{padding-bottom:1px}.md\:pl-px{padding-left:1px}.md\:pointer-events-none{pointer-events:none}.md\:pointer-events-auto{pointer-events:auto}.md\:static{position:static}.md\:fixed{position:fixed}.md\:absolute{position:absolute}.md\:relative{position:relative}.md\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.md\:pin{top:0;right:0;bottom:0;left:0}.md\:pin-y{top:0;bottom:0}.md\:pin-x{right:0;left:0}.md\:pin-t{top:0}.md\:pin-r{right:0}.md\:pin-b{bottom:0}.md\:pin-l{left:0}.md\:resize-none{resize:none}.md\:resize-y{resize:vertical}.md\:resize-x{resize:horizontal}.md\:resize{resize:both}.md\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.md\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.md\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.md\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.md\:shadow-none{box-shadow:none}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:text-justify{text-align:justify}.md\:text-transparent{color:transparent}.md\:text-black{color:#22292f}.md\:text-grey-darkest{color:#3d4852}.md\:text-grey-darker{color:#606f7b}.md\:text-grey-dark{color:#8795a1}.md\:text-grey{color:#b8c2cc}.md\:text-grey-light{color:#dae1e7}.md\:text-grey-lighter{color:#f1f5f8}.md\:text-grey-lightest{color:#f8fafc}.md\:text-white{color:#fff}.md\:text-red-darkest{color:#3b0d0c}.md\:text-red-darker{color:#621b18}.md\:text-red-dark{color:#cc1f1a}.md\:text-red{color:#e3342f}.md\:text-red-light{color:#ef5753}.md\:text-red-lighter{color:#f9acaa}.md\:text-red-lightest{color:#fcebea}.md\:text-orange-darkest{color:#462a16}.md\:text-orange-darker{color:#613b1f}.md\:text-orange-dark{color:#de751f}.md\:text-orange{color:#f6993f}.md\:text-orange-light{color:#faad63}.md\:text-orange-lighter{color:#fcd9b6}.md\:text-orange-lightest{color:#fff5eb}.md\:text-yellow-darkest{color:#453411}.md\:text-yellow-darker{color:#684f1d}.md\:text-yellow-dark{color:#f2d024}.md\:text-yellow{color:#ffed4a}.md\:text-yellow-light{color:#fff382}.md\:text-yellow-lighter{color:#fff9c2}.md\:text-yellow-lightest{color:#fcfbeb}.md\:text-green-darkest{color:#0f2f21}.md\:text-green-darker{color:#1a4731}.md\:text-green-dark{color:#1f9d55}.md\:text-green{color:#38c172}.md\:text-green-light{color:#51d88a}.md\:text-green-lighter{color:#a2f5bf}.md\:text-green-lightest{color:#e3fcec}.md\:text-teal-darkest{color:#0d3331}.md\:text-teal-darker{color:#20504f}.md\:text-teal-dark{color:#38a89d}.md\:text-teal{color:#4dc0b5}.md\:text-teal-light{color:#64d5ca}.md\:text-teal-lighter{color:#a0f0ed}.md\:text-teal-lightest{color:#e8fffe}.md\:text-blue-darkest{color:#12283a}.md\:text-blue-darker{color:#1c3d5a}.md\:text-blue-dark{color:#2779bd}.md\:text-blue{color:#3490dc}.md\:text-blue-light{color:#6cb2eb}.md\:text-blue-lighter{color:#bcdefa}.md\:text-blue-lightest{color:#eff8ff}.md\:text-indigo-darkest{color:#191e38}.md\:text-indigo-darker{color:#2f365f}.md\:text-indigo-dark{color:#5661b3}.md\:text-indigo{color:#6574cd}.md\:text-indigo-light{color:#7886d7}.md\:text-indigo-lighter{color:#b2b7ff}.md\:text-indigo-lightest{color:#e6e8ff}.md\:text-purple-darkest{color:#21183c}.md\:text-purple-darker{color:#382b5f}.md\:text-purple-dark{color:#794acf}.md\:text-purple{color:#9561e2}.md\:text-purple-light{color:#a779e9}.md\:text-purple-lighter{color:#d6bbfc}.md\:text-purple-lightest{color:#f3ebff}.md\:text-pink-darkest{color:#451225}.md\:text-pink-darker{color:#6f213f}.md\:text-pink-dark{color:#eb5286}.md\:text-pink{color:#f66d9b}.md\:text-pink-light{color:#fa7ea8}.md\:text-pink-lighter{color:#ffbbca}.md\:text-pink-lightest{color:#ffebef}.md\:hover\:text-transparent:hover{color:transparent}.md\:hover\:text-black:hover{color:#22292f}.md\:hover\:text-grey-darkest:hover{color:#3d4852}.md\:hover\:text-grey-darker:hover{color:#606f7b}.md\:hover\:text-grey-dark:hover{color:#8795a1}.md\:hover\:text-grey:hover{color:#b8c2cc}.md\:hover\:text-grey-light:hover{color:#dae1e7}.md\:hover\:text-grey-lighter:hover{color:#f1f5f8}.md\:hover\:text-grey-lightest:hover{color:#f8fafc}.md\:hover\:text-white:hover{color:#fff}.md\:hover\:text-red-darkest:hover{color:#3b0d0c}.md\:hover\:text-red-darker:hover{color:#621b18}.md\:hover\:text-red-dark:hover{color:#cc1f1a}.md\:hover\:text-red:hover{color:#e3342f}.md\:hover\:text-red-light:hover{color:#ef5753}.md\:hover\:text-red-lighter:hover{color:#f9acaa}.md\:hover\:text-red-lightest:hover{color:#fcebea}.md\:hover\:text-orange-darkest:hover{color:#462a16}.md\:hover\:text-orange-darker:hover{color:#613b1f}.md\:hover\:text-orange-dark:hover{color:#de751f}.md\:hover\:text-orange:hover{color:#f6993f}.md\:hover\:text-orange-light:hover{color:#faad63}.md\:hover\:text-orange-lighter:hover{color:#fcd9b6}.md\:hover\:text-orange-lightest:hover{color:#fff5eb}.md\:hover\:text-yellow-darkest:hover{color:#453411}.md\:hover\:text-yellow-darker:hover{color:#684f1d}.md\:hover\:text-yellow-dark:hover{color:#f2d024}.md\:hover\:text-yellow:hover{color:#ffed4a}.md\:hover\:text-yellow-light:hover{color:#fff382}.md\:hover\:text-yellow-lighter:hover{color:#fff9c2}.md\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.md\:hover\:text-green-darkest:hover{color:#0f2f21}.md\:hover\:text-green-darker:hover{color:#1a4731}.md\:hover\:text-green-dark:hover{color:#1f9d55}.md\:hover\:text-green:hover{color:#38c172}.md\:hover\:text-green-light:hover{color:#51d88a}.md\:hover\:text-green-lighter:hover{color:#a2f5bf}.md\:hover\:text-green-lightest:hover{color:#e3fcec}.md\:hover\:text-teal-darkest:hover{color:#0d3331}.md\:hover\:text-teal-darker:hover{color:#20504f}.md\:hover\:text-teal-dark:hover{color:#38a89d}.md\:hover\:text-teal:hover{color:#4dc0b5}.md\:hover\:text-teal-light:hover{color:#64d5ca}.md\:hover\:text-teal-lighter:hover{color:#a0f0ed}.md\:hover\:text-teal-lightest:hover{color:#e8fffe}.md\:hover\:text-blue-darkest:hover{color:#12283a}.md\:hover\:text-blue-darker:hover{color:#1c3d5a}.md\:hover\:text-blue-dark:hover{color:#2779bd}.md\:hover\:text-blue:hover{color:#3490dc}.md\:hover\:text-blue-light:hover{color:#6cb2eb}.md\:hover\:text-blue-lighter:hover{color:#bcdefa}.md\:hover\:text-blue-lightest:hover{color:#eff8ff}.md\:hover\:text-indigo-darkest:hover{color:#191e38}.md\:hover\:text-indigo-darker:hover{color:#2f365f}.md\:hover\:text-indigo-dark:hover{color:#5661b3}.md\:hover\:text-indigo:hover{color:#6574cd}.md\:hover\:text-indigo-light:hover{color:#7886d7}.md\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.md\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.md\:hover\:text-purple-darkest:hover{color:#21183c}.md\:hover\:text-purple-darker:hover{color:#382b5f}.md\:hover\:text-purple-dark:hover{color:#794acf}.md\:hover\:text-purple:hover{color:#9561e2}.md\:hover\:text-purple-light:hover{color:#a779e9}.md\:hover\:text-purple-lighter:hover{color:#d6bbfc}.md\:hover\:text-purple-lightest:hover{color:#f3ebff}.md\:hover\:text-pink-darkest:hover{color:#451225}.md\:hover\:text-pink-darker:hover{color:#6f213f}.md\:hover\:text-pink-dark:hover{color:#eb5286}.md\:hover\:text-pink:hover{color:#f66d9b}.md\:hover\:text-pink-light:hover{color:#fa7ea8}.md\:hover\:text-pink-lighter:hover{color:#ffbbca}.md\:hover\:text-pink-lightest:hover{color:#ffebef}.md\:text-xs{font-size:.75rem}.md\:text-sm{font-size:.875rem}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:text-2xl{font-size:1.5rem}.md\:text-3xl{font-size:1.875rem}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:italic{font-style:italic}.md\:roman{font-style:normal}.md\:uppercase{text-transform:uppercase}.md\:lowercase{text-transform:lowercase}.md\:capitalize{text-transform:capitalize}.md\:normal-case{text-transform:none}.md\:underline{text-decoration:underline}.md\:line-through{text-decoration:line-through}.md\:no-underline{text-decoration:none}.md\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:hover\:italic:hover{font-style:italic}.md\:hover\:roman:hover{font-style:normal}.md\:hover\:uppercase:hover{text-transform:uppercase}.md\:hover\:lowercase:hover{text-transform:lowercase}.md\:hover\:capitalize:hover{text-transform:capitalize}.md\:hover\:normal-case:hover{text-transform:none}.md\:hover\:underline:hover{text-decoration:underline}.md\:hover\:line-through:hover{text-decoration:line-through}.md\:hover\:no-underline:hover{text-decoration:none}.md\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.md\:tracking-tight{letter-spacing:-.05em}.md\:tracking-normal{letter-spacing:0}.md\:tracking-wide{letter-spacing:.05em}.md\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.md\:align-baseline{vertical-align:baseline}.md\:align-top{vertical-align:top}.md\:align-middle{vertical-align:middle}.md\:align-bottom{vertical-align:bottom}.md\:align-text-top{vertical-align:text-top}.md\:align-text-bottom{vertical-align:text-bottom}.md\:visible{visibility:visible}.md\:invisible{visibility:hidden}.md\:whitespace-normal{white-space:normal}.md\:whitespace-no-wrap{white-space:nowrap}.md\:whitespace-pre{white-space:pre}.md\:whitespace-pre-line{white-space:pre-line}.md\:whitespace-pre-wrap{white-space:pre-wrap}.md\:break-words{word-wrap:break-word}.md\:break-normal{word-wrap:normal}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:w-1{width:.25rem}.md\:w-2{width:.5rem}.md\:w-3{width:.75rem}.md\:w-4{width:1rem}.md\:w-6{width:1.5rem}.md\:w-8{width:2rem}.md\:w-10{width:2.5rem}.md\:w-12{width:3rem}.md\:w-16{width:4rem}.md\:w-24{width:6rem}.md\:w-32{width:8rem}.md\:w-48{width:12rem}.md\:w-64{width:16rem}.md\:w-auto{width:auto}.md\:w-px{width:1px}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.33333%}.md\:w-2\/3{width:66.66667%}.md\:w-1\/4{width:25%}.md\:w-3\/4{width:75%}.md\:w-1\/5{width:20%}.md\:w-2\/5{width:40%}.md\:w-3\/5{width:60%}.md\:w-4\/5{width:80%}.md\:w-1\/6{width:16.66667%}.md\:w-5\/6{width:83.33333%}.md\:w-full{width:100%}.md\:w-screen{width:100vw}.md\:z-0{z-index:0}.md\:z-10{z-index:10}.md\:z-20{z-index:20}.md\:z-30{z-index:30}.md\:z-40{z-index:40}.md\:z-50{z-index:50}.md\:z-auto{z-index:auto}}@media (min-width:992px){.lg\:list-reset{list-style:none;padding:0}.lg\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.lg\:bg-fixed{background-attachment:fixed}.lg\:bg-local{background-attachment:local}.lg\:bg-scroll{background-attachment:scroll}.lg\:bg-transparent{background-color:transparent}.lg\:bg-black{background-color:#22292f}.lg\:bg-grey-darkest{background-color:#3d4852}.lg\:bg-grey-darker{background-color:#606f7b}.lg\:bg-grey-dark{background-color:#8795a1}.lg\:bg-grey{background-color:#b8c2cc}.lg\:bg-grey-light{background-color:#dae1e7}.lg\:bg-grey-lighter{background-color:#f1f5f8}.lg\:bg-grey-lightest{background-color:#f8fafc}.lg\:bg-white{background-color:#fff}.lg\:bg-red-darkest{background-color:#3b0d0c}.lg\:bg-red-darker{background-color:#621b18}.lg\:bg-red-dark{background-color:#cc1f1a}.lg\:bg-red{background-color:#e3342f}.lg\:bg-red-light{background-color:#ef5753}.lg\:bg-red-lighter{background-color:#f9acaa}.lg\:bg-red-lightest{background-color:#fcebea}.lg\:bg-orange-darkest{background-color:#462a16}.lg\:bg-orange-darker{background-color:#613b1f}.lg\:bg-orange-dark{background-color:#de751f}.lg\:bg-orange{background-color:#f6993f}.lg\:bg-orange-light{background-color:#faad63}.lg\:bg-orange-lighter{background-color:#fcd9b6}.lg\:bg-orange-lightest{background-color:#fff5eb}.lg\:bg-yellow-darkest{background-color:#453411}.lg\:bg-yellow-darker{background-color:#684f1d}.lg\:bg-yellow-dark{background-color:#f2d024}.lg\:bg-yellow{background-color:#ffed4a}.lg\:bg-yellow-light{background-color:#fff382}.lg\:bg-yellow-lighter{background-color:#fff9c2}.lg\:bg-yellow-lightest{background-color:#fcfbeb}.lg\:bg-green-darkest{background-color:#0f2f21}.lg\:bg-green-darker{background-color:#1a4731}.lg\:bg-green-dark{background-color:#1f9d55}.lg\:bg-green{background-color:#38c172}.lg\:bg-green-light{background-color:#51d88a}.lg\:bg-green-lighter{background-color:#a2f5bf}.lg\:bg-green-lightest{background-color:#e3fcec}.lg\:bg-teal-darkest{background-color:#0d3331}.lg\:bg-teal-darker{background-color:#20504f}.lg\:bg-teal-dark{background-color:#38a89d}.lg\:bg-teal{background-color:#4dc0b5}.lg\:bg-teal-light{background-color:#64d5ca}.lg\:bg-teal-lighter{background-color:#a0f0ed}.lg\:bg-teal-lightest{background-color:#e8fffe}.lg\:bg-blue-darkest{background-color:#12283a}.lg\:bg-blue-darker{background-color:#1c3d5a}.lg\:bg-blue-dark{background-color:#2779bd}.lg\:bg-blue{background-color:#3490dc}.lg\:bg-blue-light{background-color:#6cb2eb}.lg\:bg-blue-lighter{background-color:#bcdefa}.lg\:bg-blue-lightest{background-color:#eff8ff}.lg\:bg-indigo-darkest{background-color:#191e38}.lg\:bg-indigo-darker{background-color:#2f365f}.lg\:bg-indigo-dark{background-color:#5661b3}.lg\:bg-indigo{background-color:#6574cd}.lg\:bg-indigo-light{background-color:#7886d7}.lg\:bg-indigo-lighter{background-color:#b2b7ff}.lg\:bg-indigo-lightest{background-color:#e6e8ff}.lg\:bg-purple-darkest{background-color:#21183c}.lg\:bg-purple-darker{background-color:#382b5f}.lg\:bg-purple-dark{background-color:#794acf}.lg\:bg-purple{background-color:#9561e2}.lg\:bg-purple-light{background-color:#a779e9}.lg\:bg-purple-lighter{background-color:#d6bbfc}.lg\:bg-purple-lightest{background-color:#f3ebff}.lg\:bg-pink-darkest{background-color:#451225}.lg\:bg-pink-darker{background-color:#6f213f}.lg\:bg-pink-dark{background-color:#eb5286}.lg\:bg-pink{background-color:#f66d9b}.lg\:bg-pink-light{background-color:#fa7ea8}.lg\:bg-pink-lighter{background-color:#ffbbca}.lg\:bg-pink-lightest{background-color:#ffebef}.lg\:hover\:bg-transparent:hover{background-color:transparent}.lg\:hover\:bg-black:hover{background-color:#22292f}.lg\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.lg\:hover\:bg-grey-darker:hover{background-color:#606f7b}.lg\:hover\:bg-grey-dark:hover{background-color:#8795a1}.lg\:hover\:bg-grey:hover{background-color:#b8c2cc}.lg\:hover\:bg-grey-light:hover{background-color:#dae1e7}.lg\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.lg\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.lg\:hover\:bg-white:hover{background-color:#fff}.lg\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.lg\:hover\:bg-red-darker:hover{background-color:#621b18}.lg\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.lg\:hover\:bg-red:hover{background-color:#e3342f}.lg\:hover\:bg-red-light:hover{background-color:#ef5753}.lg\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.lg\:hover\:bg-red-lightest:hover{background-color:#fcebea}.lg\:hover\:bg-orange-darkest:hover{background-color:#462a16}.lg\:hover\:bg-orange-darker:hover{background-color:#613b1f}.lg\:hover\:bg-orange-dark:hover{background-color:#de751f}.lg\:hover\:bg-orange:hover{background-color:#f6993f}.lg\:hover\:bg-orange-light:hover{background-color:#faad63}.lg\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.lg\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.lg\:hover\:bg-yellow-darkest:hover{background-color:#453411}.lg\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.lg\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.lg\:hover\:bg-yellow:hover{background-color:#ffed4a}.lg\:hover\:bg-yellow-light:hover{background-color:#fff382}.lg\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.lg\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.lg\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.lg\:hover\:bg-green-darker:hover{background-color:#1a4731}.lg\:hover\:bg-green-dark:hover{background-color:#1f9d55}.lg\:hover\:bg-green:hover{background-color:#38c172}.lg\:hover\:bg-green-light:hover{background-color:#51d88a}.lg\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.lg\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.lg\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.lg\:hover\:bg-teal-darker:hover{background-color:#20504f}.lg\:hover\:bg-teal-dark:hover{background-color:#38a89d}.lg\:hover\:bg-teal:hover{background-color:#4dc0b5}.lg\:hover\:bg-teal-light:hover{background-color:#64d5ca}.lg\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.lg\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.lg\:hover\:bg-blue-darkest:hover{background-color:#12283a}.lg\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.lg\:hover\:bg-blue-dark:hover{background-color:#2779bd}.lg\:hover\:bg-blue:hover{background-color:#3490dc}.lg\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.lg\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.lg\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.lg\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.lg\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.lg\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.lg\:hover\:bg-indigo:hover{background-color:#6574cd}.lg\:hover\:bg-indigo-light:hover{background-color:#7886d7}.lg\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.lg\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.lg\:hover\:bg-purple-darkest:hover{background-color:#21183c}.lg\:hover\:bg-purple-darker:hover{background-color:#382b5f}.lg\:hover\:bg-purple-dark:hover{background-color:#794acf}.lg\:hover\:bg-purple:hover{background-color:#9561e2}.lg\:hover\:bg-purple-light:hover{background-color:#a779e9}.lg\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.lg\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.lg\:hover\:bg-pink-darkest:hover{background-color:#451225}.lg\:hover\:bg-pink-darker:hover{background-color:#6f213f}.lg\:hover\:bg-pink-dark:hover{background-color:#eb5286}.lg\:hover\:bg-pink:hover{background-color:#f66d9b}.lg\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.lg\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.lg\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.lg\:bg-bottom{background-position:bottom}.lg\:bg-center{background-position:center}.lg\:bg-left{background-position:left}.lg\:bg-left-bottom{background-position:left bottom}.lg\:bg-left-top{background-position:left top}.lg\:bg-right{background-position:right}.lg\:bg-right-bottom{background-position:right bottom}.lg\:bg-right-top{background-position:right top}.lg\:bg-top{background-position:top}.lg\:bg-repeat{background-repeat:repeat}.lg\:bg-no-repeat{background-repeat:no-repeat}.lg\:bg-repeat-x{background-repeat:repeat-x}.lg\:bg-repeat-y{background-repeat:repeat-y}.lg\:bg-cover{background-size:cover}.lg\:bg-contain{background-size:contain}.lg\:border-transparent{border-color:transparent}.lg\:border-black{border-color:#22292f}.lg\:border-grey-darkest{border-color:#3d4852}.lg\:border-grey-darker{border-color:#606f7b}.lg\:border-grey-dark{border-color:#8795a1}.lg\:border-grey{border-color:#b8c2cc}.lg\:border-grey-light{border-color:#dae1e7}.lg\:border-grey-lighter{border-color:#f1f5f8}.lg\:border-grey-lightest{border-color:#f8fafc}.lg\:border-white{border-color:#fff}.lg\:border-red-darkest{border-color:#3b0d0c}.lg\:border-red-darker{border-color:#621b18}.lg\:border-red-dark{border-color:#cc1f1a}.lg\:border-red{border-color:#e3342f}.lg\:border-red-light{border-color:#ef5753}.lg\:border-red-lighter{border-color:#f9acaa}.lg\:border-red-lightest{border-color:#fcebea}.lg\:border-orange-darkest{border-color:#462a16}.lg\:border-orange-darker{border-color:#613b1f}.lg\:border-orange-dark{border-color:#de751f}.lg\:border-orange{border-color:#f6993f}.lg\:border-orange-light{border-color:#faad63}.lg\:border-orange-lighter{border-color:#fcd9b6}.lg\:border-orange-lightest{border-color:#fff5eb}.lg\:border-yellow-darkest{border-color:#453411}.lg\:border-yellow-darker{border-color:#684f1d}.lg\:border-yellow-dark{border-color:#f2d024}.lg\:border-yellow{border-color:#ffed4a}.lg\:border-yellow-light{border-color:#fff382}.lg\:border-yellow-lighter{border-color:#fff9c2}.lg\:border-yellow-lightest{border-color:#fcfbeb}.lg\:border-green-darkest{border-color:#0f2f21}.lg\:border-green-darker{border-color:#1a4731}.lg\:border-green-dark{border-color:#1f9d55}.lg\:border-green{border-color:#38c172}.lg\:border-green-light{border-color:#51d88a}.lg\:border-green-lighter{border-color:#a2f5bf}.lg\:border-green-lightest{border-color:#e3fcec}.lg\:border-teal-darkest{border-color:#0d3331}.lg\:border-teal-darker{border-color:#20504f}.lg\:border-teal-dark{border-color:#38a89d}.lg\:border-teal{border-color:#4dc0b5}.lg\:border-teal-light{border-color:#64d5ca}.lg\:border-teal-lighter{border-color:#a0f0ed}.lg\:border-teal-lightest{border-color:#e8fffe}.lg\:border-blue-darkest{border-color:#12283a}.lg\:border-blue-darker{border-color:#1c3d5a}.lg\:border-blue-dark{border-color:#2779bd}.lg\:border-blue{border-color:#3490dc}.lg\:border-blue-light{border-color:#6cb2eb}.lg\:border-blue-lighter{border-color:#bcdefa}.lg\:border-blue-lightest{border-color:#eff8ff}.lg\:border-indigo-darkest{border-color:#191e38}.lg\:border-indigo-darker{border-color:#2f365f}.lg\:border-indigo-dark{border-color:#5661b3}.lg\:border-indigo{border-color:#6574cd}.lg\:border-indigo-light{border-color:#7886d7}.lg\:border-indigo-lighter{border-color:#b2b7ff}.lg\:border-indigo-lightest{border-color:#e6e8ff}.lg\:border-purple-darkest{border-color:#21183c}.lg\:border-purple-darker{border-color:#382b5f}.lg\:border-purple-dark{border-color:#794acf}.lg\:border-purple{border-color:#9561e2}.lg\:border-purple-light{border-color:#a779e9}.lg\:border-purple-lighter{border-color:#d6bbfc}.lg\:border-purple-lightest{border-color:#f3ebff}.lg\:border-pink-darkest{border-color:#451225}.lg\:border-pink-darker{border-color:#6f213f}.lg\:border-pink-dark{border-color:#eb5286}.lg\:border-pink{border-color:#f66d9b}.lg\:border-pink-light{border-color:#fa7ea8}.lg\:border-pink-lighter{border-color:#ffbbca}.lg\:border-pink-lightest{border-color:#ffebef}.lg\:hover\:border-transparent:hover{border-color:transparent}.lg\:hover\:border-black:hover{border-color:#22292f}.lg\:hover\:border-grey-darkest:hover{border-color:#3d4852}.lg\:hover\:border-grey-darker:hover{border-color:#606f7b}.lg\:hover\:border-grey-dark:hover{border-color:#8795a1}.lg\:hover\:border-grey:hover{border-color:#b8c2cc}.lg\:hover\:border-grey-light:hover{border-color:#dae1e7}.lg\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.lg\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.lg\:hover\:border-white:hover{border-color:#fff}.lg\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.lg\:hover\:border-red-darker:hover{border-color:#621b18}.lg\:hover\:border-red-dark:hover{border-color:#cc1f1a}.lg\:hover\:border-red:hover{border-color:#e3342f}.lg\:hover\:border-red-light:hover{border-color:#ef5753}.lg\:hover\:border-red-lighter:hover{border-color:#f9acaa}.lg\:hover\:border-red-lightest:hover{border-color:#fcebea}.lg\:hover\:border-orange-darkest:hover{border-color:#462a16}.lg\:hover\:border-orange-darker:hover{border-color:#613b1f}.lg\:hover\:border-orange-dark:hover{border-color:#de751f}.lg\:hover\:border-orange:hover{border-color:#f6993f}.lg\:hover\:border-orange-light:hover{border-color:#faad63}.lg\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.lg\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.lg\:hover\:border-yellow-darkest:hover{border-color:#453411}.lg\:hover\:border-yellow-darker:hover{border-color:#684f1d}.lg\:hover\:border-yellow-dark:hover{border-color:#f2d024}.lg\:hover\:border-yellow:hover{border-color:#ffed4a}.lg\:hover\:border-yellow-light:hover{border-color:#fff382}.lg\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.lg\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.lg\:hover\:border-green-darkest:hover{border-color:#0f2f21}.lg\:hover\:border-green-darker:hover{border-color:#1a4731}.lg\:hover\:border-green-dark:hover{border-color:#1f9d55}.lg\:hover\:border-green:hover{border-color:#38c172}.lg\:hover\:border-green-light:hover{border-color:#51d88a}.lg\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.lg\:hover\:border-green-lightest:hover{border-color:#e3fcec}.lg\:hover\:border-teal-darkest:hover{border-color:#0d3331}.lg\:hover\:border-teal-darker:hover{border-color:#20504f}.lg\:hover\:border-teal-dark:hover{border-color:#38a89d}.lg\:hover\:border-teal:hover{border-color:#4dc0b5}.lg\:hover\:border-teal-light:hover{border-color:#64d5ca}.lg\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.lg\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.lg\:hover\:border-blue-darkest:hover{border-color:#12283a}.lg\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.lg\:hover\:border-blue-dark:hover{border-color:#2779bd}.lg\:hover\:border-blue:hover{border-color:#3490dc}.lg\:hover\:border-blue-light:hover{border-color:#6cb2eb}.lg\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.lg\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.lg\:hover\:border-indigo-darkest:hover{border-color:#191e38}.lg\:hover\:border-indigo-darker:hover{border-color:#2f365f}.lg\:hover\:border-indigo-dark:hover{border-color:#5661b3}.lg\:hover\:border-indigo:hover{border-color:#6574cd}.lg\:hover\:border-indigo-light:hover{border-color:#7886d7}.lg\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.lg\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.lg\:hover\:border-purple-darkest:hover{border-color:#21183c}.lg\:hover\:border-purple-darker:hover{border-color:#382b5f}.lg\:hover\:border-purple-dark:hover{border-color:#794acf}.lg\:hover\:border-purple:hover{border-color:#9561e2}.lg\:hover\:border-purple-light:hover{border-color:#a779e9}.lg\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.lg\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.lg\:hover\:border-pink-darkest:hover{border-color:#451225}.lg\:hover\:border-pink-darker:hover{border-color:#6f213f}.lg\:hover\:border-pink-dark:hover{border-color:#eb5286}.lg\:hover\:border-pink:hover{border-color:#f66d9b}.lg\:hover\:border-pink-light:hover{border-color:#fa7ea8}.lg\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.lg\:hover\:border-pink-lightest:hover{border-color:#ffebef}.lg\:rounded-none{border-radius:0}.lg\:rounded-sm{border-radius:.125rem}.lg\:rounded{border-radius:.25rem}.lg\:rounded-lg{border-radius:.5rem}.lg\:rounded-full{border-radius:9999px}.lg\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.lg\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.lg\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.lg\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.lg\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.lg\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.lg\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.lg\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.lg\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.lg\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.lg\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.lg\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.lg\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.lg\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.lg\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.lg\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.lg\:rounded-tl-none{border-top-left-radius:0}.lg\:rounded-tr-none{border-top-right-radius:0}.lg\:rounded-br-none{border-bottom-right-radius:0}.lg\:rounded-bl-none{border-bottom-left-radius:0}.lg\:rounded-tl-sm{border-top-left-radius:.125rem}.lg\:rounded-tr-sm{border-top-right-radius:.125rem}.lg\:rounded-br-sm{border-bottom-right-radius:.125rem}.lg\:rounded-bl-sm{border-bottom-left-radius:.125rem}.lg\:rounded-tl{border-top-left-radius:.25rem}.lg\:rounded-tr{border-top-right-radius:.25rem}.lg\:rounded-br{border-bottom-right-radius:.25rem}.lg\:rounded-bl{border-bottom-left-radius:.25rem}.lg\:rounded-tl-lg{border-top-left-radius:.5rem}.lg\:rounded-tr-lg{border-top-right-radius:.5rem}.lg\:rounded-br-lg{border-bottom-right-radius:.5rem}.lg\:rounded-bl-lg{border-bottom-left-radius:.5rem}.lg\:rounded-tl-full{border-top-left-radius:9999px}.lg\:rounded-tr-full{border-top-right-radius:9999px}.lg\:rounded-br-full{border-bottom-right-radius:9999px}.lg\:rounded-bl-full{border-bottom-left-radius:9999px}.lg\:border-solid{border-style:solid}.lg\:border-dashed{border-style:dashed}.lg\:border-dotted{border-style:dotted}.lg\:border-none{border-style:none}.lg\:border-0{border-width:0}.lg\:border-2{border-width:2px}.lg\:border-4{border-width:4px}.lg\:border-8{border-width:8px}.lg\:border{border-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:border-r-0{border-right-width:0}.lg\:border-b-0{border-bottom-width:0}.lg\:border-l-0{border-left-width:0}.lg\:border-t-2{border-top-width:2px}.lg\:border-r-2{border-right-width:2px}.lg\:border-b-2{border-bottom-width:2px}.lg\:border-l-2{border-left-width:2px}.lg\:border-t-4{border-top-width:4px}.lg\:border-r-4{border-right-width:4px}.lg\:border-b-4{border-bottom-width:4px}.lg\:border-l-4{border-left-width:4px}.lg\:border-t-8{border-top-width:8px}.lg\:border-r-8{border-right-width:8px}.lg\:border-b-8{border-bottom-width:8px}.lg\:border-l-8{border-left-width:8px}.lg\:border-t{border-top-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-b{border-bottom-width:1px}.lg\:border-l{border-left-width:1px}.lg\:cursor-auto{cursor:auto}.lg\:cursor-default{cursor:default}.lg\:cursor-pointer{cursor:pointer}.lg\:cursor-not-allowed{cursor:not-allowed}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:inline{display:inline}.lg\:table{display:table}.lg\:table-row{display:table-row}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:flex{display:-webkit-box;display:flex}.lg\:inline-flex{display:-webkit-inline-box;display:inline-flex}.lg\:flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.lg\:flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.lg\:flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.lg\:flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.lg\:flex-wrap{flex-wrap:wrap}.lg\:flex-wrap-reverse{flex-wrap:wrap-reverse}.lg\:flex-no-wrap{flex-wrap:nowrap}.lg\:items-start{-webkit-box-align:start;align-items:flex-start}.lg\:items-end{-webkit-box-align:end;align-items:flex-end}.lg\:items-center{-webkit-box-align:center;align-items:center}.lg\:items-baseline{-webkit-box-align:baseline;align-items:baseline}.lg\:items-stretch{-webkit-box-align:stretch;align-items:stretch}.lg\:self-auto{align-self:auto}.lg\:self-start{align-self:flex-start}.lg\:self-end{align-self:flex-end}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-start{-webkit-box-pack:start;justify-content:flex-start}.lg\:justify-end{-webkit-box-pack:end;justify-content:flex-end}.lg\:justify-center{-webkit-box-pack:center;justify-content:center}.lg\:justify-between{-webkit-box-pack:justify;justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:content-center{align-content:center}.lg\:content-start{align-content:flex-start}.lg\:content-end{align-content:flex-end}.lg\:content-between{align-content:space-between}.lg\:content-around{align-content:space-around}.lg\:flex-1{-webkit-box-flex:1;flex:1}.lg\:flex-auto{-webkit-box-flex:1;flex:auto}.lg\:flex-initial{-webkit-box-flex:initial;flex:initial}.lg\:flex-none{-webkit-box-flex:0;flex:none}.lg\:flex-grow{-webkit-box-flex:1;flex-grow:1}.lg\:flex-shrink{flex-shrink:1}.lg\:flex-no-grow{-webkit-box-flex:0;flex-grow:0}.lg\:flex-no-shrink{flex-shrink:0}.lg\:float-right{float:right}.lg\:float-left{float:left}.lg\:float-none{float:none}.lg\:clearfix:after{content:"";display:table;clear:both}.lg\:font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.lg\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.lg\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.lg\:font-hairline{font-weight:100}.lg\:font-thin{font-weight:200}.lg\:font-light{font-weight:300}.lg\:font-normal{font-weight:400}.lg\:font-medium{font-weight:500}.lg\:font-semibold{font-weight:600}.lg\:font-bold{font-weight:700}.lg\:font-extrabold{font-weight:800}.lg\:font-black{font-weight:900}.lg\:hover\:font-hairline:hover{font-weight:100}.lg\:hover\:font-thin:hover{font-weight:200}.lg\:hover\:font-light:hover{font-weight:300}.lg\:hover\:font-normal:hover{font-weight:400}.lg\:hover\:font-medium:hover{font-weight:500}.lg\:hover\:font-semibold:hover{font-weight:600}.lg\:hover\:font-bold:hover{font-weight:700}.lg\:hover\:font-extrabold:hover{font-weight:800}.lg\:hover\:font-black:hover{font-weight:900}.lg\:h-1{height:.25rem}.lg\:h-2{height:.5rem}.lg\:h-3{height:.75rem}.lg\:h-4{height:1rem}.lg\:h-6{height:1.5rem}.lg\:h-8{height:2rem}.lg\:h-10{height:2.5rem}.lg\:h-12{height:3rem}.lg\:h-16{height:4rem}.lg\:h-24{height:6rem}.lg\:h-32{height:8rem}.lg\:h-48{height:12rem}.lg\:h-64{height:16rem}.lg\:h-auto{height:auto}.lg\:h-px{height:1px}.lg\:h-full{height:100%}.lg\:h-screen{height:100vh}.lg\:leading-none{line-height:1}.lg\:leading-tight{line-height:1.25}.lg\:leading-normal{line-height:1.5}.lg\:leading-loose{line-height:2}.lg\:m-0{margin:0}.lg\:m-1{margin:.25rem}.lg\:m-2{margin:.5rem}.lg\:m-3{margin:.75rem}.lg\:m-4{margin:1rem}.lg\:m-6{margin:1.5rem}.lg\:m-8{margin:2rem}.lg\:m-auto{margin:auto}.lg\:m-px{margin:1px}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-1{margin-top:.25rem;margin-bottom:.25rem}.lg\:mx-1{margin-left:.25rem;margin-right:.25rem}.lg\:my-2{margin-top:.5rem;margin-bottom:.5rem}.lg\:mx-2{margin-left:.5rem;margin-right:.5rem}.lg\:my-3{margin-top:.75rem;margin-bottom:.75rem}.lg\:mx-3{margin-left:.75rem;margin-right:.75rem}.lg\:my-4{margin-top:1rem;margin-bottom:1rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-8{margin-top:2rem;margin-bottom:2rem}.lg\:mx-8{margin-left:2rem;margin-right:2rem}.lg\:my-auto{margin-top:auto;margin-bottom:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-px{margin-top:1px;margin-bottom:1px}.lg\:mx-px{margin-left:1px;margin-right:1px}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mt-1{margin-top:.25rem}.lg\:mr-1{margin-right:.25rem}.lg\:mb-1{margin-bottom:.25rem}.lg\:ml-1{margin-left:.25rem}.lg\:mt-2{margin-top:.5rem}.lg\:mr-2{margin-right:.5rem}.lg\:mb-2{margin-bottom:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mt-3{margin-top:.75rem}.lg\:mr-3{margin-right:.75rem}.lg\:mb-3{margin-bottom:.75rem}.lg\:ml-3{margin-left:.75rem}.lg\:mt-4{margin-top:1rem}.lg\:mr-4{margin-right:1rem}.lg\:mb-4{margin-bottom:1rem}.lg\:ml-4{margin-left:1rem}.lg\:mt-6{margin-top:1.5rem}.lg\:mr-6{margin-right:1.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:mt-8{margin-top:2rem}.lg\:mr-8{margin-right:2rem}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mt-px{margin-top:1px}.lg\:mr-px{margin-right:1px}.lg\:mb-px{margin-bottom:1px}.lg\:ml-px{margin-left:1px}.lg\:max-h-full{max-height:100%}.lg\:max-h-screen{max-height:100vh}.lg\:max-w-xs{max-width:20rem}.lg\:max-w-sm{max-width:30rem}.lg\:max-w-md{max-width:40rem}.lg\:max-w-lg{max-width:50rem}.lg\:max-w-xl{max-width:60rem}.lg\:max-w-2xl{max-width:70rem}.lg\:max-w-3xl{max-width:80rem}.lg\:max-w-4xl{max-width:90rem}.lg\:max-w-5xl{max-width:100rem}.lg\:max-w-full{max-width:100%}.lg\:min-h-0{min-height:0}.lg\:min-h-full{min-height:100%}.lg\:min-h-screen{min-height:100vh}.lg\:min-w-0{min-width:0}.lg\:min-w-full{min-width:100%}.lg\:-m-0{margin:0}.lg\:-m-1{margin:-.25rem}.lg\:-m-2{margin:-.5rem}.lg\:-m-3{margin:-.75rem}.lg\:-m-4{margin:-1rem}.lg\:-m-6{margin:-1.5rem}.lg\:-m-8{margin:-2rem}.lg\:-m-px{margin:-1px}.lg\:-my-0{margin-top:0;margin-bottom:0}.lg\:-mx-0{margin-left:0;margin-right:0}.lg\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.lg\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.lg\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.lg\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.lg\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.lg\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.lg\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.lg\:-mx-4{margin-left:-1rem;margin-right:-1rem}.lg\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.lg\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.lg\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.lg\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\:-my-px{margin-top:-1px;margin-bottom:-1px}.lg\:-mx-px{margin-left:-1px;margin-right:-1px}.lg\:-mt-0{margin-top:0}.lg\:-mr-0{margin-right:0}.lg\:-mb-0{margin-bottom:0}.lg\:-ml-0{margin-left:0}.lg\:-mt-1{margin-top:-.25rem}.lg\:-mr-1{margin-right:-.25rem}.lg\:-mb-1{margin-bottom:-.25rem}.lg\:-ml-1{margin-left:-.25rem}.lg\:-mt-2{margin-top:-.5rem}.lg\:-mr-2{margin-right:-.5rem}.lg\:-mb-2{margin-bottom:-.5rem}.lg\:-ml-2{margin-left:-.5rem}.lg\:-mt-3{margin-top:-.75rem}.lg\:-mr-3{margin-right:-.75rem}.lg\:-mb-3{margin-bottom:-.75rem}.lg\:-ml-3{margin-left:-.75rem}.lg\:-mt-4{margin-top:-1rem}.lg\:-mr-4{margin-right:-1rem}.lg\:-mb-4{margin-bottom:-1rem}.lg\:-ml-4{margin-left:-1rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:-mr-6{margin-right:-1.5rem}.lg\:-mb-6{margin-bottom:-1.5rem}.lg\:-ml-6{margin-left:-1.5rem}.lg\:-mt-8{margin-top:-2rem}.lg\:-mr-8{margin-right:-2rem}.lg\:-mb-8{margin-bottom:-2rem}.lg\:-ml-8{margin-left:-2rem}.lg\:-mt-px{margin-top:-1px}.lg\:-mr-px{margin-right:-1px}.lg\:-mb-px{margin-bottom:-1px}.lg\:-ml-px{margin-left:-1px}.lg\:opacity-0{opacity:0}.lg\:opacity-25{opacity:.25}.lg\:opacity-50{opacity:.5}.lg\:opacity-75{opacity:.75}.lg\:opacity-100{opacity:1}.lg\:overflow-auto{overflow:auto}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-visible{overflow:visible}.lg\:overflow-scroll{overflow:scroll}.lg\:overflow-x-scroll{overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.lg\:overflow-y-scroll{overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.lg\:scrolling-touch{-webkit-overflow-scrolling:touch}.lg\:scrolling-auto{-webkit-overflow-scrolling:auto}.lg\:p-0{padding:0}.lg\:p-1{padding:.25rem}.lg\:p-2{padding:.5rem}.lg\:p-3{padding:.75rem}.lg\:p-4{padding:1rem}.lg\:p-6{padding:1.5rem}.lg\:p-8{padding:2rem}.lg\:p-px{padding:1px}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:px-1{padding-left:.25rem;padding-right:.25rem}.lg\:py-2{padding-top:.5rem;padding-bottom:.5rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:py-3{padding-top:.75rem;padding-bottom:.75rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-4{padding-top:1rem;padding-bottom:1rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-px{padding-top:1px;padding-bottom:1px}.lg\:px-px{padding-left:1px;padding-right:1px}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:pt-1{padding-top:.25rem}.lg\:pr-1{padding-right:.25rem}.lg\:pb-1{padding-bottom:.25rem}.lg\:pl-1{padding-left:.25rem}.lg\:pt-2{padding-top:.5rem}.lg\:pr-2{padding-right:.5rem}.lg\:pb-2{padding-bottom:.5rem}.lg\:pl-2{padding-left:.5rem}.lg\:pt-3{padding-top:.75rem}.lg\:pr-3{padding-right:.75rem}.lg\:pb-3{padding-bottom:.75rem}.lg\:pl-3{padding-left:.75rem}.lg\:pt-4{padding-top:1rem}.lg\:pr-4{padding-right:1rem}.lg\:pb-4{padding-bottom:1rem}.lg\:pl-4{padding-left:1rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pr-6{padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pl-6{padding-left:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:pr-8{padding-right:2rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pl-8{padding-left:2rem}.lg\:pt-px{padding-top:1px}.lg\:pr-px{padding-right:1px}.lg\:pb-px{padding-bottom:1px}.lg\:pl-px{padding-left:1px}.lg\:pointer-events-none{pointer-events:none}.lg\:pointer-events-auto{pointer-events:auto}.lg\:static{position:static}.lg\:fixed{position:fixed}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.lg\:pin{top:0;right:0;bottom:0;left:0}.lg\:pin-y{top:0;bottom:0}.lg\:pin-x{right:0;left:0}.lg\:pin-t{top:0}.lg\:pin-r{right:0}.lg\:pin-b{bottom:0}.lg\:pin-l{left:0}.lg\:resize-none{resize:none}.lg\:resize-y{resize:vertical}.lg\:resize-x{resize:horizontal}.lg\:resize{resize:both}.lg\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.lg\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.lg\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.lg\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.lg\:shadow-none{box-shadow:none}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:text-justify{text-align:justify}.lg\:text-transparent{color:transparent}.lg\:text-black{color:#22292f}.lg\:text-grey-darkest{color:#3d4852}.lg\:text-grey-darker{color:#606f7b}.lg\:text-grey-dark{color:#8795a1}.lg\:text-grey{color:#b8c2cc}.lg\:text-grey-light{color:#dae1e7}.lg\:text-grey-lighter{color:#f1f5f8}.lg\:text-grey-lightest{color:#f8fafc}.lg\:text-white{color:#fff}.lg\:text-red-darkest{color:#3b0d0c}.lg\:text-red-darker{color:#621b18}.lg\:text-red-dark{color:#cc1f1a}.lg\:text-red{color:#e3342f}.lg\:text-red-light{color:#ef5753}.lg\:text-red-lighter{color:#f9acaa}.lg\:text-red-lightest{color:#fcebea}.lg\:text-orange-darkest{color:#462a16}.lg\:text-orange-darker{color:#613b1f}.lg\:text-orange-dark{color:#de751f}.lg\:text-orange{color:#f6993f}.lg\:text-orange-light{color:#faad63}.lg\:text-orange-lighter{color:#fcd9b6}.lg\:text-orange-lightest{color:#fff5eb}.lg\:text-yellow-darkest{color:#453411}.lg\:text-yellow-darker{color:#684f1d}.lg\:text-yellow-dark{color:#f2d024}.lg\:text-yellow{color:#ffed4a}.lg\:text-yellow-light{color:#fff382}.lg\:text-yellow-lighter{color:#fff9c2}.lg\:text-yellow-lightest{color:#fcfbeb}.lg\:text-green-darkest{color:#0f2f21}.lg\:text-green-darker{color:#1a4731}.lg\:text-green-dark{color:#1f9d55}.lg\:text-green{color:#38c172}.lg\:text-green-light{color:#51d88a}.lg\:text-green-lighter{color:#a2f5bf}.lg\:text-green-lightest{color:#e3fcec}.lg\:text-teal-darkest{color:#0d3331}.lg\:text-teal-darker{color:#20504f}.lg\:text-teal-dark{color:#38a89d}.lg\:text-teal{color:#4dc0b5}.lg\:text-teal-light{color:#64d5ca}.lg\:text-teal-lighter{color:#a0f0ed}.lg\:text-teal-lightest{color:#e8fffe}.lg\:text-blue-darkest{color:#12283a}.lg\:text-blue-darker{color:#1c3d5a}.lg\:text-blue-dark{color:#2779bd}.lg\:text-blue{color:#3490dc}.lg\:text-blue-light{color:#6cb2eb}.lg\:text-blue-lighter{color:#bcdefa}.lg\:text-blue-lightest{color:#eff8ff}.lg\:text-indigo-darkest{color:#191e38}.lg\:text-indigo-darker{color:#2f365f}.lg\:text-indigo-dark{color:#5661b3}.lg\:text-indigo{color:#6574cd}.lg\:text-indigo-light{color:#7886d7}.lg\:text-indigo-lighter{color:#b2b7ff}.lg\:text-indigo-lightest{color:#e6e8ff}.lg\:text-purple-darkest{color:#21183c}.lg\:text-purple-darker{color:#382b5f}.lg\:text-purple-dark{color:#794acf}.lg\:text-purple{color:#9561e2}.lg\:text-purple-light{color:#a779e9}.lg\:text-purple-lighter{color:#d6bbfc}.lg\:text-purple-lightest{color:#f3ebff}.lg\:text-pink-darkest{color:#451225}.lg\:text-pink-darker{color:#6f213f}.lg\:text-pink-dark{color:#eb5286}.lg\:text-pink{color:#f66d9b}.lg\:text-pink-light{color:#fa7ea8}.lg\:text-pink-lighter{color:#ffbbca}.lg\:text-pink-lightest{color:#ffebef}.lg\:hover\:text-transparent:hover{color:transparent}.lg\:hover\:text-black:hover{color:#22292f}.lg\:hover\:text-grey-darkest:hover{color:#3d4852}.lg\:hover\:text-grey-darker:hover{color:#606f7b}.lg\:hover\:text-grey-dark:hover{color:#8795a1}.lg\:hover\:text-grey:hover{color:#b8c2cc}.lg\:hover\:text-grey-light:hover{color:#dae1e7}.lg\:hover\:text-grey-lighter:hover{color:#f1f5f8}.lg\:hover\:text-grey-lightest:hover{color:#f8fafc}.lg\:hover\:text-white:hover{color:#fff}.lg\:hover\:text-red-darkest:hover{color:#3b0d0c}.lg\:hover\:text-red-darker:hover{color:#621b18}.lg\:hover\:text-red-dark:hover{color:#cc1f1a}.lg\:hover\:text-red:hover{color:#e3342f}.lg\:hover\:text-red-light:hover{color:#ef5753}.lg\:hover\:text-red-lighter:hover{color:#f9acaa}.lg\:hover\:text-red-lightest:hover{color:#fcebea}.lg\:hover\:text-orange-darkest:hover{color:#462a16}.lg\:hover\:text-orange-darker:hover{color:#613b1f}.lg\:hover\:text-orange-dark:hover{color:#de751f}.lg\:hover\:text-orange:hover{color:#f6993f}.lg\:hover\:text-orange-light:hover{color:#faad63}.lg\:hover\:text-orange-lighter:hover{color:#fcd9b6}.lg\:hover\:text-orange-lightest:hover{color:#fff5eb}.lg\:hover\:text-yellow-darkest:hover{color:#453411}.lg\:hover\:text-yellow-darker:hover{color:#684f1d}.lg\:hover\:text-yellow-dark:hover{color:#f2d024}.lg\:hover\:text-yellow:hover{color:#ffed4a}.lg\:hover\:text-yellow-light:hover{color:#fff382}.lg\:hover\:text-yellow-lighter:hover{color:#fff9c2}.lg\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.lg\:hover\:text-green-darkest:hover{color:#0f2f21}.lg\:hover\:text-green-darker:hover{color:#1a4731}.lg\:hover\:text-green-dark:hover{color:#1f9d55}.lg\:hover\:text-green:hover{color:#38c172}.lg\:hover\:text-green-light:hover{color:#51d88a}.lg\:hover\:text-green-lighter:hover{color:#a2f5bf}.lg\:hover\:text-green-lightest:hover{color:#e3fcec}.lg\:hover\:text-teal-darkest:hover{color:#0d3331}.lg\:hover\:text-teal-darker:hover{color:#20504f}.lg\:hover\:text-teal-dark:hover{color:#38a89d}.lg\:hover\:text-teal:hover{color:#4dc0b5}.lg\:hover\:text-teal-light:hover{color:#64d5ca}.lg\:hover\:text-teal-lighter:hover{color:#a0f0ed}.lg\:hover\:text-teal-lightest:hover{color:#e8fffe}.lg\:hover\:text-blue-darkest:hover{color:#12283a}.lg\:hover\:text-blue-darker:hover{color:#1c3d5a}.lg\:hover\:text-blue-dark:hover{color:#2779bd}.lg\:hover\:text-blue:hover{color:#3490dc}.lg\:hover\:text-blue-light:hover{color:#6cb2eb}.lg\:hover\:text-blue-lighter:hover{color:#bcdefa}.lg\:hover\:text-blue-lightest:hover{color:#eff8ff}.lg\:hover\:text-indigo-darkest:hover{color:#191e38}.lg\:hover\:text-indigo-darker:hover{color:#2f365f}.lg\:hover\:text-indigo-dark:hover{color:#5661b3}.lg\:hover\:text-indigo:hover{color:#6574cd}.lg\:hover\:text-indigo-light:hover{color:#7886d7}.lg\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.lg\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.lg\:hover\:text-purple-darkest:hover{color:#21183c}.lg\:hover\:text-purple-darker:hover{color:#382b5f}.lg\:hover\:text-purple-dark:hover{color:#794acf}.lg\:hover\:text-purple:hover{color:#9561e2}.lg\:hover\:text-purple-light:hover{color:#a779e9}.lg\:hover\:text-purple-lighter:hover{color:#d6bbfc}.lg\:hover\:text-purple-lightest:hover{color:#f3ebff}.lg\:hover\:text-pink-darkest:hover{color:#451225}.lg\:hover\:text-pink-darker:hover{color:#6f213f}.lg\:hover\:text-pink-dark:hover{color:#eb5286}.lg\:hover\:text-pink:hover{color:#f66d9b}.lg\:hover\:text-pink-light:hover{color:#fa7ea8}.lg\:hover\:text-pink-lighter:hover{color:#ffbbca}.lg\:hover\:text-pink-lightest:hover{color:#ffebef}.lg\:text-xs{font-size:.75rem}.lg\:text-sm{font-size:.875rem}.lg\:text-base{font-size:1rem}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:text-3xl{font-size:1.875rem}.lg\:text-4xl{font-size:2.25rem}.lg\:text-5xl{font-size:3rem}.lg\:italic{font-style:italic}.lg\:roman{font-style:normal}.lg\:uppercase{text-transform:uppercase}.lg\:lowercase{text-transform:lowercase}.lg\:capitalize{text-transform:capitalize}.lg\:normal-case{text-transform:none}.lg\:underline{text-decoration:underline}.lg\:line-through{text-decoration:line-through}.lg\:no-underline{text-decoration:none}.lg\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:hover\:italic:hover{font-style:italic}.lg\:hover\:roman:hover{font-style:normal}.lg\:hover\:uppercase:hover{text-transform:uppercase}.lg\:hover\:lowercase:hover{text-transform:lowercase}.lg\:hover\:capitalize:hover{text-transform:capitalize}.lg\:hover\:normal-case:hover{text-transform:none}.lg\:hover\:underline:hover{text-decoration:underline}.lg\:hover\:line-through:hover{text-decoration:line-through}.lg\:hover\:no-underline:hover{text-decoration:none}.lg\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.lg\:tracking-tight{letter-spacing:-.05em}.lg\:tracking-normal{letter-spacing:0}.lg\:tracking-wide{letter-spacing:.05em}.lg\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lg\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.lg\:align-baseline{vertical-align:baseline}.lg\:align-top{vertical-align:top}.lg\:align-middle{vertical-align:middle}.lg\:align-bottom{vertical-align:bottom}.lg\:align-text-top{vertical-align:text-top}.lg\:align-text-bottom{vertical-align:text-bottom}.lg\:visible{visibility:visible}.lg\:invisible{visibility:hidden}.lg\:whitespace-normal{white-space:normal}.lg\:whitespace-no-wrap{white-space:nowrap}.lg\:whitespace-pre{white-space:pre}.lg\:whitespace-pre-line{white-space:pre-line}.lg\:whitespace-pre-wrap{white-space:pre-wrap}.lg\:break-words{word-wrap:break-word}.lg\:break-normal{word-wrap:normal}.lg\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lg\:w-1{width:.25rem}.lg\:w-2{width:.5rem}.lg\:w-3{width:.75rem}.lg\:w-4{width:1rem}.lg\:w-6{width:1.5rem}.lg\:w-8{width:2rem}.lg\:w-10{width:2.5rem}.lg\:w-12{width:3rem}.lg\:w-16{width:4rem}.lg\:w-24{width:6rem}.lg\:w-32{width:8rem}.lg\:w-48{width:12rem}.lg\:w-64{width:16rem}.lg\:w-auto{width:auto}.lg\:w-px{width:1px}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.33333%}.lg\:w-2\/3{width:66.66667%}.lg\:w-1\/4{width:25%}.lg\:w-3\/4{width:75%}.lg\:w-1\/5{width:20%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-1\/6{width:16.66667%}.lg\:w-5\/6{width:83.33333%}.lg\:w-full{width:100%}.lg\:w-screen{width:100vw}.lg\:z-0{z-index:0}.lg\:z-10{z-index:10}.lg\:z-20{z-index:20}.lg\:z-30{z-index:30}.lg\:z-40{z-index:40}.lg\:z-50{z-index:50}.lg\:z-auto{z-index:auto}}@media (min-width:1200px){.xl\:list-reset{list-style:none;padding:0}.xl\:appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.xl\:bg-fixed{background-attachment:fixed}.xl\:bg-local{background-attachment:local}.xl\:bg-scroll{background-attachment:scroll}.xl\:bg-transparent{background-color:transparent}.xl\:bg-black{background-color:#22292f}.xl\:bg-grey-darkest{background-color:#3d4852}.xl\:bg-grey-darker{background-color:#606f7b}.xl\:bg-grey-dark{background-color:#8795a1}.xl\:bg-grey{background-color:#b8c2cc}.xl\:bg-grey-light{background-color:#dae1e7}.xl\:bg-grey-lighter{background-color:#f1f5f8}.xl\:bg-grey-lightest{background-color:#f8fafc}.xl\:bg-white{background-color:#fff}.xl\:bg-red-darkest{background-color:#3b0d0c}.xl\:bg-red-darker{background-color:#621b18}.xl\:bg-red-dark{background-color:#cc1f1a}.xl\:bg-red{background-color:#e3342f}.xl\:bg-red-light{background-color:#ef5753}.xl\:bg-red-lighter{background-color:#f9acaa}.xl\:bg-red-lightest{background-color:#fcebea}.xl\:bg-orange-darkest{background-color:#462a16}.xl\:bg-orange-darker{background-color:#613b1f}.xl\:bg-orange-dark{background-color:#de751f}.xl\:bg-orange{background-color:#f6993f}.xl\:bg-orange-light{background-color:#faad63}.xl\:bg-orange-lighter{background-color:#fcd9b6}.xl\:bg-orange-lightest{background-color:#fff5eb}.xl\:bg-yellow-darkest{background-color:#453411}.xl\:bg-yellow-darker{background-color:#684f1d}.xl\:bg-yellow-dark{background-color:#f2d024}.xl\:bg-yellow{background-color:#ffed4a}.xl\:bg-yellow-light{background-color:#fff382}.xl\:bg-yellow-lighter{background-color:#fff9c2}.xl\:bg-yellow-lightest{background-color:#fcfbeb}.xl\:bg-green-darkest{background-color:#0f2f21}.xl\:bg-green-darker{background-color:#1a4731}.xl\:bg-green-dark{background-color:#1f9d55}.xl\:bg-green{background-color:#38c172}.xl\:bg-green-light{background-color:#51d88a}.xl\:bg-green-lighter{background-color:#a2f5bf}.xl\:bg-green-lightest{background-color:#e3fcec}.xl\:bg-teal-darkest{background-color:#0d3331}.xl\:bg-teal-darker{background-color:#20504f}.xl\:bg-teal-dark{background-color:#38a89d}.xl\:bg-teal{background-color:#4dc0b5}.xl\:bg-teal-light{background-color:#64d5ca}.xl\:bg-teal-lighter{background-color:#a0f0ed}.xl\:bg-teal-lightest{background-color:#e8fffe}.xl\:bg-blue-darkest{background-color:#12283a}.xl\:bg-blue-darker{background-color:#1c3d5a}.xl\:bg-blue-dark{background-color:#2779bd}.xl\:bg-blue{background-color:#3490dc}.xl\:bg-blue-light{background-color:#6cb2eb}.xl\:bg-blue-lighter{background-color:#bcdefa}.xl\:bg-blue-lightest{background-color:#eff8ff}.xl\:bg-indigo-darkest{background-color:#191e38}.xl\:bg-indigo-darker{background-color:#2f365f}.xl\:bg-indigo-dark{background-color:#5661b3}.xl\:bg-indigo{background-color:#6574cd}.xl\:bg-indigo-light{background-color:#7886d7}.xl\:bg-indigo-lighter{background-color:#b2b7ff}.xl\:bg-indigo-lightest{background-color:#e6e8ff}.xl\:bg-purple-darkest{background-color:#21183c}.xl\:bg-purple-darker{background-color:#382b5f}.xl\:bg-purple-dark{background-color:#794acf}.xl\:bg-purple{background-color:#9561e2}.xl\:bg-purple-light{background-color:#a779e9}.xl\:bg-purple-lighter{background-color:#d6bbfc}.xl\:bg-purple-lightest{background-color:#f3ebff}.xl\:bg-pink-darkest{background-color:#451225}.xl\:bg-pink-darker{background-color:#6f213f}.xl\:bg-pink-dark{background-color:#eb5286}.xl\:bg-pink{background-color:#f66d9b}.xl\:bg-pink-light{background-color:#fa7ea8}.xl\:bg-pink-lighter{background-color:#ffbbca}.xl\:bg-pink-lightest{background-color:#ffebef}.xl\:hover\:bg-transparent:hover{background-color:transparent}.xl\:hover\:bg-black:hover{background-color:#22292f}.xl\:hover\:bg-grey-darkest:hover{background-color:#3d4852}.xl\:hover\:bg-grey-darker:hover{background-color:#606f7b}.xl\:hover\:bg-grey-dark:hover{background-color:#8795a1}.xl\:hover\:bg-grey:hover{background-color:#b8c2cc}.xl\:hover\:bg-grey-light:hover{background-color:#dae1e7}.xl\:hover\:bg-grey-lighter:hover{background-color:#f1f5f8}.xl\:hover\:bg-grey-lightest:hover{background-color:#f8fafc}.xl\:hover\:bg-white:hover{background-color:#fff}.xl\:hover\:bg-red-darkest:hover{background-color:#3b0d0c}.xl\:hover\:bg-red-darker:hover{background-color:#621b18}.xl\:hover\:bg-red-dark:hover{background-color:#cc1f1a}.xl\:hover\:bg-red:hover{background-color:#e3342f}.xl\:hover\:bg-red-light:hover{background-color:#ef5753}.xl\:hover\:bg-red-lighter:hover{background-color:#f9acaa}.xl\:hover\:bg-red-lightest:hover{background-color:#fcebea}.xl\:hover\:bg-orange-darkest:hover{background-color:#462a16}.xl\:hover\:bg-orange-darker:hover{background-color:#613b1f}.xl\:hover\:bg-orange-dark:hover{background-color:#de751f}.xl\:hover\:bg-orange:hover{background-color:#f6993f}.xl\:hover\:bg-orange-light:hover{background-color:#faad63}.xl\:hover\:bg-orange-lighter:hover{background-color:#fcd9b6}.xl\:hover\:bg-orange-lightest:hover{background-color:#fff5eb}.xl\:hover\:bg-yellow-darkest:hover{background-color:#453411}.xl\:hover\:bg-yellow-darker:hover{background-color:#684f1d}.xl\:hover\:bg-yellow-dark:hover{background-color:#f2d024}.xl\:hover\:bg-yellow:hover{background-color:#ffed4a}.xl\:hover\:bg-yellow-light:hover{background-color:#fff382}.xl\:hover\:bg-yellow-lighter:hover{background-color:#fff9c2}.xl\:hover\:bg-yellow-lightest:hover{background-color:#fcfbeb}.xl\:hover\:bg-green-darkest:hover{background-color:#0f2f21}.xl\:hover\:bg-green-darker:hover{background-color:#1a4731}.xl\:hover\:bg-green-dark:hover{background-color:#1f9d55}.xl\:hover\:bg-green:hover{background-color:#38c172}.xl\:hover\:bg-green-light:hover{background-color:#51d88a}.xl\:hover\:bg-green-lighter:hover{background-color:#a2f5bf}.xl\:hover\:bg-green-lightest:hover{background-color:#e3fcec}.xl\:hover\:bg-teal-darkest:hover{background-color:#0d3331}.xl\:hover\:bg-teal-darker:hover{background-color:#20504f}.xl\:hover\:bg-teal-dark:hover{background-color:#38a89d}.xl\:hover\:bg-teal:hover{background-color:#4dc0b5}.xl\:hover\:bg-teal-light:hover{background-color:#64d5ca}.xl\:hover\:bg-teal-lighter:hover{background-color:#a0f0ed}.xl\:hover\:bg-teal-lightest:hover{background-color:#e8fffe}.xl\:hover\:bg-blue-darkest:hover{background-color:#12283a}.xl\:hover\:bg-blue-darker:hover{background-color:#1c3d5a}.xl\:hover\:bg-blue-dark:hover{background-color:#2779bd}.xl\:hover\:bg-blue:hover{background-color:#3490dc}.xl\:hover\:bg-blue-light:hover{background-color:#6cb2eb}.xl\:hover\:bg-blue-lighter:hover{background-color:#bcdefa}.xl\:hover\:bg-blue-lightest:hover{background-color:#eff8ff}.xl\:hover\:bg-indigo-darkest:hover{background-color:#191e38}.xl\:hover\:bg-indigo-darker:hover{background-color:#2f365f}.xl\:hover\:bg-indigo-dark:hover{background-color:#5661b3}.xl\:hover\:bg-indigo:hover{background-color:#6574cd}.xl\:hover\:bg-indigo-light:hover{background-color:#7886d7}.xl\:hover\:bg-indigo-lighter:hover{background-color:#b2b7ff}.xl\:hover\:bg-indigo-lightest:hover{background-color:#e6e8ff}.xl\:hover\:bg-purple-darkest:hover{background-color:#21183c}.xl\:hover\:bg-purple-darker:hover{background-color:#382b5f}.xl\:hover\:bg-purple-dark:hover{background-color:#794acf}.xl\:hover\:bg-purple:hover{background-color:#9561e2}.xl\:hover\:bg-purple-light:hover{background-color:#a779e9}.xl\:hover\:bg-purple-lighter:hover{background-color:#d6bbfc}.xl\:hover\:bg-purple-lightest:hover{background-color:#f3ebff}.xl\:hover\:bg-pink-darkest:hover{background-color:#451225}.xl\:hover\:bg-pink-darker:hover{background-color:#6f213f}.xl\:hover\:bg-pink-dark:hover{background-color:#eb5286}.xl\:hover\:bg-pink:hover{background-color:#f66d9b}.xl\:hover\:bg-pink-light:hover{background-color:#fa7ea8}.xl\:hover\:bg-pink-lighter:hover{background-color:#ffbbca}.xl\:hover\:bg-pink-lightest:hover{background-color:#ffebef}.xl\:bg-bottom{background-position:bottom}.xl\:bg-center{background-position:center}.xl\:bg-left{background-position:left}.xl\:bg-left-bottom{background-position:left bottom}.xl\:bg-left-top{background-position:left top}.xl\:bg-right{background-position:right}.xl\:bg-right-bottom{background-position:right bottom}.xl\:bg-right-top{background-position:right top}.xl\:bg-top{background-position:top}.xl\:bg-repeat{background-repeat:repeat}.xl\:bg-no-repeat{background-repeat:no-repeat}.xl\:bg-repeat-x{background-repeat:repeat-x}.xl\:bg-repeat-y{background-repeat:repeat-y}.xl\:bg-cover{background-size:cover}.xl\:bg-contain{background-size:contain}.xl\:border-transparent{border-color:transparent}.xl\:border-black{border-color:#22292f}.xl\:border-grey-darkest{border-color:#3d4852}.xl\:border-grey-darker{border-color:#606f7b}.xl\:border-grey-dark{border-color:#8795a1}.xl\:border-grey{border-color:#b8c2cc}.xl\:border-grey-light{border-color:#dae1e7}.xl\:border-grey-lighter{border-color:#f1f5f8}.xl\:border-grey-lightest{border-color:#f8fafc}.xl\:border-white{border-color:#fff}.xl\:border-red-darkest{border-color:#3b0d0c}.xl\:border-red-darker{border-color:#621b18}.xl\:border-red-dark{border-color:#cc1f1a}.xl\:border-red{border-color:#e3342f}.xl\:border-red-light{border-color:#ef5753}.xl\:border-red-lighter{border-color:#f9acaa}.xl\:border-red-lightest{border-color:#fcebea}.xl\:border-orange-darkest{border-color:#462a16}.xl\:border-orange-darker{border-color:#613b1f}.xl\:border-orange-dark{border-color:#de751f}.xl\:border-orange{border-color:#f6993f}.xl\:border-orange-light{border-color:#faad63}.xl\:border-orange-lighter{border-color:#fcd9b6}.xl\:border-orange-lightest{border-color:#fff5eb}.xl\:border-yellow-darkest{border-color:#453411}.xl\:border-yellow-darker{border-color:#684f1d}.xl\:border-yellow-dark{border-color:#f2d024}.xl\:border-yellow{border-color:#ffed4a}.xl\:border-yellow-light{border-color:#fff382}.xl\:border-yellow-lighter{border-color:#fff9c2}.xl\:border-yellow-lightest{border-color:#fcfbeb}.xl\:border-green-darkest{border-color:#0f2f21}.xl\:border-green-darker{border-color:#1a4731}.xl\:border-green-dark{border-color:#1f9d55}.xl\:border-green{border-color:#38c172}.xl\:border-green-light{border-color:#51d88a}.xl\:border-green-lighter{border-color:#a2f5bf}.xl\:border-green-lightest{border-color:#e3fcec}.xl\:border-teal-darkest{border-color:#0d3331}.xl\:border-teal-darker{border-color:#20504f}.xl\:border-teal-dark{border-color:#38a89d}.xl\:border-teal{border-color:#4dc0b5}.xl\:border-teal-light{border-color:#64d5ca}.xl\:border-teal-lighter{border-color:#a0f0ed}.xl\:border-teal-lightest{border-color:#e8fffe}.xl\:border-blue-darkest{border-color:#12283a}.xl\:border-blue-darker{border-color:#1c3d5a}.xl\:border-blue-dark{border-color:#2779bd}.xl\:border-blue{border-color:#3490dc}.xl\:border-blue-light{border-color:#6cb2eb}.xl\:border-blue-lighter{border-color:#bcdefa}.xl\:border-blue-lightest{border-color:#eff8ff}.xl\:border-indigo-darkest{border-color:#191e38}.xl\:border-indigo-darker{border-color:#2f365f}.xl\:border-indigo-dark{border-color:#5661b3}.xl\:border-indigo{border-color:#6574cd}.xl\:border-indigo-light{border-color:#7886d7}.xl\:border-indigo-lighter{border-color:#b2b7ff}.xl\:border-indigo-lightest{border-color:#e6e8ff}.xl\:border-purple-darkest{border-color:#21183c}.xl\:border-purple-darker{border-color:#382b5f}.xl\:border-purple-dark{border-color:#794acf}.xl\:border-purple{border-color:#9561e2}.xl\:border-purple-light{border-color:#a779e9}.xl\:border-purple-lighter{border-color:#d6bbfc}.xl\:border-purple-lightest{border-color:#f3ebff}.xl\:border-pink-darkest{border-color:#451225}.xl\:border-pink-darker{border-color:#6f213f}.xl\:border-pink-dark{border-color:#eb5286}.xl\:border-pink{border-color:#f66d9b}.xl\:border-pink-light{border-color:#fa7ea8}.xl\:border-pink-lighter{border-color:#ffbbca}.xl\:border-pink-lightest{border-color:#ffebef}.xl\:hover\:border-transparent:hover{border-color:transparent}.xl\:hover\:border-black:hover{border-color:#22292f}.xl\:hover\:border-grey-darkest:hover{border-color:#3d4852}.xl\:hover\:border-grey-darker:hover{border-color:#606f7b}.xl\:hover\:border-grey-dark:hover{border-color:#8795a1}.xl\:hover\:border-grey:hover{border-color:#b8c2cc}.xl\:hover\:border-grey-light:hover{border-color:#dae1e7}.xl\:hover\:border-grey-lighter:hover{border-color:#f1f5f8}.xl\:hover\:border-grey-lightest:hover{border-color:#f8fafc}.xl\:hover\:border-white:hover{border-color:#fff}.xl\:hover\:border-red-darkest:hover{border-color:#3b0d0c}.xl\:hover\:border-red-darker:hover{border-color:#621b18}.xl\:hover\:border-red-dark:hover{border-color:#cc1f1a}.xl\:hover\:border-red:hover{border-color:#e3342f}.xl\:hover\:border-red-light:hover{border-color:#ef5753}.xl\:hover\:border-red-lighter:hover{border-color:#f9acaa}.xl\:hover\:border-red-lightest:hover{border-color:#fcebea}.xl\:hover\:border-orange-darkest:hover{border-color:#462a16}.xl\:hover\:border-orange-darker:hover{border-color:#613b1f}.xl\:hover\:border-orange-dark:hover{border-color:#de751f}.xl\:hover\:border-orange:hover{border-color:#f6993f}.xl\:hover\:border-orange-light:hover{border-color:#faad63}.xl\:hover\:border-orange-lighter:hover{border-color:#fcd9b6}.xl\:hover\:border-orange-lightest:hover{border-color:#fff5eb}.xl\:hover\:border-yellow-darkest:hover{border-color:#453411}.xl\:hover\:border-yellow-darker:hover{border-color:#684f1d}.xl\:hover\:border-yellow-dark:hover{border-color:#f2d024}.xl\:hover\:border-yellow:hover{border-color:#ffed4a}.xl\:hover\:border-yellow-light:hover{border-color:#fff382}.xl\:hover\:border-yellow-lighter:hover{border-color:#fff9c2}.xl\:hover\:border-yellow-lightest:hover{border-color:#fcfbeb}.xl\:hover\:border-green-darkest:hover{border-color:#0f2f21}.xl\:hover\:border-green-darker:hover{border-color:#1a4731}.xl\:hover\:border-green-dark:hover{border-color:#1f9d55}.xl\:hover\:border-green:hover{border-color:#38c172}.xl\:hover\:border-green-light:hover{border-color:#51d88a}.xl\:hover\:border-green-lighter:hover{border-color:#a2f5bf}.xl\:hover\:border-green-lightest:hover{border-color:#e3fcec}.xl\:hover\:border-teal-darkest:hover{border-color:#0d3331}.xl\:hover\:border-teal-darker:hover{border-color:#20504f}.xl\:hover\:border-teal-dark:hover{border-color:#38a89d}.xl\:hover\:border-teal:hover{border-color:#4dc0b5}.xl\:hover\:border-teal-light:hover{border-color:#64d5ca}.xl\:hover\:border-teal-lighter:hover{border-color:#a0f0ed}.xl\:hover\:border-teal-lightest:hover{border-color:#e8fffe}.xl\:hover\:border-blue-darkest:hover{border-color:#12283a}.xl\:hover\:border-blue-darker:hover{border-color:#1c3d5a}.xl\:hover\:border-blue-dark:hover{border-color:#2779bd}.xl\:hover\:border-blue:hover{border-color:#3490dc}.xl\:hover\:border-blue-light:hover{border-color:#6cb2eb}.xl\:hover\:border-blue-lighter:hover{border-color:#bcdefa}.xl\:hover\:border-blue-lightest:hover{border-color:#eff8ff}.xl\:hover\:border-indigo-darkest:hover{border-color:#191e38}.xl\:hover\:border-indigo-darker:hover{border-color:#2f365f}.xl\:hover\:border-indigo-dark:hover{border-color:#5661b3}.xl\:hover\:border-indigo:hover{border-color:#6574cd}.xl\:hover\:border-indigo-light:hover{border-color:#7886d7}.xl\:hover\:border-indigo-lighter:hover{border-color:#b2b7ff}.xl\:hover\:border-indigo-lightest:hover{border-color:#e6e8ff}.xl\:hover\:border-purple-darkest:hover{border-color:#21183c}.xl\:hover\:border-purple-darker:hover{border-color:#382b5f}.xl\:hover\:border-purple-dark:hover{border-color:#794acf}.xl\:hover\:border-purple:hover{border-color:#9561e2}.xl\:hover\:border-purple-light:hover{border-color:#a779e9}.xl\:hover\:border-purple-lighter:hover{border-color:#d6bbfc}.xl\:hover\:border-purple-lightest:hover{border-color:#f3ebff}.xl\:hover\:border-pink-darkest:hover{border-color:#451225}.xl\:hover\:border-pink-darker:hover{border-color:#6f213f}.xl\:hover\:border-pink-dark:hover{border-color:#eb5286}.xl\:hover\:border-pink:hover{border-color:#f66d9b}.xl\:hover\:border-pink-light:hover{border-color:#fa7ea8}.xl\:hover\:border-pink-lighter:hover{border-color:#ffbbca}.xl\:hover\:border-pink-lightest:hover{border-color:#ffebef}.xl\:rounded-none{border-radius:0}.xl\:rounded-sm{border-radius:.125rem}.xl\:rounded{border-radius:.25rem}.xl\:rounded-lg{border-radius:.5rem}.xl\:rounded-full{border-radius:9999px}.xl\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.xl\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.xl\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:rounded-t-sm{border-top-left-radius:.125rem;border-top-right-radius:.125rem}.xl\:rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.xl\:rounded-b-sm{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-l-sm{border-top-left-radius:.125rem;border-bottom-left-radius:.125rem}.xl\:rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.xl\:rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.xl\:rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.xl\:rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.xl\:rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.xl\:rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.xl\:rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.xl\:rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.xl\:rounded-b-full{border-bottom-right-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.xl\:rounded-tl-none{border-top-left-radius:0}.xl\:rounded-tr-none{border-top-right-radius:0}.xl\:rounded-br-none{border-bottom-right-radius:0}.xl\:rounded-bl-none{border-bottom-left-radius:0}.xl\:rounded-tl-sm{border-top-left-radius:.125rem}.xl\:rounded-tr-sm{border-top-right-radius:.125rem}.xl\:rounded-br-sm{border-bottom-right-radius:.125rem}.xl\:rounded-bl-sm{border-bottom-left-radius:.125rem}.xl\:rounded-tl{border-top-left-radius:.25rem}.xl\:rounded-tr{border-top-right-radius:.25rem}.xl\:rounded-br{border-bottom-right-radius:.25rem}.xl\:rounded-bl{border-bottom-left-radius:.25rem}.xl\:rounded-tl-lg{border-top-left-radius:.5rem}.xl\:rounded-tr-lg{border-top-right-radius:.5rem}.xl\:rounded-br-lg{border-bottom-right-radius:.5rem}.xl\:rounded-bl-lg{border-bottom-left-radius:.5rem}.xl\:rounded-tl-full{border-top-left-radius:9999px}.xl\:rounded-tr-full{border-top-right-radius:9999px}.xl\:rounded-br-full{border-bottom-right-radius:9999px}.xl\:rounded-bl-full{border-bottom-left-radius:9999px}.xl\:border-solid{border-style:solid}.xl\:border-dashed{border-style:dashed}.xl\:border-dotted{border-style:dotted}.xl\:border-none{border-style:none}.xl\:border-0{border-width:0}.xl\:border-2{border-width:2px}.xl\:border-4{border-width:4px}.xl\:border-8{border-width:8px}.xl\:border{border-width:1px}.xl\:border-t-0{border-top-width:0}.xl\:border-r-0{border-right-width:0}.xl\:border-b-0{border-bottom-width:0}.xl\:border-l-0{border-left-width:0}.xl\:border-t-2{border-top-width:2px}.xl\:border-r-2{border-right-width:2px}.xl\:border-b-2{border-bottom-width:2px}.xl\:border-l-2{border-left-width:2px}.xl\:border-t-4{border-top-width:4px}.xl\:border-r-4{border-right-width:4px}.xl\:border-b-4{border-bottom-width:4px}.xl\:border-l-4{border-left-width:4px}.xl\:border-t-8{border-top-width:8px}.xl\:border-r-8{border-right-width:8px}.xl\:border-b-8{border-bottom-width:8px}.xl\:border-l-8{border-left-width:8px}.xl\:border-t{border-top-width:1px}.xl\:border-r{border-right-width:1px}.xl\:border-b{border-bottom-width:1px}.xl\:border-l{border-left-width:1px}.xl\:cursor-auto{cursor:auto}.xl\:cursor-default{cursor:default}.xl\:cursor-pointer{cursor:pointer}.xl\:cursor-not-allowed{cursor:not-allowed}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:inline{display:inline}.xl\:table{display:table}.xl\:table-row{display:table-row}.xl\:table-cell{display:table-cell}.xl\:hidden{display:none}.xl\:flex{display:-webkit-box;display:flex}.xl\:inline-flex{display:-webkit-inline-box;display:inline-flex}.xl\:flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.xl\:flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;flex-direction:row-reverse}.xl\:flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.xl\:flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;flex-direction:column-reverse}.xl\:flex-wrap{flex-wrap:wrap}.xl\:flex-wrap-reverse{flex-wrap:wrap-reverse}.xl\:flex-no-wrap{flex-wrap:nowrap}.xl\:items-start{-webkit-box-align:start;align-items:flex-start}.xl\:items-end{-webkit-box-align:end;align-items:flex-end}.xl\:items-center{-webkit-box-align:center;align-items:center}.xl\:items-baseline{-webkit-box-align:baseline;align-items:baseline}.xl\:items-stretch{-webkit-box-align:stretch;align-items:stretch}.xl\:self-auto{align-self:auto}.xl\:self-start{align-self:flex-start}.xl\:self-end{align-self:flex-end}.xl\:self-center{align-self:center}.xl\:self-stretch{align-self:stretch}.xl\:justify-start{-webkit-box-pack:start;justify-content:flex-start}.xl\:justify-end{-webkit-box-pack:end;justify-content:flex-end}.xl\:justify-center{-webkit-box-pack:center;justify-content:center}.xl\:justify-between{-webkit-box-pack:justify;justify-content:space-between}.xl\:justify-around{justify-content:space-around}.xl\:content-center{align-content:center}.xl\:content-start{align-content:flex-start}.xl\:content-end{align-content:flex-end}.xl\:content-between{align-content:space-between}.xl\:content-around{align-content:space-around}.xl\:flex-1{-webkit-box-flex:1;flex:1}.xl\:flex-auto{-webkit-box-flex:1;flex:auto}.xl\:flex-initial{-webkit-box-flex:initial;flex:initial}.xl\:flex-none{-webkit-box-flex:0;flex:none}.xl\:flex-grow{-webkit-box-flex:1;flex-grow:1}.xl\:flex-shrink{flex-shrink:1}.xl\:flex-no-grow{-webkit-box-flex:0;flex-grow:0}.xl\:flex-no-shrink{flex-shrink:0}.xl\:float-right{float:right}.xl\:float-left{float:left}.xl\:float-none{float:none}.xl\:clearfix:after{content:"";display:table;clear:both}.xl\:font-sans{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.xl\:font-serif{font-family:Constantia,Lucida Bright,Lucidabright,Lucida Serif,Lucida,DejaVu Serif,Bitstream Vera Serif,Liberation Serif,Georgia,serif}.xl\:font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.xl\:font-hairline{font-weight:100}.xl\:font-thin{font-weight:200}.xl\:font-light{font-weight:300}.xl\:font-normal{font-weight:400}.xl\:font-medium{font-weight:500}.xl\:font-semibold{font-weight:600}.xl\:font-bold{font-weight:700}.xl\:font-extrabold{font-weight:800}.xl\:font-black{font-weight:900}.xl\:hover\:font-hairline:hover{font-weight:100}.xl\:hover\:font-thin:hover{font-weight:200}.xl\:hover\:font-light:hover{font-weight:300}.xl\:hover\:font-normal:hover{font-weight:400}.xl\:hover\:font-medium:hover{font-weight:500}.xl\:hover\:font-semibold:hover{font-weight:600}.xl\:hover\:font-bold:hover{font-weight:700}.xl\:hover\:font-extrabold:hover{font-weight:800}.xl\:hover\:font-black:hover{font-weight:900}.xl\:h-1{height:.25rem}.xl\:h-2{height:.5rem}.xl\:h-3{height:.75rem}.xl\:h-4{height:1rem}.xl\:h-6{height:1.5rem}.xl\:h-8{height:2rem}.xl\:h-10{height:2.5rem}.xl\:h-12{height:3rem}.xl\:h-16{height:4rem}.xl\:h-24{height:6rem}.xl\:h-32{height:8rem}.xl\:h-48{height:12rem}.xl\:h-64{height:16rem}.xl\:h-auto{height:auto}.xl\:h-px{height:1px}.xl\:h-full{height:100%}.xl\:h-screen{height:100vh}.xl\:leading-none{line-height:1}.xl\:leading-tight{line-height:1.25}.xl\:leading-normal{line-height:1.5}.xl\:leading-loose{line-height:2}.xl\:m-0{margin:0}.xl\:m-1{margin:.25rem}.xl\:m-2{margin:.5rem}.xl\:m-3{margin:.75rem}.xl\:m-4{margin:1rem}.xl\:m-6{margin:1.5rem}.xl\:m-8{margin:2rem}.xl\:m-auto{margin:auto}.xl\:m-px{margin:1px}.xl\:my-0{margin-top:0;margin-bottom:0}.xl\:mx-0{margin-left:0;margin-right:0}.xl\:my-1{margin-top:.25rem;margin-bottom:.25rem}.xl\:mx-1{margin-left:.25rem;margin-right:.25rem}.xl\:my-2{margin-top:.5rem;margin-bottom:.5rem}.xl\:mx-2{margin-left:.5rem;margin-right:.5rem}.xl\:my-3{margin-top:.75rem;margin-bottom:.75rem}.xl\:mx-3{margin-left:.75rem;margin-right:.75rem}.xl\:my-4{margin-top:1rem;margin-bottom:1rem}.xl\:mx-4{margin-left:1rem;margin-right:1rem}.xl\:my-6{margin-top:1.5rem;margin-bottom:1.5rem}.xl\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.xl\:my-8{margin-top:2rem;margin-bottom:2rem}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:my-auto{margin-top:auto;margin-bottom:auto}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:my-px{margin-top:1px;margin-bottom:1px}.xl\:mx-px{margin-left:1px;margin-right:1px}.xl\:mt-0{margin-top:0}.xl\:mr-0{margin-right:0}.xl\:mb-0{margin-bottom:0}.xl\:ml-0{margin-left:0}.xl\:mt-1{margin-top:.25rem}.xl\:mr-1{margin-right:.25rem}.xl\:mb-1{margin-bottom:.25rem}.xl\:ml-1{margin-left:.25rem}.xl\:mt-2{margin-top:.5rem}.xl\:mr-2{margin-right:.5rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:ml-2{margin-left:.5rem}.xl\:mt-3{margin-top:.75rem}.xl\:mr-3{margin-right:.75rem}.xl\:mb-3{margin-bottom:.75rem}.xl\:ml-3{margin-left:.75rem}.xl\:mt-4{margin-top:1rem}.xl\:mr-4{margin-right:1rem}.xl\:mb-4{margin-bottom:1rem}.xl\:ml-4{margin-left:1rem}.xl\:mt-6{margin-top:1.5rem}.xl\:mr-6{margin-right:1.5rem}.xl\:mb-6{margin-bottom:1.5rem}.xl\:ml-6{margin-left:1.5rem}.xl\:mt-8{margin-top:2rem}.xl\:mr-8{margin-right:2rem}.xl\:mb-8{margin-bottom:2rem}.xl\:ml-8{margin-left:2rem}.xl\:mt-auto{margin-top:auto}.xl\:mr-auto{margin-right:auto}.xl\:mb-auto{margin-bottom:auto}.xl\:ml-auto{margin-left:auto}.xl\:mt-px{margin-top:1px}.xl\:mr-px{margin-right:1px}.xl\:mb-px{margin-bottom:1px}.xl\:ml-px{margin-left:1px}.xl\:max-h-full{max-height:100%}.xl\:max-h-screen{max-height:100vh}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-sm{max-width:30rem}.xl\:max-w-md{max-width:40rem}.xl\:max-w-lg{max-width:50rem}.xl\:max-w-xl{max-width:60rem}.xl\:max-w-2xl{max-width:70rem}.xl\:max-w-3xl{max-width:80rem}.xl\:max-w-4xl{max-width:90rem}.xl\:max-w-5xl{max-width:100rem}.xl\:max-w-full{max-width:100%}.xl\:min-h-0{min-height:0}.xl\:min-h-full{min-height:100%}.xl\:min-h-screen{min-height:100vh}.xl\:min-w-0{min-width:0}.xl\:min-w-full{min-width:100%}.xl\:-m-0{margin:0}.xl\:-m-1{margin:-.25rem}.xl\:-m-2{margin:-.5rem}.xl\:-m-3{margin:-.75rem}.xl\:-m-4{margin:-1rem}.xl\:-m-6{margin:-1.5rem}.xl\:-m-8{margin:-2rem}.xl\:-m-px{margin:-1px}.xl\:-my-0{margin-top:0;margin-bottom:0}.xl\:-mx-0{margin-left:0;margin-right:0}.xl\:-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.xl\:-mx-1{margin-left:-.25rem;margin-right:-.25rem}.xl\:-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.xl\:-mx-2{margin-left:-.5rem;margin-right:-.5rem}.xl\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.xl\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.xl\:-my-4{margin-top:-1rem;margin-bottom:-1rem}.xl\:-mx-4{margin-left:-1rem;margin-right:-1rem}.xl\:-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.xl\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.xl\:-my-8{margin-top:-2rem;margin-bottom:-2rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:-my-px{margin-top:-1px;margin-bottom:-1px}.xl\:-mx-px{margin-left:-1px;margin-right:-1px}.xl\:-mt-0{margin-top:0}.xl\:-mr-0{margin-right:0}.xl\:-mb-0{margin-bottom:0}.xl\:-ml-0{margin-left:0}.xl\:-mt-1{margin-top:-.25rem}.xl\:-mr-1{margin-right:-.25rem}.xl\:-mb-1{margin-bottom:-.25rem}.xl\:-ml-1{margin-left:-.25rem}.xl\:-mt-2{margin-top:-.5rem}.xl\:-mr-2{margin-right:-.5rem}.xl\:-mb-2{margin-bottom:-.5rem}.xl\:-ml-2{margin-left:-.5rem}.xl\:-mt-3{margin-top:-.75rem}.xl\:-mr-3{margin-right:-.75rem}.xl\:-mb-3{margin-bottom:-.75rem}.xl\:-ml-3{margin-left:-.75rem}.xl\:-mt-4{margin-top:-1rem}.xl\:-mr-4{margin-right:-1rem}.xl\:-mb-4{margin-bottom:-1rem}.xl\:-ml-4{margin-left:-1rem}.xl\:-mt-6{margin-top:-1.5rem}.xl\:-mr-6{margin-right:-1.5rem}.xl\:-mb-6{margin-bottom:-1.5rem}.xl\:-ml-6{margin-left:-1.5rem}.xl\:-mt-8{margin-top:-2rem}.xl\:-mr-8{margin-right:-2rem}.xl\:-mb-8{margin-bottom:-2rem}.xl\:-ml-8{margin-left:-2rem}.xl\:-mt-px{margin-top:-1px}.xl\:-mr-px{margin-right:-1px}.xl\:-mb-px{margin-bottom:-1px}.xl\:-ml-px{margin-left:-1px}.xl\:opacity-0{opacity:0}.xl\:opacity-25{opacity:.25}.xl\:opacity-50{opacity:.5}.xl\:opacity-75{opacity:.75}.xl\:opacity-100{opacity:1}.xl\:overflow-auto{overflow:auto}.xl\:overflow-hidden{overflow:hidden}.xl\:overflow-visible{overflow:visible}.xl\:overflow-scroll{overflow:scroll}.xl\:overflow-x-scroll{overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.xl\:overflow-y-scroll{overflow-y:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.xl\:scrolling-touch{-webkit-overflow-scrolling:touch}.xl\:scrolling-auto{-webkit-overflow-scrolling:auto}.xl\:p-0{padding:0}.xl\:p-1{padding:.25rem}.xl\:p-2{padding:.5rem}.xl\:p-3{padding:.75rem}.xl\:p-4{padding:1rem}.xl\:p-6{padding:1.5rem}.xl\:p-8{padding:2rem}.xl\:p-px{padding:1px}.xl\:py-0{padding-top:0;padding-bottom:0}.xl\:px-0{padding-left:0;padding-right:0}.xl\:py-1{padding-top:.25rem;padding-bottom:.25rem}.xl\:px-1{padding-left:.25rem;padding-right:.25rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:px-2{padding-left:.5rem;padding-right:.5rem}.xl\:py-3{padding-top:.75rem;padding-bottom:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:px-4{padding-left:1rem;padding-right:1rem}.xl\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.xl\:px-6{padding-left:1.5rem;padding-right:1.5rem}.xl\:py-8{padding-top:2rem;padding-bottom:2rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-px{padding-top:1px;padding-bottom:1px}.xl\:px-px{padding-left:1px;padding-right:1px}.xl\:pt-0{padding-top:0}.xl\:pr-0{padding-right:0}.xl\:pb-0{padding-bottom:0}.xl\:pl-0{padding-left:0}.xl\:pt-1{padding-top:.25rem}.xl\:pr-1{padding-right:.25rem}.xl\:pb-1{padding-bottom:.25rem}.xl\:pl-1{padding-left:.25rem}.xl\:pt-2{padding-top:.5rem}.xl\:pr-2{padding-right:.5rem}.xl\:pb-2{padding-bottom:.5rem}.xl\:pl-2{padding-left:.5rem}.xl\:pt-3{padding-top:.75rem}.xl\:pr-3{padding-right:.75rem}.xl\:pb-3{padding-bottom:.75rem}.xl\:pl-3{padding-left:.75rem}.xl\:pt-4{padding-top:1rem}.xl\:pr-4{padding-right:1rem}.xl\:pb-4{padding-bottom:1rem}.xl\:pl-4{padding-left:1rem}.xl\:pt-6{padding-top:1.5rem}.xl\:pr-6{padding-right:1.5rem}.xl\:pb-6{padding-bottom:1.5rem}.xl\:pl-6{padding-left:1.5rem}.xl\:pt-8{padding-top:2rem}.xl\:pr-8{padding-right:2rem}.xl\:pb-8{padding-bottom:2rem}.xl\:pl-8{padding-left:2rem}.xl\:pt-px{padding-top:1px}.xl\:pr-px{padding-right:1px}.xl\:pb-px{padding-bottom:1px}.xl\:pl-px{padding-left:1px}.xl\:pointer-events-none{pointer-events:none}.xl\:pointer-events-auto{pointer-events:auto}.xl\:static{position:static}.xl\:fixed{position:fixed}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:pin-none{top:auto;right:auto;bottom:auto;left:auto}.xl\:pin{top:0;right:0;bottom:0;left:0}.xl\:pin-y{top:0;bottom:0}.xl\:pin-x{right:0;left:0}.xl\:pin-t{top:0}.xl\:pin-r{right:0}.xl\:pin-b{bottom:0}.xl\:pin-l{left:0}.xl\:resize-none{resize:none}.xl\:resize-y{resize:vertical}.xl\:resize-x{resize:horizontal}.xl\:resize{resize:both}.xl\:shadow{box-shadow:0 2px 4px 0 rgba(0,0,0,.1)}.xl\:shadow-md{box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.xl\:shadow-lg{box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.xl\:shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.xl\:shadow-none{box-shadow:none}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}.xl\:text-justify{text-align:justify}.xl\:text-transparent{color:transparent}.xl\:text-black{color:#22292f}.xl\:text-grey-darkest{color:#3d4852}.xl\:text-grey-darker{color:#606f7b}.xl\:text-grey-dark{color:#8795a1}.xl\:text-grey{color:#b8c2cc}.xl\:text-grey-light{color:#dae1e7}.xl\:text-grey-lighter{color:#f1f5f8}.xl\:text-grey-lightest{color:#f8fafc}.xl\:text-white{color:#fff}.xl\:text-red-darkest{color:#3b0d0c}.xl\:text-red-darker{color:#621b18}.xl\:text-red-dark{color:#cc1f1a}.xl\:text-red{color:#e3342f}.xl\:text-red-light{color:#ef5753}.xl\:text-red-lighter{color:#f9acaa}.xl\:text-red-lightest{color:#fcebea}.xl\:text-orange-darkest{color:#462a16}.xl\:text-orange-darker{color:#613b1f}.xl\:text-orange-dark{color:#de751f}.xl\:text-orange{color:#f6993f}.xl\:text-orange-light{color:#faad63}.xl\:text-orange-lighter{color:#fcd9b6}.xl\:text-orange-lightest{color:#fff5eb}.xl\:text-yellow-darkest{color:#453411}.xl\:text-yellow-darker{color:#684f1d}.xl\:text-yellow-dark{color:#f2d024}.xl\:text-yellow{color:#ffed4a}.xl\:text-yellow-light{color:#fff382}.xl\:text-yellow-lighter{color:#fff9c2}.xl\:text-yellow-lightest{color:#fcfbeb}.xl\:text-green-darkest{color:#0f2f21}.xl\:text-green-darker{color:#1a4731}.xl\:text-green-dark{color:#1f9d55}.xl\:text-green{color:#38c172}.xl\:text-green-light{color:#51d88a}.xl\:text-green-lighter{color:#a2f5bf}.xl\:text-green-lightest{color:#e3fcec}.xl\:text-teal-darkest{color:#0d3331}.xl\:text-teal-darker{color:#20504f}.xl\:text-teal-dark{color:#38a89d}.xl\:text-teal{color:#4dc0b5}.xl\:text-teal-light{color:#64d5ca}.xl\:text-teal-lighter{color:#a0f0ed}.xl\:text-teal-lightest{color:#e8fffe}.xl\:text-blue-darkest{color:#12283a}.xl\:text-blue-darker{color:#1c3d5a}.xl\:text-blue-dark{color:#2779bd}.xl\:text-blue{color:#3490dc}.xl\:text-blue-light{color:#6cb2eb}.xl\:text-blue-lighter{color:#bcdefa}.xl\:text-blue-lightest{color:#eff8ff}.xl\:text-indigo-darkest{color:#191e38}.xl\:text-indigo-darker{color:#2f365f}.xl\:text-indigo-dark{color:#5661b3}.xl\:text-indigo{color:#6574cd}.xl\:text-indigo-light{color:#7886d7}.xl\:text-indigo-lighter{color:#b2b7ff}.xl\:text-indigo-lightest{color:#e6e8ff}.xl\:text-purple-darkest{color:#21183c}.xl\:text-purple-darker{color:#382b5f}.xl\:text-purple-dark{color:#794acf}.xl\:text-purple{color:#9561e2}.xl\:text-purple-light{color:#a779e9}.xl\:text-purple-lighter{color:#d6bbfc}.xl\:text-purple-lightest{color:#f3ebff}.xl\:text-pink-darkest{color:#451225}.xl\:text-pink-darker{color:#6f213f}.xl\:text-pink-dark{color:#eb5286}.xl\:text-pink{color:#f66d9b}.xl\:text-pink-light{color:#fa7ea8}.xl\:text-pink-lighter{color:#ffbbca}.xl\:text-pink-lightest{color:#ffebef}.xl\:hover\:text-transparent:hover{color:transparent}.xl\:hover\:text-black:hover{color:#22292f}.xl\:hover\:text-grey-darkest:hover{color:#3d4852}.xl\:hover\:text-grey-darker:hover{color:#606f7b}.xl\:hover\:text-grey-dark:hover{color:#8795a1}.xl\:hover\:text-grey:hover{color:#b8c2cc}.xl\:hover\:text-grey-light:hover{color:#dae1e7}.xl\:hover\:text-grey-lighter:hover{color:#f1f5f8}.xl\:hover\:text-grey-lightest:hover{color:#f8fafc}.xl\:hover\:text-white:hover{color:#fff}.xl\:hover\:text-red-darkest:hover{color:#3b0d0c}.xl\:hover\:text-red-darker:hover{color:#621b18}.xl\:hover\:text-red-dark:hover{color:#cc1f1a}.xl\:hover\:text-red:hover{color:#e3342f}.xl\:hover\:text-red-light:hover{color:#ef5753}.xl\:hover\:text-red-lighter:hover{color:#f9acaa}.xl\:hover\:text-red-lightest:hover{color:#fcebea}.xl\:hover\:text-orange-darkest:hover{color:#462a16}.xl\:hover\:text-orange-darker:hover{color:#613b1f}.xl\:hover\:text-orange-dark:hover{color:#de751f}.xl\:hover\:text-orange:hover{color:#f6993f}.xl\:hover\:text-orange-light:hover{color:#faad63}.xl\:hover\:text-orange-lighter:hover{color:#fcd9b6}.xl\:hover\:text-orange-lightest:hover{color:#fff5eb}.xl\:hover\:text-yellow-darkest:hover{color:#453411}.xl\:hover\:text-yellow-darker:hover{color:#684f1d}.xl\:hover\:text-yellow-dark:hover{color:#f2d024}.xl\:hover\:text-yellow:hover{color:#ffed4a}.xl\:hover\:text-yellow-light:hover{color:#fff382}.xl\:hover\:text-yellow-lighter:hover{color:#fff9c2}.xl\:hover\:text-yellow-lightest:hover{color:#fcfbeb}.xl\:hover\:text-green-darkest:hover{color:#0f2f21}.xl\:hover\:text-green-darker:hover{color:#1a4731}.xl\:hover\:text-green-dark:hover{color:#1f9d55}.xl\:hover\:text-green:hover{color:#38c172}.xl\:hover\:text-green-light:hover{color:#51d88a}.xl\:hover\:text-green-lighter:hover{color:#a2f5bf}.xl\:hover\:text-green-lightest:hover{color:#e3fcec}.xl\:hover\:text-teal-darkest:hover{color:#0d3331}.xl\:hover\:text-teal-darker:hover{color:#20504f}.xl\:hover\:text-teal-dark:hover{color:#38a89d}.xl\:hover\:text-teal:hover{color:#4dc0b5}.xl\:hover\:text-teal-light:hover{color:#64d5ca}.xl\:hover\:text-teal-lighter:hover{color:#a0f0ed}.xl\:hover\:text-teal-lightest:hover{color:#e8fffe}.xl\:hover\:text-blue-darkest:hover{color:#12283a}.xl\:hover\:text-blue-darker:hover{color:#1c3d5a}.xl\:hover\:text-blue-dark:hover{color:#2779bd}.xl\:hover\:text-blue:hover{color:#3490dc}.xl\:hover\:text-blue-light:hover{color:#6cb2eb}.xl\:hover\:text-blue-lighter:hover{color:#bcdefa}.xl\:hover\:text-blue-lightest:hover{color:#eff8ff}.xl\:hover\:text-indigo-darkest:hover{color:#191e38}.xl\:hover\:text-indigo-darker:hover{color:#2f365f}.xl\:hover\:text-indigo-dark:hover{color:#5661b3}.xl\:hover\:text-indigo:hover{color:#6574cd}.xl\:hover\:text-indigo-light:hover{color:#7886d7}.xl\:hover\:text-indigo-lighter:hover{color:#b2b7ff}.xl\:hover\:text-indigo-lightest:hover{color:#e6e8ff}.xl\:hover\:text-purple-darkest:hover{color:#21183c}.xl\:hover\:text-purple-darker:hover{color:#382b5f}.xl\:hover\:text-purple-dark:hover{color:#794acf}.xl\:hover\:text-purple:hover{color:#9561e2}.xl\:hover\:text-purple-light:hover{color:#a779e9}.xl\:hover\:text-purple-lighter:hover{color:#d6bbfc}.xl\:hover\:text-purple-lightest:hover{color:#f3ebff}.xl\:hover\:text-pink-darkest:hover{color:#451225}.xl\:hover\:text-pink-darker:hover{color:#6f213f}.xl\:hover\:text-pink-dark:hover{color:#eb5286}.xl\:hover\:text-pink:hover{color:#f66d9b}.xl\:hover\:text-pink-light:hover{color:#fa7ea8}.xl\:hover\:text-pink-lighter:hover{color:#ffbbca}.xl\:hover\:text-pink-lightest:hover{color:#ffebef}.xl\:text-xs{font-size:.75rem}.xl\:text-sm{font-size:.875rem}.xl\:text-base{font-size:1rem}.xl\:text-lg{font-size:1.125rem}.xl\:text-xl{font-size:1.25rem}.xl\:text-2xl{font-size:1.5rem}.xl\:text-3xl{font-size:1.875rem}.xl\:text-4xl{font-size:2.25rem}.xl\:text-5xl{font-size:3rem}.xl\:italic{font-style:italic}.xl\:roman{font-style:normal}.xl\:uppercase{text-transform:uppercase}.xl\:lowercase{text-transform:lowercase}.xl\:capitalize{text-transform:capitalize}.xl\:normal-case{text-transform:none}.xl\:underline{text-decoration:underline}.xl\:line-through{text-decoration:line-through}.xl\:no-underline{text-decoration:none}.xl\:antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:hover\:italic:hover{font-style:italic}.xl\:hover\:roman:hover{font-style:normal}.xl\:hover\:uppercase:hover{text-transform:uppercase}.xl\:hover\:lowercase:hover{text-transform:lowercase}.xl\:hover\:capitalize:hover{text-transform:capitalize}.xl\:hover\:normal-case:hover{text-transform:none}.xl\:hover\:underline:hover{text-decoration:underline}.xl\:hover\:line-through:hover{text-decoration:line-through}.xl\:hover\:no-underline:hover{text-decoration:none}.xl\:hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.xl\:hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.xl\:tracking-tight{letter-spacing:-.05em}.xl\:tracking-normal{letter-spacing:0}.xl\:tracking-wide{letter-spacing:.05em}.xl\:select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.xl\:select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.xl\:align-baseline{vertical-align:baseline}.xl\:align-top{vertical-align:top}.xl\:align-middle{vertical-align:middle}.xl\:align-bottom{vertical-align:bottom}.xl\:align-text-top{vertical-align:text-top}.xl\:align-text-bottom{vertical-align:text-bottom}.xl\:visible{visibility:visible}.xl\:invisible{visibility:hidden}.xl\:whitespace-normal{white-space:normal}.xl\:whitespace-no-wrap{white-space:nowrap}.xl\:whitespace-pre{white-space:pre}.xl\:whitespace-pre-line{white-space:pre-line}.xl\:whitespace-pre-wrap{white-space:pre-wrap}.xl\:break-words{word-wrap:break-word}.xl\:break-normal{word-wrap:normal}.xl\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xl\:w-1{width:.25rem}.xl\:w-2{width:.5rem}.xl\:w-3{width:.75rem}.xl\:w-4{width:1rem}.xl\:w-6{width:1.5rem}.xl\:w-8{width:2rem}.xl\:w-10{width:2.5rem}.xl\:w-12{width:3rem}.xl\:w-16{width:4rem}.xl\:w-24{width:6rem}.xl\:w-32{width:8rem}.xl\:w-48{width:12rem}.xl\:w-64{width:16rem}.xl\:w-auto{width:auto}.xl\:w-px{width:1px}.xl\:w-1\/2{width:50%}.xl\:w-1\/3{width:33.33333%}.xl\:w-2\/3{width:66.66667%}.xl\:w-1\/4{width:25%}.xl\:w-3\/4{width:75%}.xl\:w-1\/5{width:20%}.xl\:w-2\/5{width:40%}.xl\:w-3\/5{width:60%}.xl\:w-4\/5{width:80%}.xl\:w-1\/6{width:16.66667%}.xl\:w-5\/6{width:83.33333%}.xl\:w-full{width:100%}.xl\:w-screen{width:100vw}.xl\:z-0{z-index:0}.xl\:z-10{z-index:10}.xl\:z-20{z-index:20}.xl\:z-30{z-index:30}.xl\:z-40{z-index:40}.xl\:z-50{z-index:50}.xl\:z-auto{z-index:auto}} \ No newline at end of file +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +footer, +header, +nav, +section { + display: block; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +figcaption, +figure, +main { + display: block; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +pre { + font-family: monospace, monospace; + font-size: 1em; +} +a { + background-color: transparent; + -webkit-text-decoration-skip: objects; +} +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} +b, +strong { + font-weight: inherit; +} +b, +strong { + font-weight: bolder; +} +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +dfn { + font-style: italic; +} +mark { + background-color: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +audio, +video { + display: inline-block; +} +audio:not([controls]) { + display: none; + height: 0; +} +img { + border-style: none; +} +svg:not(:root) { + overflow: hidden; +} +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; + font-size: 100%; + line-height: 1.15; + margin: 0; +} +button, +input { + overflow: visible; +} +button, +select { + text-transform: none; +} +[type="reset"], +[type="submit"], +button, +html [type="button"] { + -webkit-appearance: button; +} +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0; +} +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} +progress { + display: inline-block; + vertical-align: baseline; +} +textarea { + overflow: auto; +} +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; +} +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} +details, +menu { + display: block; +} +summary { + display: list-item; +} +canvas { + display: inline-block; +} +template { + display: none; +} +[hidden] { + display: none; +} +html { + box-sizing: border-box; + font-family: sans-serif; +} +*, +::after, +::before { + box-sizing: inherit; +} +blockquote, +dd, +dl, +figure, +h1, +h2, +h3, +h4, +h5, +h6, +p, +pre { + margin: 0; +} +button { + background: 0 0; + padding: 0; +} +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} +fieldset { + margin: 0; + padding: 0; +} +ol, +ul { + margin: 0; +} +[tabindex="-1"]:focus { + outline: 0 !important; +} +*, +::after, +::before { + border-width: 0; + border-style: solid; + border-color: #dae1e7; +} +[type="button"], +[type="reset"], +[type="submit"], +button { + border-radius: 0; +} +textarea { + resize: vertical; +} +img { + max-width: 100%; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; +} +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: inherit; + opacity: 0.5; +} +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: inherit; + opacity: 0.5; +} +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { + color: inherit; + opacity: 0.5; +} +input::placeholder, +textarea::placeholder { + color: inherit; + opacity: 0.5; +} +[role="button"], +button { + cursor: pointer; +} +.container { + width: 100%; +} +@media (min-width: 576px) { + .container { + max-width: 576px; + } +} +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} +@media (min-width: 992px) { + .container { + max-width: 992px; + } +} +@media (min-width: 1200px) { + .container { + max-width: 1200px; + } +} +.list-reset { + list-style: none; + padding: 0; +} +.appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.bg-fixed { + background-attachment: fixed; +} +.bg-local { + background-attachment: local; +} +.bg-scroll { + background-attachment: scroll; +} +.bg-transparent { + background-color: transparent; +} +.bg-black { + background-color: #22292f; +} +.bg-grey-darkest { + background-color: #3d4852; +} +.bg-grey-darker { + background-color: #606f7b; +} +.bg-grey-dark { + background-color: #8795a1; +} +.bg-grey { + background-color: #b8c2cc; +} +.bg-grey-light { + background-color: #dae1e7; +} +.bg-grey-lighter { + background-color: #f1f5f8; +} +.bg-grey-lightest { + background-color: #f8fafc; +} +.bg-white { + background-color: #fff; +} +.bg-red-darkest { + background-color: #3b0d0c; +} +.bg-red-darker { + background-color: #621b18; +} +.bg-red-dark { + background-color: #cc1f1a; +} +.bg-red { + background-color: #e3342f; +} +.bg-red-light { + background-color: #ef5753; +} +.bg-red-lighter { + background-color: #f9acaa; +} +.bg-red-lightest { + background-color: #fcebea; +} +.bg-orange-darkest { + background-color: #462a16; +} +.bg-orange-darker { + background-color: #613b1f; +} +.bg-orange-dark { + background-color: #de751f; +} +.bg-orange { + background-color: #f6993f; +} +.bg-orange-light { + background-color: #faad63; +} +.bg-orange-lighter { + background-color: #fcd9b6; +} +.bg-orange-lightest { + background-color: #fff5eb; +} +.bg-yellow-darkest { + background-color: #453411; +} +.bg-yellow-darker { + background-color: #684f1d; +} +.bg-yellow-dark { + background-color: #f2d024; +} +.bg-yellow { + background-color: #ffed4a; +} +.bg-yellow-light { + background-color: #fff382; +} +.bg-yellow-lighter { + background-color: #fff9c2; +} +.bg-yellow-lightest { + background-color: #fcfbeb; +} +.bg-green-darkest { + background-color: #0f2f21; +} +.bg-green-darker { + background-color: #1a4731; +} +.bg-green-dark { + background-color: #1f9d55; +} +.bg-green { + background-color: #38c172; +} +.bg-green-light { + background-color: #51d88a; +} +.bg-green-lighter { + background-color: #a2f5bf; +} +.bg-green-lightest { + background-color: #e3fcec; +} +.bg-teal-darkest { + background-color: #0d3331; +} +.bg-teal-darker { + background-color: #20504f; +} +.bg-teal-dark { + background-color: #38a89d; +} +.bg-teal { + background-color: #4dc0b5; +} +.bg-teal-light { + background-color: #64d5ca; +} +.bg-teal-lighter { + background-color: #a0f0ed; +} +.bg-teal-lightest { + background-color: #e8fffe; +} +.bg-blue-darkest { + background-color: #12283a; +} +.bg-blue-darker { + background-color: #1c3d5a; +} +.bg-blue-dark { + background-color: #2779bd; +} +.bg-blue { + background-color: #3490dc; +} +.bg-blue-light { + background-color: #6cb2eb; +} +.bg-blue-lighter { + background-color: #bcdefa; +} +.bg-blue-lightest { + background-color: #eff8ff; +} +.bg-indigo-darkest { + background-color: #191e38; +} +.bg-indigo-darker { + background-color: #2f365f; +} +.bg-indigo-dark { + background-color: #5661b3; +} +.bg-indigo { + background-color: #6574cd; +} +.bg-indigo-light { + background-color: #7886d7; +} +.bg-indigo-lighter { + background-color: #b2b7ff; +} +.bg-indigo-lightest { + background-color: #e6e8ff; +} +.bg-purple-darkest { + background-color: #21183c; +} +.bg-purple-darker { + background-color: #382b5f; +} +.bg-purple-dark { + background-color: #794acf; +} +.bg-purple { + background-color: #9561e2; +} +.bg-purple-light { + background-color: #a779e9; +} +.bg-purple-lighter { + background-color: #d6bbfc; +} +.bg-purple-lightest { + background-color: #f3ebff; +} +.bg-pink-darkest { + background-color: #451225; +} +.bg-pink-darker { + background-color: #6f213f; +} +.bg-pink-dark { + background-color: #eb5286; +} +.bg-pink { + background-color: #f66d9b; +} +.bg-pink-light { + background-color: #fa7ea8; +} +.bg-pink-lighter { + background-color: #ffbbca; +} +.bg-pink-lightest { + background-color: #ffebef; +} +.hover\:bg-transparent:hover { + background-color: transparent; +} +.hover\:bg-black:hover { + background-color: #22292f; +} +.hover\:bg-grey-darkest:hover { + background-color: #3d4852; +} +.hover\:bg-grey-darker:hover { + background-color: #606f7b; +} +.hover\:bg-grey-dark:hover { + background-color: #8795a1; +} +.hover\:bg-grey:hover { + background-color: #b8c2cc; +} +.hover\:bg-grey-light:hover { + background-color: #dae1e7; +} +.hover\:bg-grey-lighter:hover { + background-color: #f1f5f8; +} +.hover\:bg-grey-lightest:hover { + background-color: #f8fafc; +} +.hover\:bg-white:hover { + background-color: #fff; +} +.hover\:bg-red-darkest:hover { + background-color: #3b0d0c; +} +.hover\:bg-red-darker:hover { + background-color: #621b18; +} +.hover\:bg-red-dark:hover { + background-color: #cc1f1a; +} +.hover\:bg-red:hover { + background-color: #e3342f; +} +.hover\:bg-red-light:hover { + background-color: #ef5753; +} +.hover\:bg-red-lighter:hover { + background-color: #f9acaa; +} +.hover\:bg-red-lightest:hover { + background-color: #fcebea; +} +.hover\:bg-orange-darkest:hover { + background-color: #462a16; +} +.hover\:bg-orange-darker:hover { + background-color: #613b1f; +} +.hover\:bg-orange-dark:hover { + background-color: #de751f; +} +.hover\:bg-orange:hover { + background-color: #f6993f; +} +.hover\:bg-orange-light:hover { + background-color: #faad63; +} +.hover\:bg-orange-lighter:hover { + background-color: #fcd9b6; +} +.hover\:bg-orange-lightest:hover { + background-color: #fff5eb; +} +.hover\:bg-yellow-darkest:hover { + background-color: #453411; +} +.hover\:bg-yellow-darker:hover { + background-color: #684f1d; +} +.hover\:bg-yellow-dark:hover { + background-color: #f2d024; +} +.hover\:bg-yellow:hover { + background-color: #ffed4a; +} +.hover\:bg-yellow-light:hover { + background-color: #fff382; +} +.hover\:bg-yellow-lighter:hover { + background-color: #fff9c2; +} +.hover\:bg-yellow-lightest:hover { + background-color: #fcfbeb; +} +.hover\:bg-green-darkest:hover { + background-color: #0f2f21; +} +.hover\:bg-green-darker:hover { + background-color: #1a4731; +} +.hover\:bg-green-dark:hover { + background-color: #1f9d55; +} +.hover\:bg-green:hover { + background-color: #38c172; +} +.hover\:bg-green-light:hover { + background-color: #51d88a; +} +.hover\:bg-green-lighter:hover { + background-color: #a2f5bf; +} +.hover\:bg-green-lightest:hover { + background-color: #e3fcec; +} +.hover\:bg-teal-darkest:hover { + background-color: #0d3331; +} +.hover\:bg-teal-darker:hover { + background-color: #20504f; +} +.hover\:bg-teal-dark:hover { + background-color: #38a89d; +} +.hover\:bg-teal:hover { + background-color: #4dc0b5; +} +.hover\:bg-teal-light:hover { + background-color: #64d5ca; +} +.hover\:bg-teal-lighter:hover { + background-color: #a0f0ed; +} +.hover\:bg-teal-lightest:hover { + background-color: #e8fffe; +} +.hover\:bg-blue-darkest:hover { + background-color: #12283a; +} +.hover\:bg-blue-darker:hover { + background-color: #1c3d5a; +} +.hover\:bg-blue-dark:hover { + background-color: #2779bd; +} +.hover\:bg-blue:hover { + background-color: #3490dc; +} +.hover\:bg-blue-light:hover { + background-color: #6cb2eb; +} +.hover\:bg-blue-lighter:hover { + background-color: #bcdefa; +} +.hover\:bg-blue-lightest:hover { + background-color: #eff8ff; +} +.hover\:bg-indigo-darkest:hover { + background-color: #191e38; +} +.hover\:bg-indigo-darker:hover { + background-color: #2f365f; +} +.hover\:bg-indigo-dark:hover { + background-color: #5661b3; +} +.hover\:bg-indigo:hover { + background-color: #6574cd; +} +.hover\:bg-indigo-light:hover { + background-color: #7886d7; +} +.hover\:bg-indigo-lighter:hover { + background-color: #b2b7ff; +} +.hover\:bg-indigo-lightest:hover { + background-color: #e6e8ff; +} +.hover\:bg-purple-darkest:hover { + background-color: #21183c; +} +.hover\:bg-purple-darker:hover { + background-color: #382b5f; +} +.hover\:bg-purple-dark:hover { + background-color: #794acf; +} +.hover\:bg-purple:hover { + background-color: #9561e2; +} +.hover\:bg-purple-light:hover { + background-color: #a779e9; +} +.hover\:bg-purple-lighter:hover { + background-color: #d6bbfc; +} +.hover\:bg-purple-lightest:hover { + background-color: #f3ebff; +} +.hover\:bg-pink-darkest:hover { + background-color: #451225; +} +.hover\:bg-pink-darker:hover { + background-color: #6f213f; +} +.hover\:bg-pink-dark:hover { + background-color: #eb5286; +} +.hover\:bg-pink:hover { + background-color: #f66d9b; +} +.hover\:bg-pink-light:hover { + background-color: #fa7ea8; +} +.hover\:bg-pink-lighter:hover { + background-color: #ffbbca; +} +.hover\:bg-pink-lightest:hover { + background-color: #ffebef; +} +.bg-bottom { + background-position: bottom; +} +.bg-center { + background-position: center; +} +.bg-left { + background-position: left; +} +.bg-left-bottom { + background-position: left bottom; +} +.bg-left-top { + background-position: left top; +} +.bg-right { + background-position: right; +} +.bg-right-bottom { + background-position: right bottom; +} +.bg-right-top { + background-position: right top; +} +.bg-top { + background-position: top; +} +.bg-repeat { + background-repeat: repeat; +} +.bg-no-repeat { + background-repeat: no-repeat; +} +.bg-repeat-x { + background-repeat: repeat-x; +} +.bg-repeat-y { + background-repeat: repeat-y; +} +.bg-cover { + background-size: cover; +} +.bg-contain { + background-size: contain; +} +.border-transparent { + border-color: transparent; +} +.border-black { + border-color: #22292f; +} +.border-grey-darkest { + border-color: #3d4852; +} +.border-grey-darker { + border-color: #606f7b; +} +.border-grey-dark { + border-color: #8795a1; +} +.border-grey { + border-color: #b8c2cc; +} +.border-grey-light { + border-color: #dae1e7; +} +.border-grey-lighter { + border-color: #f1f5f8; +} +.border-grey-lightest { + border-color: #f8fafc; +} +.border-white { + border-color: #fff; +} +.border-red-darkest { + border-color: #3b0d0c; +} +.border-red-darker { + border-color: #621b18; +} +.border-red-dark { + border-color: #cc1f1a; +} +.border-red { + border-color: #e3342f; +} +.border-red-light { + border-color: #ef5753; +} +.border-red-lighter { + border-color: #f9acaa; +} +.border-red-lightest { + border-color: #fcebea; +} +.border-orange-darkest { + border-color: #462a16; +} +.border-orange-darker { + border-color: #613b1f; +} +.border-orange-dark { + border-color: #de751f; +} +.border-orange { + border-color: #f6993f; +} +.border-orange-light { + border-color: #faad63; +} +.border-orange-lighter { + border-color: #fcd9b6; +} +.border-orange-lightest { + border-color: #fff5eb; +} +.border-yellow-darkest { + border-color: #453411; +} +.border-yellow-darker { + border-color: #684f1d; +} +.border-yellow-dark { + border-color: #f2d024; +} +.border-yellow { + border-color: #ffed4a; +} +.border-yellow-light { + border-color: #fff382; +} +.border-yellow-lighter { + border-color: #fff9c2; +} +.border-yellow-lightest { + border-color: #fcfbeb; +} +.border-green-darkest { + border-color: #0f2f21; +} +.border-green-darker { + border-color: #1a4731; +} +.border-green-dark { + border-color: #1f9d55; +} +.border-green { + border-color: #38c172; +} +.border-green-light { + border-color: #51d88a; +} +.border-green-lighter { + border-color: #a2f5bf; +} +.border-green-lightest { + border-color: #e3fcec; +} +.border-teal-darkest { + border-color: #0d3331; +} +.border-teal-darker { + border-color: #20504f; +} +.border-teal-dark { + border-color: #38a89d; +} +.border-teal { + border-color: #4dc0b5; +} +.border-teal-light { + border-color: #64d5ca; +} +.border-teal-lighter { + border-color: #a0f0ed; +} +.border-teal-lightest { + border-color: #e8fffe; +} +.border-blue-darkest { + border-color: #12283a; +} +.border-blue-darker { + border-color: #1c3d5a; +} +.border-blue-dark { + border-color: #2779bd; +} +.border-blue { + border-color: #3490dc; +} +.border-blue-light { + border-color: #6cb2eb; +} +.border-blue-lighter { + border-color: #bcdefa; +} +.border-blue-lightest { + border-color: #eff8ff; +} +.border-indigo-darkest { + border-color: #191e38; +} +.border-indigo-darker { + border-color: #2f365f; +} +.border-indigo-dark { + border-color: #5661b3; +} +.border-indigo { + border-color: #6574cd; +} +.border-indigo-light { + border-color: #7886d7; +} +.border-indigo-lighter { + border-color: #b2b7ff; +} +.border-indigo-lightest { + border-color: #e6e8ff; +} +.border-purple-darkest { + border-color: #21183c; +} +.border-purple-darker { + border-color: #382b5f; +} +.border-purple-dark { + border-color: #794acf; +} +.border-purple { + border-color: #9561e2; +} +.border-purple-light { + border-color: #a779e9; +} +.border-purple-lighter { + border-color: #d6bbfc; +} +.border-purple-lightest { + border-color: #f3ebff; +} +.border-pink-darkest { + border-color: #451225; +} +.border-pink-darker { + border-color: #6f213f; +} +.border-pink-dark { + border-color: #eb5286; +} +.border-pink { + border-color: #f66d9b; +} +.border-pink-light { + border-color: #fa7ea8; +} +.border-pink-lighter { + border-color: #ffbbca; +} +.border-pink-lightest { + border-color: #ffebef; +} +.hover\:border-transparent:hover { + border-color: transparent; +} +.hover\:border-black:hover { + border-color: #22292f; +} +.hover\:border-grey-darkest:hover { + border-color: #3d4852; +} +.hover\:border-grey-darker:hover { + border-color: #606f7b; +} +.hover\:border-grey-dark:hover { + border-color: #8795a1; +} +.hover\:border-grey:hover { + border-color: #b8c2cc; +} +.hover\:border-grey-light:hover { + border-color: #dae1e7; +} +.hover\:border-grey-lighter:hover { + border-color: #f1f5f8; +} +.hover\:border-grey-lightest:hover { + border-color: #f8fafc; +} +.hover\:border-white:hover { + border-color: #fff; +} +.hover\:border-red-darkest:hover { + border-color: #3b0d0c; +} +.hover\:border-red-darker:hover { + border-color: #621b18; +} +.hover\:border-red-dark:hover { + border-color: #cc1f1a; +} +.hover\:border-red:hover { + border-color: #e3342f; +} +.hover\:border-red-light:hover { + border-color: #ef5753; +} +.hover\:border-red-lighter:hover { + border-color: #f9acaa; +} +.hover\:border-red-lightest:hover { + border-color: #fcebea; +} +.hover\:border-orange-darkest:hover { + border-color: #462a16; +} +.hover\:border-orange-darker:hover { + border-color: #613b1f; +} +.hover\:border-orange-dark:hover { + border-color: #de751f; +} +.hover\:border-orange:hover { + border-color: #f6993f; +} +.hover\:border-orange-light:hover { + border-color: #faad63; +} +.hover\:border-orange-lighter:hover { + border-color: #fcd9b6; +} +.hover\:border-orange-lightest:hover { + border-color: #fff5eb; +} +.hover\:border-yellow-darkest:hover { + border-color: #453411; +} +.hover\:border-yellow-darker:hover { + border-color: #684f1d; +} +.hover\:border-yellow-dark:hover { + border-color: #f2d024; +} +.hover\:border-yellow:hover { + border-color: #ffed4a; +} +.hover\:border-yellow-light:hover { + border-color: #fff382; +} +.hover\:border-yellow-lighter:hover { + border-color: #fff9c2; +} +.hover\:border-yellow-lightest:hover { + border-color: #fcfbeb; +} +.hover\:border-green-darkest:hover { + border-color: #0f2f21; +} +.hover\:border-green-darker:hover { + border-color: #1a4731; +} +.hover\:border-green-dark:hover { + border-color: #1f9d55; +} +.hover\:border-green:hover { + border-color: #38c172; +} +.hover\:border-green-light:hover { + border-color: #51d88a; +} +.hover\:border-green-lighter:hover { + border-color: #a2f5bf; +} +.hover\:border-green-lightest:hover { + border-color: #e3fcec; +} +.hover\:border-teal-darkest:hover { + border-color: #0d3331; +} +.hover\:border-teal-darker:hover { + border-color: #20504f; +} +.hover\:border-teal-dark:hover { + border-color: #38a89d; +} +.hover\:border-teal:hover { + border-color: #4dc0b5; +} +.hover\:border-teal-light:hover { + border-color: #64d5ca; +} +.hover\:border-teal-lighter:hover { + border-color: #a0f0ed; +} +.hover\:border-teal-lightest:hover { + border-color: #e8fffe; +} +.hover\:border-blue-darkest:hover { + border-color: #12283a; +} +.hover\:border-blue-darker:hover { + border-color: #1c3d5a; +} +.hover\:border-blue-dark:hover { + border-color: #2779bd; +} +.hover\:border-blue:hover { + border-color: #3490dc; +} +.hover\:border-blue-light:hover { + border-color: #6cb2eb; +} +.hover\:border-blue-lighter:hover { + border-color: #bcdefa; +} +.hover\:border-blue-lightest:hover { + border-color: #eff8ff; +} +.hover\:border-indigo-darkest:hover { + border-color: #191e38; +} +.hover\:border-indigo-darker:hover { + border-color: #2f365f; +} +.hover\:border-indigo-dark:hover { + border-color: #5661b3; +} +.hover\:border-indigo:hover { + border-color: #6574cd; +} +.hover\:border-indigo-light:hover { + border-color: #7886d7; +} +.hover\:border-indigo-lighter:hover { + border-color: #b2b7ff; +} +.hover\:border-indigo-lightest:hover { + border-color: #e6e8ff; +} +.hover\:border-purple-darkest:hover { + border-color: #21183c; +} +.hover\:border-purple-darker:hover { + border-color: #382b5f; +} +.hover\:border-purple-dark:hover { + border-color: #794acf; +} +.hover\:border-purple:hover { + border-color: #9561e2; +} +.hover\:border-purple-light:hover { + border-color: #a779e9; +} +.hover\:border-purple-lighter:hover { + border-color: #d6bbfc; +} +.hover\:border-purple-lightest:hover { + border-color: #f3ebff; +} +.hover\:border-pink-darkest:hover { + border-color: #451225; +} +.hover\:border-pink-darker:hover { + border-color: #6f213f; +} +.hover\:border-pink-dark:hover { + border-color: #eb5286; +} +.hover\:border-pink:hover { + border-color: #f66d9b; +} +.hover\:border-pink-light:hover { + border-color: #fa7ea8; +} +.hover\:border-pink-lighter:hover { + border-color: #ffbbca; +} +.hover\:border-pink-lightest:hover { + border-color: #ffebef; +} +.rounded-none { + border-radius: 0; +} +.rounded-sm { + border-radius: 0.125rem; +} +.rounded { + border-radius: 0.25rem; +} +.rounded-lg { + border-radius: 0.5rem; +} +.rounded-full { + border-radius: 9999px; +} +.rounded-t-none { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.rounded-r-none { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.rounded-b-none { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.rounded-l-none { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.rounded-t-sm { + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; +} +.rounded-r-sm { + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; +} +.rounded-b-sm { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; +} +.rounded-l-sm { + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; +} +.rounded-t { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.rounded-r { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} +.rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} +.rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} +.rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-t-full { + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; +} +.rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; +} +.rounded-b-full { + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; +} +.rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; +} +.rounded-tl-none { + border-top-left-radius: 0; +} +.rounded-tr-none { + border-top-right-radius: 0; +} +.rounded-br-none { + border-bottom-right-radius: 0; +} +.rounded-bl-none { + border-bottom-left-radius: 0; +} +.rounded-tl-sm { + border-top-left-radius: 0.125rem; +} +.rounded-tr-sm { + border-top-right-radius: 0.125rem; +} +.rounded-br-sm { + border-bottom-right-radius: 0.125rem; +} +.rounded-bl-sm { + border-bottom-left-radius: 0.125rem; +} +.rounded-tl { + border-top-left-radius: 0.25rem; +} +.rounded-tr { + border-top-right-radius: 0.25rem; +} +.rounded-br { + border-bottom-right-radius: 0.25rem; +} +.rounded-bl { + border-bottom-left-radius: 0.25rem; +} +.rounded-tl-lg { + border-top-left-radius: 0.5rem; +} +.rounded-tr-lg { + border-top-right-radius: 0.5rem; +} +.rounded-br-lg { + border-bottom-right-radius: 0.5rem; +} +.rounded-bl-lg { + border-bottom-left-radius: 0.5rem; +} +.rounded-tl-full { + border-top-left-radius: 9999px; +} +.rounded-tr-full { + border-top-right-radius: 9999px; +} +.rounded-br-full { + border-bottom-right-radius: 9999px; +} +.rounded-bl-full { + border-bottom-left-radius: 9999px; +} +.border-solid { + border-style: solid; +} +.border-dashed { + border-style: dashed; +} +.border-dotted { + border-style: dotted; +} +.border-none { + border-style: none; +} +.border-0 { + border-width: 0; +} +.border-2 { + border-width: 2px; +} +.border-4 { + border-width: 4px; +} +.border-8 { + border-width: 8px; +} +.border { + border-width: 1px; +} +.border-t-0 { + border-top-width: 0; +} +.border-r-0 { + border-right-width: 0; +} +.border-b-0 { + border-bottom-width: 0; +} +.border-l-0 { + border-left-width: 0; +} +.border-t-2 { + border-top-width: 2px; +} +.border-r-2 { + border-right-width: 2px; +} +.border-b-2 { + border-bottom-width: 2px; +} +.border-l-2 { + border-left-width: 2px; +} +.border-t-4 { + border-top-width: 4px; +} +.border-r-4 { + border-right-width: 4px; +} +.border-b-4 { + border-bottom-width: 4px; +} +.border-l-4 { + border-left-width: 4px; +} +.border-t-8 { + border-top-width: 8px; +} +.border-r-8 { + border-right-width: 8px; +} +.border-b-8 { + border-bottom-width: 8px; +} +.border-l-8 { + border-left-width: 8px; +} +.border-t { + border-top-width: 1px; +} +.border-r { + border-right-width: 1px; +} +.border-b { + border-bottom-width: 1px; +} +.border-l { + border-left-width: 1px; +} +.cursor-auto { + cursor: auto; +} +.cursor-default { + cursor: default; +} +.cursor-pointer { + cursor: pointer; +} +.cursor-not-allowed { + cursor: not-allowed; +} +.block { + display: block; +} +.inline-block { + display: inline-block; +} +.inline { + display: inline; +} +.table { + display: table; +} +.table-row { + display: table-row; +} +.table-cell { + display: table-cell; +} +.hidden { + display: none; +} +.flex { + display: -webkit-box; + display: flex; +} +.inline-flex { + display: -webkit-inline-box; + display: inline-flex; +} +.flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; +} +.flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; +} +.flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; +} +.flex-col-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; +} +.flex-wrap { + flex-wrap: wrap; +} +.flex-wrap-reverse { + flex-wrap: wrap-reverse; +} +.flex-no-wrap { + flex-wrap: nowrap; +} +.items-start { + -webkit-box-align: start; + align-items: flex-start; +} +.items-end { + -webkit-box-align: end; + align-items: flex-end; +} +.items-center { + -webkit-box-align: center; + align-items: center; +} +.items-baseline { + -webkit-box-align: baseline; + align-items: baseline; +} +.items-stretch { + -webkit-box-align: stretch; + align-items: stretch; +} +.self-auto { + align-self: auto; +} +.self-start { + align-self: flex-start; +} +.self-end { + align-self: flex-end; +} +.self-center { + align-self: center; +} +.self-stretch { + align-self: stretch; +} +.justify-start { + -webkit-box-pack: start; + justify-content: flex-start; +} +.justify-end { + -webkit-box-pack: end; + justify-content: flex-end; +} +.justify-center { + -webkit-box-pack: center; + justify-content: center; +} +.justify-between { + -webkit-box-pack: justify; + justify-content: space-between; +} +.justify-around { + justify-content: space-around; +} +.content-center { + align-content: center; +} +.content-start { + align-content: flex-start; +} +.content-end { + align-content: flex-end; +} +.content-between { + align-content: space-between; +} +.content-around { + align-content: space-around; +} +.flex-1 { + -webkit-box-flex: 1; + flex: 1; +} +.flex-auto { + -webkit-box-flex: 1; + flex: auto; +} +.flex-initial { + -webkit-box-flex: initial; + flex: initial; +} +.flex-none { + -webkit-box-flex: 0; + flex: none; +} +.flex-grow { + -webkit-box-flex: 1; + flex-grow: 1; +} +.flex-shrink { + flex-shrink: 1; +} +.flex-no-grow { + -webkit-box-flex: 0; + flex-grow: 0; +} +.flex-no-shrink { + flex-shrink: 0; +} +.float-right { + float: right; +} +.float-left { + float: left; +} +.float-none { + float: none; +} +.clearfix:after { + content: ""; + display: table; + clear: both; +} +.font-sans { + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, + Fira Sans, Droid Sans, Helvetica Neue, sans-serif; +} +.font-serif { + font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, + Bitstream Vera Serif, Liberation Serif, Georgia, serif; +} +.font-mono { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; +} +.font-hairline { + font-weight: 100; +} +.font-thin { + font-weight: 200; +} +.font-light { + font-weight: 300; +} +.font-normal { + font-weight: 400; +} +.font-medium { + font-weight: 500; +} +.font-semibold { + font-weight: 600; +} +.font-bold { + font-weight: 700; +} +.font-extrabold { + font-weight: 800; +} +.font-black { + font-weight: 900; +} +.hover\:font-hairline:hover { + font-weight: 100; +} +.hover\:font-thin:hover { + font-weight: 200; +} +.hover\:font-light:hover { + font-weight: 300; +} +.hover\:font-normal:hover { + font-weight: 400; +} +.hover\:font-medium:hover { + font-weight: 500; +} +.hover\:font-semibold:hover { + font-weight: 600; +} +.hover\:font-bold:hover { + font-weight: 700; +} +.hover\:font-extrabold:hover { + font-weight: 800; +} +.hover\:font-black:hover { + font-weight: 900; +} +.h-1 { + height: 0.25rem; +} +.h-2 { + height: 0.5rem; +} +.h-3 { + height: 0.75rem; +} +.h-4 { + height: 1rem; +} +.h-6 { + height: 1.5rem; +} +.h-8 { + height: 2rem; +} +.h-10 { + height: 2.5rem; +} +.h-12 { + height: 3rem; +} +.h-16 { + height: 4rem; +} +.h-24 { + height: 6rem; +} +.h-32 { + height: 8rem; +} +.h-48 { + height: 12rem; +} +.h-64 { + height: 16rem; +} +.h-auto { + height: auto; +} +.h-px { + height: 1px; +} +.h-full { + height: 100%; +} +.h-screen { + height: 100vh; +} +.leading-none { + line-height: 1; +} +.leading-tight { + line-height: 1.25; +} +.leading-normal { + line-height: 1.5; +} +.leading-loose { + line-height: 2; +} +.m-0 { + margin: 0; +} +.m-1 { + margin: 0.25rem; +} +.m-2 { + margin: 0.5rem; +} +.m-3 { + margin: 0.75rem; +} +.m-4 { + margin: 1rem; +} +.m-6 { + margin: 1.5rem; +} +.m-8 { + margin: 2rem; +} +.m-auto { + margin: auto; +} +.m-px { + margin: 1px; +} +.my-0 { + margin-top: 0; + margin-bottom: 0; +} +.mx-0 { + margin-left: 0; + margin-right: 0; +} +.my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; +} +.my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} +.my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} +.mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; +} +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} +.mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} +.my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} +.mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; +} +.my-8 { + margin-top: 2rem; + margin-bottom: 2rem; +} +.mx-8 { + margin-left: 2rem; + margin-right: 2rem; +} +.my-auto { + margin-top: auto; + margin-bottom: auto; +} +.mx-auto { + margin-left: auto; + margin-right: auto; +} +.my-px { + margin-top: 1px; + margin-bottom: 1px; +} +.mx-px { + margin-left: 1px; + margin-right: 1px; +} +.mt-0 { + margin-top: 0; +} +.mr-0 { + margin-right: 0; +} +.mb-0 { + margin-bottom: 0; +} +.ml-0 { + margin-left: 0; +} +.mt-1 { + margin-top: 0.25rem; +} +.mr-1 { + margin-right: 0.25rem; +} +.mb-1 { + margin-bottom: 0.25rem; +} +.ml-1 { + margin-left: 0.25rem; +} +.mt-2 { + margin-top: 0.5rem; +} +.mr-2 { + margin-right: 0.5rem; +} +.mb-2 { + margin-bottom: 0.5rem; +} +.ml-2 { + margin-left: 0.5rem; +} +.mt-3 { + margin-top: 0.75rem; +} +.mr-3 { + margin-right: 0.75rem; +} +.mb-3 { + margin-bottom: 0.75rem; +} +.ml-3 { + margin-left: 0.75rem; +} +.mt-4 { + margin-top: 1rem; +} +.mr-4 { + margin-right: 1rem; +} +.mb-4 { + margin-bottom: 1rem; +} +.ml-4 { + margin-left: 1rem; +} +.mt-6 { + margin-top: 1.5rem; +} +.mr-6 { + margin-right: 1.5rem; +} +.mb-6 { + margin-bottom: 1.5rem; +} +.ml-6 { + margin-left: 1.5rem; +} +.mt-8 { + margin-top: 2rem; +} +.mr-8 { + margin-right: 2rem; +} +.mb-8 { + margin-bottom: 2rem; +} +.ml-8 { + margin-left: 2rem; +} +.mt-auto { + margin-top: auto; +} +.mr-auto { + margin-right: auto; +} +.mb-auto { + margin-bottom: auto; +} +.ml-auto { + margin-left: auto; +} +.mt-px { + margin-top: 1px; +} +.mr-px { + margin-right: 1px; +} +.mb-px { + margin-bottom: 1px; +} +.ml-px { + margin-left: 1px; +} +.max-h-full { + max-height: 100%; +} +.max-h-screen { + max-height: 100vh; +} +.max-w-xs { + max-width: 20rem; +} +.max-w-sm { + max-width: 30rem; +} +.max-w-md { + max-width: 40rem; +} +.max-w-lg { + max-width: 50rem; +} +.max-w-xl { + max-width: 60rem; +} +.max-w-2xl { + max-width: 70rem; +} +.max-w-3xl { + max-width: 80rem; +} +.max-w-4xl { + max-width: 90rem; +} +.max-w-5xl { + max-width: 100rem; +} +.max-w-full { + max-width: 100%; +} +.min-h-0 { + min-height: 0; +} +.min-h-full { + min-height: 100%; +} +.min-h-screen { + min-height: 100vh; +} +.min-w-0 { + min-width: 0; +} +.min-w-full { + min-width: 100%; +} +.-m-0 { + margin: 0; +} +.-m-1 { + margin: -0.25rem; +} +.-m-2 { + margin: -0.5rem; +} +.-m-3 { + margin: -0.75rem; +} +.-m-4 { + margin: -1rem; +} +.-m-6 { + margin: -1.5rem; +} +.-m-8 { + margin: -2rem; +} +.-m-px { + margin: -1px; +} +.-my-0 { + margin-top: 0; + margin-bottom: 0; +} +.-mx-0 { + margin-left: 0; + margin-right: 0; +} +.-my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; +} +.-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; +} +.-my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} +.-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; +} +.-my-3 { + margin-top: -0.75rem; + margin-bottom: -0.75rem; +} +.-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; +} +.-my-4 { + margin-top: -1rem; + margin-bottom: -1rem; +} +.-mx-4 { + margin-left: -1rem; + margin-right: -1rem; +} +.-my-6 { + margin-top: -1.5rem; + margin-bottom: -1.5rem; +} +.-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; +} +.-my-8 { + margin-top: -2rem; + margin-bottom: -2rem; +} +.-mx-8 { + margin-left: -2rem; + margin-right: -2rem; +} +.-my-px { + margin-top: -1px; + margin-bottom: -1px; +} +.-mx-px { + margin-left: -1px; + margin-right: -1px; +} +.-mt-0 { + margin-top: 0; +} +.-mr-0 { + margin-right: 0; +} +.-mb-0 { + margin-bottom: 0; +} +.-ml-0 { + margin-left: 0; +} +.-mt-1 { + margin-top: -0.25rem; +} +.-mr-1 { + margin-right: -0.25rem; +} +.-mb-1 { + margin-bottom: -0.25rem; +} +.-ml-1 { + margin-left: -0.25rem; +} +.-mt-2 { + margin-top: -0.5rem; +} +.-mr-2 { + margin-right: -0.5rem; +} +.-mb-2 { + margin-bottom: -0.5rem; +} +.-ml-2 { + margin-left: -0.5rem; +} +.-mt-3 { + margin-top: -0.75rem; +} +.-mr-3 { + margin-right: -0.75rem; +} +.-mb-3 { + margin-bottom: -0.75rem; +} +.-ml-3 { + margin-left: -0.75rem; +} +.-mt-4 { + margin-top: -1rem; +} +.-mr-4 { + margin-right: -1rem; +} +.-mb-4 { + margin-bottom: -1rem; +} +.-ml-4 { + margin-left: -1rem; +} +.-mt-6 { + margin-top: -1.5rem; +} +.-mr-6 { + margin-right: -1.5rem; +} +.-mb-6 { + margin-bottom: -1.5rem; +} +.-ml-6 { + margin-left: -1.5rem; +} +.-mt-8 { + margin-top: -2rem; +} +.-mr-8 { + margin-right: -2rem; +} +.-mb-8 { + margin-bottom: -2rem; +} +.-ml-8 { + margin-left: -2rem; +} +.-mt-px { + margin-top: -1px; +} +.-mr-px { + margin-right: -1px; +} +.-mb-px { + margin-bottom: -1px; +} +.-ml-px { + margin-left: -1px; +} +.opacity-0 { + opacity: 0; +} +.opacity-25 { + opacity: 0.25; +} +.opacity-50 { + opacity: 0.5; +} +.opacity-75 { + opacity: 0.75; +} +.opacity-100 { + opacity: 1; +} +.overflow-auto { + overflow: auto; +} +.overflow-hidden { + overflow: hidden; +} +.overflow-visible { + overflow: visible; +} +.overflow-scroll { + overflow: scroll; +} +.overflow-x-scroll { + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; +} +.overflow-y-scroll { + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; +} +.scrolling-touch { + -webkit-overflow-scrolling: touch; +} +.scrolling-auto { + -webkit-overflow-scrolling: auto; +} +.p-0 { + padding: 0; +} +.p-1 { + padding: 0.25rem; +} +.p-2 { + padding: 0.5rem; +} +.p-3 { + padding: 0.75rem; +} +.p-4 { + padding: 1rem; +} +.p-6 { + padding: 1.5rem; +} +.p-8 { + padding: 2rem; +} +.p-px { + padding: 1px; +} +.py-0 { + padding-top: 0; + padding-bottom: 0; +} +.px-0 { + padding-left: 0; + padding-right: 0; +} +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} +.py-px { + padding-top: 1px; + padding-bottom: 1px; +} +.px-px { + padding-left: 1px; + padding-right: 1px; +} +.pt-0 { + padding-top: 0; +} +.pr-0 { + padding-right: 0; +} +.pb-0 { + padding-bottom: 0; +} +.pl-0 { + padding-left: 0; +} +.pt-1 { + padding-top: 0.25rem; +} +.pr-1 { + padding-right: 0.25rem; +} +.pb-1 { + padding-bottom: 0.25rem; +} +.pl-1 { + padding-left: 0.25rem; +} +.pt-2 { + padding-top: 0.5rem; +} +.pr-2 { + padding-right: 0.5rem; +} +.pb-2 { + padding-bottom: 0.5rem; +} +.pl-2 { + padding-left: 0.5rem; +} +.pt-3 { + padding-top: 0.75rem; +} +.pr-3 { + padding-right: 0.75rem; +} +.pb-3 { + padding-bottom: 0.75rem; +} +.pl-3 { + padding-left: 0.75rem; +} +.pt-4 { + padding-top: 1rem; +} +.pr-4 { + padding-right: 1rem; +} +.pb-4 { + padding-bottom: 1rem; +} +.pl-4 { + padding-left: 1rem; +} +.pt-6 { + padding-top: 1.5rem; +} +.pr-6 { + padding-right: 1.5rem; +} +.pb-6 { + padding-bottom: 1.5rem; +} +.pl-6 { + padding-left: 1.5rem; +} +.pt-8 { + padding-top: 2rem; +} +.pr-8 { + padding-right: 2rem; +} +.pb-8 { + padding-bottom: 2rem; +} +.pl-8 { + padding-left: 2rem; +} +.pt-px { + padding-top: 1px; +} +.pr-px { + padding-right: 1px; +} +.pb-px { + padding-bottom: 1px; +} +.pl-px { + padding-left: 1px; +} +.pointer-events-none { + pointer-events: none; +} +.pointer-events-auto { + pointer-events: auto; +} +.static { + position: static; +} +.fixed { + position: fixed; +} +.absolute { + position: absolute; +} +.relative { + position: relative; +} +.pin-none { + top: auto; + right: auto; + bottom: auto; + left: auto; +} +.pin { + top: 0; + right: 0; + bottom: 0; + left: 0; +} +.pin-y { + top: 0; + bottom: 0; +} +.pin-x { + right: 0; + left: 0; +} +.pin-t { + top: 0; +} +.pin-r { + right: 0; +} +.pin-b { + bottom: 0; +} +.pin-l { + left: 0; +} +.resize-none { + resize: none; +} +.resize-y { + resize: vertical; +} +.resize-x { + resize: horizontal; +} +.resize { + resize: both; +} +.shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); +} +.shadow-md { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); +} +.shadow-lg { + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); +} +.shadow-inner { + box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); +} +.shadow-none { + box-shadow: none; +} +.fill-current { + fill: currentColor; +} +.stroke-current { + stroke: currentColor; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; +} +.text-transparent { + color: transparent; +} +.text-black { + color: #22292f; +} +.text-grey-darkest { + color: #3d4852; +} +.text-grey-darker { + color: #606f7b; +} +.text-grey-dark { + color: #8795a1; +} +.text-grey { + color: #b8c2cc; +} +.text-grey-light { + color: #dae1e7; +} +.text-grey-lighter { + color: #f1f5f8; +} +.text-grey-lightest { + color: #f8fafc; +} +.text-white { + color: #fff; +} +.text-red-darkest { + color: #3b0d0c; +} +.text-red-darker { + color: #621b18; +} +.text-red-dark { + color: #cc1f1a; +} +.text-red { + color: #e3342f; +} +.text-red-light { + color: #ef5753; +} +.text-red-lighter { + color: #f9acaa; +} +.text-red-lightest { + color: #fcebea; +} +.text-orange-darkest { + color: #462a16; +} +.text-orange-darker { + color: #613b1f; +} +.text-orange-dark { + color: #de751f; +} +.text-orange { + color: #f6993f; +} +.text-orange-light { + color: #faad63; +} +.text-orange-lighter { + color: #fcd9b6; +} +.text-orange-lightest { + color: #fff5eb; +} +.text-yellow-darkest { + color: #453411; +} +.text-yellow-darker { + color: #684f1d; +} +.text-yellow-dark { + color: #f2d024; +} +.text-yellow { + color: #ffed4a; +} +.text-yellow-light { + color: #fff382; +} +.text-yellow-lighter { + color: #fff9c2; +} +.text-yellow-lightest { + color: #fcfbeb; +} +.text-green-darkest { + color: #0f2f21; +} +.text-green-darker { + color: #1a4731; +} +.text-green-dark { + color: #1f9d55; +} +.text-green { + color: #38c172; +} +.text-green-light { + color: #51d88a; +} +.text-green-lighter { + color: #a2f5bf; +} +.text-green-lightest { + color: #e3fcec; +} +.text-teal-darkest { + color: #0d3331; +} +.text-teal-darker { + color: #20504f; +} +.text-teal-dark { + color: #38a89d; +} +.text-teal { + color: #4dc0b5; +} +.text-teal-light { + color: #64d5ca; +} +.text-teal-lighter { + color: #a0f0ed; +} +.text-teal-lightest { + color: #e8fffe; +} +.text-blue-darkest { + color: #12283a; +} +.text-blue-darker { + color: #1c3d5a; +} +.text-blue-dark { + color: #2779bd; +} +.text-blue { + color: #3490dc; +} +.text-blue-light { + color: #6cb2eb; +} +.text-blue-lighter { + color: #bcdefa; +} +.text-blue-lightest { + color: #eff8ff; +} +.text-indigo-darkest { + color: #191e38; +} +.text-indigo-darker { + color: #2f365f; +} +.text-indigo-dark { + color: #5661b3; +} +.text-indigo { + color: #6574cd; +} +.text-indigo-light { + color: #7886d7; +} +.text-indigo-lighter { + color: #b2b7ff; +} +.text-indigo-lightest { + color: #e6e8ff; +} +.text-purple-darkest { + color: #21183c; +} +.text-purple-darker { + color: #382b5f; +} +.text-purple-dark { + color: #794acf; +} +.text-purple { + color: #9561e2; +} +.text-purple-light { + color: #a779e9; +} +.text-purple-lighter { + color: #d6bbfc; +} +.text-purple-lightest { + color: #f3ebff; +} +.text-pink-darkest { + color: #451225; +} +.text-pink-darker { + color: #6f213f; +} +.text-pink-dark { + color: #eb5286; +} +.text-pink { + color: #f66d9b; +} +.text-pink-light { + color: #fa7ea8; +} +.text-pink-lighter { + color: #ffbbca; +} +.text-pink-lightest { + color: #ffebef; +} +.hover\:text-transparent:hover { + color: transparent; +} +.hover\:text-black:hover { + color: #22292f; +} +.hover\:text-grey-darkest:hover { + color: #3d4852; +} +.hover\:text-grey-darker:hover { + color: #606f7b; +} +.hover\:text-grey-dark:hover { + color: #8795a1; +} +.hover\:text-grey:hover { + color: #b8c2cc; +} +.hover\:text-grey-light:hover { + color: #dae1e7; +} +.hover\:text-grey-lighter:hover { + color: #f1f5f8; +} +.hover\:text-grey-lightest:hover { + color: #f8fafc; +} +.hover\:text-white:hover { + color: #fff; +} +.hover\:text-red-darkest:hover { + color: #3b0d0c; +} +.hover\:text-red-darker:hover { + color: #621b18; +} +.hover\:text-red-dark:hover { + color: #cc1f1a; +} +.hover\:text-red:hover { + color: #e3342f; +} +.hover\:text-red-light:hover { + color: #ef5753; +} +.hover\:text-red-lighter:hover { + color: #f9acaa; +} +.hover\:text-red-lightest:hover { + color: #fcebea; +} +.hover\:text-orange-darkest:hover { + color: #462a16; +} +.hover\:text-orange-darker:hover { + color: #613b1f; +} +.hover\:text-orange-dark:hover { + color: #de751f; +} +.hover\:text-orange:hover { + color: #f6993f; +} +.hover\:text-orange-light:hover { + color: #faad63; +} +.hover\:text-orange-lighter:hover { + color: #fcd9b6; +} +.hover\:text-orange-lightest:hover { + color: #fff5eb; +} +.hover\:text-yellow-darkest:hover { + color: #453411; +} +.hover\:text-yellow-darker:hover { + color: #684f1d; +} +.hover\:text-yellow-dark:hover { + color: #f2d024; +} +.hover\:text-yellow:hover { + color: #ffed4a; +} +.hover\:text-yellow-light:hover { + color: #fff382; +} +.hover\:text-yellow-lighter:hover { + color: #fff9c2; +} +.hover\:text-yellow-lightest:hover { + color: #fcfbeb; +} +.hover\:text-green-darkest:hover { + color: #0f2f21; +} +.hover\:text-green-darker:hover { + color: #1a4731; +} +.hover\:text-green-dark:hover { + color: #1f9d55; +} +.hover\:text-green:hover { + color: #38c172; +} +.hover\:text-green-light:hover { + color: #51d88a; +} +.hover\:text-green-lighter:hover { + color: #a2f5bf; +} +.hover\:text-green-lightest:hover { + color: #e3fcec; +} +.hover\:text-teal-darkest:hover { + color: #0d3331; +} +.hover\:text-teal-darker:hover { + color: #20504f; +} +.hover\:text-teal-dark:hover { + color: #38a89d; +} +.hover\:text-teal:hover { + color: #4dc0b5; +} +.hover\:text-teal-light:hover { + color: #64d5ca; +} +.hover\:text-teal-lighter:hover { + color: #a0f0ed; +} +.hover\:text-teal-lightest:hover { + color: #e8fffe; +} +.hover\:text-blue-darkest:hover { + color: #12283a; +} +.hover\:text-blue-darker:hover { + color: #1c3d5a; +} +.hover\:text-blue-dark:hover { + color: #2779bd; +} +.hover\:text-blue:hover { + color: #3490dc; +} +.hover\:text-blue-light:hover { + color: #6cb2eb; +} +.hover\:text-blue-lighter:hover { + color: #bcdefa; +} +.hover\:text-blue-lightest:hover { + color: #eff8ff; +} +.hover\:text-indigo-darkest:hover { + color: #191e38; +} +.hover\:text-indigo-darker:hover { + color: #2f365f; +} +.hover\:text-indigo-dark:hover { + color: #5661b3; +} +.hover\:text-indigo:hover { + color: #6574cd; +} +.hover\:text-indigo-light:hover { + color: #7886d7; +} +.hover\:text-indigo-lighter:hover { + color: #b2b7ff; +} +.hover\:text-indigo-lightest:hover { + color: #e6e8ff; +} +.hover\:text-purple-darkest:hover { + color: #21183c; +} +.hover\:text-purple-darker:hover { + color: #382b5f; +} +.hover\:text-purple-dark:hover { + color: #794acf; +} +.hover\:text-purple:hover { + color: #9561e2; +} +.hover\:text-purple-light:hover { + color: #a779e9; +} +.hover\:text-purple-lighter:hover { + color: #d6bbfc; +} +.hover\:text-purple-lightest:hover { + color: #f3ebff; +} +.hover\:text-pink-darkest:hover { + color: #451225; +} +.hover\:text-pink-darker:hover { + color: #6f213f; +} +.hover\:text-pink-dark:hover { + color: #eb5286; +} +.hover\:text-pink:hover { + color: #f66d9b; +} +.hover\:text-pink-light:hover { + color: #fa7ea8; +} +.hover\:text-pink-lighter:hover { + color: #ffbbca; +} +.hover\:text-pink-lightest:hover { + color: #ffebef; +} +.text-xs { + font-size: 0.75rem; +} +.text-sm { + font-size: 0.875rem; +} +.text-base { + font-size: 1rem; +} +.text-lg { + font-size: 1.125rem; +} +.text-xl { + font-size: 1.25rem; +} +.text-2xl { + font-size: 1.5rem; +} +.text-3xl { + font-size: 1.875rem; +} +.text-4xl { + font-size: 2.25rem; +} +.text-5xl { + font-size: 3rem; +} +.italic { + font-style: italic; +} +.roman { + font-style: normal; +} +.uppercase { + text-transform: uppercase; +} +.lowercase { + text-transform: lowercase; +} +.capitalize { + text-transform: capitalize; +} +.normal-case { + text-transform: none; +} +.underline { + text-decoration: underline; +} +.line-through { + text-decoration: line-through; +} +.no-underline { + text-decoration: none; +} +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} +.hover\:italic:hover { + font-style: italic; +} +.hover\:roman:hover { + font-style: normal; +} +.hover\:uppercase:hover { + text-transform: uppercase; +} +.hover\:lowercase:hover { + text-transform: lowercase; +} +.hover\:capitalize:hover { + text-transform: capitalize; +} +.hover\:normal-case:hover { + text-transform: none; +} +.hover\:underline:hover { + text-decoration: underline; +} +.hover\:line-through:hover { + text-decoration: line-through; +} +.hover\:no-underline:hover { + text-decoration: none; +} +.hover\:antialiased:hover { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.hover\:subpixel-antialiased:hover { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} +.tracking-tight { + letter-spacing: -0.05em; +} +.tracking-normal { + letter-spacing: 0; +} +.tracking-wide { + letter-spacing: 0.05em; +} +.select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.select-text { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} +.align-baseline { + vertical-align: baseline; +} +.align-top { + vertical-align: top; +} +.align-middle { + vertical-align: middle; +} +.align-bottom { + vertical-align: bottom; +} +.align-text-top { + vertical-align: text-top; +} +.align-text-bottom { + vertical-align: text-bottom; +} +.visible { + visibility: visible; +} +.invisible { + visibility: hidden; +} +.whitespace-normal { + white-space: normal; +} +.whitespace-no-wrap { + white-space: nowrap; +} +.whitespace-pre { + white-space: pre; +} +.whitespace-pre-line { + white-space: pre-line; +} +.whitespace-pre-wrap { + white-space: pre-wrap; +} +.break-words { + word-wrap: break-word; +} +.break-normal { + word-wrap: normal; +} +.truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.w-1 { + width: 0.25rem; +} +.w-2 { + width: 0.5rem; +} +.w-3 { + width: 0.75rem; +} +.w-4 { + width: 1rem; +} +.w-6 { + width: 1.5rem; +} +.w-8 { + width: 2rem; +} +.w-10 { + width: 2.5rem; +} +.w-12 { + width: 3rem; +} +.w-16 { + width: 4rem; +} +.w-24 { + width: 6rem; +} +.w-32 { + width: 8rem; +} +.w-48 { + width: 12rem; +} +.w-64 { + width: 16rem; +} +.w-auto { + width: auto; +} +.w-px { + width: 1px; +} +.w-1\/2 { + width: 50%; +} +.w-1\/3 { + width: 33.33333%; +} +.w-2\/3 { + width: 66.66667%; +} +.w-1\/4 { + width: 25%; +} +.w-3\/4 { + width: 75%; +} +.w-1\/5 { + width: 20%; +} +.w-2\/5 { + width: 40%; +} +.w-3\/5 { + width: 60%; +} +.w-4\/5 { + width: 80%; +} +.w-1\/6 { + width: 16.66667%; +} +.w-5\/6 { + width: 83.33333%; +} +.w-full { + width: 100%; +} +.w-screen { + width: 100vw; +} +.z-0 { + z-index: 0; +} +.z-10 { + z-index: 10; +} +.z-20 { + z-index: 20; +} +.z-30 { + z-index: 30; +} +.z-40 { + z-index: 40; +} +.z-50 { + z-index: 50; +} +.z-auto { + z-index: auto; +} +@media (min-width: 576px) { + .sm\:list-reset { + list-style: none; + padding: 0; + } + .sm\:appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + .sm\:bg-fixed { + background-attachment: fixed; + } + .sm\:bg-local { + background-attachment: local; + } + .sm\:bg-scroll { + background-attachment: scroll; + } + .sm\:bg-transparent { + background-color: transparent; + } + .sm\:bg-black { + background-color: #22292f; + } + .sm\:bg-grey-darkest { + background-color: #3d4852; + } + .sm\:bg-grey-darker { + background-color: #606f7b; + } + .sm\:bg-grey-dark { + background-color: #8795a1; + } + .sm\:bg-grey { + background-color: #b8c2cc; + } + .sm\:bg-grey-light { + background-color: #dae1e7; + } + .sm\:bg-grey-lighter { + background-color: #f1f5f8; + } + .sm\:bg-grey-lightest { + background-color: #f8fafc; + } + .sm\:bg-white { + background-color: #fff; + } + .sm\:bg-red-darkest { + background-color: #3b0d0c; + } + .sm\:bg-red-darker { + background-color: #621b18; + } + .sm\:bg-red-dark { + background-color: #cc1f1a; + } + .sm\:bg-red { + background-color: #e3342f; + } + .sm\:bg-red-light { + background-color: #ef5753; + } + .sm\:bg-red-lighter { + background-color: #f9acaa; + } + .sm\:bg-red-lightest { + background-color: #fcebea; + } + .sm\:bg-orange-darkest { + background-color: #462a16; + } + .sm\:bg-orange-darker { + background-color: #613b1f; + } + .sm\:bg-orange-dark { + background-color: #de751f; + } + .sm\:bg-orange { + background-color: #f6993f; + } + .sm\:bg-orange-light { + background-color: #faad63; + } + .sm\:bg-orange-lighter { + background-color: #fcd9b6; + } + .sm\:bg-orange-lightest { + background-color: #fff5eb; + } + .sm\:bg-yellow-darkest { + background-color: #453411; + } + .sm\:bg-yellow-darker { + background-color: #684f1d; + } + .sm\:bg-yellow-dark { + background-color: #f2d024; + } + .sm\:bg-yellow { + background-color: #ffed4a; + } + .sm\:bg-yellow-light { + background-color: #fff382; + } + .sm\:bg-yellow-lighter { + background-color: #fff9c2; + } + .sm\:bg-yellow-lightest { + background-color: #fcfbeb; + } + .sm\:bg-green-darkest { + background-color: #0f2f21; + } + .sm\:bg-green-darker { + background-color: #1a4731; + } + .sm\:bg-green-dark { + background-color: #1f9d55; + } + .sm\:bg-green { + background-color: #38c172; + } + .sm\:bg-green-light { + background-color: #51d88a; + } + .sm\:bg-green-lighter { + background-color: #a2f5bf; + } + .sm\:bg-green-lightest { + background-color: #e3fcec; + } + .sm\:bg-teal-darkest { + background-color: #0d3331; + } + .sm\:bg-teal-darker { + background-color: #20504f; + } + .sm\:bg-teal-dark { + background-color: #38a89d; + } + .sm\:bg-teal { + background-color: #4dc0b5; + } + .sm\:bg-teal-light { + background-color: #64d5ca; + } + .sm\:bg-teal-lighter { + background-color: #a0f0ed; + } + .sm\:bg-teal-lightest { + background-color: #e8fffe; + } + .sm\:bg-blue-darkest { + background-color: #12283a; + } + .sm\:bg-blue-darker { + background-color: #1c3d5a; + } + .sm\:bg-blue-dark { + background-color: #2779bd; + } + .sm\:bg-blue { + background-color: #3490dc; + } + .sm\:bg-blue-light { + background-color: #6cb2eb; + } + .sm\:bg-blue-lighter { + background-color: #bcdefa; + } + .sm\:bg-blue-lightest { + background-color: #eff8ff; + } + .sm\:bg-indigo-darkest { + background-color: #191e38; + } + .sm\:bg-indigo-darker { + background-color: #2f365f; + } + .sm\:bg-indigo-dark { + background-color: #5661b3; + } + .sm\:bg-indigo { + background-color: #6574cd; + } + .sm\:bg-indigo-light { + background-color: #7886d7; + } + .sm\:bg-indigo-lighter { + background-color: #b2b7ff; + } + .sm\:bg-indigo-lightest { + background-color: #e6e8ff; + } + .sm\:bg-purple-darkest { + background-color: #21183c; + } + .sm\:bg-purple-darker { + background-color: #382b5f; + } + .sm\:bg-purple-dark { + background-color: #794acf; + } + .sm\:bg-purple { + background-color: #9561e2; + } + .sm\:bg-purple-light { + background-color: #a779e9; + } + .sm\:bg-purple-lighter { + background-color: #d6bbfc; + } + .sm\:bg-purple-lightest { + background-color: #f3ebff; + } + .sm\:bg-pink-darkest { + background-color: #451225; + } + .sm\:bg-pink-darker { + background-color: #6f213f; + } + .sm\:bg-pink-dark { + background-color: #eb5286; + } + .sm\:bg-pink { + background-color: #f66d9b; + } + .sm\:bg-pink-light { + background-color: #fa7ea8; + } + .sm\:bg-pink-lighter { + background-color: #ffbbca; + } + .sm\:bg-pink-lightest { + background-color: #ffebef; + } + .sm\:hover\:bg-transparent:hover { + background-color: transparent; + } + .sm\:hover\:bg-black:hover { + background-color: #22292f; + } + .sm\:hover\:bg-grey-darkest:hover { + background-color: #3d4852; + } + .sm\:hover\:bg-grey-darker:hover { + background-color: #606f7b; + } + .sm\:hover\:bg-grey-dark:hover { + background-color: #8795a1; + } + .sm\:hover\:bg-grey:hover { + background-color: #b8c2cc; + } + .sm\:hover\:bg-grey-light:hover { + background-color: #dae1e7; + } + .sm\:hover\:bg-grey-lighter:hover { + background-color: #f1f5f8; + } + .sm\:hover\:bg-grey-lightest:hover { + background-color: #f8fafc; + } + .sm\:hover\:bg-white:hover { + background-color: #fff; + } + .sm\:hover\:bg-red-darkest:hover { + background-color: #3b0d0c; + } + .sm\:hover\:bg-red-darker:hover { + background-color: #621b18; + } + .sm\:hover\:bg-red-dark:hover { + background-color: #cc1f1a; + } + .sm\:hover\:bg-red:hover { + background-color: #e3342f; + } + .sm\:hover\:bg-red-light:hover { + background-color: #ef5753; + } + .sm\:hover\:bg-red-lighter:hover { + background-color: #f9acaa; + } + .sm\:hover\:bg-red-lightest:hover { + background-color: #fcebea; + } + .sm\:hover\:bg-orange-darkest:hover { + background-color: #462a16; + } + .sm\:hover\:bg-orange-darker:hover { + background-color: #613b1f; + } + .sm\:hover\:bg-orange-dark:hover { + background-color: #de751f; + } + .sm\:hover\:bg-orange:hover { + background-color: #f6993f; + } + .sm\:hover\:bg-orange-light:hover { + background-color: #faad63; + } + .sm\:hover\:bg-orange-lighter:hover { + background-color: #fcd9b6; + } + .sm\:hover\:bg-orange-lightest:hover { + background-color: #fff5eb; + } + .sm\:hover\:bg-yellow-darkest:hover { + background-color: #453411; + } + .sm\:hover\:bg-yellow-darker:hover { + background-color: #684f1d; + } + .sm\:hover\:bg-yellow-dark:hover { + background-color: #f2d024; + } + .sm\:hover\:bg-yellow:hover { + background-color: #ffed4a; + } + .sm\:hover\:bg-yellow-light:hover { + background-color: #fff382; + } + .sm\:hover\:bg-yellow-lighter:hover { + background-color: #fff9c2; + } + .sm\:hover\:bg-yellow-lightest:hover { + background-color: #fcfbeb; + } + .sm\:hover\:bg-green-darkest:hover { + background-color: #0f2f21; + } + .sm\:hover\:bg-green-darker:hover { + background-color: #1a4731; + } + .sm\:hover\:bg-green-dark:hover { + background-color: #1f9d55; + } + .sm\:hover\:bg-green:hover { + background-color: #38c172; + } + .sm\:hover\:bg-green-light:hover { + background-color: #51d88a; + } + .sm\:hover\:bg-green-lighter:hover { + background-color: #a2f5bf; + } + .sm\:hover\:bg-green-lightest:hover { + background-color: #e3fcec; + } + .sm\:hover\:bg-teal-darkest:hover { + background-color: #0d3331; + } + .sm\:hover\:bg-teal-darker:hover { + background-color: #20504f; + } + .sm\:hover\:bg-teal-dark:hover { + background-color: #38a89d; + } + .sm\:hover\:bg-teal:hover { + background-color: #4dc0b5; + } + .sm\:hover\:bg-teal-light:hover { + background-color: #64d5ca; + } + .sm\:hover\:bg-teal-lighter:hover { + background-color: #a0f0ed; + } + .sm\:hover\:bg-teal-lightest:hover { + background-color: #e8fffe; + } + .sm\:hover\:bg-blue-darkest:hover { + background-color: #12283a; + } + .sm\:hover\:bg-blue-darker:hover { + background-color: #1c3d5a; + } + .sm\:hover\:bg-blue-dark:hover { + background-color: #2779bd; + } + .sm\:hover\:bg-blue:hover { + background-color: #3490dc; + } + .sm\:hover\:bg-blue-light:hover { + background-color: #6cb2eb; + } + .sm\:hover\:bg-blue-lighter:hover { + background-color: #bcdefa; + } + .sm\:hover\:bg-blue-lightest:hover { + background-color: #eff8ff; + } + .sm\:hover\:bg-indigo-darkest:hover { + background-color: #191e38; + } + .sm\:hover\:bg-indigo-darker:hover { + background-color: #2f365f; + } + .sm\:hover\:bg-indigo-dark:hover { + background-color: #5661b3; + } + .sm\:hover\:bg-indigo:hover { + background-color: #6574cd; + } + .sm\:hover\:bg-indigo-light:hover { + background-color: #7886d7; + } + .sm\:hover\:bg-indigo-lighter:hover { + background-color: #b2b7ff; + } + .sm\:hover\:bg-indigo-lightest:hover { + background-color: #e6e8ff; + } + .sm\:hover\:bg-purple-darkest:hover { + background-color: #21183c; + } + .sm\:hover\:bg-purple-darker:hover { + background-color: #382b5f; + } + .sm\:hover\:bg-purple-dark:hover { + background-color: #794acf; + } + .sm\:hover\:bg-purple:hover { + background-color: #9561e2; + } + .sm\:hover\:bg-purple-light:hover { + background-color: #a779e9; + } + .sm\:hover\:bg-purple-lighter:hover { + background-color: #d6bbfc; + } + .sm\:hover\:bg-purple-lightest:hover { + background-color: #f3ebff; + } + .sm\:hover\:bg-pink-darkest:hover { + background-color: #451225; + } + .sm\:hover\:bg-pink-darker:hover { + background-color: #6f213f; + } + .sm\:hover\:bg-pink-dark:hover { + background-color: #eb5286; + } + .sm\:hover\:bg-pink:hover { + background-color: #f66d9b; + } + .sm\:hover\:bg-pink-light:hover { + background-color: #fa7ea8; + } + .sm\:hover\:bg-pink-lighter:hover { + background-color: #ffbbca; + } + .sm\:hover\:bg-pink-lightest:hover { + background-color: #ffebef; + } + .sm\:bg-bottom { + background-position: bottom; + } + .sm\:bg-center { + background-position: center; + } + .sm\:bg-left { + background-position: left; + } + .sm\:bg-left-bottom { + background-position: left bottom; + } + .sm\:bg-left-top { + background-position: left top; + } + .sm\:bg-right { + background-position: right; + } + .sm\:bg-right-bottom { + background-position: right bottom; + } + .sm\:bg-right-top { + background-position: right top; + } + .sm\:bg-top { + background-position: top; + } + .sm\:bg-repeat { + background-repeat: repeat; + } + .sm\:bg-no-repeat { + background-repeat: no-repeat; + } + .sm\:bg-repeat-x { + background-repeat: repeat-x; + } + .sm\:bg-repeat-y { + background-repeat: repeat-y; + } + .sm\:bg-cover { + background-size: cover; + } + .sm\:bg-contain { + background-size: contain; + } + .sm\:border-transparent { + border-color: transparent; + } + .sm\:border-black { + border-color: #22292f; + } + .sm\:border-grey-darkest { + border-color: #3d4852; + } + .sm\:border-grey-darker { + border-color: #606f7b; + } + .sm\:border-grey-dark { + border-color: #8795a1; + } + .sm\:border-grey { + border-color: #b8c2cc; + } + .sm\:border-grey-light { + border-color: #dae1e7; + } + .sm\:border-grey-lighter { + border-color: #f1f5f8; + } + .sm\:border-grey-lightest { + border-color: #f8fafc; + } + .sm\:border-white { + border-color: #fff; + } + .sm\:border-red-darkest { + border-color: #3b0d0c; + } + .sm\:border-red-darker { + border-color: #621b18; + } + .sm\:border-red-dark { + border-color: #cc1f1a; + } + .sm\:border-red { + border-color: #e3342f; + } + .sm\:border-red-light { + border-color: #ef5753; + } + .sm\:border-red-lighter { + border-color: #f9acaa; + } + .sm\:border-red-lightest { + border-color: #fcebea; + } + .sm\:border-orange-darkest { + border-color: #462a16; + } + .sm\:border-orange-darker { + border-color: #613b1f; + } + .sm\:border-orange-dark { + border-color: #de751f; + } + .sm\:border-orange { + border-color: #f6993f; + } + .sm\:border-orange-light { + border-color: #faad63; + } + .sm\:border-orange-lighter { + border-color: #fcd9b6; + } + .sm\:border-orange-lightest { + border-color: #fff5eb; + } + .sm\:border-yellow-darkest { + border-color: #453411; + } + .sm\:border-yellow-darker { + border-color: #684f1d; + } + .sm\:border-yellow-dark { + border-color: #f2d024; + } + .sm\:border-yellow { + border-color: #ffed4a; + } + .sm\:border-yellow-light { + border-color: #fff382; + } + .sm\:border-yellow-lighter { + border-color: #fff9c2; + } + .sm\:border-yellow-lightest { + border-color: #fcfbeb; + } + .sm\:border-green-darkest { + border-color: #0f2f21; + } + .sm\:border-green-darker { + border-color: #1a4731; + } + .sm\:border-green-dark { + border-color: #1f9d55; + } + .sm\:border-green { + border-color: #38c172; + } + .sm\:border-green-light { + border-color: #51d88a; + } + .sm\:border-green-lighter { + border-color: #a2f5bf; + } + .sm\:border-green-lightest { + border-color: #e3fcec; + } + .sm\:border-teal-darkest { + border-color: #0d3331; + } + .sm\:border-teal-darker { + border-color: #20504f; + } + .sm\:border-teal-dark { + border-color: #38a89d; + } + .sm\:border-teal { + border-color: #4dc0b5; + } + .sm\:border-teal-light { + border-color: #64d5ca; + } + .sm\:border-teal-lighter { + border-color: #a0f0ed; + } + .sm\:border-teal-lightest { + border-color: #e8fffe; + } + .sm\:border-blue-darkest { + border-color: #12283a; + } + .sm\:border-blue-darker { + border-color: #1c3d5a; + } + .sm\:border-blue-dark { + border-color: #2779bd; + } + .sm\:border-blue { + border-color: #3490dc; + } + .sm\:border-blue-light { + border-color: #6cb2eb; + } + .sm\:border-blue-lighter { + border-color: #bcdefa; + } + .sm\:border-blue-lightest { + border-color: #eff8ff; + } + .sm\:border-indigo-darkest { + border-color: #191e38; + } + .sm\:border-indigo-darker { + border-color: #2f365f; + } + .sm\:border-indigo-dark { + border-color: #5661b3; + } + .sm\:border-indigo { + border-color: #6574cd; + } + .sm\:border-indigo-light { + border-color: #7886d7; + } + .sm\:border-indigo-lighter { + border-color: #b2b7ff; + } + .sm\:border-indigo-lightest { + border-color: #e6e8ff; + } + .sm\:border-purple-darkest { + border-color: #21183c; + } + .sm\:border-purple-darker { + border-color: #382b5f; + } + .sm\:border-purple-dark { + border-color: #794acf; + } + .sm\:border-purple { + border-color: #9561e2; + } + .sm\:border-purple-light { + border-color: #a779e9; + } + .sm\:border-purple-lighter { + border-color: #d6bbfc; + } + .sm\:border-purple-lightest { + border-color: #f3ebff; + } + .sm\:border-pink-darkest { + border-color: #451225; + } + .sm\:border-pink-darker { + border-color: #6f213f; + } + .sm\:border-pink-dark { + border-color: #eb5286; + } + .sm\:border-pink { + border-color: #f66d9b; + } + .sm\:border-pink-light { + border-color: #fa7ea8; + } + .sm\:border-pink-lighter { + border-color: #ffbbca; + } + .sm\:border-pink-lightest { + border-color: #ffebef; + } + .sm\:hover\:border-transparent:hover { + border-color: transparent; + } + .sm\:hover\:border-black:hover { + border-color: #22292f; + } + .sm\:hover\:border-grey-darkest:hover { + border-color: #3d4852; + } + .sm\:hover\:border-grey-darker:hover { + border-color: #606f7b; + } + .sm\:hover\:border-grey-dark:hover { + border-color: #8795a1; + } + .sm\:hover\:border-grey:hover { + border-color: #b8c2cc; + } + .sm\:hover\:border-grey-light:hover { + border-color: #dae1e7; + } + .sm\:hover\:border-grey-lighter:hover { + border-color: #f1f5f8; + } + .sm\:hover\:border-grey-lightest:hover { + border-color: #f8fafc; + } + .sm\:hover\:border-white:hover { + border-color: #fff; + } + .sm\:hover\:border-red-darkest:hover { + border-color: #3b0d0c; + } + .sm\:hover\:border-red-darker:hover { + border-color: #621b18; + } + .sm\:hover\:border-red-dark:hover { + border-color: #cc1f1a; + } + .sm\:hover\:border-red:hover { + border-color: #e3342f; + } + .sm\:hover\:border-red-light:hover { + border-color: #ef5753; + } + .sm\:hover\:border-red-lighter:hover { + border-color: #f9acaa; + } + .sm\:hover\:border-red-lightest:hover { + border-color: #fcebea; + } + .sm\:hover\:border-orange-darkest:hover { + border-color: #462a16; + } + .sm\:hover\:border-orange-darker:hover { + border-color: #613b1f; + } + .sm\:hover\:border-orange-dark:hover { + border-color: #de751f; + } + .sm\:hover\:border-orange:hover { + border-color: #f6993f; + } + .sm\:hover\:border-orange-light:hover { + border-color: #faad63; + } + .sm\:hover\:border-orange-lighter:hover { + border-color: #fcd9b6; + } + .sm\:hover\:border-orange-lightest:hover { + border-color: #fff5eb; + } + .sm\:hover\:border-yellow-darkest:hover { + border-color: #453411; + } + .sm\:hover\:border-yellow-darker:hover { + border-color: #684f1d; + } + .sm\:hover\:border-yellow-dark:hover { + border-color: #f2d024; + } + .sm\:hover\:border-yellow:hover { + border-color: #ffed4a; + } + .sm\:hover\:border-yellow-light:hover { + border-color: #fff382; + } + .sm\:hover\:border-yellow-lighter:hover { + border-color: #fff9c2; + } + .sm\:hover\:border-yellow-lightest:hover { + border-color: #fcfbeb; + } + .sm\:hover\:border-green-darkest:hover { + border-color: #0f2f21; + } + .sm\:hover\:border-green-darker:hover { + border-color: #1a4731; + } + .sm\:hover\:border-green-dark:hover { + border-color: #1f9d55; + } + .sm\:hover\:border-green:hover { + border-color: #38c172; + } + .sm\:hover\:border-green-light:hover { + border-color: #51d88a; + } + .sm\:hover\:border-green-lighter:hover { + border-color: #a2f5bf; + } + .sm\:hover\:border-green-lightest:hover { + border-color: #e3fcec; + } + .sm\:hover\:border-teal-darkest:hover { + border-color: #0d3331; + } + .sm\:hover\:border-teal-darker:hover { + border-color: #20504f; + } + .sm\:hover\:border-teal-dark:hover { + border-color: #38a89d; + } + .sm\:hover\:border-teal:hover { + border-color: #4dc0b5; + } + .sm\:hover\:border-teal-light:hover { + border-color: #64d5ca; + } + .sm\:hover\:border-teal-lighter:hover { + border-color: #a0f0ed; + } + .sm\:hover\:border-teal-lightest:hover { + border-color: #e8fffe; + } + .sm\:hover\:border-blue-darkest:hover { + border-color: #12283a; + } + .sm\:hover\:border-blue-darker:hover { + border-color: #1c3d5a; + } + .sm\:hover\:border-blue-dark:hover { + border-color: #2779bd; + } + .sm\:hover\:border-blue:hover { + border-color: #3490dc; + } + .sm\:hover\:border-blue-light:hover { + border-color: #6cb2eb; + } + .sm\:hover\:border-blue-lighter:hover { + border-color: #bcdefa; + } + .sm\:hover\:border-blue-lightest:hover { + border-color: #eff8ff; + } + .sm\:hover\:border-indigo-darkest:hover { + border-color: #191e38; + } + .sm\:hover\:border-indigo-darker:hover { + border-color: #2f365f; + } + .sm\:hover\:border-indigo-dark:hover { + border-color: #5661b3; + } + .sm\:hover\:border-indigo:hover { + border-color: #6574cd; + } + .sm\:hover\:border-indigo-light:hover { + border-color: #7886d7; + } + .sm\:hover\:border-indigo-lighter:hover { + border-color: #b2b7ff; + } + .sm\:hover\:border-indigo-lightest:hover { + border-color: #e6e8ff; + } + .sm\:hover\:border-purple-darkest:hover { + border-color: #21183c; + } + .sm\:hover\:border-purple-darker:hover { + border-color: #382b5f; + } + .sm\:hover\:border-purple-dark:hover { + border-color: #794acf; + } + .sm\:hover\:border-purple:hover { + border-color: #9561e2; + } + .sm\:hover\:border-purple-light:hover { + border-color: #a779e9; + } + .sm\:hover\:border-purple-lighter:hover { + border-color: #d6bbfc; + } + .sm\:hover\:border-purple-lightest:hover { + border-color: #f3ebff; + } + .sm\:hover\:border-pink-darkest:hover { + border-color: #451225; + } + .sm\:hover\:border-pink-darker:hover { + border-color: #6f213f; + } + .sm\:hover\:border-pink-dark:hover { + border-color: #eb5286; + } + .sm\:hover\:border-pink:hover { + border-color: #f66d9b; + } + .sm\:hover\:border-pink-light:hover { + border-color: #fa7ea8; + } + .sm\:hover\:border-pink-lighter:hover { + border-color: #ffbbca; + } + .sm\:hover\:border-pink-lightest:hover { + border-color: #ffebef; + } + .sm\:rounded-none { + border-radius: 0; + } + .sm\:rounded-sm { + border-radius: 0.125rem; + } + .sm\:rounded { + border-radius: 0.25rem; + } + .sm\:rounded-lg { + border-radius: 0.5rem; + } + .sm\:rounded-full { + border-radius: 9999px; + } + .sm\:rounded-t-none { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + .sm\:rounded-r-none { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .sm\:rounded-b-none { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .sm\:rounded-l-none { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .sm\:rounded-t-sm { + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; + } + .sm\:rounded-r-sm { + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; + } + .sm\:rounded-b-sm { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .sm\:rounded-l-sm { + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .sm\:rounded-t { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .sm\:rounded-r { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + } + .sm\:rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .sm\:rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .sm\:rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; + } + .sm\:rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + } + .sm\:rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .sm\:rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .sm\:rounded-t-full { + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; + } + .sm\:rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; + } + .sm\:rounded-b-full { + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .sm\:rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .sm\:rounded-tl-none { + border-top-left-radius: 0; + } + .sm\:rounded-tr-none { + border-top-right-radius: 0; + } + .sm\:rounded-br-none { + border-bottom-right-radius: 0; + } + .sm\:rounded-bl-none { + border-bottom-left-radius: 0; + } + .sm\:rounded-tl-sm { + border-top-left-radius: 0.125rem; + } + .sm\:rounded-tr-sm { + border-top-right-radius: 0.125rem; + } + .sm\:rounded-br-sm { + border-bottom-right-radius: 0.125rem; + } + .sm\:rounded-bl-sm { + border-bottom-left-radius: 0.125rem; + } + .sm\:rounded-tl { + border-top-left-radius: 0.25rem; + } + .sm\:rounded-tr { + border-top-right-radius: 0.25rem; + } + .sm\:rounded-br { + border-bottom-right-radius: 0.25rem; + } + .sm\:rounded-bl { + border-bottom-left-radius: 0.25rem; + } + .sm\:rounded-tl-lg { + border-top-left-radius: 0.5rem; + } + .sm\:rounded-tr-lg { + border-top-right-radius: 0.5rem; + } + .sm\:rounded-br-lg { + border-bottom-right-radius: 0.5rem; + } + .sm\:rounded-bl-lg { + border-bottom-left-radius: 0.5rem; + } + .sm\:rounded-tl-full { + border-top-left-radius: 9999px; + } + .sm\:rounded-tr-full { + border-top-right-radius: 9999px; + } + .sm\:rounded-br-full { + border-bottom-right-radius: 9999px; + } + .sm\:rounded-bl-full { + border-bottom-left-radius: 9999px; + } + .sm\:border-solid { + border-style: solid; + } + .sm\:border-dashed { + border-style: dashed; + } + .sm\:border-dotted { + border-style: dotted; + } + .sm\:border-none { + border-style: none; + } + .sm\:border-0 { + border-width: 0; + } + .sm\:border-2 { + border-width: 2px; + } + .sm\:border-4 { + border-width: 4px; + } + .sm\:border-8 { + border-width: 8px; + } + .sm\:border { + border-width: 1px; + } + .sm\:border-t-0 { + border-top-width: 0; + } + .sm\:border-r-0 { + border-right-width: 0; + } + .sm\:border-b-0 { + border-bottom-width: 0; + } + .sm\:border-l-0 { + border-left-width: 0; + } + .sm\:border-t-2 { + border-top-width: 2px; + } + .sm\:border-r-2 { + border-right-width: 2px; + } + .sm\:border-b-2 { + border-bottom-width: 2px; + } + .sm\:border-l-2 { + border-left-width: 2px; + } + .sm\:border-t-4 { + border-top-width: 4px; + } + .sm\:border-r-4 { + border-right-width: 4px; + } + .sm\:border-b-4 { + border-bottom-width: 4px; + } + .sm\:border-l-4 { + border-left-width: 4px; + } + .sm\:border-t-8 { + border-top-width: 8px; + } + .sm\:border-r-8 { + border-right-width: 8px; + } + .sm\:border-b-8 { + border-bottom-width: 8px; + } + .sm\:border-l-8 { + border-left-width: 8px; + } + .sm\:border-t { + border-top-width: 1px; + } + .sm\:border-r { + border-right-width: 1px; + } + .sm\:border-b { + border-bottom-width: 1px; + } + .sm\:border-l { + border-left-width: 1px; + } + .sm\:cursor-auto { + cursor: auto; + } + .sm\:cursor-default { + cursor: default; + } + .sm\:cursor-pointer { + cursor: pointer; + } + .sm\:cursor-not-allowed { + cursor: not-allowed; + } + .sm\:block { + display: block; + } + .sm\:inline-block { + display: inline-block; + } + .sm\:inline { + display: inline; + } + .sm\:table { + display: table; + } + .sm\:table-row { + display: table-row; + } + .sm\:table-cell { + display: table-cell; + } + .sm\:hidden { + display: none; + } + .sm\:flex { + display: -webkit-box; + display: flex; + } + .sm\:inline-flex { + display: -webkit-inline-box; + display: inline-flex; + } + .sm\:flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + .sm\:flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + } + .sm\:flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + } + .sm\:flex-col-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; + } + .sm\:flex-wrap { + flex-wrap: wrap; + } + .sm\:flex-wrap-reverse { + flex-wrap: wrap-reverse; + } + .sm\:flex-no-wrap { + flex-wrap: nowrap; + } + .sm\:items-start { + -webkit-box-align: start; + align-items: flex-start; + } + .sm\:items-end { + -webkit-box-align: end; + align-items: flex-end; + } + .sm\:items-center { + -webkit-box-align: center; + align-items: center; + } + .sm\:items-baseline { + -webkit-box-align: baseline; + align-items: baseline; + } + .sm\:items-stretch { + -webkit-box-align: stretch; + align-items: stretch; + } + .sm\:self-auto { + align-self: auto; + } + .sm\:self-start { + align-self: flex-start; + } + .sm\:self-end { + align-self: flex-end; + } + .sm\:self-center { + align-self: center; + } + .sm\:self-stretch { + align-self: stretch; + } + .sm\:justify-start { + -webkit-box-pack: start; + justify-content: flex-start; + } + .sm\:justify-end { + -webkit-box-pack: end; + justify-content: flex-end; + } + .sm\:justify-center { + -webkit-box-pack: center; + justify-content: center; + } + .sm\:justify-between { + -webkit-box-pack: justify; + justify-content: space-between; + } + .sm\:justify-around { + justify-content: space-around; + } + .sm\:content-center { + align-content: center; + } + .sm\:content-start { + align-content: flex-start; + } + .sm\:content-end { + align-content: flex-end; + } + .sm\:content-between { + align-content: space-between; + } + .sm\:content-around { + align-content: space-around; + } + .sm\:flex-1 { + -webkit-box-flex: 1; + flex: 1; + } + .sm\:flex-auto { + -webkit-box-flex: 1; + flex: auto; + } + .sm\:flex-initial { + -webkit-box-flex: initial; + flex: initial; + } + .sm\:flex-none { + -webkit-box-flex: 0; + flex: none; + } + .sm\:flex-grow { + -webkit-box-flex: 1; + flex-grow: 1; + } + .sm\:flex-shrink { + flex-shrink: 1; + } + .sm\:flex-no-grow { + -webkit-box-flex: 0; + flex-grow: 0; + } + .sm\:flex-no-shrink { + flex-shrink: 0; + } + .sm\:float-right { + float: right; + } + .sm\:float-left { + float: left; + } + .sm\:float-none { + float: none; + } + .sm\:clearfix:after { + content: ""; + display: table; + clear: both; + } + .sm\:font-sans { + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, + Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + } + .sm\:font-serif { + font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, + Bitstream Vera Serif, Liberation Serif, Georgia, serif; + } + .sm\:font-mono { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + } + .sm\:font-hairline { + font-weight: 100; + } + .sm\:font-thin { + font-weight: 200; + } + .sm\:font-light { + font-weight: 300; + } + .sm\:font-normal { + font-weight: 400; + } + .sm\:font-medium { + font-weight: 500; + } + .sm\:font-semibold { + font-weight: 600; + } + .sm\:font-bold { + font-weight: 700; + } + .sm\:font-extrabold { + font-weight: 800; + } + .sm\:font-black { + font-weight: 900; + } + .sm\:hover\:font-hairline:hover { + font-weight: 100; + } + .sm\:hover\:font-thin:hover { + font-weight: 200; + } + .sm\:hover\:font-light:hover { + font-weight: 300; + } + .sm\:hover\:font-normal:hover { + font-weight: 400; + } + .sm\:hover\:font-medium:hover { + font-weight: 500; + } + .sm\:hover\:font-semibold:hover { + font-weight: 600; + } + .sm\:hover\:font-bold:hover { + font-weight: 700; + } + .sm\:hover\:font-extrabold:hover { + font-weight: 800; + } + .sm\:hover\:font-black:hover { + font-weight: 900; + } + .sm\:h-1 { + height: 0.25rem; + } + .sm\:h-2 { + height: 0.5rem; + } + .sm\:h-3 { + height: 0.75rem; + } + .sm\:h-4 { + height: 1rem; + } + .sm\:h-6 { + height: 1.5rem; + } + .sm\:h-8 { + height: 2rem; + } + .sm\:h-10 { + height: 2.5rem; + } + .sm\:h-12 { + height: 3rem; + } + .sm\:h-16 { + height: 4rem; + } + .sm\:h-24 { + height: 6rem; + } + .sm\:h-32 { + height: 8rem; + } + .sm\:h-48 { + height: 12rem; + } + .sm\:h-64 { + height: 16rem; + } + .sm\:h-auto { + height: auto; + } + .sm\:h-px { + height: 1px; + } + .sm\:h-full { + height: 100%; + } + .sm\:h-screen { + height: 100vh; + } + .sm\:leading-none { + line-height: 1; + } + .sm\:leading-tight { + line-height: 1.25; + } + .sm\:leading-normal { + line-height: 1.5; + } + .sm\:leading-loose { + line-height: 2; + } + .sm\:m-0 { + margin: 0; + } + .sm\:m-1 { + margin: 0.25rem; + } + .sm\:m-2 { + margin: 0.5rem; + } + .sm\:m-3 { + margin: 0.75rem; + } + .sm\:m-4 { + margin: 1rem; + } + .sm\:m-6 { + margin: 1.5rem; + } + .sm\:m-8 { + margin: 2rem; + } + .sm\:m-auto { + margin: auto; + } + .sm\:m-px { + margin: 1px; + } + .sm\:my-0 { + margin-top: 0; + margin-bottom: 0; + } + .sm\:mx-0 { + margin-left: 0; + margin-right: 0; + } + .sm\:my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; + } + .sm\:mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; + } + .sm\:my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + } + .sm\:mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .sm\:my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + } + .sm\:mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; + } + .sm\:my-4 { + margin-top: 1rem; + margin-bottom: 1rem; + } + .sm\:mx-4 { + margin-left: 1rem; + margin-right: 1rem; + } + .sm\:my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + } + .sm\:mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; + } + .sm\:my-8 { + margin-top: 2rem; + margin-bottom: 2rem; + } + .sm\:mx-8 { + margin-left: 2rem; + margin-right: 2rem; + } + .sm\:my-auto { + margin-top: auto; + margin-bottom: auto; + } + .sm\:mx-auto { + margin-left: auto; + margin-right: auto; + } + .sm\:my-px { + margin-top: 1px; + margin-bottom: 1px; + } + .sm\:mx-px { + margin-left: 1px; + margin-right: 1px; + } + .sm\:mt-0 { + margin-top: 0; + } + .sm\:mr-0 { + margin-right: 0; + } + .sm\:mb-0 { + margin-bottom: 0; + } + .sm\:ml-0 { + margin-left: 0; + } + .sm\:mt-1 { + margin-top: 0.25rem; + } + .sm\:mr-1 { + margin-right: 0.25rem; + } + .sm\:mb-1 { + margin-bottom: 0.25rem; + } + .sm\:ml-1 { + margin-left: 0.25rem; + } + .sm\:mt-2 { + margin-top: 0.5rem; + } + .sm\:mr-2 { + margin-right: 0.5rem; + } + .sm\:mb-2 { + margin-bottom: 0.5rem; + } + .sm\:ml-2 { + margin-left: 0.5rem; + } + .sm\:mt-3 { + margin-top: 0.75rem; + } + .sm\:mr-3 { + margin-right: 0.75rem; + } + .sm\:mb-3 { + margin-bottom: 0.75rem; + } + .sm\:ml-3 { + margin-left: 0.75rem; + } + .sm\:mt-4 { + margin-top: 1rem; + } + .sm\:mr-4 { + margin-right: 1rem; + } + .sm\:mb-4 { + margin-bottom: 1rem; + } + .sm\:ml-4 { + margin-left: 1rem; + } + .sm\:mt-6 { + margin-top: 1.5rem; + } + .sm\:mr-6 { + margin-right: 1.5rem; + } + .sm\:mb-6 { + margin-bottom: 1.5rem; + } + .sm\:ml-6 { + margin-left: 1.5rem; + } + .sm\:mt-8 { + margin-top: 2rem; + } + .sm\:mr-8 { + margin-right: 2rem; + } + .sm\:mb-8 { + margin-bottom: 2rem; + } + .sm\:ml-8 { + margin-left: 2rem; + } + .sm\:mt-auto { + margin-top: auto; + } + .sm\:mr-auto { + margin-right: auto; + } + .sm\:mb-auto { + margin-bottom: auto; + } + .sm\:ml-auto { + margin-left: auto; + } + .sm\:mt-px { + margin-top: 1px; + } + .sm\:mr-px { + margin-right: 1px; + } + .sm\:mb-px { + margin-bottom: 1px; + } + .sm\:ml-px { + margin-left: 1px; + } + .sm\:max-h-full { + max-height: 100%; + } + .sm\:max-h-screen { + max-height: 100vh; + } + .sm\:max-w-xs { + max-width: 20rem; + } + .sm\:max-w-sm { + max-width: 30rem; + } + .sm\:max-w-md { + max-width: 40rem; + } + .sm\:max-w-lg { + max-width: 50rem; + } + .sm\:max-w-xl { + max-width: 60rem; + } + .sm\:max-w-2xl { + max-width: 70rem; + } + .sm\:max-w-3xl { + max-width: 80rem; + } + .sm\:max-w-4xl { + max-width: 90rem; + } + .sm\:max-w-5xl { + max-width: 100rem; + } + .sm\:max-w-full { + max-width: 100%; + } + .sm\:min-h-0 { + min-height: 0; + } + .sm\:min-h-full { + min-height: 100%; + } + .sm\:min-h-screen { + min-height: 100vh; + } + .sm\:min-w-0 { + min-width: 0; + } + .sm\:min-w-full { + min-width: 100%; + } + .sm\:-m-0 { + margin: 0; + } + .sm\:-m-1 { + margin: -0.25rem; + } + .sm\:-m-2 { + margin: -0.5rem; + } + .sm\:-m-3 { + margin: -0.75rem; + } + .sm\:-m-4 { + margin: -1rem; + } + .sm\:-m-6 { + margin: -1.5rem; + } + .sm\:-m-8 { + margin: -2rem; + } + .sm\:-m-px { + margin: -1px; + } + .sm\:-my-0 { + margin-top: 0; + margin-bottom: 0; + } + .sm\:-mx-0 { + margin-left: 0; + margin-right: 0; + } + .sm\:-my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; + } + .sm\:-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; + } + .sm\:-my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; + } + .sm\:-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; + } + .sm\:-my-3 { + margin-top: -0.75rem; + margin-bottom: -0.75rem; + } + .sm\:-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; + } + .sm\:-my-4 { + margin-top: -1rem; + margin-bottom: -1rem; + } + .sm\:-mx-4 { + margin-left: -1rem; + margin-right: -1rem; + } + .sm\:-my-6 { + margin-top: -1.5rem; + margin-bottom: -1.5rem; + } + .sm\:-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; + } + .sm\:-my-8 { + margin-top: -2rem; + margin-bottom: -2rem; + } + .sm\:-mx-8 { + margin-left: -2rem; + margin-right: -2rem; + } + .sm\:-my-px { + margin-top: -1px; + margin-bottom: -1px; + } + .sm\:-mx-px { + margin-left: -1px; + margin-right: -1px; + } + .sm\:-mt-0 { + margin-top: 0; + } + .sm\:-mr-0 { + margin-right: 0; + } + .sm\:-mb-0 { + margin-bottom: 0; + } + .sm\:-ml-0 { + margin-left: 0; + } + .sm\:-mt-1 { + margin-top: -0.25rem; + } + .sm\:-mr-1 { + margin-right: -0.25rem; + } + .sm\:-mb-1 { + margin-bottom: -0.25rem; + } + .sm\:-ml-1 { + margin-left: -0.25rem; + } + .sm\:-mt-2 { + margin-top: -0.5rem; + } + .sm\:-mr-2 { + margin-right: -0.5rem; + } + .sm\:-mb-2 { + margin-bottom: -0.5rem; + } + .sm\:-ml-2 { + margin-left: -0.5rem; + } + .sm\:-mt-3 { + margin-top: -0.75rem; + } + .sm\:-mr-3 { + margin-right: -0.75rem; + } + .sm\:-mb-3 { + margin-bottom: -0.75rem; + } + .sm\:-ml-3 { + margin-left: -0.75rem; + } + .sm\:-mt-4 { + margin-top: -1rem; + } + .sm\:-mr-4 { + margin-right: -1rem; + } + .sm\:-mb-4 { + margin-bottom: -1rem; + } + .sm\:-ml-4 { + margin-left: -1rem; + } + .sm\:-mt-6 { + margin-top: -1.5rem; + } + .sm\:-mr-6 { + margin-right: -1.5rem; + } + .sm\:-mb-6 { + margin-bottom: -1.5rem; + } + .sm\:-ml-6 { + margin-left: -1.5rem; + } + .sm\:-mt-8 { + margin-top: -2rem; + } + .sm\:-mr-8 { + margin-right: -2rem; + } + .sm\:-mb-8 { + margin-bottom: -2rem; + } + .sm\:-ml-8 { + margin-left: -2rem; + } + .sm\:-mt-px { + margin-top: -1px; + } + .sm\:-mr-px { + margin-right: -1px; + } + .sm\:-mb-px { + margin-bottom: -1px; + } + .sm\:-ml-px { + margin-left: -1px; + } + .sm\:opacity-0 { + opacity: 0; + } + .sm\:opacity-25 { + opacity: 0.25; + } + .sm\:opacity-50 { + opacity: 0.5; + } + .sm\:opacity-75 { + opacity: 0.75; + } + .sm\:opacity-100 { + opacity: 1; + } + .sm\:overflow-auto { + overflow: auto; + } + .sm\:overflow-hidden { + overflow: hidden; + } + .sm\:overflow-visible { + overflow: visible; + } + .sm\:overflow-scroll { + overflow: scroll; + } + .sm\:overflow-x-scroll { + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .sm\:overflow-y-scroll { + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .sm\:scrolling-touch { + -webkit-overflow-scrolling: touch; + } + .sm\:scrolling-auto { + -webkit-overflow-scrolling: auto; + } + .sm\:p-0 { + padding: 0; + } + .sm\:p-1 { + padding: 0.25rem; + } + .sm\:p-2 { + padding: 0.5rem; + } + .sm\:p-3 { + padding: 0.75rem; + } + .sm\:p-4 { + padding: 1rem; + } + .sm\:p-6 { + padding: 1.5rem; + } + .sm\:p-8 { + padding: 2rem; + } + .sm\:p-px { + padding: 1px; + } + .sm\:py-0 { + padding-top: 0; + padding-bottom: 0; + } + .sm\:px-0 { + padding-left: 0; + padding-right: 0; + } + .sm\:py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + .sm\:px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + .sm\:py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .sm\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .sm\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + .sm\:px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + .sm\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .sm\:px-4 { + padding-left: 1rem; + padding-right: 1rem; + } + .sm\:py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + .sm\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .sm\:py-8 { + padding-top: 2rem; + padding-bottom: 2rem; + } + .sm\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + .sm\:py-px { + padding-top: 1px; + padding-bottom: 1px; + } + .sm\:px-px { + padding-left: 1px; + padding-right: 1px; + } + .sm\:pt-0 { + padding-top: 0; + } + .sm\:pr-0 { + padding-right: 0; + } + .sm\:pb-0 { + padding-bottom: 0; + } + .sm\:pl-0 { + padding-left: 0; + } + .sm\:pt-1 { + padding-top: 0.25rem; + } + .sm\:pr-1 { + padding-right: 0.25rem; + } + .sm\:pb-1 { + padding-bottom: 0.25rem; + } + .sm\:pl-1 { + padding-left: 0.25rem; + } + .sm\:pt-2 { + padding-top: 0.5rem; + } + .sm\:pr-2 { + padding-right: 0.5rem; + } + .sm\:pb-2 { + padding-bottom: 0.5rem; + } + .sm\:pl-2 { + padding-left: 0.5rem; + } + .sm\:pt-3 { + padding-top: 0.75rem; + } + .sm\:pr-3 { + padding-right: 0.75rem; + } + .sm\:pb-3 { + padding-bottom: 0.75rem; + } + .sm\:pl-3 { + padding-left: 0.75rem; + } + .sm\:pt-4 { + padding-top: 1rem; + } + .sm\:pr-4 { + padding-right: 1rem; + } + .sm\:pb-4 { + padding-bottom: 1rem; + } + .sm\:pl-4 { + padding-left: 1rem; + } + .sm\:pt-6 { + padding-top: 1.5rem; + } + .sm\:pr-6 { + padding-right: 1.5rem; + } + .sm\:pb-6 { + padding-bottom: 1.5rem; + } + .sm\:pl-6 { + padding-left: 1.5rem; + } + .sm\:pt-8 { + padding-top: 2rem; + } + .sm\:pr-8 { + padding-right: 2rem; + } + .sm\:pb-8 { + padding-bottom: 2rem; + } + .sm\:pl-8 { + padding-left: 2rem; + } + .sm\:pt-px { + padding-top: 1px; + } + .sm\:pr-px { + padding-right: 1px; + } + .sm\:pb-px { + padding-bottom: 1px; + } + .sm\:pl-px { + padding-left: 1px; + } + .sm\:pointer-events-none { + pointer-events: none; + } + .sm\:pointer-events-auto { + pointer-events: auto; + } + .sm\:static { + position: static; + } + .sm\:fixed { + position: fixed; + } + .sm\:absolute { + position: absolute; + } + .sm\:relative { + position: relative; + } + .sm\:pin-none { + top: auto; + right: auto; + bottom: auto; + left: auto; + } + .sm\:pin { + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .sm\:pin-y { + top: 0; + bottom: 0; + } + .sm\:pin-x { + right: 0; + left: 0; + } + .sm\:pin-t { + top: 0; + } + .sm\:pin-r { + right: 0; + } + .sm\:pin-b { + bottom: 0; + } + .sm\:pin-l { + left: 0; + } + .sm\:resize-none { + resize: none; + } + .sm\:resize-y { + resize: vertical; + } + .sm\:resize-x { + resize: horizontal; + } + .sm\:resize { + resize: both; + } + .sm\:shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + } + .sm\:shadow-md { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); + } + .sm\:shadow-lg { + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); + } + .sm\:shadow-inner { + box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); + } + .sm\:shadow-none { + box-shadow: none; + } + .sm\:text-left { + text-align: left; + } + .sm\:text-center { + text-align: center; + } + .sm\:text-right { + text-align: right; + } + .sm\:text-justify { + text-align: justify; + } + .sm\:text-transparent { + color: transparent; + } + .sm\:text-black { + color: #22292f; + } + .sm\:text-grey-darkest { + color: #3d4852; + } + .sm\:text-grey-darker { + color: #606f7b; + } + .sm\:text-grey-dark { + color: #8795a1; + } + .sm\:text-grey { + color: #b8c2cc; + } + .sm\:text-grey-light { + color: #dae1e7; + } + .sm\:text-grey-lighter { + color: #f1f5f8; + } + .sm\:text-grey-lightest { + color: #f8fafc; + } + .sm\:text-white { + color: #fff; + } + .sm\:text-red-darkest { + color: #3b0d0c; + } + .sm\:text-red-darker { + color: #621b18; + } + .sm\:text-red-dark { + color: #cc1f1a; + } + .sm\:text-red { + color: #e3342f; + } + .sm\:text-red-light { + color: #ef5753; + } + .sm\:text-red-lighter { + color: #f9acaa; + } + .sm\:text-red-lightest { + color: #fcebea; + } + .sm\:text-orange-darkest { + color: #462a16; + } + .sm\:text-orange-darker { + color: #613b1f; + } + .sm\:text-orange-dark { + color: #de751f; + } + .sm\:text-orange { + color: #f6993f; + } + .sm\:text-orange-light { + color: #faad63; + } + .sm\:text-orange-lighter { + color: #fcd9b6; + } + .sm\:text-orange-lightest { + color: #fff5eb; + } + .sm\:text-yellow-darkest { + color: #453411; + } + .sm\:text-yellow-darker { + color: #684f1d; + } + .sm\:text-yellow-dark { + color: #f2d024; + } + .sm\:text-yellow { + color: #ffed4a; + } + .sm\:text-yellow-light { + color: #fff382; + } + .sm\:text-yellow-lighter { + color: #fff9c2; + } + .sm\:text-yellow-lightest { + color: #fcfbeb; + } + .sm\:text-green-darkest { + color: #0f2f21; + } + .sm\:text-green-darker { + color: #1a4731; + } + .sm\:text-green-dark { + color: #1f9d55; + } + .sm\:text-green { + color: #38c172; + } + .sm\:text-green-light { + color: #51d88a; + } + .sm\:text-green-lighter { + color: #a2f5bf; + } + .sm\:text-green-lightest { + color: #e3fcec; + } + .sm\:text-teal-darkest { + color: #0d3331; + } + .sm\:text-teal-darker { + color: #20504f; + } + .sm\:text-teal-dark { + color: #38a89d; + } + .sm\:text-teal { + color: #4dc0b5; + } + .sm\:text-teal-light { + color: #64d5ca; + } + .sm\:text-teal-lighter { + color: #a0f0ed; + } + .sm\:text-teal-lightest { + color: #e8fffe; + } + .sm\:text-blue-darkest { + color: #12283a; + } + .sm\:text-blue-darker { + color: #1c3d5a; + } + .sm\:text-blue-dark { + color: #2779bd; + } + .sm\:text-blue { + color: #3490dc; + } + .sm\:text-blue-light { + color: #6cb2eb; + } + .sm\:text-blue-lighter { + color: #bcdefa; + } + .sm\:text-blue-lightest { + color: #eff8ff; + } + .sm\:text-indigo-darkest { + color: #191e38; + } + .sm\:text-indigo-darker { + color: #2f365f; + } + .sm\:text-indigo-dark { + color: #5661b3; + } + .sm\:text-indigo { + color: #6574cd; + } + .sm\:text-indigo-light { + color: #7886d7; + } + .sm\:text-indigo-lighter { + color: #b2b7ff; + } + .sm\:text-indigo-lightest { + color: #e6e8ff; + } + .sm\:text-purple-darkest { + color: #21183c; + } + .sm\:text-purple-darker { + color: #382b5f; + } + .sm\:text-purple-dark { + color: #794acf; + } + .sm\:text-purple { + color: #9561e2; + } + .sm\:text-purple-light { + color: #a779e9; + } + .sm\:text-purple-lighter { + color: #d6bbfc; + } + .sm\:text-purple-lightest { + color: #f3ebff; + } + .sm\:text-pink-darkest { + color: #451225; + } + .sm\:text-pink-darker { + color: #6f213f; + } + .sm\:text-pink-dark { + color: #eb5286; + } + .sm\:text-pink { + color: #f66d9b; + } + .sm\:text-pink-light { + color: #fa7ea8; + } + .sm\:text-pink-lighter { + color: #ffbbca; + } + .sm\:text-pink-lightest { + color: #ffebef; + } + .sm\:hover\:text-transparent:hover { + color: transparent; + } + .sm\:hover\:text-black:hover { + color: #22292f; + } + .sm\:hover\:text-grey-darkest:hover { + color: #3d4852; + } + .sm\:hover\:text-grey-darker:hover { + color: #606f7b; + } + .sm\:hover\:text-grey-dark:hover { + color: #8795a1; + } + .sm\:hover\:text-grey:hover { + color: #b8c2cc; + } + .sm\:hover\:text-grey-light:hover { + color: #dae1e7; + } + .sm\:hover\:text-grey-lighter:hover { + color: #f1f5f8; + } + .sm\:hover\:text-grey-lightest:hover { + color: #f8fafc; + } + .sm\:hover\:text-white:hover { + color: #fff; + } + .sm\:hover\:text-red-darkest:hover { + color: #3b0d0c; + } + .sm\:hover\:text-red-darker:hover { + color: #621b18; + } + .sm\:hover\:text-red-dark:hover { + color: #cc1f1a; + } + .sm\:hover\:text-red:hover { + color: #e3342f; + } + .sm\:hover\:text-red-light:hover { + color: #ef5753; + } + .sm\:hover\:text-red-lighter:hover { + color: #f9acaa; + } + .sm\:hover\:text-red-lightest:hover { + color: #fcebea; + } + .sm\:hover\:text-orange-darkest:hover { + color: #462a16; + } + .sm\:hover\:text-orange-darker:hover { + color: #613b1f; + } + .sm\:hover\:text-orange-dark:hover { + color: #de751f; + } + .sm\:hover\:text-orange:hover { + color: #f6993f; + } + .sm\:hover\:text-orange-light:hover { + color: #faad63; + } + .sm\:hover\:text-orange-lighter:hover { + color: #fcd9b6; + } + .sm\:hover\:text-orange-lightest:hover { + color: #fff5eb; + } + .sm\:hover\:text-yellow-darkest:hover { + color: #453411; + } + .sm\:hover\:text-yellow-darker:hover { + color: #684f1d; + } + .sm\:hover\:text-yellow-dark:hover { + color: #f2d024; + } + .sm\:hover\:text-yellow:hover { + color: #ffed4a; + } + .sm\:hover\:text-yellow-light:hover { + color: #fff382; + } + .sm\:hover\:text-yellow-lighter:hover { + color: #fff9c2; + } + .sm\:hover\:text-yellow-lightest:hover { + color: #fcfbeb; + } + .sm\:hover\:text-green-darkest:hover { + color: #0f2f21; + } + .sm\:hover\:text-green-darker:hover { + color: #1a4731; + } + .sm\:hover\:text-green-dark:hover { + color: #1f9d55; + } + .sm\:hover\:text-green:hover { + color: #38c172; + } + .sm\:hover\:text-green-light:hover { + color: #51d88a; + } + .sm\:hover\:text-green-lighter:hover { + color: #a2f5bf; + } + .sm\:hover\:text-green-lightest:hover { + color: #e3fcec; + } + .sm\:hover\:text-teal-darkest:hover { + color: #0d3331; + } + .sm\:hover\:text-teal-darker:hover { + color: #20504f; + } + .sm\:hover\:text-teal-dark:hover { + color: #38a89d; + } + .sm\:hover\:text-teal:hover { + color: #4dc0b5; + } + .sm\:hover\:text-teal-light:hover { + color: #64d5ca; + } + .sm\:hover\:text-teal-lighter:hover { + color: #a0f0ed; + } + .sm\:hover\:text-teal-lightest:hover { + color: #e8fffe; + } + .sm\:hover\:text-blue-darkest:hover { + color: #12283a; + } + .sm\:hover\:text-blue-darker:hover { + color: #1c3d5a; + } + .sm\:hover\:text-blue-dark:hover { + color: #2779bd; + } + .sm\:hover\:text-blue:hover { + color: #3490dc; + } + .sm\:hover\:text-blue-light:hover { + color: #6cb2eb; + } + .sm\:hover\:text-blue-lighter:hover { + color: #bcdefa; + } + .sm\:hover\:text-blue-lightest:hover { + color: #eff8ff; + } + .sm\:hover\:text-indigo-darkest:hover { + color: #191e38; + } + .sm\:hover\:text-indigo-darker:hover { + color: #2f365f; + } + .sm\:hover\:text-indigo-dark:hover { + color: #5661b3; + } + .sm\:hover\:text-indigo:hover { + color: #6574cd; + } + .sm\:hover\:text-indigo-light:hover { + color: #7886d7; + } + .sm\:hover\:text-indigo-lighter:hover { + color: #b2b7ff; + } + .sm\:hover\:text-indigo-lightest:hover { + color: #e6e8ff; + } + .sm\:hover\:text-purple-darkest:hover { + color: #21183c; + } + .sm\:hover\:text-purple-darker:hover { + color: #382b5f; + } + .sm\:hover\:text-purple-dark:hover { + color: #794acf; + } + .sm\:hover\:text-purple:hover { + color: #9561e2; + } + .sm\:hover\:text-purple-light:hover { + color: #a779e9; + } + .sm\:hover\:text-purple-lighter:hover { + color: #d6bbfc; + } + .sm\:hover\:text-purple-lightest:hover { + color: #f3ebff; + } + .sm\:hover\:text-pink-darkest:hover { + color: #451225; + } + .sm\:hover\:text-pink-darker:hover { + color: #6f213f; + } + .sm\:hover\:text-pink-dark:hover { + color: #eb5286; + } + .sm\:hover\:text-pink:hover { + color: #f66d9b; + } + .sm\:hover\:text-pink-light:hover { + color: #fa7ea8; + } + .sm\:hover\:text-pink-lighter:hover { + color: #ffbbca; + } + .sm\:hover\:text-pink-lightest:hover { + color: #ffebef; + } + .sm\:text-xs { + font-size: 0.75rem; + } + .sm\:text-sm { + font-size: 0.875rem; + } + .sm\:text-base { + font-size: 1rem; + } + .sm\:text-lg { + font-size: 1.125rem; + } + .sm\:text-xl { + font-size: 1.25rem; + } + .sm\:text-2xl { + font-size: 1.5rem; + } + .sm\:text-3xl { + font-size: 1.875rem; + } + .sm\:text-4xl { + font-size: 2.25rem; + } + .sm\:text-5xl { + font-size: 3rem; + } + .sm\:italic { + font-style: italic; + } + .sm\:roman { + font-style: normal; + } + .sm\:uppercase { + text-transform: uppercase; + } + .sm\:lowercase { + text-transform: lowercase; + } + .sm\:capitalize { + text-transform: capitalize; + } + .sm\:normal-case { + text-transform: none; + } + .sm\:underline { + text-decoration: underline; + } + .sm\:line-through { + text-decoration: line-through; + } + .sm\:no-underline { + text-decoration: none; + } + .sm\:antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .sm\:subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .sm\:hover\:italic:hover { + font-style: italic; + } + .sm\:hover\:roman:hover { + font-style: normal; + } + .sm\:hover\:uppercase:hover { + text-transform: uppercase; + } + .sm\:hover\:lowercase:hover { + text-transform: lowercase; + } + .sm\:hover\:capitalize:hover { + text-transform: capitalize; + } + .sm\:hover\:normal-case:hover { + text-transform: none; + } + .sm\:hover\:underline:hover { + text-decoration: underline; + } + .sm\:hover\:line-through:hover { + text-decoration: line-through; + } + .sm\:hover\:no-underline:hover { + text-decoration: none; + } + .sm\:hover\:antialiased:hover { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .sm\:hover\:subpixel-antialiased:hover { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .sm\:tracking-tight { + letter-spacing: -0.05em; + } + .sm\:tracking-normal { + letter-spacing: 0; + } + .sm\:tracking-wide { + letter-spacing: 0.05em; + } + .sm\:select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .sm\:select-text { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + .sm\:align-baseline { + vertical-align: baseline; + } + .sm\:align-top { + vertical-align: top; + } + .sm\:align-middle { + vertical-align: middle; + } + .sm\:align-bottom { + vertical-align: bottom; + } + .sm\:align-text-top { + vertical-align: text-top; + } + .sm\:align-text-bottom { + vertical-align: text-bottom; + } + .sm\:visible { + visibility: visible; + } + .sm\:invisible { + visibility: hidden; + } + .sm\:whitespace-normal { + white-space: normal; + } + .sm\:whitespace-no-wrap { + white-space: nowrap; + } + .sm\:whitespace-pre { + white-space: pre; + } + .sm\:whitespace-pre-line { + white-space: pre-line; + } + .sm\:whitespace-pre-wrap { + white-space: pre-wrap; + } + .sm\:break-words { + word-wrap: break-word; + } + .sm\:break-normal { + word-wrap: normal; + } + .sm\:truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .sm\:w-1 { + width: 0.25rem; + } + .sm\:w-2 { + width: 0.5rem; + } + .sm\:w-3 { + width: 0.75rem; + } + .sm\:w-4 { + width: 1rem; + } + .sm\:w-6 { + width: 1.5rem; + } + .sm\:w-8 { + width: 2rem; + } + .sm\:w-10 { + width: 2.5rem; + } + .sm\:w-12 { + width: 3rem; + } + .sm\:w-16 { + width: 4rem; + } + .sm\:w-24 { + width: 6rem; + } + .sm\:w-32 { + width: 8rem; + } + .sm\:w-48 { + width: 12rem; + } + .sm\:w-64 { + width: 16rem; + } + .sm\:w-auto { + width: auto; + } + .sm\:w-px { + width: 1px; + } + .sm\:w-1\/2 { + width: 50%; + } + .sm\:w-1\/3 { + width: 33.33333%; + } + .sm\:w-2\/3 { + width: 66.66667%; + } + .sm\:w-1\/4 { + width: 25%; + } + .sm\:w-3\/4 { + width: 75%; + } + .sm\:w-1\/5 { + width: 20%; + } + .sm\:w-2\/5 { + width: 40%; + } + .sm\:w-3\/5 { + width: 60%; + } + .sm\:w-4\/5 { + width: 80%; + } + .sm\:w-1\/6 { + width: 16.66667%; + } + .sm\:w-5\/6 { + width: 83.33333%; + } + .sm\:w-full { + width: 100%; + } + .sm\:w-screen { + width: 100vw; + } + .sm\:z-0 { + z-index: 0; + } + .sm\:z-10 { + z-index: 10; + } + .sm\:z-20 { + z-index: 20; + } + .sm\:z-30 { + z-index: 30; + } + .sm\:z-40 { + z-index: 40; + } + .sm\:z-50 { + z-index: 50; + } + .sm\:z-auto { + z-index: auto; + } +} +@media (min-width: 768px) { + .md\:list-reset { + list-style: none; + padding: 0; + } + .md\:appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + .md\:bg-fixed { + background-attachment: fixed; + } + .md\:bg-local { + background-attachment: local; + } + .md\:bg-scroll { + background-attachment: scroll; + } + .md\:bg-transparent { + background-color: transparent; + } + .md\:bg-black { + background-color: #22292f; + } + .md\:bg-grey-darkest { + background-color: #3d4852; + } + .md\:bg-grey-darker { + background-color: #606f7b; + } + .md\:bg-grey-dark { + background-color: #8795a1; + } + .md\:bg-grey { + background-color: #b8c2cc; + } + .md\:bg-grey-light { + background-color: #dae1e7; + } + .md\:bg-grey-lighter { + background-color: #f1f5f8; + } + .md\:bg-grey-lightest { + background-color: #f8fafc; + } + .md\:bg-white { + background-color: #fff; + } + .md\:bg-red-darkest { + background-color: #3b0d0c; + } + .md\:bg-red-darker { + background-color: #621b18; + } + .md\:bg-red-dark { + background-color: #cc1f1a; + } + .md\:bg-red { + background-color: #e3342f; + } + .md\:bg-red-light { + background-color: #ef5753; + } + .md\:bg-red-lighter { + background-color: #f9acaa; + } + .md\:bg-red-lightest { + background-color: #fcebea; + } + .md\:bg-orange-darkest { + background-color: #462a16; + } + .md\:bg-orange-darker { + background-color: #613b1f; + } + .md\:bg-orange-dark { + background-color: #de751f; + } + .md\:bg-orange { + background-color: #f6993f; + } + .md\:bg-orange-light { + background-color: #faad63; + } + .md\:bg-orange-lighter { + background-color: #fcd9b6; + } + .md\:bg-orange-lightest { + background-color: #fff5eb; + } + .md\:bg-yellow-darkest { + background-color: #453411; + } + .md\:bg-yellow-darker { + background-color: #684f1d; + } + .md\:bg-yellow-dark { + background-color: #f2d024; + } + .md\:bg-yellow { + background-color: #ffed4a; + } + .md\:bg-yellow-light { + background-color: #fff382; + } + .md\:bg-yellow-lighter { + background-color: #fff9c2; + } + .md\:bg-yellow-lightest { + background-color: #fcfbeb; + } + .md\:bg-green-darkest { + background-color: #0f2f21; + } + .md\:bg-green-darker { + background-color: #1a4731; + } + .md\:bg-green-dark { + background-color: #1f9d55; + } + .md\:bg-green { + background-color: #38c172; + } + .md\:bg-green-light { + background-color: #51d88a; + } + .md\:bg-green-lighter { + background-color: #a2f5bf; + } + .md\:bg-green-lightest { + background-color: #e3fcec; + } + .md\:bg-teal-darkest { + background-color: #0d3331; + } + .md\:bg-teal-darker { + background-color: #20504f; + } + .md\:bg-teal-dark { + background-color: #38a89d; + } + .md\:bg-teal { + background-color: #4dc0b5; + } + .md\:bg-teal-light { + background-color: #64d5ca; + } + .md\:bg-teal-lighter { + background-color: #a0f0ed; + } + .md\:bg-teal-lightest { + background-color: #e8fffe; + } + .md\:bg-blue-darkest { + background-color: #12283a; + } + .md\:bg-blue-darker { + background-color: #1c3d5a; + } + .md\:bg-blue-dark { + background-color: #2779bd; + } + .md\:bg-blue { + background-color: #3490dc; + } + .md\:bg-blue-light { + background-color: #6cb2eb; + } + .md\:bg-blue-lighter { + background-color: #bcdefa; + } + .md\:bg-blue-lightest { + background-color: #eff8ff; + } + .md\:bg-indigo-darkest { + background-color: #191e38; + } + .md\:bg-indigo-darker { + background-color: #2f365f; + } + .md\:bg-indigo-dark { + background-color: #5661b3; + } + .md\:bg-indigo { + background-color: #6574cd; + } + .md\:bg-indigo-light { + background-color: #7886d7; + } + .md\:bg-indigo-lighter { + background-color: #b2b7ff; + } + .md\:bg-indigo-lightest { + background-color: #e6e8ff; + } + .md\:bg-purple-darkest { + background-color: #21183c; + } + .md\:bg-purple-darker { + background-color: #382b5f; + } + .md\:bg-purple-dark { + background-color: #794acf; + } + .md\:bg-purple { + background-color: #9561e2; + } + .md\:bg-purple-light { + background-color: #a779e9; + } + .md\:bg-purple-lighter { + background-color: #d6bbfc; + } + .md\:bg-purple-lightest { + background-color: #f3ebff; + } + .md\:bg-pink-darkest { + background-color: #451225; + } + .md\:bg-pink-darker { + background-color: #6f213f; + } + .md\:bg-pink-dark { + background-color: #eb5286; + } + .md\:bg-pink { + background-color: #f66d9b; + } + .md\:bg-pink-light { + background-color: #fa7ea8; + } + .md\:bg-pink-lighter { + background-color: #ffbbca; + } + .md\:bg-pink-lightest { + background-color: #ffebef; + } + .md\:hover\:bg-transparent:hover { + background-color: transparent; + } + .md\:hover\:bg-black:hover { + background-color: #22292f; + } + .md\:hover\:bg-grey-darkest:hover { + background-color: #3d4852; + } + .md\:hover\:bg-grey-darker:hover { + background-color: #606f7b; + } + .md\:hover\:bg-grey-dark:hover { + background-color: #8795a1; + } + .md\:hover\:bg-grey:hover { + background-color: #b8c2cc; + } + .md\:hover\:bg-grey-light:hover { + background-color: #dae1e7; + } + .md\:hover\:bg-grey-lighter:hover { + background-color: #f1f5f8; + } + .md\:hover\:bg-grey-lightest:hover { + background-color: #f8fafc; + } + .md\:hover\:bg-white:hover { + background-color: #fff; + } + .md\:hover\:bg-red-darkest:hover { + background-color: #3b0d0c; + } + .md\:hover\:bg-red-darker:hover { + background-color: #621b18; + } + .md\:hover\:bg-red-dark:hover { + background-color: #cc1f1a; + } + .md\:hover\:bg-red:hover { + background-color: #e3342f; + } + .md\:hover\:bg-red-light:hover { + background-color: #ef5753; + } + .md\:hover\:bg-red-lighter:hover { + background-color: #f9acaa; + } + .md\:hover\:bg-red-lightest:hover { + background-color: #fcebea; + } + .md\:hover\:bg-orange-darkest:hover { + background-color: #462a16; + } + .md\:hover\:bg-orange-darker:hover { + background-color: #613b1f; + } + .md\:hover\:bg-orange-dark:hover { + background-color: #de751f; + } + .md\:hover\:bg-orange:hover { + background-color: #f6993f; + } + .md\:hover\:bg-orange-light:hover { + background-color: #faad63; + } + .md\:hover\:bg-orange-lighter:hover { + background-color: #fcd9b6; + } + .md\:hover\:bg-orange-lightest:hover { + background-color: #fff5eb; + } + .md\:hover\:bg-yellow-darkest:hover { + background-color: #453411; + } + .md\:hover\:bg-yellow-darker:hover { + background-color: #684f1d; + } + .md\:hover\:bg-yellow-dark:hover { + background-color: #f2d024; + } + .md\:hover\:bg-yellow:hover { + background-color: #ffed4a; + } + .md\:hover\:bg-yellow-light:hover { + background-color: #fff382; + } + .md\:hover\:bg-yellow-lighter:hover { + background-color: #fff9c2; + } + .md\:hover\:bg-yellow-lightest:hover { + background-color: #fcfbeb; + } + .md\:hover\:bg-green-darkest:hover { + background-color: #0f2f21; + } + .md\:hover\:bg-green-darker:hover { + background-color: #1a4731; + } + .md\:hover\:bg-green-dark:hover { + background-color: #1f9d55; + } + .md\:hover\:bg-green:hover { + background-color: #38c172; + } + .md\:hover\:bg-green-light:hover { + background-color: #51d88a; + } + .md\:hover\:bg-green-lighter:hover { + background-color: #a2f5bf; + } + .md\:hover\:bg-green-lightest:hover { + background-color: #e3fcec; + } + .md\:hover\:bg-teal-darkest:hover { + background-color: #0d3331; + } + .md\:hover\:bg-teal-darker:hover { + background-color: #20504f; + } + .md\:hover\:bg-teal-dark:hover { + background-color: #38a89d; + } + .md\:hover\:bg-teal:hover { + background-color: #4dc0b5; + } + .md\:hover\:bg-teal-light:hover { + background-color: #64d5ca; + } + .md\:hover\:bg-teal-lighter:hover { + background-color: #a0f0ed; + } + .md\:hover\:bg-teal-lightest:hover { + background-color: #e8fffe; + } + .md\:hover\:bg-blue-darkest:hover { + background-color: #12283a; + } + .md\:hover\:bg-blue-darker:hover { + background-color: #1c3d5a; + } + .md\:hover\:bg-blue-dark:hover { + background-color: #2779bd; + } + .md\:hover\:bg-blue:hover { + background-color: #3490dc; + } + .md\:hover\:bg-blue-light:hover { + background-color: #6cb2eb; + } + .md\:hover\:bg-blue-lighter:hover { + background-color: #bcdefa; + } + .md\:hover\:bg-blue-lightest:hover { + background-color: #eff8ff; + } + .md\:hover\:bg-indigo-darkest:hover { + background-color: #191e38; + } + .md\:hover\:bg-indigo-darker:hover { + background-color: #2f365f; + } + .md\:hover\:bg-indigo-dark:hover { + background-color: #5661b3; + } + .md\:hover\:bg-indigo:hover { + background-color: #6574cd; + } + .md\:hover\:bg-indigo-light:hover { + background-color: #7886d7; + } + .md\:hover\:bg-indigo-lighter:hover { + background-color: #b2b7ff; + } + .md\:hover\:bg-indigo-lightest:hover { + background-color: #e6e8ff; + } + .md\:hover\:bg-purple-darkest:hover { + background-color: #21183c; + } + .md\:hover\:bg-purple-darker:hover { + background-color: #382b5f; + } + .md\:hover\:bg-purple-dark:hover { + background-color: #794acf; + } + .md\:hover\:bg-purple:hover { + background-color: #9561e2; + } + .md\:hover\:bg-purple-light:hover { + background-color: #a779e9; + } + .md\:hover\:bg-purple-lighter:hover { + background-color: #d6bbfc; + } + .md\:hover\:bg-purple-lightest:hover { + background-color: #f3ebff; + } + .md\:hover\:bg-pink-darkest:hover { + background-color: #451225; + } + .md\:hover\:bg-pink-darker:hover { + background-color: #6f213f; + } + .md\:hover\:bg-pink-dark:hover { + background-color: #eb5286; + } + .md\:hover\:bg-pink:hover { + background-color: #f66d9b; + } + .md\:hover\:bg-pink-light:hover { + background-color: #fa7ea8; + } + .md\:hover\:bg-pink-lighter:hover { + background-color: #ffbbca; + } + .md\:hover\:bg-pink-lightest:hover { + background-color: #ffebef; + } + .md\:bg-bottom { + background-position: bottom; + } + .md\:bg-center { + background-position: center; + } + .md\:bg-left { + background-position: left; + } + .md\:bg-left-bottom { + background-position: left bottom; + } + .md\:bg-left-top { + background-position: left top; + } + .md\:bg-right { + background-position: right; + } + .md\:bg-right-bottom { + background-position: right bottom; + } + .md\:bg-right-top { + background-position: right top; + } + .md\:bg-top { + background-position: top; + } + .md\:bg-repeat { + background-repeat: repeat; + } + .md\:bg-no-repeat { + background-repeat: no-repeat; + } + .md\:bg-repeat-x { + background-repeat: repeat-x; + } + .md\:bg-repeat-y { + background-repeat: repeat-y; + } + .md\:bg-cover { + background-size: cover; + } + .md\:bg-contain { + background-size: contain; + } + .md\:border-transparent { + border-color: transparent; + } + .md\:border-black { + border-color: #22292f; + } + .md\:border-grey-darkest { + border-color: #3d4852; + } + .md\:border-grey-darker { + border-color: #606f7b; + } + .md\:border-grey-dark { + border-color: #8795a1; + } + .md\:border-grey { + border-color: #b8c2cc; + } + .md\:border-grey-light { + border-color: #dae1e7; + } + .md\:border-grey-lighter { + border-color: #f1f5f8; + } + .md\:border-grey-lightest { + border-color: #f8fafc; + } + .md\:border-white { + border-color: #fff; + } + .md\:border-red-darkest { + border-color: #3b0d0c; + } + .md\:border-red-darker { + border-color: #621b18; + } + .md\:border-red-dark { + border-color: #cc1f1a; + } + .md\:border-red { + border-color: #e3342f; + } + .md\:border-red-light { + border-color: #ef5753; + } + .md\:border-red-lighter { + border-color: #f9acaa; + } + .md\:border-red-lightest { + border-color: #fcebea; + } + .md\:border-orange-darkest { + border-color: #462a16; + } + .md\:border-orange-darker { + border-color: #613b1f; + } + .md\:border-orange-dark { + border-color: #de751f; + } + .md\:border-orange { + border-color: #f6993f; + } + .md\:border-orange-light { + border-color: #faad63; + } + .md\:border-orange-lighter { + border-color: #fcd9b6; + } + .md\:border-orange-lightest { + border-color: #fff5eb; + } + .md\:border-yellow-darkest { + border-color: #453411; + } + .md\:border-yellow-darker { + border-color: #684f1d; + } + .md\:border-yellow-dark { + border-color: #f2d024; + } + .md\:border-yellow { + border-color: #ffed4a; + } + .md\:border-yellow-light { + border-color: #fff382; + } + .md\:border-yellow-lighter { + border-color: #fff9c2; + } + .md\:border-yellow-lightest { + border-color: #fcfbeb; + } + .md\:border-green-darkest { + border-color: #0f2f21; + } + .md\:border-green-darker { + border-color: #1a4731; + } + .md\:border-green-dark { + border-color: #1f9d55; + } + .md\:border-green { + border-color: #38c172; + } + .md\:border-green-light { + border-color: #51d88a; + } + .md\:border-green-lighter { + border-color: #a2f5bf; + } + .md\:border-green-lightest { + border-color: #e3fcec; + } + .md\:border-teal-darkest { + border-color: #0d3331; + } + .md\:border-teal-darker { + border-color: #20504f; + } + .md\:border-teal-dark { + border-color: #38a89d; + } + .md\:border-teal { + border-color: #4dc0b5; + } + .md\:border-teal-light { + border-color: #64d5ca; + } + .md\:border-teal-lighter { + border-color: #a0f0ed; + } + .md\:border-teal-lightest { + border-color: #e8fffe; + } + .md\:border-blue-darkest { + border-color: #12283a; + } + .md\:border-blue-darker { + border-color: #1c3d5a; + } + .md\:border-blue-dark { + border-color: #2779bd; + } + .md\:border-blue { + border-color: #3490dc; + } + .md\:border-blue-light { + border-color: #6cb2eb; + } + .md\:border-blue-lighter { + border-color: #bcdefa; + } + .md\:border-blue-lightest { + border-color: #eff8ff; + } + .md\:border-indigo-darkest { + border-color: #191e38; + } + .md\:border-indigo-darker { + border-color: #2f365f; + } + .md\:border-indigo-dark { + border-color: #5661b3; + } + .md\:border-indigo { + border-color: #6574cd; + } + .md\:border-indigo-light { + border-color: #7886d7; + } + .md\:border-indigo-lighter { + border-color: #b2b7ff; + } + .md\:border-indigo-lightest { + border-color: #e6e8ff; + } + .md\:border-purple-darkest { + border-color: #21183c; + } + .md\:border-purple-darker { + border-color: #382b5f; + } + .md\:border-purple-dark { + border-color: #794acf; + } + .md\:border-purple { + border-color: #9561e2; + } + .md\:border-purple-light { + border-color: #a779e9; + } + .md\:border-purple-lighter { + border-color: #d6bbfc; + } + .md\:border-purple-lightest { + border-color: #f3ebff; + } + .md\:border-pink-darkest { + border-color: #451225; + } + .md\:border-pink-darker { + border-color: #6f213f; + } + .md\:border-pink-dark { + border-color: #eb5286; + } + .md\:border-pink { + border-color: #f66d9b; + } + .md\:border-pink-light { + border-color: #fa7ea8; + } + .md\:border-pink-lighter { + border-color: #ffbbca; + } + .md\:border-pink-lightest { + border-color: #ffebef; + } + .md\:hover\:border-transparent:hover { + border-color: transparent; + } + .md\:hover\:border-black:hover { + border-color: #22292f; + } + .md\:hover\:border-grey-darkest:hover { + border-color: #3d4852; + } + .md\:hover\:border-grey-darker:hover { + border-color: #606f7b; + } + .md\:hover\:border-grey-dark:hover { + border-color: #8795a1; + } + .md\:hover\:border-grey:hover { + border-color: #b8c2cc; + } + .md\:hover\:border-grey-light:hover { + border-color: #dae1e7; + } + .md\:hover\:border-grey-lighter:hover { + border-color: #f1f5f8; + } + .md\:hover\:border-grey-lightest:hover { + border-color: #f8fafc; + } + .md\:hover\:border-white:hover { + border-color: #fff; + } + .md\:hover\:border-red-darkest:hover { + border-color: #3b0d0c; + } + .md\:hover\:border-red-darker:hover { + border-color: #621b18; + } + .md\:hover\:border-red-dark:hover { + border-color: #cc1f1a; + } + .md\:hover\:border-red:hover { + border-color: #e3342f; + } + .md\:hover\:border-red-light:hover { + border-color: #ef5753; + } + .md\:hover\:border-red-lighter:hover { + border-color: #f9acaa; + } + .md\:hover\:border-red-lightest:hover { + border-color: #fcebea; + } + .md\:hover\:border-orange-darkest:hover { + border-color: #462a16; + } + .md\:hover\:border-orange-darker:hover { + border-color: #613b1f; + } + .md\:hover\:border-orange-dark:hover { + border-color: #de751f; + } + .md\:hover\:border-orange:hover { + border-color: #f6993f; + } + .md\:hover\:border-orange-light:hover { + border-color: #faad63; + } + .md\:hover\:border-orange-lighter:hover { + border-color: #fcd9b6; + } + .md\:hover\:border-orange-lightest:hover { + border-color: #fff5eb; + } + .md\:hover\:border-yellow-darkest:hover { + border-color: #453411; + } + .md\:hover\:border-yellow-darker:hover { + border-color: #684f1d; + } + .md\:hover\:border-yellow-dark:hover { + border-color: #f2d024; + } + .md\:hover\:border-yellow:hover { + border-color: #ffed4a; + } + .md\:hover\:border-yellow-light:hover { + border-color: #fff382; + } + .md\:hover\:border-yellow-lighter:hover { + border-color: #fff9c2; + } + .md\:hover\:border-yellow-lightest:hover { + border-color: #fcfbeb; + } + .md\:hover\:border-green-darkest:hover { + border-color: #0f2f21; + } + .md\:hover\:border-green-darker:hover { + border-color: #1a4731; + } + .md\:hover\:border-green-dark:hover { + border-color: #1f9d55; + } + .md\:hover\:border-green:hover { + border-color: #38c172; + } + .md\:hover\:border-green-light:hover { + border-color: #51d88a; + } + .md\:hover\:border-green-lighter:hover { + border-color: #a2f5bf; + } + .md\:hover\:border-green-lightest:hover { + border-color: #e3fcec; + } + .md\:hover\:border-teal-darkest:hover { + border-color: #0d3331; + } + .md\:hover\:border-teal-darker:hover { + border-color: #20504f; + } + .md\:hover\:border-teal-dark:hover { + border-color: #38a89d; + } + .md\:hover\:border-teal:hover { + border-color: #4dc0b5; + } + .md\:hover\:border-teal-light:hover { + border-color: #64d5ca; + } + .md\:hover\:border-teal-lighter:hover { + border-color: #a0f0ed; + } + .md\:hover\:border-teal-lightest:hover { + border-color: #e8fffe; + } + .md\:hover\:border-blue-darkest:hover { + border-color: #12283a; + } + .md\:hover\:border-blue-darker:hover { + border-color: #1c3d5a; + } + .md\:hover\:border-blue-dark:hover { + border-color: #2779bd; + } + .md\:hover\:border-blue:hover { + border-color: #3490dc; + } + .md\:hover\:border-blue-light:hover { + border-color: #6cb2eb; + } + .md\:hover\:border-blue-lighter:hover { + border-color: #bcdefa; + } + .md\:hover\:border-blue-lightest:hover { + border-color: #eff8ff; + } + .md\:hover\:border-indigo-darkest:hover { + border-color: #191e38; + } + .md\:hover\:border-indigo-darker:hover { + border-color: #2f365f; + } + .md\:hover\:border-indigo-dark:hover { + border-color: #5661b3; + } + .md\:hover\:border-indigo:hover { + border-color: #6574cd; + } + .md\:hover\:border-indigo-light:hover { + border-color: #7886d7; + } + .md\:hover\:border-indigo-lighter:hover { + border-color: #b2b7ff; + } + .md\:hover\:border-indigo-lightest:hover { + border-color: #e6e8ff; + } + .md\:hover\:border-purple-darkest:hover { + border-color: #21183c; + } + .md\:hover\:border-purple-darker:hover { + border-color: #382b5f; + } + .md\:hover\:border-purple-dark:hover { + border-color: #794acf; + } + .md\:hover\:border-purple:hover { + border-color: #9561e2; + } + .md\:hover\:border-purple-light:hover { + border-color: #a779e9; + } + .md\:hover\:border-purple-lighter:hover { + border-color: #d6bbfc; + } + .md\:hover\:border-purple-lightest:hover { + border-color: #f3ebff; + } + .md\:hover\:border-pink-darkest:hover { + border-color: #451225; + } + .md\:hover\:border-pink-darker:hover { + border-color: #6f213f; + } + .md\:hover\:border-pink-dark:hover { + border-color: #eb5286; + } + .md\:hover\:border-pink:hover { + border-color: #f66d9b; + } + .md\:hover\:border-pink-light:hover { + border-color: #fa7ea8; + } + .md\:hover\:border-pink-lighter:hover { + border-color: #ffbbca; + } + .md\:hover\:border-pink-lightest:hover { + border-color: #ffebef; + } + .md\:rounded-none { + border-radius: 0; + } + .md\:rounded-sm { + border-radius: 0.125rem; + } + .md\:rounded { + border-radius: 0.25rem; + } + .md\:rounded-lg { + border-radius: 0.5rem; + } + .md\:rounded-full { + border-radius: 9999px; + } + .md\:rounded-t-none { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + .md\:rounded-r-none { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .md\:rounded-b-none { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .md\:rounded-l-none { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .md\:rounded-t-sm { + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; + } + .md\:rounded-r-sm { + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; + } + .md\:rounded-b-sm { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .md\:rounded-l-sm { + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .md\:rounded-t { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .md\:rounded-r { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + } + .md\:rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .md\:rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .md\:rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; + } + .md\:rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + } + .md\:rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .md\:rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .md\:rounded-t-full { + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; + } + .md\:rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; + } + .md\:rounded-b-full { + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .md\:rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .md\:rounded-tl-none { + border-top-left-radius: 0; + } + .md\:rounded-tr-none { + border-top-right-radius: 0; + } + .md\:rounded-br-none { + border-bottom-right-radius: 0; + } + .md\:rounded-bl-none { + border-bottom-left-radius: 0; + } + .md\:rounded-tl-sm { + border-top-left-radius: 0.125rem; + } + .md\:rounded-tr-sm { + border-top-right-radius: 0.125rem; + } + .md\:rounded-br-sm { + border-bottom-right-radius: 0.125rem; + } + .md\:rounded-bl-sm { + border-bottom-left-radius: 0.125rem; + } + .md\:rounded-tl { + border-top-left-radius: 0.25rem; + } + .md\:rounded-tr { + border-top-right-radius: 0.25rem; + } + .md\:rounded-br { + border-bottom-right-radius: 0.25rem; + } + .md\:rounded-bl { + border-bottom-left-radius: 0.25rem; + } + .md\:rounded-tl-lg { + border-top-left-radius: 0.5rem; + } + .md\:rounded-tr-lg { + border-top-right-radius: 0.5rem; + } + .md\:rounded-br-lg { + border-bottom-right-radius: 0.5rem; + } + .md\:rounded-bl-lg { + border-bottom-left-radius: 0.5rem; + } + .md\:rounded-tl-full { + border-top-left-radius: 9999px; + } + .md\:rounded-tr-full { + border-top-right-radius: 9999px; + } + .md\:rounded-br-full { + border-bottom-right-radius: 9999px; + } + .md\:rounded-bl-full { + border-bottom-left-radius: 9999px; + } + .md\:border-solid { + border-style: solid; + } + .md\:border-dashed { + border-style: dashed; + } + .md\:border-dotted { + border-style: dotted; + } + .md\:border-none { + border-style: none; + } + .md\:border-0 { + border-width: 0; + } + .md\:border-2 { + border-width: 2px; + } + .md\:border-4 { + border-width: 4px; + } + .md\:border-8 { + border-width: 8px; + } + .md\:border { + border-width: 1px; + } + .md\:border-t-0 { + border-top-width: 0; + } + .md\:border-r-0 { + border-right-width: 0; + } + .md\:border-b-0 { + border-bottom-width: 0; + } + .md\:border-l-0 { + border-left-width: 0; + } + .md\:border-t-2 { + border-top-width: 2px; + } + .md\:border-r-2 { + border-right-width: 2px; + } + .md\:border-b-2 { + border-bottom-width: 2px; + } + .md\:border-l-2 { + border-left-width: 2px; + } + .md\:border-t-4 { + border-top-width: 4px; + } + .md\:border-r-4 { + border-right-width: 4px; + } + .md\:border-b-4 { + border-bottom-width: 4px; + } + .md\:border-l-4 { + border-left-width: 4px; + } + .md\:border-t-8 { + border-top-width: 8px; + } + .md\:border-r-8 { + border-right-width: 8px; + } + .md\:border-b-8 { + border-bottom-width: 8px; + } + .md\:border-l-8 { + border-left-width: 8px; + } + .md\:border-t { + border-top-width: 1px; + } + .md\:border-r { + border-right-width: 1px; + } + .md\:border-b { + border-bottom-width: 1px; + } + .md\:border-l { + border-left-width: 1px; + } + .md\:cursor-auto { + cursor: auto; + } + .md\:cursor-default { + cursor: default; + } + .md\:cursor-pointer { + cursor: pointer; + } + .md\:cursor-not-allowed { + cursor: not-allowed; + } + .md\:block { + display: block; + } + .md\:inline-block { + display: inline-block; + } + .md\:inline { + display: inline; + } + .md\:table { + display: table; + } + .md\:table-row { + display: table-row; + } + .md\:table-cell { + display: table-cell; + } + .md\:hidden { + display: none; + } + .md\:flex { + display: -webkit-box; + display: flex; + } + .md\:inline-flex { + display: -webkit-inline-box; + display: inline-flex; + } + .md\:flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + .md\:flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + } + .md\:flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + } + .md\:flex-col-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; + } + .md\:flex-wrap { + flex-wrap: wrap; + } + .md\:flex-wrap-reverse { + flex-wrap: wrap-reverse; + } + .md\:flex-no-wrap { + flex-wrap: nowrap; + } + .md\:items-start { + -webkit-box-align: start; + align-items: flex-start; + } + .md\:items-end { + -webkit-box-align: end; + align-items: flex-end; + } + .md\:items-center { + -webkit-box-align: center; + align-items: center; + } + .md\:items-baseline { + -webkit-box-align: baseline; + align-items: baseline; + } + .md\:items-stretch { + -webkit-box-align: stretch; + align-items: stretch; + } + .md\:self-auto { + align-self: auto; + } + .md\:self-start { + align-self: flex-start; + } + .md\:self-end { + align-self: flex-end; + } + .md\:self-center { + align-self: center; + } + .md\:self-stretch { + align-self: stretch; + } + .md\:justify-start { + -webkit-box-pack: start; + justify-content: flex-start; + } + .md\:justify-end { + -webkit-box-pack: end; + justify-content: flex-end; + } + .md\:justify-center { + -webkit-box-pack: center; + justify-content: center; + } + .md\:justify-between { + -webkit-box-pack: justify; + justify-content: space-between; + } + .md\:justify-around { + justify-content: space-around; + } + .md\:content-center { + align-content: center; + } + .md\:content-start { + align-content: flex-start; + } + .md\:content-end { + align-content: flex-end; + } + .md\:content-between { + align-content: space-between; + } + .md\:content-around { + align-content: space-around; + } + .md\:flex-1 { + -webkit-box-flex: 1; + flex: 1; + } + .md\:flex-auto { + -webkit-box-flex: 1; + flex: auto; + } + .md\:flex-initial { + -webkit-box-flex: initial; + flex: initial; + } + .md\:flex-none { + -webkit-box-flex: 0; + flex: none; + } + .md\:flex-grow { + -webkit-box-flex: 1; + flex-grow: 1; + } + .md\:flex-shrink { + flex-shrink: 1; + } + .md\:flex-no-grow { + -webkit-box-flex: 0; + flex-grow: 0; + } + .md\:flex-no-shrink { + flex-shrink: 0; + } + .md\:float-right { + float: right; + } + .md\:float-left { + float: left; + } + .md\:float-none { + float: none; + } + .md\:clearfix:after { + content: ""; + display: table; + clear: both; + } + .md\:font-sans { + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, + Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + } + .md\:font-serif { + font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, + Bitstream Vera Serif, Liberation Serif, Georgia, serif; + } + .md\:font-mono { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + } + .md\:font-hairline { + font-weight: 100; + } + .md\:font-thin { + font-weight: 200; + } + .md\:font-light { + font-weight: 300; + } + .md\:font-normal { + font-weight: 400; + } + .md\:font-medium { + font-weight: 500; + } + .md\:font-semibold { + font-weight: 600; + } + .md\:font-bold { + font-weight: 700; + } + .md\:font-extrabold { + font-weight: 800; + } + .md\:font-black { + font-weight: 900; + } + .md\:hover\:font-hairline:hover { + font-weight: 100; + } + .md\:hover\:font-thin:hover { + font-weight: 200; + } + .md\:hover\:font-light:hover { + font-weight: 300; + } + .md\:hover\:font-normal:hover { + font-weight: 400; + } + .md\:hover\:font-medium:hover { + font-weight: 500; + } + .md\:hover\:font-semibold:hover { + font-weight: 600; + } + .md\:hover\:font-bold:hover { + font-weight: 700; + } + .md\:hover\:font-extrabold:hover { + font-weight: 800; + } + .md\:hover\:font-black:hover { + font-weight: 900; + } + .md\:h-1 { + height: 0.25rem; + } + .md\:h-2 { + height: 0.5rem; + } + .md\:h-3 { + height: 0.75rem; + } + .md\:h-4 { + height: 1rem; + } + .md\:h-6 { + height: 1.5rem; + } + .md\:h-8 { + height: 2rem; + } + .md\:h-10 { + height: 2.5rem; + } + .md\:h-12 { + height: 3rem; + } + .md\:h-16 { + height: 4rem; + } + .md\:h-24 { + height: 6rem; + } + .md\:h-32 { + height: 8rem; + } + .md\:h-48 { + height: 12rem; + } + .md\:h-64 { + height: 16rem; + } + .md\:h-auto { + height: auto; + } + .md\:h-px { + height: 1px; + } + .md\:h-full { + height: 100%; + } + .md\:h-screen { + height: 100vh; + } + .md\:leading-none { + line-height: 1; + } + .md\:leading-tight { + line-height: 1.25; + } + .md\:leading-normal { + line-height: 1.5; + } + .md\:leading-loose { + line-height: 2; + } + .md\:m-0 { + margin: 0; + } + .md\:m-1 { + margin: 0.25rem; + } + .md\:m-2 { + margin: 0.5rem; + } + .md\:m-3 { + margin: 0.75rem; + } + .md\:m-4 { + margin: 1rem; + } + .md\:m-6 { + margin: 1.5rem; + } + .md\:m-8 { + margin: 2rem; + } + .md\:m-auto { + margin: auto; + } + .md\:m-px { + margin: 1px; + } + .md\:my-0 { + margin-top: 0; + margin-bottom: 0; + } + .md\:mx-0 { + margin-left: 0; + margin-right: 0; + } + .md\:my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; + } + .md\:mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; + } + .md\:my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + } + .md\:mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .md\:my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + } + .md\:mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; + } + .md\:my-4 { + margin-top: 1rem; + margin-bottom: 1rem; + } + .md\:mx-4 { + margin-left: 1rem; + margin-right: 1rem; + } + .md\:my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + } + .md\:mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; + } + .md\:my-8 { + margin-top: 2rem; + margin-bottom: 2rem; + } + .md\:mx-8 { + margin-left: 2rem; + margin-right: 2rem; + } + .md\:my-auto { + margin-top: auto; + margin-bottom: auto; + } + .md\:mx-auto { + margin-left: auto; + margin-right: auto; + } + .md\:my-px { + margin-top: 1px; + margin-bottom: 1px; + } + .md\:mx-px { + margin-left: 1px; + margin-right: 1px; + } + .md\:mt-0 { + margin-top: 0; + } + .md\:mr-0 { + margin-right: 0; + } + .md\:mb-0 { + margin-bottom: 0; + } + .md\:ml-0 { + margin-left: 0; + } + .md\:mt-1 { + margin-top: 0.25rem; + } + .md\:mr-1 { + margin-right: 0.25rem; + } + .md\:mb-1 { + margin-bottom: 0.25rem; + } + .md\:ml-1 { + margin-left: 0.25rem; + } + .md\:mt-2 { + margin-top: 0.5rem; + } + .md\:mr-2 { + margin-right: 0.5rem; + } + .md\:mb-2 { + margin-bottom: 0.5rem; + } + .md\:ml-2 { + margin-left: 0.5rem; + } + .md\:mt-3 { + margin-top: 0.75rem; + } + .md\:mr-3 { + margin-right: 0.75rem; + } + .md\:mb-3 { + margin-bottom: 0.75rem; + } + .md\:ml-3 { + margin-left: 0.75rem; + } + .md\:mt-4 { + margin-top: 1rem; + } + .md\:mr-4 { + margin-right: 1rem; + } + .md\:mb-4 { + margin-bottom: 1rem; + } + .md\:ml-4 { + margin-left: 1rem; + } + .md\:mt-6 { + margin-top: 1.5rem; + } + .md\:mr-6 { + margin-right: 1.5rem; + } + .md\:mb-6 { + margin-bottom: 1.5rem; + } + .md\:ml-6 { + margin-left: 1.5rem; + } + .md\:mt-8 { + margin-top: 2rem; + } + .md\:mr-8 { + margin-right: 2rem; + } + .md\:mb-8 { + margin-bottom: 2rem; + } + .md\:ml-8 { + margin-left: 2rem; + } + .md\:mt-auto { + margin-top: auto; + } + .md\:mr-auto { + margin-right: auto; + } + .md\:mb-auto { + margin-bottom: auto; + } + .md\:ml-auto { + margin-left: auto; + } + .md\:mt-px { + margin-top: 1px; + } + .md\:mr-px { + margin-right: 1px; + } + .md\:mb-px { + margin-bottom: 1px; + } + .md\:ml-px { + margin-left: 1px; + } + .md\:max-h-full { + max-height: 100%; + } + .md\:max-h-screen { + max-height: 100vh; + } + .md\:max-w-xs { + max-width: 20rem; + } + .md\:max-w-sm { + max-width: 30rem; + } + .md\:max-w-md { + max-width: 40rem; + } + .md\:max-w-lg { + max-width: 50rem; + } + .md\:max-w-xl { + max-width: 60rem; + } + .md\:max-w-2xl { + max-width: 70rem; + } + .md\:max-w-3xl { + max-width: 80rem; + } + .md\:max-w-4xl { + max-width: 90rem; + } + .md\:max-w-5xl { + max-width: 100rem; + } + .md\:max-w-full { + max-width: 100%; + } + .md\:min-h-0 { + min-height: 0; + } + .md\:min-h-full { + min-height: 100%; + } + .md\:min-h-screen { + min-height: 100vh; + } + .md\:min-w-0 { + min-width: 0; + } + .md\:min-w-full { + min-width: 100%; + } + .md\:-m-0 { + margin: 0; + } + .md\:-m-1 { + margin: -0.25rem; + } + .md\:-m-2 { + margin: -0.5rem; + } + .md\:-m-3 { + margin: -0.75rem; + } + .md\:-m-4 { + margin: -1rem; + } + .md\:-m-6 { + margin: -1.5rem; + } + .md\:-m-8 { + margin: -2rem; + } + .md\:-m-px { + margin: -1px; + } + .md\:-my-0 { + margin-top: 0; + margin-bottom: 0; + } + .md\:-mx-0 { + margin-left: 0; + margin-right: 0; + } + .md\:-my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; + } + .md\:-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; + } + .md\:-my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; + } + .md\:-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; + } + .md\:-my-3 { + margin-top: -0.75rem; + margin-bottom: -0.75rem; + } + .md\:-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; + } + .md\:-my-4 { + margin-top: -1rem; + margin-bottom: -1rem; + } + .md\:-mx-4 { + margin-left: -1rem; + margin-right: -1rem; + } + .md\:-my-6 { + margin-top: -1.5rem; + margin-bottom: -1.5rem; + } + .md\:-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; + } + .md\:-my-8 { + margin-top: -2rem; + margin-bottom: -2rem; + } + .md\:-mx-8 { + margin-left: -2rem; + margin-right: -2rem; + } + .md\:-my-px { + margin-top: -1px; + margin-bottom: -1px; + } + .md\:-mx-px { + margin-left: -1px; + margin-right: -1px; + } + .md\:-mt-0 { + margin-top: 0; + } + .md\:-mr-0 { + margin-right: 0; + } + .md\:-mb-0 { + margin-bottom: 0; + } + .md\:-ml-0 { + margin-left: 0; + } + .md\:-mt-1 { + margin-top: -0.25rem; + } + .md\:-mr-1 { + margin-right: -0.25rem; + } + .md\:-mb-1 { + margin-bottom: -0.25rem; + } + .md\:-ml-1 { + margin-left: -0.25rem; + } + .md\:-mt-2 { + margin-top: -0.5rem; + } + .md\:-mr-2 { + margin-right: -0.5rem; + } + .md\:-mb-2 { + margin-bottom: -0.5rem; + } + .md\:-ml-2 { + margin-left: -0.5rem; + } + .md\:-mt-3 { + margin-top: -0.75rem; + } + .md\:-mr-3 { + margin-right: -0.75rem; + } + .md\:-mb-3 { + margin-bottom: -0.75rem; + } + .md\:-ml-3 { + margin-left: -0.75rem; + } + .md\:-mt-4 { + margin-top: -1rem; + } + .md\:-mr-4 { + margin-right: -1rem; + } + .md\:-mb-4 { + margin-bottom: -1rem; + } + .md\:-ml-4 { + margin-left: -1rem; + } + .md\:-mt-6 { + margin-top: -1.5rem; + } + .md\:-mr-6 { + margin-right: -1.5rem; + } + .md\:-mb-6 { + margin-bottom: -1.5rem; + } + .md\:-ml-6 { + margin-left: -1.5rem; + } + .md\:-mt-8 { + margin-top: -2rem; + } + .md\:-mr-8 { + margin-right: -2rem; + } + .md\:-mb-8 { + margin-bottom: -2rem; + } + .md\:-ml-8 { + margin-left: -2rem; + } + .md\:-mt-px { + margin-top: -1px; + } + .md\:-mr-px { + margin-right: -1px; + } + .md\:-mb-px { + margin-bottom: -1px; + } + .md\:-ml-px { + margin-left: -1px; + } + .md\:opacity-0 { + opacity: 0; + } + .md\:opacity-25 { + opacity: 0.25; + } + .md\:opacity-50 { + opacity: 0.5; + } + .md\:opacity-75 { + opacity: 0.75; + } + .md\:opacity-100 { + opacity: 1; + } + .md\:overflow-auto { + overflow: auto; + } + .md\:overflow-hidden { + overflow: hidden; + } + .md\:overflow-visible { + overflow: visible; + } + .md\:overflow-scroll { + overflow: scroll; + } + .md\:overflow-x-scroll { + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .md\:overflow-y-scroll { + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .md\:scrolling-touch { + -webkit-overflow-scrolling: touch; + } + .md\:scrolling-auto { + -webkit-overflow-scrolling: auto; + } + .md\:p-0 { + padding: 0; + } + .md\:p-1 { + padding: 0.25rem; + } + .md\:p-2 { + padding: 0.5rem; + } + .md\:p-3 { + padding: 0.75rem; + } + .md\:p-4 { + padding: 1rem; + } + .md\:p-6 { + padding: 1.5rem; + } + .md\:p-8 { + padding: 2rem; + } + .md\:p-px { + padding: 1px; + } + .md\:py-0 { + padding-top: 0; + padding-bottom: 0; + } + .md\:px-0 { + padding-left: 0; + padding-right: 0; + } + .md\:py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + .md\:px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + .md\:py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .md\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .md\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + .md\:px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + .md\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .md\:px-4 { + padding-left: 1rem; + padding-right: 1rem; + } + .md\:py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + .md\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .md\:py-8 { + padding-top: 2rem; + padding-bottom: 2rem; + } + .md\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + .md\:py-px { + padding-top: 1px; + padding-bottom: 1px; + } + .md\:px-px { + padding-left: 1px; + padding-right: 1px; + } + .md\:pt-0 { + padding-top: 0; + } + .md\:pr-0 { + padding-right: 0; + } + .md\:pb-0 { + padding-bottom: 0; + } + .md\:pl-0 { + padding-left: 0; + } + .md\:pt-1 { + padding-top: 0.25rem; + } + .md\:pr-1 { + padding-right: 0.25rem; + } + .md\:pb-1 { + padding-bottom: 0.25rem; + } + .md\:pl-1 { + padding-left: 0.25rem; + } + .md\:pt-2 { + padding-top: 0.5rem; + } + .md\:pr-2 { + padding-right: 0.5rem; + } + .md\:pb-2 { + padding-bottom: 0.5rem; + } + .md\:pl-2 { + padding-left: 0.5rem; + } + .md\:pt-3 { + padding-top: 0.75rem; + } + .md\:pr-3 { + padding-right: 0.75rem; + } + .md\:pb-3 { + padding-bottom: 0.75rem; + } + .md\:pl-3 { + padding-left: 0.75rem; + } + .md\:pt-4 { + padding-top: 1rem; + } + .md\:pr-4 { + padding-right: 1rem; + } + .md\:pb-4 { + padding-bottom: 1rem; + } + .md\:pl-4 { + padding-left: 1rem; + } + .md\:pt-6 { + padding-top: 1.5rem; + } + .md\:pr-6 { + padding-right: 1.5rem; + } + .md\:pb-6 { + padding-bottom: 1.5rem; + } + .md\:pl-6 { + padding-left: 1.5rem; + } + .md\:pt-8 { + padding-top: 2rem; + } + .md\:pr-8 { + padding-right: 2rem; + } + .md\:pb-8 { + padding-bottom: 2rem; + } + .md\:pl-8 { + padding-left: 2rem; + } + .md\:pt-px { + padding-top: 1px; + } + .md\:pr-px { + padding-right: 1px; + } + .md\:pb-px { + padding-bottom: 1px; + } + .md\:pl-px { + padding-left: 1px; + } + .md\:pointer-events-none { + pointer-events: none; + } + .md\:pointer-events-auto { + pointer-events: auto; + } + .md\:static { + position: static; + } + .md\:fixed { + position: fixed; + } + .md\:absolute { + position: absolute; + } + .md\:relative { + position: relative; + } + .md\:pin-none { + top: auto; + right: auto; + bottom: auto; + left: auto; + } + .md\:pin { + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .md\:pin-y { + top: 0; + bottom: 0; + } + .md\:pin-x { + right: 0; + left: 0; + } + .md\:pin-t { + top: 0; + } + .md\:pin-r { + right: 0; + } + .md\:pin-b { + bottom: 0; + } + .md\:pin-l { + left: 0; + } + .md\:resize-none { + resize: none; + } + .md\:resize-y { + resize: vertical; + } + .md\:resize-x { + resize: horizontal; + } + .md\:resize { + resize: both; + } + .md\:shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + } + .md\:shadow-md { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); + } + .md\:shadow-lg { + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); + } + .md\:shadow-inner { + box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); + } + .md\:shadow-none { + box-shadow: none; + } + .md\:text-left { + text-align: left; + } + .md\:text-center { + text-align: center; + } + .md\:text-right { + text-align: right; + } + .md\:text-justify { + text-align: justify; + } + .md\:text-transparent { + color: transparent; + } + .md\:text-black { + color: #22292f; + } + .md\:text-grey-darkest { + color: #3d4852; + } + .md\:text-grey-darker { + color: #606f7b; + } + .md\:text-grey-dark { + color: #8795a1; + } + .md\:text-grey { + color: #b8c2cc; + } + .md\:text-grey-light { + color: #dae1e7; + } + .md\:text-grey-lighter { + color: #f1f5f8; + } + .md\:text-grey-lightest { + color: #f8fafc; + } + .md\:text-white { + color: #fff; + } + .md\:text-red-darkest { + color: #3b0d0c; + } + .md\:text-red-darker { + color: #621b18; + } + .md\:text-red-dark { + color: #cc1f1a; + } + .md\:text-red { + color: #e3342f; + } + .md\:text-red-light { + color: #ef5753; + } + .md\:text-red-lighter { + color: #f9acaa; + } + .md\:text-red-lightest { + color: #fcebea; + } + .md\:text-orange-darkest { + color: #462a16; + } + .md\:text-orange-darker { + color: #613b1f; + } + .md\:text-orange-dark { + color: #de751f; + } + .md\:text-orange { + color: #f6993f; + } + .md\:text-orange-light { + color: #faad63; + } + .md\:text-orange-lighter { + color: #fcd9b6; + } + .md\:text-orange-lightest { + color: #fff5eb; + } + .md\:text-yellow-darkest { + color: #453411; + } + .md\:text-yellow-darker { + color: #684f1d; + } + .md\:text-yellow-dark { + color: #f2d024; + } + .md\:text-yellow { + color: #ffed4a; + } + .md\:text-yellow-light { + color: #fff382; + } + .md\:text-yellow-lighter { + color: #fff9c2; + } + .md\:text-yellow-lightest { + color: #fcfbeb; + } + .md\:text-green-darkest { + color: #0f2f21; + } + .md\:text-green-darker { + color: #1a4731; + } + .md\:text-green-dark { + color: #1f9d55; + } + .md\:text-green { + color: #38c172; + } + .md\:text-green-light { + color: #51d88a; + } + .md\:text-green-lighter { + color: #a2f5bf; + } + .md\:text-green-lightest { + color: #e3fcec; + } + .md\:text-teal-darkest { + color: #0d3331; + } + .md\:text-teal-darker { + color: #20504f; + } + .md\:text-teal-dark { + color: #38a89d; + } + .md\:text-teal { + color: #4dc0b5; + } + .md\:text-teal-light { + color: #64d5ca; + } + .md\:text-teal-lighter { + color: #a0f0ed; + } + .md\:text-teal-lightest { + color: #e8fffe; + } + .md\:text-blue-darkest { + color: #12283a; + } + .md\:text-blue-darker { + color: #1c3d5a; + } + .md\:text-blue-dark { + color: #2779bd; + } + .md\:text-blue { + color: #3490dc; + } + .md\:text-blue-light { + color: #6cb2eb; + } + .md\:text-blue-lighter { + color: #bcdefa; + } + .md\:text-blue-lightest { + color: #eff8ff; + } + .md\:text-indigo-darkest { + color: #191e38; + } + .md\:text-indigo-darker { + color: #2f365f; + } + .md\:text-indigo-dark { + color: #5661b3; + } + .md\:text-indigo { + color: #6574cd; + } + .md\:text-indigo-light { + color: #7886d7; + } + .md\:text-indigo-lighter { + color: #b2b7ff; + } + .md\:text-indigo-lightest { + color: #e6e8ff; + } + .md\:text-purple-darkest { + color: #21183c; + } + .md\:text-purple-darker { + color: #382b5f; + } + .md\:text-purple-dark { + color: #794acf; + } + .md\:text-purple { + color: #9561e2; + } + .md\:text-purple-light { + color: #a779e9; + } + .md\:text-purple-lighter { + color: #d6bbfc; + } + .md\:text-purple-lightest { + color: #f3ebff; + } + .md\:text-pink-darkest { + color: #451225; + } + .md\:text-pink-darker { + color: #6f213f; + } + .md\:text-pink-dark { + color: #eb5286; + } + .md\:text-pink { + color: #f66d9b; + } + .md\:text-pink-light { + color: #fa7ea8; + } + .md\:text-pink-lighter { + color: #ffbbca; + } + .md\:text-pink-lightest { + color: #ffebef; + } + .md\:hover\:text-transparent:hover { + color: transparent; + } + .md\:hover\:text-black:hover { + color: #22292f; + } + .md\:hover\:text-grey-darkest:hover { + color: #3d4852; + } + .md\:hover\:text-grey-darker:hover { + color: #606f7b; + } + .md\:hover\:text-grey-dark:hover { + color: #8795a1; + } + .md\:hover\:text-grey:hover { + color: #b8c2cc; + } + .md\:hover\:text-grey-light:hover { + color: #dae1e7; + } + .md\:hover\:text-grey-lighter:hover { + color: #f1f5f8; + } + .md\:hover\:text-grey-lightest:hover { + color: #f8fafc; + } + .md\:hover\:text-white:hover { + color: #fff; + } + .md\:hover\:text-red-darkest:hover { + color: #3b0d0c; + } + .md\:hover\:text-red-darker:hover { + color: #621b18; + } + .md\:hover\:text-red-dark:hover { + color: #cc1f1a; + } + .md\:hover\:text-red:hover { + color: #e3342f; + } + .md\:hover\:text-red-light:hover { + color: #ef5753; + } + .md\:hover\:text-red-lighter:hover { + color: #f9acaa; + } + .md\:hover\:text-red-lightest:hover { + color: #fcebea; + } + .md\:hover\:text-orange-darkest:hover { + color: #462a16; + } + .md\:hover\:text-orange-darker:hover { + color: #613b1f; + } + .md\:hover\:text-orange-dark:hover { + color: #de751f; + } + .md\:hover\:text-orange:hover { + color: #f6993f; + } + .md\:hover\:text-orange-light:hover { + color: #faad63; + } + .md\:hover\:text-orange-lighter:hover { + color: #fcd9b6; + } + .md\:hover\:text-orange-lightest:hover { + color: #fff5eb; + } + .md\:hover\:text-yellow-darkest:hover { + color: #453411; + } + .md\:hover\:text-yellow-darker:hover { + color: #684f1d; + } + .md\:hover\:text-yellow-dark:hover { + color: #f2d024; + } + .md\:hover\:text-yellow:hover { + color: #ffed4a; + } + .md\:hover\:text-yellow-light:hover { + color: #fff382; + } + .md\:hover\:text-yellow-lighter:hover { + color: #fff9c2; + } + .md\:hover\:text-yellow-lightest:hover { + color: #fcfbeb; + } + .md\:hover\:text-green-darkest:hover { + color: #0f2f21; + } + .md\:hover\:text-green-darker:hover { + color: #1a4731; + } + .md\:hover\:text-green-dark:hover { + color: #1f9d55; + } + .md\:hover\:text-green:hover { + color: #38c172; + } + .md\:hover\:text-green-light:hover { + color: #51d88a; + } + .md\:hover\:text-green-lighter:hover { + color: #a2f5bf; + } + .md\:hover\:text-green-lightest:hover { + color: #e3fcec; + } + .md\:hover\:text-teal-darkest:hover { + color: #0d3331; + } + .md\:hover\:text-teal-darker:hover { + color: #20504f; + } + .md\:hover\:text-teal-dark:hover { + color: #38a89d; + } + .md\:hover\:text-teal:hover { + color: #4dc0b5; + } + .md\:hover\:text-teal-light:hover { + color: #64d5ca; + } + .md\:hover\:text-teal-lighter:hover { + color: #a0f0ed; + } + .md\:hover\:text-teal-lightest:hover { + color: #e8fffe; + } + .md\:hover\:text-blue-darkest:hover { + color: #12283a; + } + .md\:hover\:text-blue-darker:hover { + color: #1c3d5a; + } + .md\:hover\:text-blue-dark:hover { + color: #2779bd; + } + .md\:hover\:text-blue:hover { + color: #3490dc; + } + .md\:hover\:text-blue-light:hover { + color: #6cb2eb; + } + .md\:hover\:text-blue-lighter:hover { + color: #bcdefa; + } + .md\:hover\:text-blue-lightest:hover { + color: #eff8ff; + } + .md\:hover\:text-indigo-darkest:hover { + color: #191e38; + } + .md\:hover\:text-indigo-darker:hover { + color: #2f365f; + } + .md\:hover\:text-indigo-dark:hover { + color: #5661b3; + } + .md\:hover\:text-indigo:hover { + color: #6574cd; + } + .md\:hover\:text-indigo-light:hover { + color: #7886d7; + } + .md\:hover\:text-indigo-lighter:hover { + color: #b2b7ff; + } + .md\:hover\:text-indigo-lightest:hover { + color: #e6e8ff; + } + .md\:hover\:text-purple-darkest:hover { + color: #21183c; + } + .md\:hover\:text-purple-darker:hover { + color: #382b5f; + } + .md\:hover\:text-purple-dark:hover { + color: #794acf; + } + .md\:hover\:text-purple:hover { + color: #9561e2; + } + .md\:hover\:text-purple-light:hover { + color: #a779e9; + } + .md\:hover\:text-purple-lighter:hover { + color: #d6bbfc; + } + .md\:hover\:text-purple-lightest:hover { + color: #f3ebff; + } + .md\:hover\:text-pink-darkest:hover { + color: #451225; + } + .md\:hover\:text-pink-darker:hover { + color: #6f213f; + } + .md\:hover\:text-pink-dark:hover { + color: #eb5286; + } + .md\:hover\:text-pink:hover { + color: #f66d9b; + } + .md\:hover\:text-pink-light:hover { + color: #fa7ea8; + } + .md\:hover\:text-pink-lighter:hover { + color: #ffbbca; + } + .md\:hover\:text-pink-lightest:hover { + color: #ffebef; + } + .md\:text-xs { + font-size: 0.75rem; + } + .md\:text-sm { + font-size: 0.875rem; + } + .md\:text-base { + font-size: 1rem; + } + .md\:text-lg { + font-size: 1.125rem; + } + .md\:text-xl { + font-size: 1.25rem; + } + .md\:text-2xl { + font-size: 1.5rem; + } + .md\:text-3xl { + font-size: 1.875rem; + } + .md\:text-4xl { + font-size: 2.25rem; + } + .md\:text-5xl { + font-size: 3rem; + } + .md\:italic { + font-style: italic; + } + .md\:roman { + font-style: normal; + } + .md\:uppercase { + text-transform: uppercase; + } + .md\:lowercase { + text-transform: lowercase; + } + .md\:capitalize { + text-transform: capitalize; + } + .md\:normal-case { + text-transform: none; + } + .md\:underline { + text-decoration: underline; + } + .md\:line-through { + text-decoration: line-through; + } + .md\:no-underline { + text-decoration: none; + } + .md\:antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .md\:subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .md\:hover\:italic:hover { + font-style: italic; + } + .md\:hover\:roman:hover { + font-style: normal; + } + .md\:hover\:uppercase:hover { + text-transform: uppercase; + } + .md\:hover\:lowercase:hover { + text-transform: lowercase; + } + .md\:hover\:capitalize:hover { + text-transform: capitalize; + } + .md\:hover\:normal-case:hover { + text-transform: none; + } + .md\:hover\:underline:hover { + text-decoration: underline; + } + .md\:hover\:line-through:hover { + text-decoration: line-through; + } + .md\:hover\:no-underline:hover { + text-decoration: none; + } + .md\:hover\:antialiased:hover { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .md\:hover\:subpixel-antialiased:hover { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .md\:tracking-tight { + letter-spacing: -0.05em; + } + .md\:tracking-normal { + letter-spacing: 0; + } + .md\:tracking-wide { + letter-spacing: 0.05em; + } + .md\:select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .md\:select-text { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + .md\:align-baseline { + vertical-align: baseline; + } + .md\:align-top { + vertical-align: top; + } + .md\:align-middle { + vertical-align: middle; + } + .md\:align-bottom { + vertical-align: bottom; + } + .md\:align-text-top { + vertical-align: text-top; + } + .md\:align-text-bottom { + vertical-align: text-bottom; + } + .md\:visible { + visibility: visible; + } + .md\:invisible { + visibility: hidden; + } + .md\:whitespace-normal { + white-space: normal; + } + .md\:whitespace-no-wrap { + white-space: nowrap; + } + .md\:whitespace-pre { + white-space: pre; + } + .md\:whitespace-pre-line { + white-space: pre-line; + } + .md\:whitespace-pre-wrap { + white-space: pre-wrap; + } + .md\:break-words { + word-wrap: break-word; + } + .md\:break-normal { + word-wrap: normal; + } + .md\:truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .md\:w-1 { + width: 0.25rem; + } + .md\:w-2 { + width: 0.5rem; + } + .md\:w-3 { + width: 0.75rem; + } + .md\:w-4 { + width: 1rem; + } + .md\:w-6 { + width: 1.5rem; + } + .md\:w-8 { + width: 2rem; + } + .md\:w-10 { + width: 2.5rem; + } + .md\:w-12 { + width: 3rem; + } + .md\:w-16 { + width: 4rem; + } + .md\:w-24 { + width: 6rem; + } + .md\:w-32 { + width: 8rem; + } + .md\:w-48 { + width: 12rem; + } + .md\:w-64 { + width: 16rem; + } + .md\:w-auto { + width: auto; + } + .md\:w-px { + width: 1px; + } + .md\:w-1\/2 { + width: 50%; + } + .md\:w-1\/3 { + width: 33.33333%; + } + .md\:w-2\/3 { + width: 66.66667%; + } + .md\:w-1\/4 { + width: 25%; + } + .md\:w-3\/4 { + width: 75%; + } + .md\:w-1\/5 { + width: 20%; + } + .md\:w-2\/5 { + width: 40%; + } + .md\:w-3\/5 { + width: 60%; + } + .md\:w-4\/5 { + width: 80%; + } + .md\:w-1\/6 { + width: 16.66667%; + } + .md\:w-5\/6 { + width: 83.33333%; + } + .md\:w-full { + width: 100%; + } + .md\:w-screen { + width: 100vw; + } + .md\:z-0 { + z-index: 0; + } + .md\:z-10 { + z-index: 10; + } + .md\:z-20 { + z-index: 20; + } + .md\:z-30 { + z-index: 30; + } + .md\:z-40 { + z-index: 40; + } + .md\:z-50 { + z-index: 50; + } + .md\:z-auto { + z-index: auto; + } +} +@media (min-width: 992px) { + .lg\:list-reset { + list-style: none; + padding: 0; + } + .lg\:appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + .lg\:bg-fixed { + background-attachment: fixed; + } + .lg\:bg-local { + background-attachment: local; + } + .lg\:bg-scroll { + background-attachment: scroll; + } + .lg\:bg-transparent { + background-color: transparent; + } + .lg\:bg-black { + background-color: #22292f; + } + .lg\:bg-grey-darkest { + background-color: #3d4852; + } + .lg\:bg-grey-darker { + background-color: #606f7b; + } + .lg\:bg-grey-dark { + background-color: #8795a1; + } + .lg\:bg-grey { + background-color: #b8c2cc; + } + .lg\:bg-grey-light { + background-color: #dae1e7; + } + .lg\:bg-grey-lighter { + background-color: #f1f5f8; + } + .lg\:bg-grey-lightest { + background-color: #f8fafc; + } + .lg\:bg-white { + background-color: #fff; + } + .lg\:bg-red-darkest { + background-color: #3b0d0c; + } + .lg\:bg-red-darker { + background-color: #621b18; + } + .lg\:bg-red-dark { + background-color: #cc1f1a; + } + .lg\:bg-red { + background-color: #e3342f; + } + .lg\:bg-red-light { + background-color: #ef5753; + } + .lg\:bg-red-lighter { + background-color: #f9acaa; + } + .lg\:bg-red-lightest { + background-color: #fcebea; + } + .lg\:bg-orange-darkest { + background-color: #462a16; + } + .lg\:bg-orange-darker { + background-color: #613b1f; + } + .lg\:bg-orange-dark { + background-color: #de751f; + } + .lg\:bg-orange { + background-color: #f6993f; + } + .lg\:bg-orange-light { + background-color: #faad63; + } + .lg\:bg-orange-lighter { + background-color: #fcd9b6; + } + .lg\:bg-orange-lightest { + background-color: #fff5eb; + } + .lg\:bg-yellow-darkest { + background-color: #453411; + } + .lg\:bg-yellow-darker { + background-color: #684f1d; + } + .lg\:bg-yellow-dark { + background-color: #f2d024; + } + .lg\:bg-yellow { + background-color: #ffed4a; + } + .lg\:bg-yellow-light { + background-color: #fff382; + } + .lg\:bg-yellow-lighter { + background-color: #fff9c2; + } + .lg\:bg-yellow-lightest { + background-color: #fcfbeb; + } + .lg\:bg-green-darkest { + background-color: #0f2f21; + } + .lg\:bg-green-darker { + background-color: #1a4731; + } + .lg\:bg-green-dark { + background-color: #1f9d55; + } + .lg\:bg-green { + background-color: #38c172; + } + .lg\:bg-green-light { + background-color: #51d88a; + } + .lg\:bg-green-lighter { + background-color: #a2f5bf; + } + .lg\:bg-green-lightest { + background-color: #e3fcec; + } + .lg\:bg-teal-darkest { + background-color: #0d3331; + } + .lg\:bg-teal-darker { + background-color: #20504f; + } + .lg\:bg-teal-dark { + background-color: #38a89d; + } + .lg\:bg-teal { + background-color: #4dc0b5; + } + .lg\:bg-teal-light { + background-color: #64d5ca; + } + .lg\:bg-teal-lighter { + background-color: #a0f0ed; + } + .lg\:bg-teal-lightest { + background-color: #e8fffe; + } + .lg\:bg-blue-darkest { + background-color: #12283a; + } + .lg\:bg-blue-darker { + background-color: #1c3d5a; + } + .lg\:bg-blue-dark { + background-color: #2779bd; + } + .lg\:bg-blue { + background-color: #3490dc; + } + .lg\:bg-blue-light { + background-color: #6cb2eb; + } + .lg\:bg-blue-lighter { + background-color: #bcdefa; + } + .lg\:bg-blue-lightest { + background-color: #eff8ff; + } + .lg\:bg-indigo-darkest { + background-color: #191e38; + } + .lg\:bg-indigo-darker { + background-color: #2f365f; + } + .lg\:bg-indigo-dark { + background-color: #5661b3; + } + .lg\:bg-indigo { + background-color: #6574cd; + } + .lg\:bg-indigo-light { + background-color: #7886d7; + } + .lg\:bg-indigo-lighter { + background-color: #b2b7ff; + } + .lg\:bg-indigo-lightest { + background-color: #e6e8ff; + } + .lg\:bg-purple-darkest { + background-color: #21183c; + } + .lg\:bg-purple-darker { + background-color: #382b5f; + } + .lg\:bg-purple-dark { + background-color: #794acf; + } + .lg\:bg-purple { + background-color: #9561e2; + } + .lg\:bg-purple-light { + background-color: #a779e9; + } + .lg\:bg-purple-lighter { + background-color: #d6bbfc; + } + .lg\:bg-purple-lightest { + background-color: #f3ebff; + } + .lg\:bg-pink-darkest { + background-color: #451225; + } + .lg\:bg-pink-darker { + background-color: #6f213f; + } + .lg\:bg-pink-dark { + background-color: #eb5286; + } + .lg\:bg-pink { + background-color: #f66d9b; + } + .lg\:bg-pink-light { + background-color: #fa7ea8; + } + .lg\:bg-pink-lighter { + background-color: #ffbbca; + } + .lg\:bg-pink-lightest { + background-color: #ffebef; + } + .lg\:hover\:bg-transparent:hover { + background-color: transparent; + } + .lg\:hover\:bg-black:hover { + background-color: #22292f; + } + .lg\:hover\:bg-grey-darkest:hover { + background-color: #3d4852; + } + .lg\:hover\:bg-grey-darker:hover { + background-color: #606f7b; + } + .lg\:hover\:bg-grey-dark:hover { + background-color: #8795a1; + } + .lg\:hover\:bg-grey:hover { + background-color: #b8c2cc; + } + .lg\:hover\:bg-grey-light:hover { + background-color: #dae1e7; + } + .lg\:hover\:bg-grey-lighter:hover { + background-color: #f1f5f8; + } + .lg\:hover\:bg-grey-lightest:hover { + background-color: #f8fafc; + } + .lg\:hover\:bg-white:hover { + background-color: #fff; + } + .lg\:hover\:bg-red-darkest:hover { + background-color: #3b0d0c; + } + .lg\:hover\:bg-red-darker:hover { + background-color: #621b18; + } + .lg\:hover\:bg-red-dark:hover { + background-color: #cc1f1a; + } + .lg\:hover\:bg-red:hover { + background-color: #e3342f; + } + .lg\:hover\:bg-red-light:hover { + background-color: #ef5753; + } + .lg\:hover\:bg-red-lighter:hover { + background-color: #f9acaa; + } + .lg\:hover\:bg-red-lightest:hover { + background-color: #fcebea; + } + .lg\:hover\:bg-orange-darkest:hover { + background-color: #462a16; + } + .lg\:hover\:bg-orange-darker:hover { + background-color: #613b1f; + } + .lg\:hover\:bg-orange-dark:hover { + background-color: #de751f; + } + .lg\:hover\:bg-orange:hover { + background-color: #f6993f; + } + .lg\:hover\:bg-orange-light:hover { + background-color: #faad63; + } + .lg\:hover\:bg-orange-lighter:hover { + background-color: #fcd9b6; + } + .lg\:hover\:bg-orange-lightest:hover { + background-color: #fff5eb; + } + .lg\:hover\:bg-yellow-darkest:hover { + background-color: #453411; + } + .lg\:hover\:bg-yellow-darker:hover { + background-color: #684f1d; + } + .lg\:hover\:bg-yellow-dark:hover { + background-color: #f2d024; + } + .lg\:hover\:bg-yellow:hover { + background-color: #ffed4a; + } + .lg\:hover\:bg-yellow-light:hover { + background-color: #fff382; + } + .lg\:hover\:bg-yellow-lighter:hover { + background-color: #fff9c2; + } + .lg\:hover\:bg-yellow-lightest:hover { + background-color: #fcfbeb; + } + .lg\:hover\:bg-green-darkest:hover { + background-color: #0f2f21; + } + .lg\:hover\:bg-green-darker:hover { + background-color: #1a4731; + } + .lg\:hover\:bg-green-dark:hover { + background-color: #1f9d55; + } + .lg\:hover\:bg-green:hover { + background-color: #38c172; + } + .lg\:hover\:bg-green-light:hover { + background-color: #51d88a; + } + .lg\:hover\:bg-green-lighter:hover { + background-color: #a2f5bf; + } + .lg\:hover\:bg-green-lightest:hover { + background-color: #e3fcec; + } + .lg\:hover\:bg-teal-darkest:hover { + background-color: #0d3331; + } + .lg\:hover\:bg-teal-darker:hover { + background-color: #20504f; + } + .lg\:hover\:bg-teal-dark:hover { + background-color: #38a89d; + } + .lg\:hover\:bg-teal:hover { + background-color: #4dc0b5; + } + .lg\:hover\:bg-teal-light:hover { + background-color: #64d5ca; + } + .lg\:hover\:bg-teal-lighter:hover { + background-color: #a0f0ed; + } + .lg\:hover\:bg-teal-lightest:hover { + background-color: #e8fffe; + } + .lg\:hover\:bg-blue-darkest:hover { + background-color: #12283a; + } + .lg\:hover\:bg-blue-darker:hover { + background-color: #1c3d5a; + } + .lg\:hover\:bg-blue-dark:hover { + background-color: #2779bd; + } + .lg\:hover\:bg-blue:hover { + background-color: #3490dc; + } + .lg\:hover\:bg-blue-light:hover { + background-color: #6cb2eb; + } + .lg\:hover\:bg-blue-lighter:hover { + background-color: #bcdefa; + } + .lg\:hover\:bg-blue-lightest:hover { + background-color: #eff8ff; + } + .lg\:hover\:bg-indigo-darkest:hover { + background-color: #191e38; + } + .lg\:hover\:bg-indigo-darker:hover { + background-color: #2f365f; + } + .lg\:hover\:bg-indigo-dark:hover { + background-color: #5661b3; + } + .lg\:hover\:bg-indigo:hover { + background-color: #6574cd; + } + .lg\:hover\:bg-indigo-light:hover { + background-color: #7886d7; + } + .lg\:hover\:bg-indigo-lighter:hover { + background-color: #b2b7ff; + } + .lg\:hover\:bg-indigo-lightest:hover { + background-color: #e6e8ff; + } + .lg\:hover\:bg-purple-darkest:hover { + background-color: #21183c; + } + .lg\:hover\:bg-purple-darker:hover { + background-color: #382b5f; + } + .lg\:hover\:bg-purple-dark:hover { + background-color: #794acf; + } + .lg\:hover\:bg-purple:hover { + background-color: #9561e2; + } + .lg\:hover\:bg-purple-light:hover { + background-color: #a779e9; + } + .lg\:hover\:bg-purple-lighter:hover { + background-color: #d6bbfc; + } + .lg\:hover\:bg-purple-lightest:hover { + background-color: #f3ebff; + } + .lg\:hover\:bg-pink-darkest:hover { + background-color: #451225; + } + .lg\:hover\:bg-pink-darker:hover { + background-color: #6f213f; + } + .lg\:hover\:bg-pink-dark:hover { + background-color: #eb5286; + } + .lg\:hover\:bg-pink:hover { + background-color: #f66d9b; + } + .lg\:hover\:bg-pink-light:hover { + background-color: #fa7ea8; + } + .lg\:hover\:bg-pink-lighter:hover { + background-color: #ffbbca; + } + .lg\:hover\:bg-pink-lightest:hover { + background-color: #ffebef; + } + .lg\:bg-bottom { + background-position: bottom; + } + .lg\:bg-center { + background-position: center; + } + .lg\:bg-left { + background-position: left; + } + .lg\:bg-left-bottom { + background-position: left bottom; + } + .lg\:bg-left-top { + background-position: left top; + } + .lg\:bg-right { + background-position: right; + } + .lg\:bg-right-bottom { + background-position: right bottom; + } + .lg\:bg-right-top { + background-position: right top; + } + .lg\:bg-top { + background-position: top; + } + .lg\:bg-repeat { + background-repeat: repeat; + } + .lg\:bg-no-repeat { + background-repeat: no-repeat; + } + .lg\:bg-repeat-x { + background-repeat: repeat-x; + } + .lg\:bg-repeat-y { + background-repeat: repeat-y; + } + .lg\:bg-cover { + background-size: cover; + } + .lg\:bg-contain { + background-size: contain; + } + .lg\:border-transparent { + border-color: transparent; + } + .lg\:border-black { + border-color: #22292f; + } + .lg\:border-grey-darkest { + border-color: #3d4852; + } + .lg\:border-grey-darker { + border-color: #606f7b; + } + .lg\:border-grey-dark { + border-color: #8795a1; + } + .lg\:border-grey { + border-color: #b8c2cc; + } + .lg\:border-grey-light { + border-color: #dae1e7; + } + .lg\:border-grey-lighter { + border-color: #f1f5f8; + } + .lg\:border-grey-lightest { + border-color: #f8fafc; + } + .lg\:border-white { + border-color: #fff; + } + .lg\:border-red-darkest { + border-color: #3b0d0c; + } + .lg\:border-red-darker { + border-color: #621b18; + } + .lg\:border-red-dark { + border-color: #cc1f1a; + } + .lg\:border-red { + border-color: #e3342f; + } + .lg\:border-red-light { + border-color: #ef5753; + } + .lg\:border-red-lighter { + border-color: #f9acaa; + } + .lg\:border-red-lightest { + border-color: #fcebea; + } + .lg\:border-orange-darkest { + border-color: #462a16; + } + .lg\:border-orange-darker { + border-color: #613b1f; + } + .lg\:border-orange-dark { + border-color: #de751f; + } + .lg\:border-orange { + border-color: #f6993f; + } + .lg\:border-orange-light { + border-color: #faad63; + } + .lg\:border-orange-lighter { + border-color: #fcd9b6; + } + .lg\:border-orange-lightest { + border-color: #fff5eb; + } + .lg\:border-yellow-darkest { + border-color: #453411; + } + .lg\:border-yellow-darker { + border-color: #684f1d; + } + .lg\:border-yellow-dark { + border-color: #f2d024; + } + .lg\:border-yellow { + border-color: #ffed4a; + } + .lg\:border-yellow-light { + border-color: #fff382; + } + .lg\:border-yellow-lighter { + border-color: #fff9c2; + } + .lg\:border-yellow-lightest { + border-color: #fcfbeb; + } + .lg\:border-green-darkest { + border-color: #0f2f21; + } + .lg\:border-green-darker { + border-color: #1a4731; + } + .lg\:border-green-dark { + border-color: #1f9d55; + } + .lg\:border-green { + border-color: #38c172; + } + .lg\:border-green-light { + border-color: #51d88a; + } + .lg\:border-green-lighter { + border-color: #a2f5bf; + } + .lg\:border-green-lightest { + border-color: #e3fcec; + } + .lg\:border-teal-darkest { + border-color: #0d3331; + } + .lg\:border-teal-darker { + border-color: #20504f; + } + .lg\:border-teal-dark { + border-color: #38a89d; + } + .lg\:border-teal { + border-color: #4dc0b5; + } + .lg\:border-teal-light { + border-color: #64d5ca; + } + .lg\:border-teal-lighter { + border-color: #a0f0ed; + } + .lg\:border-teal-lightest { + border-color: #e8fffe; + } + .lg\:border-blue-darkest { + border-color: #12283a; + } + .lg\:border-blue-darker { + border-color: #1c3d5a; + } + .lg\:border-blue-dark { + border-color: #2779bd; + } + .lg\:border-blue { + border-color: #3490dc; + } + .lg\:border-blue-light { + border-color: #6cb2eb; + } + .lg\:border-blue-lighter { + border-color: #bcdefa; + } + .lg\:border-blue-lightest { + border-color: #eff8ff; + } + .lg\:border-indigo-darkest { + border-color: #191e38; + } + .lg\:border-indigo-darker { + border-color: #2f365f; + } + .lg\:border-indigo-dark { + border-color: #5661b3; + } + .lg\:border-indigo { + border-color: #6574cd; + } + .lg\:border-indigo-light { + border-color: #7886d7; + } + .lg\:border-indigo-lighter { + border-color: #b2b7ff; + } + .lg\:border-indigo-lightest { + border-color: #e6e8ff; + } + .lg\:border-purple-darkest { + border-color: #21183c; + } + .lg\:border-purple-darker { + border-color: #382b5f; + } + .lg\:border-purple-dark { + border-color: #794acf; + } + .lg\:border-purple { + border-color: #9561e2; + } + .lg\:border-purple-light { + border-color: #a779e9; + } + .lg\:border-purple-lighter { + border-color: #d6bbfc; + } + .lg\:border-purple-lightest { + border-color: #f3ebff; + } + .lg\:border-pink-darkest { + border-color: #451225; + } + .lg\:border-pink-darker { + border-color: #6f213f; + } + .lg\:border-pink-dark { + border-color: #eb5286; + } + .lg\:border-pink { + border-color: #f66d9b; + } + .lg\:border-pink-light { + border-color: #fa7ea8; + } + .lg\:border-pink-lighter { + border-color: #ffbbca; + } + .lg\:border-pink-lightest { + border-color: #ffebef; + } + .lg\:hover\:border-transparent:hover { + border-color: transparent; + } + .lg\:hover\:border-black:hover { + border-color: #22292f; + } + .lg\:hover\:border-grey-darkest:hover { + border-color: #3d4852; + } + .lg\:hover\:border-grey-darker:hover { + border-color: #606f7b; + } + .lg\:hover\:border-grey-dark:hover { + border-color: #8795a1; + } + .lg\:hover\:border-grey:hover { + border-color: #b8c2cc; + } + .lg\:hover\:border-grey-light:hover { + border-color: #dae1e7; + } + .lg\:hover\:border-grey-lighter:hover { + border-color: #f1f5f8; + } + .lg\:hover\:border-grey-lightest:hover { + border-color: #f8fafc; + } + .lg\:hover\:border-white:hover { + border-color: #fff; + } + .lg\:hover\:border-red-darkest:hover { + border-color: #3b0d0c; + } + .lg\:hover\:border-red-darker:hover { + border-color: #621b18; + } + .lg\:hover\:border-red-dark:hover { + border-color: #cc1f1a; + } + .lg\:hover\:border-red:hover { + border-color: #e3342f; + } + .lg\:hover\:border-red-light:hover { + border-color: #ef5753; + } + .lg\:hover\:border-red-lighter:hover { + border-color: #f9acaa; + } + .lg\:hover\:border-red-lightest:hover { + border-color: #fcebea; + } + .lg\:hover\:border-orange-darkest:hover { + border-color: #462a16; + } + .lg\:hover\:border-orange-darker:hover { + border-color: #613b1f; + } + .lg\:hover\:border-orange-dark:hover { + border-color: #de751f; + } + .lg\:hover\:border-orange:hover { + border-color: #f6993f; + } + .lg\:hover\:border-orange-light:hover { + border-color: #faad63; + } + .lg\:hover\:border-orange-lighter:hover { + border-color: #fcd9b6; + } + .lg\:hover\:border-orange-lightest:hover { + border-color: #fff5eb; + } + .lg\:hover\:border-yellow-darkest:hover { + border-color: #453411; + } + .lg\:hover\:border-yellow-darker:hover { + border-color: #684f1d; + } + .lg\:hover\:border-yellow-dark:hover { + border-color: #f2d024; + } + .lg\:hover\:border-yellow:hover { + border-color: #ffed4a; + } + .lg\:hover\:border-yellow-light:hover { + border-color: #fff382; + } + .lg\:hover\:border-yellow-lighter:hover { + border-color: #fff9c2; + } + .lg\:hover\:border-yellow-lightest:hover { + border-color: #fcfbeb; + } + .lg\:hover\:border-green-darkest:hover { + border-color: #0f2f21; + } + .lg\:hover\:border-green-darker:hover { + border-color: #1a4731; + } + .lg\:hover\:border-green-dark:hover { + border-color: #1f9d55; + } + .lg\:hover\:border-green:hover { + border-color: #38c172; + } + .lg\:hover\:border-green-light:hover { + border-color: #51d88a; + } + .lg\:hover\:border-green-lighter:hover { + border-color: #a2f5bf; + } + .lg\:hover\:border-green-lightest:hover { + border-color: #e3fcec; + } + .lg\:hover\:border-teal-darkest:hover { + border-color: #0d3331; + } + .lg\:hover\:border-teal-darker:hover { + border-color: #20504f; + } + .lg\:hover\:border-teal-dark:hover { + border-color: #38a89d; + } + .lg\:hover\:border-teal:hover { + border-color: #4dc0b5; + } + .lg\:hover\:border-teal-light:hover { + border-color: #64d5ca; + } + .lg\:hover\:border-teal-lighter:hover { + border-color: #a0f0ed; + } + .lg\:hover\:border-teal-lightest:hover { + border-color: #e8fffe; + } + .lg\:hover\:border-blue-darkest:hover { + border-color: #12283a; + } + .lg\:hover\:border-blue-darker:hover { + border-color: #1c3d5a; + } + .lg\:hover\:border-blue-dark:hover { + border-color: #2779bd; + } + .lg\:hover\:border-blue:hover { + border-color: #3490dc; + } + .lg\:hover\:border-blue-light:hover { + border-color: #6cb2eb; + } + .lg\:hover\:border-blue-lighter:hover { + border-color: #bcdefa; + } + .lg\:hover\:border-blue-lightest:hover { + border-color: #eff8ff; + } + .lg\:hover\:border-indigo-darkest:hover { + border-color: #191e38; + } + .lg\:hover\:border-indigo-darker:hover { + border-color: #2f365f; + } + .lg\:hover\:border-indigo-dark:hover { + border-color: #5661b3; + } + .lg\:hover\:border-indigo:hover { + border-color: #6574cd; + } + .lg\:hover\:border-indigo-light:hover { + border-color: #7886d7; + } + .lg\:hover\:border-indigo-lighter:hover { + border-color: #b2b7ff; + } + .lg\:hover\:border-indigo-lightest:hover { + border-color: #e6e8ff; + } + .lg\:hover\:border-purple-darkest:hover { + border-color: #21183c; + } + .lg\:hover\:border-purple-darker:hover { + border-color: #382b5f; + } + .lg\:hover\:border-purple-dark:hover { + border-color: #794acf; + } + .lg\:hover\:border-purple:hover { + border-color: #9561e2; + } + .lg\:hover\:border-purple-light:hover { + border-color: #a779e9; + } + .lg\:hover\:border-purple-lighter:hover { + border-color: #d6bbfc; + } + .lg\:hover\:border-purple-lightest:hover { + border-color: #f3ebff; + } + .lg\:hover\:border-pink-darkest:hover { + border-color: #451225; + } + .lg\:hover\:border-pink-darker:hover { + border-color: #6f213f; + } + .lg\:hover\:border-pink-dark:hover { + border-color: #eb5286; + } + .lg\:hover\:border-pink:hover { + border-color: #f66d9b; + } + .lg\:hover\:border-pink-light:hover { + border-color: #fa7ea8; + } + .lg\:hover\:border-pink-lighter:hover { + border-color: #ffbbca; + } + .lg\:hover\:border-pink-lightest:hover { + border-color: #ffebef; + } + .lg\:rounded-none { + border-radius: 0; + } + .lg\:rounded-sm { + border-radius: 0.125rem; + } + .lg\:rounded { + border-radius: 0.25rem; + } + .lg\:rounded-lg { + border-radius: 0.5rem; + } + .lg\:rounded-full { + border-radius: 9999px; + } + .lg\:rounded-t-none { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + .lg\:rounded-r-none { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .lg\:rounded-b-none { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .lg\:rounded-l-none { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .lg\:rounded-t-sm { + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; + } + .lg\:rounded-r-sm { + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; + } + .lg\:rounded-b-sm { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .lg\:rounded-l-sm { + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .lg\:rounded-t { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .lg\:rounded-r { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + } + .lg\:rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .lg\:rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .lg\:rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; + } + .lg\:rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + } + .lg\:rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .lg\:rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .lg\:rounded-t-full { + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; + } + .lg\:rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; + } + .lg\:rounded-b-full { + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .lg\:rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .lg\:rounded-tl-none { + border-top-left-radius: 0; + } + .lg\:rounded-tr-none { + border-top-right-radius: 0; + } + .lg\:rounded-br-none { + border-bottom-right-radius: 0; + } + .lg\:rounded-bl-none { + border-bottom-left-radius: 0; + } + .lg\:rounded-tl-sm { + border-top-left-radius: 0.125rem; + } + .lg\:rounded-tr-sm { + border-top-right-radius: 0.125rem; + } + .lg\:rounded-br-sm { + border-bottom-right-radius: 0.125rem; + } + .lg\:rounded-bl-sm { + border-bottom-left-radius: 0.125rem; + } + .lg\:rounded-tl { + border-top-left-radius: 0.25rem; + } + .lg\:rounded-tr { + border-top-right-radius: 0.25rem; + } + .lg\:rounded-br { + border-bottom-right-radius: 0.25rem; + } + .lg\:rounded-bl { + border-bottom-left-radius: 0.25rem; + } + .lg\:rounded-tl-lg { + border-top-left-radius: 0.5rem; + } + .lg\:rounded-tr-lg { + border-top-right-radius: 0.5rem; + } + .lg\:rounded-br-lg { + border-bottom-right-radius: 0.5rem; + } + .lg\:rounded-bl-lg { + border-bottom-left-radius: 0.5rem; + } + .lg\:rounded-tl-full { + border-top-left-radius: 9999px; + } + .lg\:rounded-tr-full { + border-top-right-radius: 9999px; + } + .lg\:rounded-br-full { + border-bottom-right-radius: 9999px; + } + .lg\:rounded-bl-full { + border-bottom-left-radius: 9999px; + } + .lg\:border-solid { + border-style: solid; + } + .lg\:border-dashed { + border-style: dashed; + } + .lg\:border-dotted { + border-style: dotted; + } + .lg\:border-none { + border-style: none; + } + .lg\:border-0 { + border-width: 0; + } + .lg\:border-2 { + border-width: 2px; + } + .lg\:border-4 { + border-width: 4px; + } + .lg\:border-8 { + border-width: 8px; + } + .lg\:border { + border-width: 1px; + } + .lg\:border-t-0 { + border-top-width: 0; + } + .lg\:border-r-0 { + border-right-width: 0; + } + .lg\:border-b-0 { + border-bottom-width: 0; + } + .lg\:border-l-0 { + border-left-width: 0; + } + .lg\:border-t-2 { + border-top-width: 2px; + } + .lg\:border-r-2 { + border-right-width: 2px; + } + .lg\:border-b-2 { + border-bottom-width: 2px; + } + .lg\:border-l-2 { + border-left-width: 2px; + } + .lg\:border-t-4 { + border-top-width: 4px; + } + .lg\:border-r-4 { + border-right-width: 4px; + } + .lg\:border-b-4 { + border-bottom-width: 4px; + } + .lg\:border-l-4 { + border-left-width: 4px; + } + .lg\:border-t-8 { + border-top-width: 8px; + } + .lg\:border-r-8 { + border-right-width: 8px; + } + .lg\:border-b-8 { + border-bottom-width: 8px; + } + .lg\:border-l-8 { + border-left-width: 8px; + } + .lg\:border-t { + border-top-width: 1px; + } + .lg\:border-r { + border-right-width: 1px; + } + .lg\:border-b { + border-bottom-width: 1px; + } + .lg\:border-l { + border-left-width: 1px; + } + .lg\:cursor-auto { + cursor: auto; + } + .lg\:cursor-default { + cursor: default; + } + .lg\:cursor-pointer { + cursor: pointer; + } + .lg\:cursor-not-allowed { + cursor: not-allowed; + } + .lg\:block { + display: block; + } + .lg\:inline-block { + display: inline-block; + } + .lg\:inline { + display: inline; + } + .lg\:table { + display: table; + } + .lg\:table-row { + display: table-row; + } + .lg\:table-cell { + display: table-cell; + } + .lg\:hidden { + display: none; + } + .lg\:flex { + display: -webkit-box; + display: flex; + } + .lg\:inline-flex { + display: -webkit-inline-box; + display: inline-flex; + } + .lg\:flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + .lg\:flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + } + .lg\:flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + } + .lg\:flex-col-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; + } + .lg\:flex-wrap { + flex-wrap: wrap; + } + .lg\:flex-wrap-reverse { + flex-wrap: wrap-reverse; + } + .lg\:flex-no-wrap { + flex-wrap: nowrap; + } + .lg\:items-start { + -webkit-box-align: start; + align-items: flex-start; + } + .lg\:items-end { + -webkit-box-align: end; + align-items: flex-end; + } + .lg\:items-center { + -webkit-box-align: center; + align-items: center; + } + .lg\:items-baseline { + -webkit-box-align: baseline; + align-items: baseline; + } + .lg\:items-stretch { + -webkit-box-align: stretch; + align-items: stretch; + } + .lg\:self-auto { + align-self: auto; + } + .lg\:self-start { + align-self: flex-start; + } + .lg\:self-end { + align-self: flex-end; + } + .lg\:self-center { + align-self: center; + } + .lg\:self-stretch { + align-self: stretch; + } + .lg\:justify-start { + -webkit-box-pack: start; + justify-content: flex-start; + } + .lg\:justify-end { + -webkit-box-pack: end; + justify-content: flex-end; + } + .lg\:justify-center { + -webkit-box-pack: center; + justify-content: center; + } + .lg\:justify-between { + -webkit-box-pack: justify; + justify-content: space-between; + } + .lg\:justify-around { + justify-content: space-around; + } + .lg\:content-center { + align-content: center; + } + .lg\:content-start { + align-content: flex-start; + } + .lg\:content-end { + align-content: flex-end; + } + .lg\:content-between { + align-content: space-between; + } + .lg\:content-around { + align-content: space-around; + } + .lg\:flex-1 { + -webkit-box-flex: 1; + flex: 1; + } + .lg\:flex-auto { + -webkit-box-flex: 1; + flex: auto; + } + .lg\:flex-initial { + -webkit-box-flex: initial; + flex: initial; + } + .lg\:flex-none { + -webkit-box-flex: 0; + flex: none; + } + .lg\:flex-grow { + -webkit-box-flex: 1; + flex-grow: 1; + } + .lg\:flex-shrink { + flex-shrink: 1; + } + .lg\:flex-no-grow { + -webkit-box-flex: 0; + flex-grow: 0; + } + .lg\:flex-no-shrink { + flex-shrink: 0; + } + .lg\:float-right { + float: right; + } + .lg\:float-left { + float: left; + } + .lg\:float-none { + float: none; + } + .lg\:clearfix:after { + content: ""; + display: table; + clear: both; + } + .lg\:font-sans { + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, + Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + } + .lg\:font-serif { + font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, + Bitstream Vera Serif, Liberation Serif, Georgia, serif; + } + .lg\:font-mono { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + } + .lg\:font-hairline { + font-weight: 100; + } + .lg\:font-thin { + font-weight: 200; + } + .lg\:font-light { + font-weight: 300; + } + .lg\:font-normal { + font-weight: 400; + } + .lg\:font-medium { + font-weight: 500; + } + .lg\:font-semibold { + font-weight: 600; + } + .lg\:font-bold { + font-weight: 700; + } + .lg\:font-extrabold { + font-weight: 800; + } + .lg\:font-black { + font-weight: 900; + } + .lg\:hover\:font-hairline:hover { + font-weight: 100; + } + .lg\:hover\:font-thin:hover { + font-weight: 200; + } + .lg\:hover\:font-light:hover { + font-weight: 300; + } + .lg\:hover\:font-normal:hover { + font-weight: 400; + } + .lg\:hover\:font-medium:hover { + font-weight: 500; + } + .lg\:hover\:font-semibold:hover { + font-weight: 600; + } + .lg\:hover\:font-bold:hover { + font-weight: 700; + } + .lg\:hover\:font-extrabold:hover { + font-weight: 800; + } + .lg\:hover\:font-black:hover { + font-weight: 900; + } + .lg\:h-1 { + height: 0.25rem; + } + .lg\:h-2 { + height: 0.5rem; + } + .lg\:h-3 { + height: 0.75rem; + } + .lg\:h-4 { + height: 1rem; + } + .lg\:h-6 { + height: 1.5rem; + } + .lg\:h-8 { + height: 2rem; + } + .lg\:h-10 { + height: 2.5rem; + } + .lg\:h-12 { + height: 3rem; + } + .lg\:h-16 { + height: 4rem; + } + .lg\:h-24 { + height: 6rem; + } + .lg\:h-32 { + height: 8rem; + } + .lg\:h-48 { + height: 12rem; + } + .lg\:h-64 { + height: 16rem; + } + .lg\:h-auto { + height: auto; + } + .lg\:h-px { + height: 1px; + } + .lg\:h-full { + height: 100%; + } + .lg\:h-screen { + height: 100vh; + } + .lg\:leading-none { + line-height: 1; + } + .lg\:leading-tight { + line-height: 1.25; + } + .lg\:leading-normal { + line-height: 1.5; + } + .lg\:leading-loose { + line-height: 2; + } + .lg\:m-0 { + margin: 0; + } + .lg\:m-1 { + margin: 0.25rem; + } + .lg\:m-2 { + margin: 0.5rem; + } + .lg\:m-3 { + margin: 0.75rem; + } + .lg\:m-4 { + margin: 1rem; + } + .lg\:m-6 { + margin: 1.5rem; + } + .lg\:m-8 { + margin: 2rem; + } + .lg\:m-auto { + margin: auto; + } + .lg\:m-px { + margin: 1px; + } + .lg\:my-0 { + margin-top: 0; + margin-bottom: 0; + } + .lg\:mx-0 { + margin-left: 0; + margin-right: 0; + } + .lg\:my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; + } + .lg\:mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; + } + .lg\:my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + } + .lg\:mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .lg\:my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + } + .lg\:mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; + } + .lg\:my-4 { + margin-top: 1rem; + margin-bottom: 1rem; + } + .lg\:mx-4 { + margin-left: 1rem; + margin-right: 1rem; + } + .lg\:my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + } + .lg\:mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; + } + .lg\:my-8 { + margin-top: 2rem; + margin-bottom: 2rem; + } + .lg\:mx-8 { + margin-left: 2rem; + margin-right: 2rem; + } + .lg\:my-auto { + margin-top: auto; + margin-bottom: auto; + } + .lg\:mx-auto { + margin-left: auto; + margin-right: auto; + } + .lg\:my-px { + margin-top: 1px; + margin-bottom: 1px; + } + .lg\:mx-px { + margin-left: 1px; + margin-right: 1px; + } + .lg\:mt-0 { + margin-top: 0; + } + .lg\:mr-0 { + margin-right: 0; + } + .lg\:mb-0 { + margin-bottom: 0; + } + .lg\:ml-0 { + margin-left: 0; + } + .lg\:mt-1 { + margin-top: 0.25rem; + } + .lg\:mr-1 { + margin-right: 0.25rem; + } + .lg\:mb-1 { + margin-bottom: 0.25rem; + } + .lg\:ml-1 { + margin-left: 0.25rem; + } + .lg\:mt-2 { + margin-top: 0.5rem; + } + .lg\:mr-2 { + margin-right: 0.5rem; + } + .lg\:mb-2 { + margin-bottom: 0.5rem; + } + .lg\:ml-2 { + margin-left: 0.5rem; + } + .lg\:mt-3 { + margin-top: 0.75rem; + } + .lg\:mr-3 { + margin-right: 0.75rem; + } + .lg\:mb-3 { + margin-bottom: 0.75rem; + } + .lg\:ml-3 { + margin-left: 0.75rem; + } + .lg\:mt-4 { + margin-top: 1rem; + } + .lg\:mr-4 { + margin-right: 1rem; + } + .lg\:mb-4 { + margin-bottom: 1rem; + } + .lg\:ml-4 { + margin-left: 1rem; + } + .lg\:mt-6 { + margin-top: 1.5rem; + } + .lg\:mr-6 { + margin-right: 1.5rem; + } + .lg\:mb-6 { + margin-bottom: 1.5rem; + } + .lg\:ml-6 { + margin-left: 1.5rem; + } + .lg\:mt-8 { + margin-top: 2rem; + } + .lg\:mr-8 { + margin-right: 2rem; + } + .lg\:mb-8 { + margin-bottom: 2rem; + } + .lg\:ml-8 { + margin-left: 2rem; + } + .lg\:mt-auto { + margin-top: auto; + } + .lg\:mr-auto { + margin-right: auto; + } + .lg\:mb-auto { + margin-bottom: auto; + } + .lg\:ml-auto { + margin-left: auto; + } + .lg\:mt-px { + margin-top: 1px; + } + .lg\:mr-px { + margin-right: 1px; + } + .lg\:mb-px { + margin-bottom: 1px; + } + .lg\:ml-px { + margin-left: 1px; + } + .lg\:max-h-full { + max-height: 100%; + } + .lg\:max-h-screen { + max-height: 100vh; + } + .lg\:max-w-xs { + max-width: 20rem; + } + .lg\:max-w-sm { + max-width: 30rem; + } + .lg\:max-w-md { + max-width: 40rem; + } + .lg\:max-w-lg { + max-width: 50rem; + } + .lg\:max-w-xl { + max-width: 60rem; + } + .lg\:max-w-2xl { + max-width: 70rem; + } + .lg\:max-w-3xl { + max-width: 80rem; + } + .lg\:max-w-4xl { + max-width: 90rem; + } + .lg\:max-w-5xl { + max-width: 100rem; + } + .lg\:max-w-full { + max-width: 100%; + } + .lg\:min-h-0 { + min-height: 0; + } + .lg\:min-h-full { + min-height: 100%; + } + .lg\:min-h-screen { + min-height: 100vh; + } + .lg\:min-w-0 { + min-width: 0; + } + .lg\:min-w-full { + min-width: 100%; + } + .lg\:-m-0 { + margin: 0; + } + .lg\:-m-1 { + margin: -0.25rem; + } + .lg\:-m-2 { + margin: -0.5rem; + } + .lg\:-m-3 { + margin: -0.75rem; + } + .lg\:-m-4 { + margin: -1rem; + } + .lg\:-m-6 { + margin: -1.5rem; + } + .lg\:-m-8 { + margin: -2rem; + } + .lg\:-m-px { + margin: -1px; + } + .lg\:-my-0 { + margin-top: 0; + margin-bottom: 0; + } + .lg\:-mx-0 { + margin-left: 0; + margin-right: 0; + } + .lg\:-my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; + } + .lg\:-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; + } + .lg\:-my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; + } + .lg\:-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; + } + .lg\:-my-3 { + margin-top: -0.75rem; + margin-bottom: -0.75rem; + } + .lg\:-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; + } + .lg\:-my-4 { + margin-top: -1rem; + margin-bottom: -1rem; + } + .lg\:-mx-4 { + margin-left: -1rem; + margin-right: -1rem; + } + .lg\:-my-6 { + margin-top: -1.5rem; + margin-bottom: -1.5rem; + } + .lg\:-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; + } + .lg\:-my-8 { + margin-top: -2rem; + margin-bottom: -2rem; + } + .lg\:-mx-8 { + margin-left: -2rem; + margin-right: -2rem; + } + .lg\:-my-px { + margin-top: -1px; + margin-bottom: -1px; + } + .lg\:-mx-px { + margin-left: -1px; + margin-right: -1px; + } + .lg\:-mt-0 { + margin-top: 0; + } + .lg\:-mr-0 { + margin-right: 0; + } + .lg\:-mb-0 { + margin-bottom: 0; + } + .lg\:-ml-0 { + margin-left: 0; + } + .lg\:-mt-1 { + margin-top: -0.25rem; + } + .lg\:-mr-1 { + margin-right: -0.25rem; + } + .lg\:-mb-1 { + margin-bottom: -0.25rem; + } + .lg\:-ml-1 { + margin-left: -0.25rem; + } + .lg\:-mt-2 { + margin-top: -0.5rem; + } + .lg\:-mr-2 { + margin-right: -0.5rem; + } + .lg\:-mb-2 { + margin-bottom: -0.5rem; + } + .lg\:-ml-2 { + margin-left: -0.5rem; + } + .lg\:-mt-3 { + margin-top: -0.75rem; + } + .lg\:-mr-3 { + margin-right: -0.75rem; + } + .lg\:-mb-3 { + margin-bottom: -0.75rem; + } + .lg\:-ml-3 { + margin-left: -0.75rem; + } + .lg\:-mt-4 { + margin-top: -1rem; + } + .lg\:-mr-4 { + margin-right: -1rem; + } + .lg\:-mb-4 { + margin-bottom: -1rem; + } + .lg\:-ml-4 { + margin-left: -1rem; + } + .lg\:-mt-6 { + margin-top: -1.5rem; + } + .lg\:-mr-6 { + margin-right: -1.5rem; + } + .lg\:-mb-6 { + margin-bottom: -1.5rem; + } + .lg\:-ml-6 { + margin-left: -1.5rem; + } + .lg\:-mt-8 { + margin-top: -2rem; + } + .lg\:-mr-8 { + margin-right: -2rem; + } + .lg\:-mb-8 { + margin-bottom: -2rem; + } + .lg\:-ml-8 { + margin-left: -2rem; + } + .lg\:-mt-px { + margin-top: -1px; + } + .lg\:-mr-px { + margin-right: -1px; + } + .lg\:-mb-px { + margin-bottom: -1px; + } + .lg\:-ml-px { + margin-left: -1px; + } + .lg\:opacity-0 { + opacity: 0; + } + .lg\:opacity-25 { + opacity: 0.25; + } + .lg\:opacity-50 { + opacity: 0.5; + } + .lg\:opacity-75 { + opacity: 0.75; + } + .lg\:opacity-100 { + opacity: 1; + } + .lg\:overflow-auto { + overflow: auto; + } + .lg\:overflow-hidden { + overflow: hidden; + } + .lg\:overflow-visible { + overflow: visible; + } + .lg\:overflow-scroll { + overflow: scroll; + } + .lg\:overflow-x-scroll { + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .lg\:overflow-y-scroll { + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .lg\:scrolling-touch { + -webkit-overflow-scrolling: touch; + } + .lg\:scrolling-auto { + -webkit-overflow-scrolling: auto; + } + .lg\:p-0 { + padding: 0; + } + .lg\:p-1 { + padding: 0.25rem; + } + .lg\:p-2 { + padding: 0.5rem; + } + .lg\:p-3 { + padding: 0.75rem; + } + .lg\:p-4 { + padding: 1rem; + } + .lg\:p-6 { + padding: 1.5rem; + } + .lg\:p-8 { + padding: 2rem; + } + .lg\:p-px { + padding: 1px; + } + .lg\:py-0 { + padding-top: 0; + padding-bottom: 0; + } + .lg\:px-0 { + padding-left: 0; + padding-right: 0; + } + .lg\:py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + .lg\:px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + .lg\:py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .lg\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .lg\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + .lg\:px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + .lg\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .lg\:px-4 { + padding-left: 1rem; + padding-right: 1rem; + } + .lg\:py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + .lg\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .lg\:py-8 { + padding-top: 2rem; + padding-bottom: 2rem; + } + .lg\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + .lg\:py-px { + padding-top: 1px; + padding-bottom: 1px; + } + .lg\:px-px { + padding-left: 1px; + padding-right: 1px; + } + .lg\:pt-0 { + padding-top: 0; + } + .lg\:pr-0 { + padding-right: 0; + } + .lg\:pb-0 { + padding-bottom: 0; + } + .lg\:pl-0 { + padding-left: 0; + } + .lg\:pt-1 { + padding-top: 0.25rem; + } + .lg\:pr-1 { + padding-right: 0.25rem; + } + .lg\:pb-1 { + padding-bottom: 0.25rem; + } + .lg\:pl-1 { + padding-left: 0.25rem; + } + .lg\:pt-2 { + padding-top: 0.5rem; + } + .lg\:pr-2 { + padding-right: 0.5rem; + } + .lg\:pb-2 { + padding-bottom: 0.5rem; + } + .lg\:pl-2 { + padding-left: 0.5rem; + } + .lg\:pt-3 { + padding-top: 0.75rem; + } + .lg\:pr-3 { + padding-right: 0.75rem; + } + .lg\:pb-3 { + padding-bottom: 0.75rem; + } + .lg\:pl-3 { + padding-left: 0.75rem; + } + .lg\:pt-4 { + padding-top: 1rem; + } + .lg\:pr-4 { + padding-right: 1rem; + } + .lg\:pb-4 { + padding-bottom: 1rem; + } + .lg\:pl-4 { + padding-left: 1rem; + } + .lg\:pt-6 { + padding-top: 1.5rem; + } + .lg\:pr-6 { + padding-right: 1.5rem; + } + .lg\:pb-6 { + padding-bottom: 1.5rem; + } + .lg\:pl-6 { + padding-left: 1.5rem; + } + .lg\:pt-8 { + padding-top: 2rem; + } + .lg\:pr-8 { + padding-right: 2rem; + } + .lg\:pb-8 { + padding-bottom: 2rem; + } + .lg\:pl-8 { + padding-left: 2rem; + } + .lg\:pt-px { + padding-top: 1px; + } + .lg\:pr-px { + padding-right: 1px; + } + .lg\:pb-px { + padding-bottom: 1px; + } + .lg\:pl-px { + padding-left: 1px; + } + .lg\:pointer-events-none { + pointer-events: none; + } + .lg\:pointer-events-auto { + pointer-events: auto; + } + .lg\:static { + position: static; + } + .lg\:fixed { + position: fixed; + } + .lg\:absolute { + position: absolute; + } + .lg\:relative { + position: relative; + } + .lg\:pin-none { + top: auto; + right: auto; + bottom: auto; + left: auto; + } + .lg\:pin { + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .lg\:pin-y { + top: 0; + bottom: 0; + } + .lg\:pin-x { + right: 0; + left: 0; + } + .lg\:pin-t { + top: 0; + } + .lg\:pin-r { + right: 0; + } + .lg\:pin-b { + bottom: 0; + } + .lg\:pin-l { + left: 0; + } + .lg\:resize-none { + resize: none; + } + .lg\:resize-y { + resize: vertical; + } + .lg\:resize-x { + resize: horizontal; + } + .lg\:resize { + resize: both; + } + .lg\:shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + } + .lg\:shadow-md { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); + } + .lg\:shadow-lg { + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); + } + .lg\:shadow-inner { + box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); + } + .lg\:shadow-none { + box-shadow: none; + } + .lg\:text-left { + text-align: left; + } + .lg\:text-center { + text-align: center; + } + .lg\:text-right { + text-align: right; + } + .lg\:text-justify { + text-align: justify; + } + .lg\:text-transparent { + color: transparent; + } + .lg\:text-black { + color: #22292f; + } + .lg\:text-grey-darkest { + color: #3d4852; + } + .lg\:text-grey-darker { + color: #606f7b; + } + .lg\:text-grey-dark { + color: #8795a1; + } + .lg\:text-grey { + color: #b8c2cc; + } + .lg\:text-grey-light { + color: #dae1e7; + } + .lg\:text-grey-lighter { + color: #f1f5f8; + } + .lg\:text-grey-lightest { + color: #f8fafc; + } + .lg\:text-white { + color: #fff; + } + .lg\:text-red-darkest { + color: #3b0d0c; + } + .lg\:text-red-darker { + color: #621b18; + } + .lg\:text-red-dark { + color: #cc1f1a; + } + .lg\:text-red { + color: #e3342f; + } + .lg\:text-red-light { + color: #ef5753; + } + .lg\:text-red-lighter { + color: #f9acaa; + } + .lg\:text-red-lightest { + color: #fcebea; + } + .lg\:text-orange-darkest { + color: #462a16; + } + .lg\:text-orange-darker { + color: #613b1f; + } + .lg\:text-orange-dark { + color: #de751f; + } + .lg\:text-orange { + color: #f6993f; + } + .lg\:text-orange-light { + color: #faad63; + } + .lg\:text-orange-lighter { + color: #fcd9b6; + } + .lg\:text-orange-lightest { + color: #fff5eb; + } + .lg\:text-yellow-darkest { + color: #453411; + } + .lg\:text-yellow-darker { + color: #684f1d; + } + .lg\:text-yellow-dark { + color: #f2d024; + } + .lg\:text-yellow { + color: #ffed4a; + } + .lg\:text-yellow-light { + color: #fff382; + } + .lg\:text-yellow-lighter { + color: #fff9c2; + } + .lg\:text-yellow-lightest { + color: #fcfbeb; + } + .lg\:text-green-darkest { + color: #0f2f21; + } + .lg\:text-green-darker { + color: #1a4731; + } + .lg\:text-green-dark { + color: #1f9d55; + } + .lg\:text-green { + color: #38c172; + } + .lg\:text-green-light { + color: #51d88a; + } + .lg\:text-green-lighter { + color: #a2f5bf; + } + .lg\:text-green-lightest { + color: #e3fcec; + } + .lg\:text-teal-darkest { + color: #0d3331; + } + .lg\:text-teal-darker { + color: #20504f; + } + .lg\:text-teal-dark { + color: #38a89d; + } + .lg\:text-teal { + color: #4dc0b5; + } + .lg\:text-teal-light { + color: #64d5ca; + } + .lg\:text-teal-lighter { + color: #a0f0ed; + } + .lg\:text-teal-lightest { + color: #e8fffe; + } + .lg\:text-blue-darkest { + color: #12283a; + } + .lg\:text-blue-darker { + color: #1c3d5a; + } + .lg\:text-blue-dark { + color: #2779bd; + } + .lg\:text-blue { + color: #3490dc; + } + .lg\:text-blue-light { + color: #6cb2eb; + } + .lg\:text-blue-lighter { + color: #bcdefa; + } + .lg\:text-blue-lightest { + color: #eff8ff; + } + .lg\:text-indigo-darkest { + color: #191e38; + } + .lg\:text-indigo-darker { + color: #2f365f; + } + .lg\:text-indigo-dark { + color: #5661b3; + } + .lg\:text-indigo { + color: #6574cd; + } + .lg\:text-indigo-light { + color: #7886d7; + } + .lg\:text-indigo-lighter { + color: #b2b7ff; + } + .lg\:text-indigo-lightest { + color: #e6e8ff; + } + .lg\:text-purple-darkest { + color: #21183c; + } + .lg\:text-purple-darker { + color: #382b5f; + } + .lg\:text-purple-dark { + color: #794acf; + } + .lg\:text-purple { + color: #9561e2; + } + .lg\:text-purple-light { + color: #a779e9; + } + .lg\:text-purple-lighter { + color: #d6bbfc; + } + .lg\:text-purple-lightest { + color: #f3ebff; + } + .lg\:text-pink-darkest { + color: #451225; + } + .lg\:text-pink-darker { + color: #6f213f; + } + .lg\:text-pink-dark { + color: #eb5286; + } + .lg\:text-pink { + color: #f66d9b; + } + .lg\:text-pink-light { + color: #fa7ea8; + } + .lg\:text-pink-lighter { + color: #ffbbca; + } + .lg\:text-pink-lightest { + color: #ffebef; + } + .lg\:hover\:text-transparent:hover { + color: transparent; + } + .lg\:hover\:text-black:hover { + color: #22292f; + } + .lg\:hover\:text-grey-darkest:hover { + color: #3d4852; + } + .lg\:hover\:text-grey-darker:hover { + color: #606f7b; + } + .lg\:hover\:text-grey-dark:hover { + color: #8795a1; + } + .lg\:hover\:text-grey:hover { + color: #b8c2cc; + } + .lg\:hover\:text-grey-light:hover { + color: #dae1e7; + } + .lg\:hover\:text-grey-lighter:hover { + color: #f1f5f8; + } + .lg\:hover\:text-grey-lightest:hover { + color: #f8fafc; + } + .lg\:hover\:text-white:hover { + color: #fff; + } + .lg\:hover\:text-red-darkest:hover { + color: #3b0d0c; + } + .lg\:hover\:text-red-darker:hover { + color: #621b18; + } + .lg\:hover\:text-red-dark:hover { + color: #cc1f1a; + } + .lg\:hover\:text-red:hover { + color: #e3342f; + } + .lg\:hover\:text-red-light:hover { + color: #ef5753; + } + .lg\:hover\:text-red-lighter:hover { + color: #f9acaa; + } + .lg\:hover\:text-red-lightest:hover { + color: #fcebea; + } + .lg\:hover\:text-orange-darkest:hover { + color: #462a16; + } + .lg\:hover\:text-orange-darker:hover { + color: #613b1f; + } + .lg\:hover\:text-orange-dark:hover { + color: #de751f; + } + .lg\:hover\:text-orange:hover { + color: #f6993f; + } + .lg\:hover\:text-orange-light:hover { + color: #faad63; + } + .lg\:hover\:text-orange-lighter:hover { + color: #fcd9b6; + } + .lg\:hover\:text-orange-lightest:hover { + color: #fff5eb; + } + .lg\:hover\:text-yellow-darkest:hover { + color: #453411; + } + .lg\:hover\:text-yellow-darker:hover { + color: #684f1d; + } + .lg\:hover\:text-yellow-dark:hover { + color: #f2d024; + } + .lg\:hover\:text-yellow:hover { + color: #ffed4a; + } + .lg\:hover\:text-yellow-light:hover { + color: #fff382; + } + .lg\:hover\:text-yellow-lighter:hover { + color: #fff9c2; + } + .lg\:hover\:text-yellow-lightest:hover { + color: #fcfbeb; + } + .lg\:hover\:text-green-darkest:hover { + color: #0f2f21; + } + .lg\:hover\:text-green-darker:hover { + color: #1a4731; + } + .lg\:hover\:text-green-dark:hover { + color: #1f9d55; + } + .lg\:hover\:text-green:hover { + color: #38c172; + } + .lg\:hover\:text-green-light:hover { + color: #51d88a; + } + .lg\:hover\:text-green-lighter:hover { + color: #a2f5bf; + } + .lg\:hover\:text-green-lightest:hover { + color: #e3fcec; + } + .lg\:hover\:text-teal-darkest:hover { + color: #0d3331; + } + .lg\:hover\:text-teal-darker:hover { + color: #20504f; + } + .lg\:hover\:text-teal-dark:hover { + color: #38a89d; + } + .lg\:hover\:text-teal:hover { + color: #4dc0b5; + } + .lg\:hover\:text-teal-light:hover { + color: #64d5ca; + } + .lg\:hover\:text-teal-lighter:hover { + color: #a0f0ed; + } + .lg\:hover\:text-teal-lightest:hover { + color: #e8fffe; + } + .lg\:hover\:text-blue-darkest:hover { + color: #12283a; + } + .lg\:hover\:text-blue-darker:hover { + color: #1c3d5a; + } + .lg\:hover\:text-blue-dark:hover { + color: #2779bd; + } + .lg\:hover\:text-blue:hover { + color: #3490dc; + } + .lg\:hover\:text-blue-light:hover { + color: #6cb2eb; + } + .lg\:hover\:text-blue-lighter:hover { + color: #bcdefa; + } + .lg\:hover\:text-blue-lightest:hover { + color: #eff8ff; + } + .lg\:hover\:text-indigo-darkest:hover { + color: #191e38; + } + .lg\:hover\:text-indigo-darker:hover { + color: #2f365f; + } + .lg\:hover\:text-indigo-dark:hover { + color: #5661b3; + } + .lg\:hover\:text-indigo:hover { + color: #6574cd; + } + .lg\:hover\:text-indigo-light:hover { + color: #7886d7; + } + .lg\:hover\:text-indigo-lighter:hover { + color: #b2b7ff; + } + .lg\:hover\:text-indigo-lightest:hover { + color: #e6e8ff; + } + .lg\:hover\:text-purple-darkest:hover { + color: #21183c; + } + .lg\:hover\:text-purple-darker:hover { + color: #382b5f; + } + .lg\:hover\:text-purple-dark:hover { + color: #794acf; + } + .lg\:hover\:text-purple:hover { + color: #9561e2; + } + .lg\:hover\:text-purple-light:hover { + color: #a779e9; + } + .lg\:hover\:text-purple-lighter:hover { + color: #d6bbfc; + } + .lg\:hover\:text-purple-lightest:hover { + color: #f3ebff; + } + .lg\:hover\:text-pink-darkest:hover { + color: #451225; + } + .lg\:hover\:text-pink-darker:hover { + color: #6f213f; + } + .lg\:hover\:text-pink-dark:hover { + color: #eb5286; + } + .lg\:hover\:text-pink:hover { + color: #f66d9b; + } + .lg\:hover\:text-pink-light:hover { + color: #fa7ea8; + } + .lg\:hover\:text-pink-lighter:hover { + color: #ffbbca; + } + .lg\:hover\:text-pink-lightest:hover { + color: #ffebef; + } + .lg\:text-xs { + font-size: 0.75rem; + } + .lg\:text-sm { + font-size: 0.875rem; + } + .lg\:text-base { + font-size: 1rem; + } + .lg\:text-lg { + font-size: 1.125rem; + } + .lg\:text-xl { + font-size: 1.25rem; + } + .lg\:text-2xl { + font-size: 1.5rem; + } + .lg\:text-3xl { + font-size: 1.875rem; + } + .lg\:text-4xl { + font-size: 2.25rem; + } + .lg\:text-5xl { + font-size: 3rem; + } + .lg\:italic { + font-style: italic; + } + .lg\:roman { + font-style: normal; + } + .lg\:uppercase { + text-transform: uppercase; + } + .lg\:lowercase { + text-transform: lowercase; + } + .lg\:capitalize { + text-transform: capitalize; + } + .lg\:normal-case { + text-transform: none; + } + .lg\:underline { + text-decoration: underline; + } + .lg\:line-through { + text-decoration: line-through; + } + .lg\:no-underline { + text-decoration: none; + } + .lg\:antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .lg\:subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .lg\:hover\:italic:hover { + font-style: italic; + } + .lg\:hover\:roman:hover { + font-style: normal; + } + .lg\:hover\:uppercase:hover { + text-transform: uppercase; + } + .lg\:hover\:lowercase:hover { + text-transform: lowercase; + } + .lg\:hover\:capitalize:hover { + text-transform: capitalize; + } + .lg\:hover\:normal-case:hover { + text-transform: none; + } + .lg\:hover\:underline:hover { + text-decoration: underline; + } + .lg\:hover\:line-through:hover { + text-decoration: line-through; + } + .lg\:hover\:no-underline:hover { + text-decoration: none; + } + .lg\:hover\:antialiased:hover { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .lg\:hover\:subpixel-antialiased:hover { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .lg\:tracking-tight { + letter-spacing: -0.05em; + } + .lg\:tracking-normal { + letter-spacing: 0; + } + .lg\:tracking-wide { + letter-spacing: 0.05em; + } + .lg\:select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .lg\:select-text { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + .lg\:align-baseline { + vertical-align: baseline; + } + .lg\:align-top { + vertical-align: top; + } + .lg\:align-middle { + vertical-align: middle; + } + .lg\:align-bottom { + vertical-align: bottom; + } + .lg\:align-text-top { + vertical-align: text-top; + } + .lg\:align-text-bottom { + vertical-align: text-bottom; + } + .lg\:visible { + visibility: visible; + } + .lg\:invisible { + visibility: hidden; + } + .lg\:whitespace-normal { + white-space: normal; + } + .lg\:whitespace-no-wrap { + white-space: nowrap; + } + .lg\:whitespace-pre { + white-space: pre; + } + .lg\:whitespace-pre-line { + white-space: pre-line; + } + .lg\:whitespace-pre-wrap { + white-space: pre-wrap; + } + .lg\:break-words { + word-wrap: break-word; + } + .lg\:break-normal { + word-wrap: normal; + } + .lg\:truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .lg\:w-1 { + width: 0.25rem; + } + .lg\:w-2 { + width: 0.5rem; + } + .lg\:w-3 { + width: 0.75rem; + } + .lg\:w-4 { + width: 1rem; + } + .lg\:w-6 { + width: 1.5rem; + } + .lg\:w-8 { + width: 2rem; + } + .lg\:w-10 { + width: 2.5rem; + } + .lg\:w-12 { + width: 3rem; + } + .lg\:w-16 { + width: 4rem; + } + .lg\:w-24 { + width: 6rem; + } + .lg\:w-32 { + width: 8rem; + } + .lg\:w-48 { + width: 12rem; + } + .lg\:w-64 { + width: 16rem; + } + .lg\:w-auto { + width: auto; + } + .lg\:w-px { + width: 1px; + } + .lg\:w-1\/2 { + width: 50%; + } + .lg\:w-1\/3 { + width: 33.33333%; + } + .lg\:w-2\/3 { + width: 66.66667%; + } + .lg\:w-1\/4 { + width: 25%; + } + .lg\:w-3\/4 { + width: 75%; + } + .lg\:w-1\/5 { + width: 20%; + } + .lg\:w-2\/5 { + width: 40%; + } + .lg\:w-3\/5 { + width: 60%; + } + .lg\:w-4\/5 { + width: 80%; + } + .lg\:w-1\/6 { + width: 16.66667%; + } + .lg\:w-5\/6 { + width: 83.33333%; + } + .lg\:w-full { + width: 100%; + } + .lg\:w-screen { + width: 100vw; + } + .lg\:z-0 { + z-index: 0; + } + .lg\:z-10 { + z-index: 10; + } + .lg\:z-20 { + z-index: 20; + } + .lg\:z-30 { + z-index: 30; + } + .lg\:z-40 { + z-index: 40; + } + .lg\:z-50 { + z-index: 50; + } + .lg\:z-auto { + z-index: auto; + } +} +@media (min-width: 1200px) { + .xl\:list-reset { + list-style: none; + padding: 0; + } + .xl\:appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + } + .xl\:bg-fixed { + background-attachment: fixed; + } + .xl\:bg-local { + background-attachment: local; + } + .xl\:bg-scroll { + background-attachment: scroll; + } + .xl\:bg-transparent { + background-color: transparent; + } + .xl\:bg-black { + background-color: #22292f; + } + .xl\:bg-grey-darkest { + background-color: #3d4852; + } + .xl\:bg-grey-darker { + background-color: #606f7b; + } + .xl\:bg-grey-dark { + background-color: #8795a1; + } + .xl\:bg-grey { + background-color: #b8c2cc; + } + .xl\:bg-grey-light { + background-color: #dae1e7; + } + .xl\:bg-grey-lighter { + background-color: #f1f5f8; + } + .xl\:bg-grey-lightest { + background-color: #f8fafc; + } + .xl\:bg-white { + background-color: #fff; + } + .xl\:bg-red-darkest { + background-color: #3b0d0c; + } + .xl\:bg-red-darker { + background-color: #621b18; + } + .xl\:bg-red-dark { + background-color: #cc1f1a; + } + .xl\:bg-red { + background-color: #e3342f; + } + .xl\:bg-red-light { + background-color: #ef5753; + } + .xl\:bg-red-lighter { + background-color: #f9acaa; + } + .xl\:bg-red-lightest { + background-color: #fcebea; + } + .xl\:bg-orange-darkest { + background-color: #462a16; + } + .xl\:bg-orange-darker { + background-color: #613b1f; + } + .xl\:bg-orange-dark { + background-color: #de751f; + } + .xl\:bg-orange { + background-color: #f6993f; + } + .xl\:bg-orange-light { + background-color: #faad63; + } + .xl\:bg-orange-lighter { + background-color: #fcd9b6; + } + .xl\:bg-orange-lightest { + background-color: #fff5eb; + } + .xl\:bg-yellow-darkest { + background-color: #453411; + } + .xl\:bg-yellow-darker { + background-color: #684f1d; + } + .xl\:bg-yellow-dark { + background-color: #f2d024; + } + .xl\:bg-yellow { + background-color: #ffed4a; + } + .xl\:bg-yellow-light { + background-color: #fff382; + } + .xl\:bg-yellow-lighter { + background-color: #fff9c2; + } + .xl\:bg-yellow-lightest { + background-color: #fcfbeb; + } + .xl\:bg-green-darkest { + background-color: #0f2f21; + } + .xl\:bg-green-darker { + background-color: #1a4731; + } + .xl\:bg-green-dark { + background-color: #1f9d55; + } + .xl\:bg-green { + background-color: #38c172; + } + .xl\:bg-green-light { + background-color: #51d88a; + } + .xl\:bg-green-lighter { + background-color: #a2f5bf; + } + .xl\:bg-green-lightest { + background-color: #e3fcec; + } + .xl\:bg-teal-darkest { + background-color: #0d3331; + } + .xl\:bg-teal-darker { + background-color: #20504f; + } + .xl\:bg-teal-dark { + background-color: #38a89d; + } + .xl\:bg-teal { + background-color: #4dc0b5; + } + .xl\:bg-teal-light { + background-color: #64d5ca; + } + .xl\:bg-teal-lighter { + background-color: #a0f0ed; + } + .xl\:bg-teal-lightest { + background-color: #e8fffe; + } + .xl\:bg-blue-darkest { + background-color: #12283a; + } + .xl\:bg-blue-darker { + background-color: #1c3d5a; + } + .xl\:bg-blue-dark { + background-color: #2779bd; + } + .xl\:bg-blue { + background-color: #3490dc; + } + .xl\:bg-blue-light { + background-color: #6cb2eb; + } + .xl\:bg-blue-lighter { + background-color: #bcdefa; + } + .xl\:bg-blue-lightest { + background-color: #eff8ff; + } + .xl\:bg-indigo-darkest { + background-color: #191e38; + } + .xl\:bg-indigo-darker { + background-color: #2f365f; + } + .xl\:bg-indigo-dark { + background-color: #5661b3; + } + .xl\:bg-indigo { + background-color: #6574cd; + } + .xl\:bg-indigo-light { + background-color: #7886d7; + } + .xl\:bg-indigo-lighter { + background-color: #b2b7ff; + } + .xl\:bg-indigo-lightest { + background-color: #e6e8ff; + } + .xl\:bg-purple-darkest { + background-color: #21183c; + } + .xl\:bg-purple-darker { + background-color: #382b5f; + } + .xl\:bg-purple-dark { + background-color: #794acf; + } + .xl\:bg-purple { + background-color: #9561e2; + } + .xl\:bg-purple-light { + background-color: #a779e9; + } + .xl\:bg-purple-lighter { + background-color: #d6bbfc; + } + .xl\:bg-purple-lightest { + background-color: #f3ebff; + } + .xl\:bg-pink-darkest { + background-color: #451225; + } + .xl\:bg-pink-darker { + background-color: #6f213f; + } + .xl\:bg-pink-dark { + background-color: #eb5286; + } + .xl\:bg-pink { + background-color: #f66d9b; + } + .xl\:bg-pink-light { + background-color: #fa7ea8; + } + .xl\:bg-pink-lighter { + background-color: #ffbbca; + } + .xl\:bg-pink-lightest { + background-color: #ffebef; + } + .xl\:hover\:bg-transparent:hover { + background-color: transparent; + } + .xl\:hover\:bg-black:hover { + background-color: #22292f; + } + .xl\:hover\:bg-grey-darkest:hover { + background-color: #3d4852; + } + .xl\:hover\:bg-grey-darker:hover { + background-color: #606f7b; + } + .xl\:hover\:bg-grey-dark:hover { + background-color: #8795a1; + } + .xl\:hover\:bg-grey:hover { + background-color: #b8c2cc; + } + .xl\:hover\:bg-grey-light:hover { + background-color: #dae1e7; + } + .xl\:hover\:bg-grey-lighter:hover { + background-color: #f1f5f8; + } + .xl\:hover\:bg-grey-lightest:hover { + background-color: #f8fafc; + } + .xl\:hover\:bg-white:hover { + background-color: #fff; + } + .xl\:hover\:bg-red-darkest:hover { + background-color: #3b0d0c; + } + .xl\:hover\:bg-red-darker:hover { + background-color: #621b18; + } + .xl\:hover\:bg-red-dark:hover { + background-color: #cc1f1a; + } + .xl\:hover\:bg-red:hover { + background-color: #e3342f; + } + .xl\:hover\:bg-red-light:hover { + background-color: #ef5753; + } + .xl\:hover\:bg-red-lighter:hover { + background-color: #f9acaa; + } + .xl\:hover\:bg-red-lightest:hover { + background-color: #fcebea; + } + .xl\:hover\:bg-orange-darkest:hover { + background-color: #462a16; + } + .xl\:hover\:bg-orange-darker:hover { + background-color: #613b1f; + } + .xl\:hover\:bg-orange-dark:hover { + background-color: #de751f; + } + .xl\:hover\:bg-orange:hover { + background-color: #f6993f; + } + .xl\:hover\:bg-orange-light:hover { + background-color: #faad63; + } + .xl\:hover\:bg-orange-lighter:hover { + background-color: #fcd9b6; + } + .xl\:hover\:bg-orange-lightest:hover { + background-color: #fff5eb; + } + .xl\:hover\:bg-yellow-darkest:hover { + background-color: #453411; + } + .xl\:hover\:bg-yellow-darker:hover { + background-color: #684f1d; + } + .xl\:hover\:bg-yellow-dark:hover { + background-color: #f2d024; + } + .xl\:hover\:bg-yellow:hover { + background-color: #ffed4a; + } + .xl\:hover\:bg-yellow-light:hover { + background-color: #fff382; + } + .xl\:hover\:bg-yellow-lighter:hover { + background-color: #fff9c2; + } + .xl\:hover\:bg-yellow-lightest:hover { + background-color: #fcfbeb; + } + .xl\:hover\:bg-green-darkest:hover { + background-color: #0f2f21; + } + .xl\:hover\:bg-green-darker:hover { + background-color: #1a4731; + } + .xl\:hover\:bg-green-dark:hover { + background-color: #1f9d55; + } + .xl\:hover\:bg-green:hover { + background-color: #38c172; + } + .xl\:hover\:bg-green-light:hover { + background-color: #51d88a; + } + .xl\:hover\:bg-green-lighter:hover { + background-color: #a2f5bf; + } + .xl\:hover\:bg-green-lightest:hover { + background-color: #e3fcec; + } + .xl\:hover\:bg-teal-darkest:hover { + background-color: #0d3331; + } + .xl\:hover\:bg-teal-darker:hover { + background-color: #20504f; + } + .xl\:hover\:bg-teal-dark:hover { + background-color: #38a89d; + } + .xl\:hover\:bg-teal:hover { + background-color: #4dc0b5; + } + .xl\:hover\:bg-teal-light:hover { + background-color: #64d5ca; + } + .xl\:hover\:bg-teal-lighter:hover { + background-color: #a0f0ed; + } + .xl\:hover\:bg-teal-lightest:hover { + background-color: #e8fffe; + } + .xl\:hover\:bg-blue-darkest:hover { + background-color: #12283a; + } + .xl\:hover\:bg-blue-darker:hover { + background-color: #1c3d5a; + } + .xl\:hover\:bg-blue-dark:hover { + background-color: #2779bd; + } + .xl\:hover\:bg-blue:hover { + background-color: #3490dc; + } + .xl\:hover\:bg-blue-light:hover { + background-color: #6cb2eb; + } + .xl\:hover\:bg-blue-lighter:hover { + background-color: #bcdefa; + } + .xl\:hover\:bg-blue-lightest:hover { + background-color: #eff8ff; + } + .xl\:hover\:bg-indigo-darkest:hover { + background-color: #191e38; + } + .xl\:hover\:bg-indigo-darker:hover { + background-color: #2f365f; + } + .xl\:hover\:bg-indigo-dark:hover { + background-color: #5661b3; + } + .xl\:hover\:bg-indigo:hover { + background-color: #6574cd; + } + .xl\:hover\:bg-indigo-light:hover { + background-color: #7886d7; + } + .xl\:hover\:bg-indigo-lighter:hover { + background-color: #b2b7ff; + } + .xl\:hover\:bg-indigo-lightest:hover { + background-color: #e6e8ff; + } + .xl\:hover\:bg-purple-darkest:hover { + background-color: #21183c; + } + .xl\:hover\:bg-purple-darker:hover { + background-color: #382b5f; + } + .xl\:hover\:bg-purple-dark:hover { + background-color: #794acf; + } + .xl\:hover\:bg-purple:hover { + background-color: #9561e2; + } + .xl\:hover\:bg-purple-light:hover { + background-color: #a779e9; + } + .xl\:hover\:bg-purple-lighter:hover { + background-color: #d6bbfc; + } + .xl\:hover\:bg-purple-lightest:hover { + background-color: #f3ebff; + } + .xl\:hover\:bg-pink-darkest:hover { + background-color: #451225; + } + .xl\:hover\:bg-pink-darker:hover { + background-color: #6f213f; + } + .xl\:hover\:bg-pink-dark:hover { + background-color: #eb5286; + } + .xl\:hover\:bg-pink:hover { + background-color: #f66d9b; + } + .xl\:hover\:bg-pink-light:hover { + background-color: #fa7ea8; + } + .xl\:hover\:bg-pink-lighter:hover { + background-color: #ffbbca; + } + .xl\:hover\:bg-pink-lightest:hover { + background-color: #ffebef; + } + .xl\:bg-bottom { + background-position: bottom; + } + .xl\:bg-center { + background-position: center; + } + .xl\:bg-left { + background-position: left; + } + .xl\:bg-left-bottom { + background-position: left bottom; + } + .xl\:bg-left-top { + background-position: left top; + } + .xl\:bg-right { + background-position: right; + } + .xl\:bg-right-bottom { + background-position: right bottom; + } + .xl\:bg-right-top { + background-position: right top; + } + .xl\:bg-top { + background-position: top; + } + .xl\:bg-repeat { + background-repeat: repeat; + } + .xl\:bg-no-repeat { + background-repeat: no-repeat; + } + .xl\:bg-repeat-x { + background-repeat: repeat-x; + } + .xl\:bg-repeat-y { + background-repeat: repeat-y; + } + .xl\:bg-cover { + background-size: cover; + } + .xl\:bg-contain { + background-size: contain; + } + .xl\:border-transparent { + border-color: transparent; + } + .xl\:border-black { + border-color: #22292f; + } + .xl\:border-grey-darkest { + border-color: #3d4852; + } + .xl\:border-grey-darker { + border-color: #606f7b; + } + .xl\:border-grey-dark { + border-color: #8795a1; + } + .xl\:border-grey { + border-color: #b8c2cc; + } + .xl\:border-grey-light { + border-color: #dae1e7; + } + .xl\:border-grey-lighter { + border-color: #f1f5f8; + } + .xl\:border-grey-lightest { + border-color: #f8fafc; + } + .xl\:border-white { + border-color: #fff; + } + .xl\:border-red-darkest { + border-color: #3b0d0c; + } + .xl\:border-red-darker { + border-color: #621b18; + } + .xl\:border-red-dark { + border-color: #cc1f1a; + } + .xl\:border-red { + border-color: #e3342f; + } + .xl\:border-red-light { + border-color: #ef5753; + } + .xl\:border-red-lighter { + border-color: #f9acaa; + } + .xl\:border-red-lightest { + border-color: #fcebea; + } + .xl\:border-orange-darkest { + border-color: #462a16; + } + .xl\:border-orange-darker { + border-color: #613b1f; + } + .xl\:border-orange-dark { + border-color: #de751f; + } + .xl\:border-orange { + border-color: #f6993f; + } + .xl\:border-orange-light { + border-color: #faad63; + } + .xl\:border-orange-lighter { + border-color: #fcd9b6; + } + .xl\:border-orange-lightest { + border-color: #fff5eb; + } + .xl\:border-yellow-darkest { + border-color: #453411; + } + .xl\:border-yellow-darker { + border-color: #684f1d; + } + .xl\:border-yellow-dark { + border-color: #f2d024; + } + .xl\:border-yellow { + border-color: #ffed4a; + } + .xl\:border-yellow-light { + border-color: #fff382; + } + .xl\:border-yellow-lighter { + border-color: #fff9c2; + } + .xl\:border-yellow-lightest { + border-color: #fcfbeb; + } + .xl\:border-green-darkest { + border-color: #0f2f21; + } + .xl\:border-green-darker { + border-color: #1a4731; + } + .xl\:border-green-dark { + border-color: #1f9d55; + } + .xl\:border-green { + border-color: #38c172; + } + .xl\:border-green-light { + border-color: #51d88a; + } + .xl\:border-green-lighter { + border-color: #a2f5bf; + } + .xl\:border-green-lightest { + border-color: #e3fcec; + } + .xl\:border-teal-darkest { + border-color: #0d3331; + } + .xl\:border-teal-darker { + border-color: #20504f; + } + .xl\:border-teal-dark { + border-color: #38a89d; + } + .xl\:border-teal { + border-color: #4dc0b5; + } + .xl\:border-teal-light { + border-color: #64d5ca; + } + .xl\:border-teal-lighter { + border-color: #a0f0ed; + } + .xl\:border-teal-lightest { + border-color: #e8fffe; + } + .xl\:border-blue-darkest { + border-color: #12283a; + } + .xl\:border-blue-darker { + border-color: #1c3d5a; + } + .xl\:border-blue-dark { + border-color: #2779bd; + } + .xl\:border-blue { + border-color: #3490dc; + } + .xl\:border-blue-light { + border-color: #6cb2eb; + } + .xl\:border-blue-lighter { + border-color: #bcdefa; + } + .xl\:border-blue-lightest { + border-color: #eff8ff; + } + .xl\:border-indigo-darkest { + border-color: #191e38; + } + .xl\:border-indigo-darker { + border-color: #2f365f; + } + .xl\:border-indigo-dark { + border-color: #5661b3; + } + .xl\:border-indigo { + border-color: #6574cd; + } + .xl\:border-indigo-light { + border-color: #7886d7; + } + .xl\:border-indigo-lighter { + border-color: #b2b7ff; + } + .xl\:border-indigo-lightest { + border-color: #e6e8ff; + } + .xl\:border-purple-darkest { + border-color: #21183c; + } + .xl\:border-purple-darker { + border-color: #382b5f; + } + .xl\:border-purple-dark { + border-color: #794acf; + } + .xl\:border-purple { + border-color: #9561e2; + } + .xl\:border-purple-light { + border-color: #a779e9; + } + .xl\:border-purple-lighter { + border-color: #d6bbfc; + } + .xl\:border-purple-lightest { + border-color: #f3ebff; + } + .xl\:border-pink-darkest { + border-color: #451225; + } + .xl\:border-pink-darker { + border-color: #6f213f; + } + .xl\:border-pink-dark { + border-color: #eb5286; + } + .xl\:border-pink { + border-color: #f66d9b; + } + .xl\:border-pink-light { + border-color: #fa7ea8; + } + .xl\:border-pink-lighter { + border-color: #ffbbca; + } + .xl\:border-pink-lightest { + border-color: #ffebef; + } + .xl\:hover\:border-transparent:hover { + border-color: transparent; + } + .xl\:hover\:border-black:hover { + border-color: #22292f; + } + .xl\:hover\:border-grey-darkest:hover { + border-color: #3d4852; + } + .xl\:hover\:border-grey-darker:hover { + border-color: #606f7b; + } + .xl\:hover\:border-grey-dark:hover { + border-color: #8795a1; + } + .xl\:hover\:border-grey:hover { + border-color: #b8c2cc; + } + .xl\:hover\:border-grey-light:hover { + border-color: #dae1e7; + } + .xl\:hover\:border-grey-lighter:hover { + border-color: #f1f5f8; + } + .xl\:hover\:border-grey-lightest:hover { + border-color: #f8fafc; + } + .xl\:hover\:border-white:hover { + border-color: #fff; + } + .xl\:hover\:border-red-darkest:hover { + border-color: #3b0d0c; + } + .xl\:hover\:border-red-darker:hover { + border-color: #621b18; + } + .xl\:hover\:border-red-dark:hover { + border-color: #cc1f1a; + } + .xl\:hover\:border-red:hover { + border-color: #e3342f; + } + .xl\:hover\:border-red-light:hover { + border-color: #ef5753; + } + .xl\:hover\:border-red-lighter:hover { + border-color: #f9acaa; + } + .xl\:hover\:border-red-lightest:hover { + border-color: #fcebea; + } + .xl\:hover\:border-orange-darkest:hover { + border-color: #462a16; + } + .xl\:hover\:border-orange-darker:hover { + border-color: #613b1f; + } + .xl\:hover\:border-orange-dark:hover { + border-color: #de751f; + } + .xl\:hover\:border-orange:hover { + border-color: #f6993f; + } + .xl\:hover\:border-orange-light:hover { + border-color: #faad63; + } + .xl\:hover\:border-orange-lighter:hover { + border-color: #fcd9b6; + } + .xl\:hover\:border-orange-lightest:hover { + border-color: #fff5eb; + } + .xl\:hover\:border-yellow-darkest:hover { + border-color: #453411; + } + .xl\:hover\:border-yellow-darker:hover { + border-color: #684f1d; + } + .xl\:hover\:border-yellow-dark:hover { + border-color: #f2d024; + } + .xl\:hover\:border-yellow:hover { + border-color: #ffed4a; + } + .xl\:hover\:border-yellow-light:hover { + border-color: #fff382; + } + .xl\:hover\:border-yellow-lighter:hover { + border-color: #fff9c2; + } + .xl\:hover\:border-yellow-lightest:hover { + border-color: #fcfbeb; + } + .xl\:hover\:border-green-darkest:hover { + border-color: #0f2f21; + } + .xl\:hover\:border-green-darker:hover { + border-color: #1a4731; + } + .xl\:hover\:border-green-dark:hover { + border-color: #1f9d55; + } + .xl\:hover\:border-green:hover { + border-color: #38c172; + } + .xl\:hover\:border-green-light:hover { + border-color: #51d88a; + } + .xl\:hover\:border-green-lighter:hover { + border-color: #a2f5bf; + } + .xl\:hover\:border-green-lightest:hover { + border-color: #e3fcec; + } + .xl\:hover\:border-teal-darkest:hover { + border-color: #0d3331; + } + .xl\:hover\:border-teal-darker:hover { + border-color: #20504f; + } + .xl\:hover\:border-teal-dark:hover { + border-color: #38a89d; + } + .xl\:hover\:border-teal:hover { + border-color: #4dc0b5; + } + .xl\:hover\:border-teal-light:hover { + border-color: #64d5ca; + } + .xl\:hover\:border-teal-lighter:hover { + border-color: #a0f0ed; + } + .xl\:hover\:border-teal-lightest:hover { + border-color: #e8fffe; + } + .xl\:hover\:border-blue-darkest:hover { + border-color: #12283a; + } + .xl\:hover\:border-blue-darker:hover { + border-color: #1c3d5a; + } + .xl\:hover\:border-blue-dark:hover { + border-color: #2779bd; + } + .xl\:hover\:border-blue:hover { + border-color: #3490dc; + } + .xl\:hover\:border-blue-light:hover { + border-color: #6cb2eb; + } + .xl\:hover\:border-blue-lighter:hover { + border-color: #bcdefa; + } + .xl\:hover\:border-blue-lightest:hover { + border-color: #eff8ff; + } + .xl\:hover\:border-indigo-darkest:hover { + border-color: #191e38; + } + .xl\:hover\:border-indigo-darker:hover { + border-color: #2f365f; + } + .xl\:hover\:border-indigo-dark:hover { + border-color: #5661b3; + } + .xl\:hover\:border-indigo:hover { + border-color: #6574cd; + } + .xl\:hover\:border-indigo-light:hover { + border-color: #7886d7; + } + .xl\:hover\:border-indigo-lighter:hover { + border-color: #b2b7ff; + } + .xl\:hover\:border-indigo-lightest:hover { + border-color: #e6e8ff; + } + .xl\:hover\:border-purple-darkest:hover { + border-color: #21183c; + } + .xl\:hover\:border-purple-darker:hover { + border-color: #382b5f; + } + .xl\:hover\:border-purple-dark:hover { + border-color: #794acf; + } + .xl\:hover\:border-purple:hover { + border-color: #9561e2; + } + .xl\:hover\:border-purple-light:hover { + border-color: #a779e9; + } + .xl\:hover\:border-purple-lighter:hover { + border-color: #d6bbfc; + } + .xl\:hover\:border-purple-lightest:hover { + border-color: #f3ebff; + } + .xl\:hover\:border-pink-darkest:hover { + border-color: #451225; + } + .xl\:hover\:border-pink-darker:hover { + border-color: #6f213f; + } + .xl\:hover\:border-pink-dark:hover { + border-color: #eb5286; + } + .xl\:hover\:border-pink:hover { + border-color: #f66d9b; + } + .xl\:hover\:border-pink-light:hover { + border-color: #fa7ea8; + } + .xl\:hover\:border-pink-lighter:hover { + border-color: #ffbbca; + } + .xl\:hover\:border-pink-lightest:hover { + border-color: #ffebef; + } + .xl\:rounded-none { + border-radius: 0; + } + .xl\:rounded-sm { + border-radius: 0.125rem; + } + .xl\:rounded { + border-radius: 0.25rem; + } + .xl\:rounded-lg { + border-radius: 0.5rem; + } + .xl\:rounded-full { + border-radius: 9999px; + } + .xl\:rounded-t-none { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + .xl\:rounded-r-none { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .xl\:rounded-b-none { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + .xl\:rounded-l-none { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .xl\:rounded-t-sm { + border-top-left-radius: 0.125rem; + border-top-right-radius: 0.125rem; + } + .xl\:rounded-r-sm { + border-top-right-radius: 0.125rem; + border-bottom-right-radius: 0.125rem; + } + .xl\:rounded-b-sm { + border-bottom-right-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .xl\:rounded-l-sm { + border-top-left-radius: 0.125rem; + border-bottom-left-radius: 0.125rem; + } + .xl\:rounded-t { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + } + .xl\:rounded-r { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + } + .xl\:rounded-b { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .xl\:rounded-l { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + } + .xl\:rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; + } + .xl\:rounded-r-lg { + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; + } + .xl\:rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .xl\:rounded-l-lg { + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; + } + .xl\:rounded-t-full { + border-top-left-radius: 9999px; + border-top-right-radius: 9999px; + } + .xl\:rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; + } + .xl\:rounded-b-full { + border-bottom-right-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .xl\:rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; + } + .xl\:rounded-tl-none { + border-top-left-radius: 0; + } + .xl\:rounded-tr-none { + border-top-right-radius: 0; + } + .xl\:rounded-br-none { + border-bottom-right-radius: 0; + } + .xl\:rounded-bl-none { + border-bottom-left-radius: 0; + } + .xl\:rounded-tl-sm { + border-top-left-radius: 0.125rem; + } + .xl\:rounded-tr-sm { + border-top-right-radius: 0.125rem; + } + .xl\:rounded-br-sm { + border-bottom-right-radius: 0.125rem; + } + .xl\:rounded-bl-sm { + border-bottom-left-radius: 0.125rem; + } + .xl\:rounded-tl { + border-top-left-radius: 0.25rem; + } + .xl\:rounded-tr { + border-top-right-radius: 0.25rem; + } + .xl\:rounded-br { + border-bottom-right-radius: 0.25rem; + } + .xl\:rounded-bl { + border-bottom-left-radius: 0.25rem; + } + .xl\:rounded-tl-lg { + border-top-left-radius: 0.5rem; + } + .xl\:rounded-tr-lg { + border-top-right-radius: 0.5rem; + } + .xl\:rounded-br-lg { + border-bottom-right-radius: 0.5rem; + } + .xl\:rounded-bl-lg { + border-bottom-left-radius: 0.5rem; + } + .xl\:rounded-tl-full { + border-top-left-radius: 9999px; + } + .xl\:rounded-tr-full { + border-top-right-radius: 9999px; + } + .xl\:rounded-br-full { + border-bottom-right-radius: 9999px; + } + .xl\:rounded-bl-full { + border-bottom-left-radius: 9999px; + } + .xl\:border-solid { + border-style: solid; + } + .xl\:border-dashed { + border-style: dashed; + } + .xl\:border-dotted { + border-style: dotted; + } + .xl\:border-none { + border-style: none; + } + .xl\:border-0 { + border-width: 0; + } + .xl\:border-2 { + border-width: 2px; + } + .xl\:border-4 { + border-width: 4px; + } + .xl\:border-8 { + border-width: 8px; + } + .xl\:border { + border-width: 1px; + } + .xl\:border-t-0 { + border-top-width: 0; + } + .xl\:border-r-0 { + border-right-width: 0; + } + .xl\:border-b-0 { + border-bottom-width: 0; + } + .xl\:border-l-0 { + border-left-width: 0; + } + .xl\:border-t-2 { + border-top-width: 2px; + } + .xl\:border-r-2 { + border-right-width: 2px; + } + .xl\:border-b-2 { + border-bottom-width: 2px; + } + .xl\:border-l-2 { + border-left-width: 2px; + } + .xl\:border-t-4 { + border-top-width: 4px; + } + .xl\:border-r-4 { + border-right-width: 4px; + } + .xl\:border-b-4 { + border-bottom-width: 4px; + } + .xl\:border-l-4 { + border-left-width: 4px; + } + .xl\:border-t-8 { + border-top-width: 8px; + } + .xl\:border-r-8 { + border-right-width: 8px; + } + .xl\:border-b-8 { + border-bottom-width: 8px; + } + .xl\:border-l-8 { + border-left-width: 8px; + } + .xl\:border-t { + border-top-width: 1px; + } + .xl\:border-r { + border-right-width: 1px; + } + .xl\:border-b { + border-bottom-width: 1px; + } + .xl\:border-l { + border-left-width: 1px; + } + .xl\:cursor-auto { + cursor: auto; + } + .xl\:cursor-default { + cursor: default; + } + .xl\:cursor-pointer { + cursor: pointer; + } + .xl\:cursor-not-allowed { + cursor: not-allowed; + } + .xl\:block { + display: block; + } + .xl\:inline-block { + display: inline-block; + } + .xl\:inline { + display: inline; + } + .xl\:table { + display: table; + } + .xl\:table-row { + display: table-row; + } + .xl\:table-cell { + display: table-cell; + } + .xl\:hidden { + display: none; + } + .xl\:flex { + display: -webkit-box; + display: flex; + } + .xl\:inline-flex { + display: -webkit-inline-box; + display: inline-flex; + } + .xl\:flex-row { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + flex-direction: row; + } + .xl\:flex-row-reverse { + -webkit-box-orient: horizontal; + -webkit-box-direction: reverse; + flex-direction: row-reverse; + } + .xl\:flex-col { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + } + .xl\:flex-col-reverse { + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + flex-direction: column-reverse; + } + .xl\:flex-wrap { + flex-wrap: wrap; + } + .xl\:flex-wrap-reverse { + flex-wrap: wrap-reverse; + } + .xl\:flex-no-wrap { + flex-wrap: nowrap; + } + .xl\:items-start { + -webkit-box-align: start; + align-items: flex-start; + } + .xl\:items-end { + -webkit-box-align: end; + align-items: flex-end; + } + .xl\:items-center { + -webkit-box-align: center; + align-items: center; + } + .xl\:items-baseline { + -webkit-box-align: baseline; + align-items: baseline; + } + .xl\:items-stretch { + -webkit-box-align: stretch; + align-items: stretch; + } + .xl\:self-auto { + align-self: auto; + } + .xl\:self-start { + align-self: flex-start; + } + .xl\:self-end { + align-self: flex-end; + } + .xl\:self-center { + align-self: center; + } + .xl\:self-stretch { + align-self: stretch; + } + .xl\:justify-start { + -webkit-box-pack: start; + justify-content: flex-start; + } + .xl\:justify-end { + -webkit-box-pack: end; + justify-content: flex-end; + } + .xl\:justify-center { + -webkit-box-pack: center; + justify-content: center; + } + .xl\:justify-between { + -webkit-box-pack: justify; + justify-content: space-between; + } + .xl\:justify-around { + justify-content: space-around; + } + .xl\:content-center { + align-content: center; + } + .xl\:content-start { + align-content: flex-start; + } + .xl\:content-end { + align-content: flex-end; + } + .xl\:content-between { + align-content: space-between; + } + .xl\:content-around { + align-content: space-around; + } + .xl\:flex-1 { + -webkit-box-flex: 1; + flex: 1; + } + .xl\:flex-auto { + -webkit-box-flex: 1; + flex: auto; + } + .xl\:flex-initial { + -webkit-box-flex: initial; + flex: initial; + } + .xl\:flex-none { + -webkit-box-flex: 0; + flex: none; + } + .xl\:flex-grow { + -webkit-box-flex: 1; + flex-grow: 1; + } + .xl\:flex-shrink { + flex-shrink: 1; + } + .xl\:flex-no-grow { + -webkit-box-flex: 0; + flex-grow: 0; + } + .xl\:flex-no-shrink { + flex-shrink: 0; + } + .xl\:float-right { + float: right; + } + .xl\:float-left { + float: left; + } + .xl\:float-none { + float: none; + } + .xl\:clearfix:after { + content: ""; + display: table; + clear: both; + } + .xl\:font-sans { + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, + Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + } + .xl\:font-serif { + font-family: Constantia, Lucida Bright, Lucidabright, Lucida Serif, Lucida, DejaVu Serif, + Bitstream Vera Serif, Liberation Serif, Georgia, serif; + } + .xl\:font-mono { + font-family: Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace; + } + .xl\:font-hairline { + font-weight: 100; + } + .xl\:font-thin { + font-weight: 200; + } + .xl\:font-light { + font-weight: 300; + } + .xl\:font-normal { + font-weight: 400; + } + .xl\:font-medium { + font-weight: 500; + } + .xl\:font-semibold { + font-weight: 600; + } + .xl\:font-bold { + font-weight: 700; + } + .xl\:font-extrabold { + font-weight: 800; + } + .xl\:font-black { + font-weight: 900; + } + .xl\:hover\:font-hairline:hover { + font-weight: 100; + } + .xl\:hover\:font-thin:hover { + font-weight: 200; + } + .xl\:hover\:font-light:hover { + font-weight: 300; + } + .xl\:hover\:font-normal:hover { + font-weight: 400; + } + .xl\:hover\:font-medium:hover { + font-weight: 500; + } + .xl\:hover\:font-semibold:hover { + font-weight: 600; + } + .xl\:hover\:font-bold:hover { + font-weight: 700; + } + .xl\:hover\:font-extrabold:hover { + font-weight: 800; + } + .xl\:hover\:font-black:hover { + font-weight: 900; + } + .xl\:h-1 { + height: 0.25rem; + } + .xl\:h-2 { + height: 0.5rem; + } + .xl\:h-3 { + height: 0.75rem; + } + .xl\:h-4 { + height: 1rem; + } + .xl\:h-6 { + height: 1.5rem; + } + .xl\:h-8 { + height: 2rem; + } + .xl\:h-10 { + height: 2.5rem; + } + .xl\:h-12 { + height: 3rem; + } + .xl\:h-16 { + height: 4rem; + } + .xl\:h-24 { + height: 6rem; + } + .xl\:h-32 { + height: 8rem; + } + .xl\:h-48 { + height: 12rem; + } + .xl\:h-64 { + height: 16rem; + } + .xl\:h-auto { + height: auto; + } + .xl\:h-px { + height: 1px; + } + .xl\:h-full { + height: 100%; + } + .xl\:h-screen { + height: 100vh; + } + .xl\:leading-none { + line-height: 1; + } + .xl\:leading-tight { + line-height: 1.25; + } + .xl\:leading-normal { + line-height: 1.5; + } + .xl\:leading-loose { + line-height: 2; + } + .xl\:m-0 { + margin: 0; + } + .xl\:m-1 { + margin: 0.25rem; + } + .xl\:m-2 { + margin: 0.5rem; + } + .xl\:m-3 { + margin: 0.75rem; + } + .xl\:m-4 { + margin: 1rem; + } + .xl\:m-6 { + margin: 1.5rem; + } + .xl\:m-8 { + margin: 2rem; + } + .xl\:m-auto { + margin: auto; + } + .xl\:m-px { + margin: 1px; + } + .xl\:my-0 { + margin-top: 0; + margin-bottom: 0; + } + .xl\:mx-0 { + margin-left: 0; + margin-right: 0; + } + .xl\:my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; + } + .xl\:mx-1 { + margin-left: 0.25rem; + margin-right: 0.25rem; + } + .xl\:my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; + } + .xl\:mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; + } + .xl\:my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; + } + .xl\:mx-3 { + margin-left: 0.75rem; + margin-right: 0.75rem; + } + .xl\:my-4 { + margin-top: 1rem; + margin-bottom: 1rem; + } + .xl\:mx-4 { + margin-left: 1rem; + margin-right: 1rem; + } + .xl\:my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + } + .xl\:mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; + } + .xl\:my-8 { + margin-top: 2rem; + margin-bottom: 2rem; + } + .xl\:mx-8 { + margin-left: 2rem; + margin-right: 2rem; + } + .xl\:my-auto { + margin-top: auto; + margin-bottom: auto; + } + .xl\:mx-auto { + margin-left: auto; + margin-right: auto; + } + .xl\:my-px { + margin-top: 1px; + margin-bottom: 1px; + } + .xl\:mx-px { + margin-left: 1px; + margin-right: 1px; + } + .xl\:mt-0 { + margin-top: 0; + } + .xl\:mr-0 { + margin-right: 0; + } + .xl\:mb-0 { + margin-bottom: 0; + } + .xl\:ml-0 { + margin-left: 0; + } + .xl\:mt-1 { + margin-top: 0.25rem; + } + .xl\:mr-1 { + margin-right: 0.25rem; + } + .xl\:mb-1 { + margin-bottom: 0.25rem; + } + .xl\:ml-1 { + margin-left: 0.25rem; + } + .xl\:mt-2 { + margin-top: 0.5rem; + } + .xl\:mr-2 { + margin-right: 0.5rem; + } + .xl\:mb-2 { + margin-bottom: 0.5rem; + } + .xl\:ml-2 { + margin-left: 0.5rem; + } + .xl\:mt-3 { + margin-top: 0.75rem; + } + .xl\:mr-3 { + margin-right: 0.75rem; + } + .xl\:mb-3 { + margin-bottom: 0.75rem; + } + .xl\:ml-3 { + margin-left: 0.75rem; + } + .xl\:mt-4 { + margin-top: 1rem; + } + .xl\:mr-4 { + margin-right: 1rem; + } + .xl\:mb-4 { + margin-bottom: 1rem; + } + .xl\:ml-4 { + margin-left: 1rem; + } + .xl\:mt-6 { + margin-top: 1.5rem; + } + .xl\:mr-6 { + margin-right: 1.5rem; + } + .xl\:mb-6 { + margin-bottom: 1.5rem; + } + .xl\:ml-6 { + margin-left: 1.5rem; + } + .xl\:mt-8 { + margin-top: 2rem; + } + .xl\:mr-8 { + margin-right: 2rem; + } + .xl\:mb-8 { + margin-bottom: 2rem; + } + .xl\:ml-8 { + margin-left: 2rem; + } + .xl\:mt-auto { + margin-top: auto; + } + .xl\:mr-auto { + margin-right: auto; + } + .xl\:mb-auto { + margin-bottom: auto; + } + .xl\:ml-auto { + margin-left: auto; + } + .xl\:mt-px { + margin-top: 1px; + } + .xl\:mr-px { + margin-right: 1px; + } + .xl\:mb-px { + margin-bottom: 1px; + } + .xl\:ml-px { + margin-left: 1px; + } + .xl\:max-h-full { + max-height: 100%; + } + .xl\:max-h-screen { + max-height: 100vh; + } + .xl\:max-w-xs { + max-width: 20rem; + } + .xl\:max-w-sm { + max-width: 30rem; + } + .xl\:max-w-md { + max-width: 40rem; + } + .xl\:max-w-lg { + max-width: 50rem; + } + .xl\:max-w-xl { + max-width: 60rem; + } + .xl\:max-w-2xl { + max-width: 70rem; + } + .xl\:max-w-3xl { + max-width: 80rem; + } + .xl\:max-w-4xl { + max-width: 90rem; + } + .xl\:max-w-5xl { + max-width: 100rem; + } + .xl\:max-w-full { + max-width: 100%; + } + .xl\:min-h-0 { + min-height: 0; + } + .xl\:min-h-full { + min-height: 100%; + } + .xl\:min-h-screen { + min-height: 100vh; + } + .xl\:min-w-0 { + min-width: 0; + } + .xl\:min-w-full { + min-width: 100%; + } + .xl\:-m-0 { + margin: 0; + } + .xl\:-m-1 { + margin: -0.25rem; + } + .xl\:-m-2 { + margin: -0.5rem; + } + .xl\:-m-3 { + margin: -0.75rem; + } + .xl\:-m-4 { + margin: -1rem; + } + .xl\:-m-6 { + margin: -1.5rem; + } + .xl\:-m-8 { + margin: -2rem; + } + .xl\:-m-px { + margin: -1px; + } + .xl\:-my-0 { + margin-top: 0; + margin-bottom: 0; + } + .xl\:-mx-0 { + margin-left: 0; + margin-right: 0; + } + .xl\:-my-1 { + margin-top: -0.25rem; + margin-bottom: -0.25rem; + } + .xl\:-mx-1 { + margin-left: -0.25rem; + margin-right: -0.25rem; + } + .xl\:-my-2 { + margin-top: -0.5rem; + margin-bottom: -0.5rem; + } + .xl\:-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; + } + .xl\:-my-3 { + margin-top: -0.75rem; + margin-bottom: -0.75rem; + } + .xl\:-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; + } + .xl\:-my-4 { + margin-top: -1rem; + margin-bottom: -1rem; + } + .xl\:-mx-4 { + margin-left: -1rem; + margin-right: -1rem; + } + .xl\:-my-6 { + margin-top: -1.5rem; + margin-bottom: -1.5rem; + } + .xl\:-mx-6 { + margin-left: -1.5rem; + margin-right: -1.5rem; + } + .xl\:-my-8 { + margin-top: -2rem; + margin-bottom: -2rem; + } + .xl\:-mx-8 { + margin-left: -2rem; + margin-right: -2rem; + } + .xl\:-my-px { + margin-top: -1px; + margin-bottom: -1px; + } + .xl\:-mx-px { + margin-left: -1px; + margin-right: -1px; + } + .xl\:-mt-0 { + margin-top: 0; + } + .xl\:-mr-0 { + margin-right: 0; + } + .xl\:-mb-0 { + margin-bottom: 0; + } + .xl\:-ml-0 { + margin-left: 0; + } + .xl\:-mt-1 { + margin-top: -0.25rem; + } + .xl\:-mr-1 { + margin-right: -0.25rem; + } + .xl\:-mb-1 { + margin-bottom: -0.25rem; + } + .xl\:-ml-1 { + margin-left: -0.25rem; + } + .xl\:-mt-2 { + margin-top: -0.5rem; + } + .xl\:-mr-2 { + margin-right: -0.5rem; + } + .xl\:-mb-2 { + margin-bottom: -0.5rem; + } + .xl\:-ml-2 { + margin-left: -0.5rem; + } + .xl\:-mt-3 { + margin-top: -0.75rem; + } + .xl\:-mr-3 { + margin-right: -0.75rem; + } + .xl\:-mb-3 { + margin-bottom: -0.75rem; + } + .xl\:-ml-3 { + margin-left: -0.75rem; + } + .xl\:-mt-4 { + margin-top: -1rem; + } + .xl\:-mr-4 { + margin-right: -1rem; + } + .xl\:-mb-4 { + margin-bottom: -1rem; + } + .xl\:-ml-4 { + margin-left: -1rem; + } + .xl\:-mt-6 { + margin-top: -1.5rem; + } + .xl\:-mr-6 { + margin-right: -1.5rem; + } + .xl\:-mb-6 { + margin-bottom: -1.5rem; + } + .xl\:-ml-6 { + margin-left: -1.5rem; + } + .xl\:-mt-8 { + margin-top: -2rem; + } + .xl\:-mr-8 { + margin-right: -2rem; + } + .xl\:-mb-8 { + margin-bottom: -2rem; + } + .xl\:-ml-8 { + margin-left: -2rem; + } + .xl\:-mt-px { + margin-top: -1px; + } + .xl\:-mr-px { + margin-right: -1px; + } + .xl\:-mb-px { + margin-bottom: -1px; + } + .xl\:-ml-px { + margin-left: -1px; + } + .xl\:opacity-0 { + opacity: 0; + } + .xl\:opacity-25 { + opacity: 0.25; + } + .xl\:opacity-50 { + opacity: 0.5; + } + .xl\:opacity-75 { + opacity: 0.75; + } + .xl\:opacity-100 { + opacity: 1; + } + .xl\:overflow-auto { + overflow: auto; + } + .xl\:overflow-hidden { + overflow: hidden; + } + .xl\:overflow-visible { + overflow: visible; + } + .xl\:overflow-scroll { + overflow: scroll; + } + .xl\:overflow-x-scroll { + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .xl\:overflow-y-scroll { + overflow-y: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + } + .xl\:scrolling-touch { + -webkit-overflow-scrolling: touch; + } + .xl\:scrolling-auto { + -webkit-overflow-scrolling: auto; + } + .xl\:p-0 { + padding: 0; + } + .xl\:p-1 { + padding: 0.25rem; + } + .xl\:p-2 { + padding: 0.5rem; + } + .xl\:p-3 { + padding: 0.75rem; + } + .xl\:p-4 { + padding: 1rem; + } + .xl\:p-6 { + padding: 1.5rem; + } + .xl\:p-8 { + padding: 2rem; + } + .xl\:p-px { + padding: 1px; + } + .xl\:py-0 { + padding-top: 0; + padding-bottom: 0; + } + .xl\:px-0 { + padding-left: 0; + padding-right: 0; + } + .xl\:py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + .xl\:px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + .xl\:py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + .xl\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + .xl\:py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + .xl\:px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + .xl\:py-4 { + padding-top: 1rem; + padding-bottom: 1rem; + } + .xl\:px-4 { + padding-left: 1rem; + padding-right: 1rem; + } + .xl\:py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + .xl\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + .xl\:py-8 { + padding-top: 2rem; + padding-bottom: 2rem; + } + .xl\:px-8 { + padding-left: 2rem; + padding-right: 2rem; + } + .xl\:py-px { + padding-top: 1px; + padding-bottom: 1px; + } + .xl\:px-px { + padding-left: 1px; + padding-right: 1px; + } + .xl\:pt-0 { + padding-top: 0; + } + .xl\:pr-0 { + padding-right: 0; + } + .xl\:pb-0 { + padding-bottom: 0; + } + .xl\:pl-0 { + padding-left: 0; + } + .xl\:pt-1 { + padding-top: 0.25rem; + } + .xl\:pr-1 { + padding-right: 0.25rem; + } + .xl\:pb-1 { + padding-bottom: 0.25rem; + } + .xl\:pl-1 { + padding-left: 0.25rem; + } + .xl\:pt-2 { + padding-top: 0.5rem; + } + .xl\:pr-2 { + padding-right: 0.5rem; + } + .xl\:pb-2 { + padding-bottom: 0.5rem; + } + .xl\:pl-2 { + padding-left: 0.5rem; + } + .xl\:pt-3 { + padding-top: 0.75rem; + } + .xl\:pr-3 { + padding-right: 0.75rem; + } + .xl\:pb-3 { + padding-bottom: 0.75rem; + } + .xl\:pl-3 { + padding-left: 0.75rem; + } + .xl\:pt-4 { + padding-top: 1rem; + } + .xl\:pr-4 { + padding-right: 1rem; + } + .xl\:pb-4 { + padding-bottom: 1rem; + } + .xl\:pl-4 { + padding-left: 1rem; + } + .xl\:pt-6 { + padding-top: 1.5rem; + } + .xl\:pr-6 { + padding-right: 1.5rem; + } + .xl\:pb-6 { + padding-bottom: 1.5rem; + } + .xl\:pl-6 { + padding-left: 1.5rem; + } + .xl\:pt-8 { + padding-top: 2rem; + } + .xl\:pr-8 { + padding-right: 2rem; + } + .xl\:pb-8 { + padding-bottom: 2rem; + } + .xl\:pl-8 { + padding-left: 2rem; + } + .xl\:pt-px { + padding-top: 1px; + } + .xl\:pr-px { + padding-right: 1px; + } + .xl\:pb-px { + padding-bottom: 1px; + } + .xl\:pl-px { + padding-left: 1px; + } + .xl\:pointer-events-none { + pointer-events: none; + } + .xl\:pointer-events-auto { + pointer-events: auto; + } + .xl\:static { + position: static; + } + .xl\:fixed { + position: fixed; + } + .xl\:absolute { + position: absolute; + } + .xl\:relative { + position: relative; + } + .xl\:pin-none { + top: auto; + right: auto; + bottom: auto; + left: auto; + } + .xl\:pin { + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .xl\:pin-y { + top: 0; + bottom: 0; + } + .xl\:pin-x { + right: 0; + left: 0; + } + .xl\:pin-t { + top: 0; + } + .xl\:pin-r { + right: 0; + } + .xl\:pin-b { + bottom: 0; + } + .xl\:pin-l { + left: 0; + } + .xl\:resize-none { + resize: none; + } + .xl\:resize-y { + resize: vertical; + } + .xl\:resize-x { + resize: horizontal; + } + .xl\:resize { + resize: both; + } + .xl\:shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + } + .xl\:shadow-md { + box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); + } + .xl\:shadow-lg { + box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); + } + .xl\:shadow-inner { + box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); + } + .xl\:shadow-none { + box-shadow: none; + } + .xl\:text-left { + text-align: left; + } + .xl\:text-center { + text-align: center; + } + .xl\:text-right { + text-align: right; + } + .xl\:text-justify { + text-align: justify; + } + .xl\:text-transparent { + color: transparent; + } + .xl\:text-black { + color: #22292f; + } + .xl\:text-grey-darkest { + color: #3d4852; + } + .xl\:text-grey-darker { + color: #606f7b; + } + .xl\:text-grey-dark { + color: #8795a1; + } + .xl\:text-grey { + color: #b8c2cc; + } + .xl\:text-grey-light { + color: #dae1e7; + } + .xl\:text-grey-lighter { + color: #f1f5f8; + } + .xl\:text-grey-lightest { + color: #f8fafc; + } + .xl\:text-white { + color: #fff; + } + .xl\:text-red-darkest { + color: #3b0d0c; + } + .xl\:text-red-darker { + color: #621b18; + } + .xl\:text-red-dark { + color: #cc1f1a; + } + .xl\:text-red { + color: #e3342f; + } + .xl\:text-red-light { + color: #ef5753; + } + .xl\:text-red-lighter { + color: #f9acaa; + } + .xl\:text-red-lightest { + color: #fcebea; + } + .xl\:text-orange-darkest { + color: #462a16; + } + .xl\:text-orange-darker { + color: #613b1f; + } + .xl\:text-orange-dark { + color: #de751f; + } + .xl\:text-orange { + color: #f6993f; + } + .xl\:text-orange-light { + color: #faad63; + } + .xl\:text-orange-lighter { + color: #fcd9b6; + } + .xl\:text-orange-lightest { + color: #fff5eb; + } + .xl\:text-yellow-darkest { + color: #453411; + } + .xl\:text-yellow-darker { + color: #684f1d; + } + .xl\:text-yellow-dark { + color: #f2d024; + } + .xl\:text-yellow { + color: #ffed4a; + } + .xl\:text-yellow-light { + color: #fff382; + } + .xl\:text-yellow-lighter { + color: #fff9c2; + } + .xl\:text-yellow-lightest { + color: #fcfbeb; + } + .xl\:text-green-darkest { + color: #0f2f21; + } + .xl\:text-green-darker { + color: #1a4731; + } + .xl\:text-green-dark { + color: #1f9d55; + } + .xl\:text-green { + color: #38c172; + } + .xl\:text-green-light { + color: #51d88a; + } + .xl\:text-green-lighter { + color: #a2f5bf; + } + .xl\:text-green-lightest { + color: #e3fcec; + } + .xl\:text-teal-darkest { + color: #0d3331; + } + .xl\:text-teal-darker { + color: #20504f; + } + .xl\:text-teal-dark { + color: #38a89d; + } + .xl\:text-teal { + color: #4dc0b5; + } + .xl\:text-teal-light { + color: #64d5ca; + } + .xl\:text-teal-lighter { + color: #a0f0ed; + } + .xl\:text-teal-lightest { + color: #e8fffe; + } + .xl\:text-blue-darkest { + color: #12283a; + } + .xl\:text-blue-darker { + color: #1c3d5a; + } + .xl\:text-blue-dark { + color: #2779bd; + } + .xl\:text-blue { + color: #3490dc; + } + .xl\:text-blue-light { + color: #6cb2eb; + } + .xl\:text-blue-lighter { + color: #bcdefa; + } + .xl\:text-blue-lightest { + color: #eff8ff; + } + .xl\:text-indigo-darkest { + color: #191e38; + } + .xl\:text-indigo-darker { + color: #2f365f; + } + .xl\:text-indigo-dark { + color: #5661b3; + } + .xl\:text-indigo { + color: #6574cd; + } + .xl\:text-indigo-light { + color: #7886d7; + } + .xl\:text-indigo-lighter { + color: #b2b7ff; + } + .xl\:text-indigo-lightest { + color: #e6e8ff; + } + .xl\:text-purple-darkest { + color: #21183c; + } + .xl\:text-purple-darker { + color: #382b5f; + } + .xl\:text-purple-dark { + color: #794acf; + } + .xl\:text-purple { + color: #9561e2; + } + .xl\:text-purple-light { + color: #a779e9; + } + .xl\:text-purple-lighter { + color: #d6bbfc; + } + .xl\:text-purple-lightest { + color: #f3ebff; + } + .xl\:text-pink-darkest { + color: #451225; + } + .xl\:text-pink-darker { + color: #6f213f; + } + .xl\:text-pink-dark { + color: #eb5286; + } + .xl\:text-pink { + color: #f66d9b; + } + .xl\:text-pink-light { + color: #fa7ea8; + } + .xl\:text-pink-lighter { + color: #ffbbca; + } + .xl\:text-pink-lightest { + color: #ffebef; + } + .xl\:hover\:text-transparent:hover { + color: transparent; + } + .xl\:hover\:text-black:hover { + color: #22292f; + } + .xl\:hover\:text-grey-darkest:hover { + color: #3d4852; + } + .xl\:hover\:text-grey-darker:hover { + color: #606f7b; + } + .xl\:hover\:text-grey-dark:hover { + color: #8795a1; + } + .xl\:hover\:text-grey:hover { + color: #b8c2cc; + } + .xl\:hover\:text-grey-light:hover { + color: #dae1e7; + } + .xl\:hover\:text-grey-lighter:hover { + color: #f1f5f8; + } + .xl\:hover\:text-grey-lightest:hover { + color: #f8fafc; + } + .xl\:hover\:text-white:hover { + color: #fff; + } + .xl\:hover\:text-red-darkest:hover { + color: #3b0d0c; + } + .xl\:hover\:text-red-darker:hover { + color: #621b18; + } + .xl\:hover\:text-red-dark:hover { + color: #cc1f1a; + } + .xl\:hover\:text-red:hover { + color: #e3342f; + } + .xl\:hover\:text-red-light:hover { + color: #ef5753; + } + .xl\:hover\:text-red-lighter:hover { + color: #f9acaa; + } + .xl\:hover\:text-red-lightest:hover { + color: #fcebea; + } + .xl\:hover\:text-orange-darkest:hover { + color: #462a16; + } + .xl\:hover\:text-orange-darker:hover { + color: #613b1f; + } + .xl\:hover\:text-orange-dark:hover { + color: #de751f; + } + .xl\:hover\:text-orange:hover { + color: #f6993f; + } + .xl\:hover\:text-orange-light:hover { + color: #faad63; + } + .xl\:hover\:text-orange-lighter:hover { + color: #fcd9b6; + } + .xl\:hover\:text-orange-lightest:hover { + color: #fff5eb; + } + .xl\:hover\:text-yellow-darkest:hover { + color: #453411; + } + .xl\:hover\:text-yellow-darker:hover { + color: #684f1d; + } + .xl\:hover\:text-yellow-dark:hover { + color: #f2d024; + } + .xl\:hover\:text-yellow:hover { + color: #ffed4a; + } + .xl\:hover\:text-yellow-light:hover { + color: #fff382; + } + .xl\:hover\:text-yellow-lighter:hover { + color: #fff9c2; + } + .xl\:hover\:text-yellow-lightest:hover { + color: #fcfbeb; + } + .xl\:hover\:text-green-darkest:hover { + color: #0f2f21; + } + .xl\:hover\:text-green-darker:hover { + color: #1a4731; + } + .xl\:hover\:text-green-dark:hover { + color: #1f9d55; + } + .xl\:hover\:text-green:hover { + color: #38c172; + } + .xl\:hover\:text-green-light:hover { + color: #51d88a; + } + .xl\:hover\:text-green-lighter:hover { + color: #a2f5bf; + } + .xl\:hover\:text-green-lightest:hover { + color: #e3fcec; + } + .xl\:hover\:text-teal-darkest:hover { + color: #0d3331; + } + .xl\:hover\:text-teal-darker:hover { + color: #20504f; + } + .xl\:hover\:text-teal-dark:hover { + color: #38a89d; + } + .xl\:hover\:text-teal:hover { + color: #4dc0b5; + } + .xl\:hover\:text-teal-light:hover { + color: #64d5ca; + } + .xl\:hover\:text-teal-lighter:hover { + color: #a0f0ed; + } + .xl\:hover\:text-teal-lightest:hover { + color: #e8fffe; + } + .xl\:hover\:text-blue-darkest:hover { + color: #12283a; + } + .xl\:hover\:text-blue-darker:hover { + color: #1c3d5a; + } + .xl\:hover\:text-blue-dark:hover { + color: #2779bd; + } + .xl\:hover\:text-blue:hover { + color: #3490dc; + } + .xl\:hover\:text-blue-light:hover { + color: #6cb2eb; + } + .xl\:hover\:text-blue-lighter:hover { + color: #bcdefa; + } + .xl\:hover\:text-blue-lightest:hover { + color: #eff8ff; + } + .xl\:hover\:text-indigo-darkest:hover { + color: #191e38; + } + .xl\:hover\:text-indigo-darker:hover { + color: #2f365f; + } + .xl\:hover\:text-indigo-dark:hover { + color: #5661b3; + } + .xl\:hover\:text-indigo:hover { + color: #6574cd; + } + .xl\:hover\:text-indigo-light:hover { + color: #7886d7; + } + .xl\:hover\:text-indigo-lighter:hover { + color: #b2b7ff; + } + .xl\:hover\:text-indigo-lightest:hover { + color: #e6e8ff; + } + .xl\:hover\:text-purple-darkest:hover { + color: #21183c; + } + .xl\:hover\:text-purple-darker:hover { + color: #382b5f; + } + .xl\:hover\:text-purple-dark:hover { + color: #794acf; + } + .xl\:hover\:text-purple:hover { + color: #9561e2; + } + .xl\:hover\:text-purple-light:hover { + color: #a779e9; + } + .xl\:hover\:text-purple-lighter:hover { + color: #d6bbfc; + } + .xl\:hover\:text-purple-lightest:hover { + color: #f3ebff; + } + .xl\:hover\:text-pink-darkest:hover { + color: #451225; + } + .xl\:hover\:text-pink-darker:hover { + color: #6f213f; + } + .xl\:hover\:text-pink-dark:hover { + color: #eb5286; + } + .xl\:hover\:text-pink:hover { + color: #f66d9b; + } + .xl\:hover\:text-pink-light:hover { + color: #fa7ea8; + } + .xl\:hover\:text-pink-lighter:hover { + color: #ffbbca; + } + .xl\:hover\:text-pink-lightest:hover { + color: #ffebef; + } + .xl\:text-xs { + font-size: 0.75rem; + } + .xl\:text-sm { + font-size: 0.875rem; + } + .xl\:text-base { + font-size: 1rem; + } + .xl\:text-lg { + font-size: 1.125rem; + } + .xl\:text-xl { + font-size: 1.25rem; + } + .xl\:text-2xl { + font-size: 1.5rem; + } + .xl\:text-3xl { + font-size: 1.875rem; + } + .xl\:text-4xl { + font-size: 2.25rem; + } + .xl\:text-5xl { + font-size: 3rem; + } + .xl\:italic { + font-style: italic; + } + .xl\:roman { + font-style: normal; + } + .xl\:uppercase { + text-transform: uppercase; + } + .xl\:lowercase { + text-transform: lowercase; + } + .xl\:capitalize { + text-transform: capitalize; + } + .xl\:normal-case { + text-transform: none; + } + .xl\:underline { + text-decoration: underline; + } + .xl\:line-through { + text-decoration: line-through; + } + .xl\:no-underline { + text-decoration: none; + } + .xl\:antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .xl\:subpixel-antialiased { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .xl\:hover\:italic:hover { + font-style: italic; + } + .xl\:hover\:roman:hover { + font-style: normal; + } + .xl\:hover\:uppercase:hover { + text-transform: uppercase; + } + .xl\:hover\:lowercase:hover { + text-transform: lowercase; + } + .xl\:hover\:capitalize:hover { + text-transform: capitalize; + } + .xl\:hover\:normal-case:hover { + text-transform: none; + } + .xl\:hover\:underline:hover { + text-decoration: underline; + } + .xl\:hover\:line-through:hover { + text-decoration: line-through; + } + .xl\:hover\:no-underline:hover { + text-decoration: none; + } + .xl\:hover\:antialiased:hover { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + .xl\:hover\:subpixel-antialiased:hover { + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; + } + .xl\:tracking-tight { + letter-spacing: -0.05em; + } + .xl\:tracking-normal { + letter-spacing: 0; + } + .xl\:tracking-wide { + letter-spacing: 0.05em; + } + .xl\:select-none { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .xl\:select-text { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + } + .xl\:align-baseline { + vertical-align: baseline; + } + .xl\:align-top { + vertical-align: top; + } + .xl\:align-middle { + vertical-align: middle; + } + .xl\:align-bottom { + vertical-align: bottom; + } + .xl\:align-text-top { + vertical-align: text-top; + } + .xl\:align-text-bottom { + vertical-align: text-bottom; + } + .xl\:visible { + visibility: visible; + } + .xl\:invisible { + visibility: hidden; + } + .xl\:whitespace-normal { + white-space: normal; + } + .xl\:whitespace-no-wrap { + white-space: nowrap; + } + .xl\:whitespace-pre { + white-space: pre; + } + .xl\:whitespace-pre-line { + white-space: pre-line; + } + .xl\:whitespace-pre-wrap { + white-space: pre-wrap; + } + .xl\:break-words { + word-wrap: break-word; + } + .xl\:break-normal { + word-wrap: normal; + } + .xl\:truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .xl\:w-1 { + width: 0.25rem; + } + .xl\:w-2 { + width: 0.5rem; + } + .xl\:w-3 { + width: 0.75rem; + } + .xl\:w-4 { + width: 1rem; + } + .xl\:w-6 { + width: 1.5rem; + } + .xl\:w-8 { + width: 2rem; + } + .xl\:w-10 { + width: 2.5rem; + } + .xl\:w-12 { + width: 3rem; + } + .xl\:w-16 { + width: 4rem; + } + .xl\:w-24 { + width: 6rem; + } + .xl\:w-32 { + width: 8rem; + } + .xl\:w-48 { + width: 12rem; + } + .xl\:w-64 { + width: 16rem; + } + .xl\:w-auto { + width: auto; + } + .xl\:w-px { + width: 1px; + } + .xl\:w-1\/2 { + width: 50%; + } + .xl\:w-1\/3 { + width: 33.33333%; + } + .xl\:w-2\/3 { + width: 66.66667%; + } + .xl\:w-1\/4 { + width: 25%; + } + .xl\:w-3\/4 { + width: 75%; + } + .xl\:w-1\/5 { + width: 20%; + } + .xl\:w-2\/5 { + width: 40%; + } + .xl\:w-3\/5 { + width: 60%; + } + .xl\:w-4\/5 { + width: 80%; + } + .xl\:w-1\/6 { + width: 16.66667%; + } + .xl\:w-5\/6 { + width: 83.33333%; + } + .xl\:w-full { + width: 100%; + } + .xl\:w-screen { + width: 100vw; + } + .xl\:z-0 { + z-index: 0; + } + .xl\:z-10 { + z-index: 10; + } + .xl\:z-20 { + z-index: 20; + } + .xl\:z-30 { + z-index: 30; + } + .xl\:z-40 { + z-index: 40; + } + .xl\:z-50 { + z-index: 50; + } + .xl\:z-auto { + z-index: auto; + } +} diff --git a/packages/browser-sync/test/fixtures/username.github.io/index.html b/packages/browser-sync/test/fixtures/username.github.io/index.html index 9d98d2d76..2d46f4c5c 100644 --- a/packages/browser-sync/test/fixtures/username.github.io/index.html +++ b/packages/browser-sync/test/fixtures/username.github.io/index.html @@ -1,12 +1,15 @@ - + - - - - - Document - - -

- + + + + + Document + + +

+ diff --git a/packages/browser-sync/test/fixtures2/style-alt.css b/packages/browser-sync/test/fixtures2/style-alt.css index 302ed05d5..e541a380a 100644 --- a/packages/browser-sync/test/fixtures2/style-alt.css +++ b/packages/browser-sync/test/fixtures2/style-alt.css @@ -1,3 +1,3 @@ body { - background: green; -} \ No newline at end of file + background: green; +} diff --git a/packages/browser-sync/test/protractor/_run.js b/packages/browser-sync/test/protractor/_run.js index fdcf9ef86..89b9081c5 100644 --- a/packages/browser-sync/test/protractor/_run.js +++ b/packages/browser-sync/test/protractor/_run.js @@ -1,21 +1,19 @@ - var browserSync = require("../../"); -var exec = require("child_process").exec; - -module.exports = function (logger) { +var exec = require("child_process").exec; - return function (config, configFile, cb) { +module.exports = function(logger) { + return function(config, configFile, cb) { browserSync.reset(); - var instance = browserSync(config.bsConfig, function (err, bs) { - var url = bs.getOptionIn(["urls", "local"]); + var instance = browserSync(config.bsConfig, function(err, bs) { + var url = bs.getOptionIn(["urls", "local"]); var uiurl = bs.getOptionIn(["urls", "ui"]); - process.env["BS_BASE"] = url; - process.env["BS_UI"] = uiurl; + process.env["BS_BASE"] = url; + process.env["BS_UI"] = uiurl; process.env["BS_SCRIPT_PATH"] = bs.getOptionIn(["scriptPaths", "path"]); logger.info("Testing BrowserSync at %s", url); if (config.before) { - config.before(bs, function () { + config.before(bs, function() { runTests(config, configFile, bs, cb); }); } else { @@ -26,9 +24,9 @@ module.exports = function (logger) { }; }; -function runTests (config, configFile, bs, cb) { +function runTests(config, configFile, bs, cb) { var out = ""; - exec("protractor " + configFile, function (err, stdout) { + exec("protractor " + configFile, function(err, stdout) { console.log(stdout); if (err) { doCallback({ @@ -38,12 +36,15 @@ function runTests (config, configFile, bs, cb) { process.exit(1); } out += stdout; - }).on("close", function (code) { + }).on("close", function(code) { if (code !== 0) { - doCallback({ - code: code, - message: "Protractor tests failed, Details below" - }, out); + doCallback( + { + code: code, + message: "Protractor tests failed, Details below" + }, + out + ); } else { doCallback(null, out); } @@ -51,7 +52,7 @@ function runTests (config, configFile, bs, cb) { function doCallback(err, out) { if (config.after) { - config.after(bs, function () { + config.after(bs, function() { cb(err, out); }); } else { diff --git a/packages/browser-sync/test/protractor/bs.init.js b/packages/browser-sync/test/protractor/bs.init.js index f128755c2..77dc2bdb7 100644 --- a/packages/browser-sync/test/protractor/bs.init.js +++ b/packages/browser-sync/test/protractor/bs.init.js @@ -1,11 +1,10 @@ - var bs = require("../../"); -module.exports = function (protractor, config) { +module.exports = function(protractor, config) { var flow = protractor.promise.controlFlow(); var deferred = protractor.promise.defer(); - return flow.execute(function () { - bs.create().init(config, function (err, _bs) { + return flow.execute(function() { + bs.create().init(config, function(err, _bs) { deferred.fulfill(_bs); }); return deferred.promise; diff --git a/packages/browser-sync/test/protractor/config.multi.js b/packages/browser-sync/test/protractor/config.multi.js index c26f31053..427196086 100644 --- a/packages/browser-sync/test/protractor/config.multi.js +++ b/packages/browser-sync/test/protractor/config.multi.js @@ -1,8 +1,5 @@ - exports.config = { seleniumAddress: "http://localhost:4444/wd/hub", baseUrl: process.env["BS_BASE"], - specs: [ - "tests/snippet.injection.js" - ] + specs: ["tests/snippet.injection.js"] }; diff --git a/packages/browser-sync/test/protractor/config.single.js b/packages/browser-sync/test/protractor/config.single.js index 912fe9ef8..8409b3c54 100644 --- a/packages/browser-sync/test/protractor/config.single.js +++ b/packages/browser-sync/test/protractor/config.single.js @@ -1,4 +1,3 @@ - exports.config = { seleniumAddress: "http://localhost:4444/wd/hub", specs: [ diff --git a/packages/browser-sync/test/protractor/logger.js b/packages/browser-sync/test/protractor/logger.js index d160e9382..d369e517f 100644 --- a/packages/browser-sync/test/protractor/logger.js +++ b/packages/browser-sync/test/protractor/logger.js @@ -1,10 +1,10 @@ -var chalk = require("chalk"); +var chalk = require("chalk"); module.exports = require("eazy-logger").Logger({ prefix: chalk.magenta("[BS E2E] "), useLevelPrefixes: true, custom: { - "i": function (string) { - return chalk.cyan(string) + i: function(string) { + return chalk.cyan(string); } } }); diff --git a/packages/browser-sync/test/protractor/runProtractor.js b/packages/browser-sync/test/protractor/runProtractor.js index 21acc100c..6ccb35721 100644 --- a/packages/browser-sync/test/protractor/runProtractor.js +++ b/packages/browser-sync/test/protractor/runProtractor.js @@ -1,9 +1,8 @@ - var exec = require("child_process").exec; -function runTests (config, configFile, cb) { +function runTests(config, configFile, cb) { var out = ""; - exec("protractor " + configFile, function (err, stdout) { + exec("protractor " + configFile, function(err, stdout) { if (err) { doCallback({ code: 1, @@ -14,12 +13,15 @@ function runTests (config, configFile, cb) { process.exit(1); } out += stdout; - }).on("close", function (code) { + }).on("close", function(code) { if (code !== 0) { - doCallback({ - code: code, - message: "Protractor tests failed, Details below" - }, out); + doCallback( + { + code: code, + message: "Protractor tests failed, Details below" + }, + out + ); } else { doCallback(null, out); } @@ -27,7 +29,7 @@ function runTests (config, configFile, cb) { function doCallback(err, out) { if (config.after) { - config.after(function () { + config.after(function() { cb(err, out); }); } else { diff --git a/packages/browser-sync/test/protractor/setup.js b/packages/browser-sync/test/protractor/setup.js index c0b55692d..90e3d93d2 100644 --- a/packages/browser-sync/test/protractor/setup.js +++ b/packages/browser-sync/test/protractor/setup.js @@ -1,30 +1,33 @@ +var eachSeries = require("async-each-series"); +var path = require("path"); +var logger = require("./logger"); +var run = require("./_run")(logger); -var eachSeries = require("async-each-series"); -var path = require("path"); -var logger = require("./logger"); -var run = require("./_run")(logger); +var tests = require("./tests.multi"); +var configFile = path.resolve(__dirname + "/config.multi"); -var tests = require("./tests.multi"); -var configFile = path.resolve(__dirname + "/config.multi"); - -eachSeries(Object.keys(tests), function (item, asyncCallback) { - logger.info("Running: {yellow:%s", item); - process.env["BS_TEST_NAME"] = item; - var bs = run(tests[item], configFile, function (err, out) { - bs.cleanup(); - if (out) { - //console.log(out); - } +eachSeries( + Object.keys(tests), + function(item, asyncCallback) { + logger.info("Running: {yellow:%s", item); + process.env["BS_TEST_NAME"] = item; + var bs = run(tests[item], configFile, function(err, out) { + bs.cleanup(); + if (out) { + //console.log(out); + } + if (err) { + return asyncCallback(err); + } + asyncCallback(); + }); + }, + function(err) { if (err) { - return asyncCallback(err); + console.log(err.message); + logger.error("Tests failed"); + process.exit(1); } - asyncCallback(); - }); -}, function (err) { - if (err) { - console.log(err.message); - logger.error("Tests failed"); - process.exit(1); + process.exit(0); } - process.exit(0); -}); +); diff --git a/packages/browser-sync/test/protractor/setup.single.js b/packages/browser-sync/test/protractor/setup.single.js index bd886291c..bfe3d718f 100644 --- a/packages/browser-sync/test/protractor/setup.single.js +++ b/packages/browser-sync/test/protractor/setup.single.js @@ -1,37 +1,36 @@ +var eachSeries = require("async-each-series"); +var path = require("path"); +var logger = require("./logger"); +var ptor = require("./runProtractor"); +var chalk = require("chalk"); -var eachSeries = require("async-each-series"); -var path = require("path"); -var logger = require("./logger"); -var ptor = require("./runProtractor"); -var chalk = require("chalk"); +var tests = require("./tests.single"); +var configFile = path.resolve(__dirname + "/config.single"); -var tests = require("./tests.single"); -var configFile = path.resolve(__dirname + "/config.single"); +eachSeries( + tests, + function(testFile, asyncCallback) { + logger.info("Running: {yellow:%s", testFile); + process.env["BS_TEST_FILE"] = "tests/" + testFile; + ptor({}, configFile, function(err, out) { + if (out) { + // console.log(out) //debugging + } + if (!err) { + logger.info("%s %s", chalk.green("Tests Passed:"), chalk.yellow(testFile)); + } + if (err) { + return asyncCallback(err); + } -eachSeries(tests, function (testFile, asyncCallback) { - logger.info("Running: {yellow:%s", testFile); - process.env["BS_TEST_FILE"] = "tests/" + testFile; - ptor({}, configFile, function (err, out) { - if (out) { - // console.log(out) //debugging - } - if (!err) { - logger.info( - "%s %s", - chalk.green("Tests Passed:"), - chalk.yellow(testFile) - ) - } + asyncCallback(); + }); + }, + function(err) { if (err) { - return asyncCallback(err); + logger.error(err.stdout || err.message); + process.exit(1); } - - asyncCallback(); - }); -}, function (err) { - if (err) { - logger.error(err.stdout || err.message); - process.exit(1); + process.exit(0); } - process.exit(0); -}); +); diff --git a/packages/browser-sync/test/protractor/tests.multi.js b/packages/browser-sync/test/protractor/tests.multi.js index 5f55ea46c..94c9b0b27 100644 --- a/packages/browser-sync/test/protractor/tests.multi.js +++ b/packages/browser-sync/test/protractor/tests.multi.js @@ -1,14 +1,13 @@ - var connect = require("connect"); var utils = require("../../dist/server/utils"); -var Immutable = require("immutable"); - -function getApp (bs, options) { +var Immutable = require("immutable"); - var html = "BrowsersyncBS"; +function getApp(bs, options) { + var html = + 'BrowsersyncBS'; var app = connect(); - app.use("/", function (req, res) { + app.use("/", function(req, res) { res.setHeader("content-type", "text/html"); res.end(html.replace("BS", bs.getOption("snippet"))); }); @@ -47,7 +46,7 @@ module.exports = { logLevel: "silent" } }, - "Server": { + Server: { bsConfig: { server: "./test/fixtures", open: false, @@ -62,12 +61,12 @@ module.exports = { https: true } }, - "Snippet": { + Snippet: { bsConfig: { logLevel: "silent" }, - before: function (bs, cb) { - var app = getApp(bs, Immutable.Map({scheme: "http"})); + before: function(bs, cb) { + var app = getApp(bs, Immutable.Map({ scheme: "http" })); app.server.listen(); process.env["BS_BASE"] = "http://localhost:" + app.server.address().port; cb(); @@ -78,9 +77,8 @@ module.exports = { logLevel: "silent", https: true }, - before: function (bs, cb) { - - var app = getApp(bs, Immutable.Map({scheme: "http"})); + before: function(bs, cb) { + var app = getApp(bs, Immutable.Map({ scheme: "http" })); app.server.listen(); process.env["BS_BASE"] = "http://localhost:" + app.server.address().port; cb(); @@ -91,9 +89,8 @@ module.exports = { logLevel: "silent", https: true }, - before: function (bs, cb) { - - var app = getApp(bs, Immutable.Map({scheme: "https"})); + before: function(bs, cb) { + var app = getApp(bs, Immutable.Map({ scheme: "https" })); app.server.listen(); process.env["BS_BASE"] = "https://localhost:" + app.server.address().port; cb(); diff --git a/packages/browser-sync/test/protractor/tests.single.js b/packages/browser-sync/test/protractor/tests.single.js index b01869dba..795e15f97 100644 --- a/packages/browser-sync/test/protractor/tests.single.js +++ b/packages/browser-sync/test/protractor/tests.single.js @@ -1,4 +1,3 @@ - module.exports = [ "actions.clicks.js", "actions.scroll.js", diff --git a/packages/browser-sync/test/protractor/tests/actions.clicks.js b/packages/browser-sync/test/protractor/tests/actions.clicks.js index d61448103..3d33cc9fa 100644 --- a/packages/browser-sync/test/protractor/tests/actions.clicks.js +++ b/packages/browser-sync/test/protractor/tests/actions.clicks.js @@ -1,10 +1,9 @@ - var init = require("../bs.init"); -describe("Scrolling around", function () { +describe("Scrolling around", function() { var instance; var urls; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; @@ -14,32 +13,35 @@ describe("Scrolling around", function () { open: false, logLevel: "silent" }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should mirror clicks on hrefs", function () { - + it("should mirror clicks on hrefs", function() { browser.get(urls.local + "/scrolling.html"); browser.executeScript("window.open('%s')".replace("%s", urls.local + "/scrolling.html")); - browser.getAllWindowHandles().then(function (handles) { - - browser.switchTo().window(handles[0]).then(function () { - - browser.sleep(500); - element(by.css("a")).click(); // go to the link - browser.close(); - browser.sleep(500); - - browser.switchTo().window(handles[1]).then(function () { - //browser.pause(); - expect(browser.getCurrentUrl()).toContain("index.html"); - instance.cleanup(); + browser.getAllWindowHandles().then(function(handles) { + browser + .switchTo() + .window(handles[0]) + .then(function() { + browser.sleep(500); + element(by.css("a")).click(); // go to the link + browser.close(); + browser.sleep(500); + + browser + .switchTo() + .window(handles[1]) + .then(function() { + //browser.pause(); + expect(browser.getCurrentUrl()).toContain("index.html"); + instance.cleanup(); + }); }); - }); }); }); }); diff --git a/packages/browser-sync/test/protractor/tests/actions.scroll.js b/packages/browser-sync/test/protractor/tests/actions.scroll.js index 2009bcbaa..034c6c609 100644 --- a/packages/browser-sync/test/protractor/tests/actions.scroll.js +++ b/packages/browser-sync/test/protractor/tests/actions.scroll.js @@ -1,11 +1,10 @@ - var init = require("../bs.init"); -describe("Scrolling around", function () { - beforeEach(function () { +describe("Scrolling around", function() { + beforeEach(function() { browser.ignoreSynchronization = true; }); - it("should know when a client scrolls", function () { + it("should know when a client scrolls", function() { var instance; var urls; var config = { @@ -16,35 +15,43 @@ describe("Scrolling around", function () { }; //browser.pause(); - init(protractor, config).then(function (bs) { - - instance = bs; - urls = instance.getOption("urls").toJS(); - - }).then(function () { - - browser.get(urls.local + "/scrolling.html"); - browser.executeScript("window.open('%s')".replace("%s", urls.local + "/scrolling.html")); - - browser.getAllWindowHandles().then(function (handles) { - browser.switchTo().window(handles[1]).then(function () { - browser.executeScript("window.scrollBy(0, 100);"); - browser.close(); - browser.sleep(1000); - browser.switchTo().window(handles[0]).then(function () { - browser.executeScript("return window.scrollY").then(function (y) { - - var flow = protractor.promise.controlFlow(); - - flow.execute(function () { - instance.cleanup(); - }); - - expect(y < 110 && y > 90).toBe(true); + init(protractor, config) + .then(function(bs) { + instance = bs; + urls = instance.getOption("urls").toJS(); + }) + .then(function() { + browser.get(urls.local + "/scrolling.html"); + browser.executeScript( + "window.open('%s')".replace("%s", urls.local + "/scrolling.html") + ); + + browser.getAllWindowHandles().then(function(handles) { + browser + .switchTo() + .window(handles[1]) + .then(function() { + browser.executeScript("window.scrollBy(0, 100);"); + browser.close(); + browser.sleep(1000); + browser + .switchTo() + .window(handles[0]) + .then(function() { + browser + .executeScript("return window.scrollY") + .then(function(y) { + var flow = protractor.promise.controlFlow(); + + flow.execute(function() { + instance.cleanup(); + }); + + expect(y < 110 && y > 90).toBe(true); + }); + }); }); - }); }); }); - }); }); }); diff --git a/packages/browser-sync/test/protractor/tests/proxy.interactions.js b/packages/browser-sync/test/protractor/tests/proxy.interactions.js index 62fe69e39..ab77a8a18 100644 --- a/packages/browser-sync/test/protractor/tests/proxy.interactions.js +++ b/packages/browser-sync/test/protractor/tests/proxy.interactions.js @@ -1,21 +1,20 @@ - -var init = require("../bs.init"); -var path = require("path"); +var init = require("../bs.init"); +var path = require("path"); var connect = require("connect"); var serveStatic = require("serve-static"); -var http = require("http"); +var http = require("http"); -describe("Interactions on proxy Pages", function () { +describe("Interactions on proxy Pages", function() { var instance; var urls; var proxy; var server; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; } - var app = connect(); + var app = connect(); app.use(serveStatic(path.resolve("test/fixtures"))); server = http.createServer(app).listen(); proxy = server.address().port; @@ -24,30 +23,24 @@ describe("Interactions on proxy Pages", function () { open: false, logLevel: "silent" }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should contain the BS script & notify element", function () { + it("should contain the BS script & notify element", function() { browser.get(urls.local); - [ - "scrolling.html", - "index-large.html", - "index-amd.html" - - ].forEach(function (url) { + ["scrolling.html", "index-large.html", "index-amd.html"].forEach(function(url) { browser.get(path.join(urls.local, url)); assertScripts(); }); }); - it("should know when a client scrolls", function () { - - instance.io.sockets.on("connection", function (client) { - client.on("scroll", function (data) { + it("should know when a client scrolls", function() { + instance.io.sockets.on("connection", function(client) { + client.on("scroll", function(data) { expect(data.position.raw.y).toBe(100); }); - client.on("click", function (data) { + client.on("click", function(data) { expect(data.tagName).toEqual("A"); expect(data.index).toEqual(0); expect(data.url).toEqual("/scrolling.html"); @@ -60,11 +53,10 @@ describe("Interactions on proxy Pages", function () { elem.click(); }); - it("should know when a client is filling a form", function () { - - instance.io.sockets.on("connection", function (client) { + it("should know when a client is filling a form", function() { + instance.io.sockets.on("connection", function(client) { var keyCount = 0; - client.on("input:text", function (data) { + client.on("input:text", function(data) { if (data.value === "Hi there") { expect(data.tagName).toEqual("INPUT"); expect(data.index).toEqual(0); @@ -77,23 +69,23 @@ describe("Interactions on proxy Pages", function () { browser.get(urls.local + "/forms.html"); - var waitLoading = by.css("input[name=\"name\""); + var waitLoading = by.css('input[name="name"'); - browser.wait(function () { + browser.wait(function() { return browser.isElementPresent(waitLoading); }, 8000); - element(by.css("input[name=\"name\"")).sendKeys("Hi there"); + element(by.css('input[name="name"')).sendKeys("Hi there"); var flow = protractor.promise.controlFlow(); - flow.execute(function () { + flow.execute(function() { instance.cleanup(); }); }); }); -function assertScripts () { +function assertScripts() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); } diff --git a/packages/browser-sync/test/protractor/tests/server.interactions.js b/packages/browser-sync/test/protractor/tests/server.interactions.js index ebffab125..e2c0438c5 100644 --- a/packages/browser-sync/test/protractor/tests/server.interactions.js +++ b/packages/browser-sync/test/protractor/tests/server.interactions.js @@ -1,11 +1,10 @@ - var init = require("../bs.init"); var path = require("path"); -describe("Interactions on Server Pages", function () { +describe("Interactions on Server Pages", function() { var instance; var urls; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; @@ -15,29 +14,25 @@ describe("Interactions on Server Pages", function () { open: false, logLevel: "silent" }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should contain the BS script & notify element", function () { + it("should contain the BS script & notify element", function() { browser.get(urls.local); - [ - "scrolling.html", - "index-large.html", - "index-amd.html" - ].forEach(function (url) { + ["scrolling.html", "index-large.html", "index-amd.html"].forEach(function(url) { browser.get(path.join(urls.local, url)); browser.sleep(500); assertScripts(); }); }); - it("should know when a client scrolls", function () { - instance.io.sockets.on("connection", function (client) { - client.on("scroll", function (data) { + it("should know when a client scrolls", function() { + instance.io.sockets.on("connection", function(client) { + client.on("scroll", function(data) { expect(data.position.raw.y).toBe(100); }); - client.on("click", function (data) { + client.on("click", function(data) { expect(data.tagName).toEqual("A"); expect(data.index).toEqual(0); expect(data.url).toEqual("/scrolling.html"); @@ -50,11 +45,10 @@ describe("Interactions on Server Pages", function () { elem.click(); }); - it("should know when a client is filling a form", function () { - - instance.io.sockets.on("connection", function (client) { + it("should know when a client is filling a form", function() { + instance.io.sockets.on("connection", function(client) { var keyCount = 0; - client.on("input:text", function (data) { + client.on("input:text", function(data) { if (data.value === "Hi there") { expect(data.tagName).toEqual("INPUT"); expect(data.index).toEqual(0); @@ -68,11 +62,10 @@ describe("Interactions on Server Pages", function () { browser.get(urls.local + "/forms.html"); element(by.id("name")).sendKeys("Hi there"); instance.cleanup(); - }); }); -function assertScripts () { +function assertScripts() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); } diff --git a/packages/browser-sync/test/protractor/tests/snippet.injection.js b/packages/browser-sync/test/protractor/tests/snippet.injection.js index 3c405b421..f153b75f2 100644 --- a/packages/browser-sync/test/protractor/tests/snippet.injection.js +++ b/packages/browser-sync/test/protractor/tests/snippet.injection.js @@ -1,4 +1,3 @@ - /** * */ @@ -14,21 +13,26 @@ /** * */ -describe("Section Navigation", function () { - beforeEach(function () { +describe("Section Navigation", function() { + beforeEach(function() { browser.ignoreSynchronization = true; browser.get("/"); }); - it("should contain the BS script element", function () { + it("should contain the BS script element", function() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); }); - it("should contain the BS NOTIFY ELEMENT", function () { + it("should contain the BS NOTIFY ELEMENT", function() { //browser.pause(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); }); - it("should launch UI", function () { + it("should launch UI", function() { browser.ignoreSynchronization = false; browser.get(process.env["BS_UI"]); - expect(element.all(by.css("[bs-heading]")).get(0).isPresent()).toBeTruthy(); + expect( + element + .all(by.css("[bs-heading]")) + .get(0) + .isPresent() + ).toBeTruthy(); }); }); diff --git a/packages/browser-sync/test/protractor/tests/with.baseurl.https.js b/packages/browser-sync/test/protractor/tests/with.baseurl.https.js index 260c5f3d4..33a5aba2c 100644 --- a/packages/browser-sync/test/protractor/tests/with.baseurl.https.js +++ b/packages/browser-sync/test/protractor/tests/with.baseurl.https.js @@ -1,10 +1,9 @@ - var init = require("../bs.init"); -describe("works when base url set in HTML", function () { +describe("works when base url set in HTML", function() { var instance; var urls; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; @@ -19,25 +18,24 @@ describe("works when base url set in HTML", function () { https: true, open: false, logLevel: "silent", - scriptPath: function (path, port, options) { + scriptPath: function(path, port, options) { return options.get("absolute"); }, ui: false }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should ", function () { - + it("should ", function() { browser.get(urls.local + "/base.html"); assertScripts(); }); }); -function assertScripts () { +function assertScripts() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); } diff --git a/packages/browser-sync/test/protractor/tests/with.baseurl.js b/packages/browser-sync/test/protractor/tests/with.baseurl.js index 378b98628..9e3ecc4f0 100644 --- a/packages/browser-sync/test/protractor/tests/with.baseurl.js +++ b/packages/browser-sync/test/protractor/tests/with.baseurl.js @@ -1,10 +1,9 @@ - var init = require("../bs.init"); -describe("works when base url set in HTML", function () { +describe("works when base url set in HTML", function() { var instance; var urls; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; @@ -18,23 +17,23 @@ describe("works when base url set in HTML", function () { }, open: false, logLevel: "silent", - scriptPath: function (path, port, options) { + scriptPath: function(path, port, options) { return options.get("absolute"); }, ui: false }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should have script tags", function () { + it("should have script tags", function() { browser.get(urls.local + "/base.html"); assertScripts(); }); }); -function assertScripts () { +function assertScripts() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); } diff --git a/packages/browser-sync/test/protractor/tests/with.socket.io.js b/packages/browser-sync/test/protractor/tests/with.socket.io.js index ab65b0abb..ea4083857 100644 --- a/packages/browser-sync/test/protractor/tests/with.socket.io.js +++ b/packages/browser-sync/test/protractor/tests/with.socket.io.js @@ -1,10 +1,9 @@ - var init = require("../bs.init"); -describe("works with Socket IO on same page", function () { +describe("works with Socket IO on same page", function() { var instance; var urls; - beforeEach(function () { + beforeEach(function() { browser.ignoreSynchronization = true; if (instance) { return; @@ -20,33 +19,31 @@ describe("works with Socket IO on same page", function () { logLevel: "silent", ui: false }; - init(protractor, config).then(function (bs) { + init(protractor, config).then(function(bs) { instance = bs; urls = instance.getOption("urls").toJS(); }); }); - it("should leave window.io available to others people", function () { - + it("should leave window.io available to others people", function() { browser.get(urls.local + "/socket.io.html"); assertScripts(); browser.sleep(1000); - browser.executeScript("return typeof window.io;").then(function (io) { - + browser.executeScript("return typeof window.io;").then(function(io) { expect(io).toBe("function"); var flow = protractor.promise.controlFlow(); - flow.execute(function () { + flow.execute(function() { instance.cleanup(); }); }); }); }); -function assertScripts () { +function assertScripts() { expect(element(by.id("__bs_script__")).isPresent()).toBeTruthy(); expect(element(by.id("__bs_notify__")).isPresent()).toBeTruthy(); } diff --git a/packages/browser-sync/test/protractor/utils.js b/packages/browser-sync/test/protractor/utils.js index cd9e9693e..e359775b3 100644 --- a/packages/browser-sync/test/protractor/utils.js +++ b/packages/browser-sync/test/protractor/utils.js @@ -1,15 +1,13 @@ - var utils = require("../../dist/server/utils"); var connect = require("connect"); module.exports = { - - getApp: function getApp (options) { - - var html = "BrowsersyncBS"; + getApp: function getApp(options) { + var html = + 'BrowsersyncBS'; var app = connect(); - app.use("/", function (req, res) { + app.use("/", function(req, res) { res.setHeader("content-type", "text/html"); res.end(html); }); diff --git a/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js b/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js index bf89177cc..e17ba0308 100644 --- a/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js +++ b/packages/browser-sync/test/specs/e2e/e2e.options.serveStatic.js @@ -51,7 +51,13 @@ describe("E2E `serveStatic` option", function() { serveStatic: ["test/fixtures", "test/fixtures/assets"] }; browserSync(config, function(err, bs) { - var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); + var reqs = getRequests( + [ + ["/index.html", page], + ["/style.css", css] + ], + bs.server + ); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -70,7 +76,13 @@ describe("E2E `serveStatic` option", function() { ] }; browserSync(config, function(err, bs) { - var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); + var reqs = getRequests( + [ + ["/index.html", page], + ["/style.css", css] + ], + bs.server + ); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -91,7 +103,11 @@ describe("E2E `serveStatic` option", function() { }; browserSync(config, function(err, bs) { var reqs = getRequests( - [["/index.html", page], ["/shane/style.css", css], ["/kittie/style.css", css]], + [ + ["/index.html", page], + ["/shane/style.css", css], + ["/kittie/style.css", css] + ], bs.server ); var obs = Rx.Observable.merge(reqs); @@ -109,7 +125,13 @@ describe("E2E `serveStatic` option", function() { serveStatic: [{ route: "", dir: ["test/fixtures", "test/fixtures/assets"] }] }; browserSync(config, function(err, bs) { - var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); + var reqs = getRequests( + [ + ["/index.html", page], + ["/style.css", css] + ], + bs.server + ); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); @@ -125,7 +147,13 @@ describe("E2E `serveStatic` option", function() { serveStatic: [{ dir: ["test/fixtures", "test/fixtures/assets"] }] }; browserSync(config, function(err, bs) { - var reqs = getRequests([["/index.html", page], ["/style.css", css]], bs.server); + var reqs = getRequests( + [ + ["/index.html", page], + ["/style.css", css] + ], + bs.server + ); var obs = Rx.Observable.merge(reqs); obs.subscribeOnCompleted(function() { bs.cleanup(); diff --git a/packages/browser-sync/test/utils.js b/packages/browser-sync/test/utils.js index 8ff95406e..afab0f45c 100644 --- a/packages/browser-sync/test/utils.js +++ b/packages/browser-sync/test/utils.js @@ -1,22 +1,22 @@ -var Rx = require('rx'); -var request = require("supertest"); +var Rx = require("rx"); +var request = require("supertest"); -module.exports.getScheduler = function () { - var Rx = require('rx'); +module.exports.getScheduler = function() { + var Rx = require("rx"); return new Rx.TestScheduler(); }; -module.exports.getRequests = function (reqs, server) { - return reqs.map(function (req) { - return Rx.Observable.create(function (obs) { - if (typeof req === 'function') { +module.exports.getRequests = function(reqs, server) { + return reqs.map(function(req) { + return Rx.Observable.create(function(obs) { + if (typeof req === "function") { try { req(); } catch (e) { obs.onError(e); return; } - process.nextTick(function () { + process.nextTick(function() { obs.onNext(true); obs.onCompleted(true); }); @@ -24,8 +24,8 @@ module.exports.getRequests = function (reqs, server) { } request(server) .get(req[0]) - .set('accept', 'text/html') - .end(function (err, res) { + .set("accept", "text/html") + .end(function(err, res) { if (err) { return obs.onError(err); } @@ -37,32 +37,32 @@ module.exports.getRequests = function (reqs, server) { var errorMessage = [ req[0] + " did not match the response body", - 'actual: ' + res.text, - 'expected: ' + req[1] + "actual: " + res.text, + "expected: " + req[1] ]; - obs.onError(new Error(errorMessage.join('\n'))); + obs.onError(new Error(errorMessage.join("\n"))); }); }); }); }; module.exports.cy = function(setup, specs) { - - const cypress = require('cypress'); - const bs = require('../').create(); + const cypress = require("cypress"); + const bs = require("../").create(); bs.init(setup, function(err, bs) { - return cypress.run({ - spec: specs, - }) - .then((results) => { + return cypress + .run({ + spec: specs + }) + .then(results => { // stop your server when it's complete bs.cleanup(); if (results.failures > 0) { return process.exit(1); } process.exit(0); - }) + }); }); -} \ No newline at end of file +}; From ad6d71d2ba6b2b77c80906a9f6c13e8962d8cd13 Mon Sep 17 00:00:00 2001 From: Shane Osbourne Date: Thu, 18 May 2023 21:10:34 +0100 Subject: [PATCH 15/29] moving more cypress tests --- crossbow.yaml | 31 -- cypress.json | 3 - cypress/integration/file-reloading.js | 119 ------- examples/basic/run.js | 25 ++ examples/options.snippetOptions.js | 8 +- examples/server.proxy.js | 6 +- examples/snippet/index.html | 24 +- examples/snippet/run.js | 16 +- examples/tailwind/base.css | 2 +- examples/tailwind/index.html | 27 +- examples/tailwind/run.js | 12 +- package.json | 2 +- .../static/components/button-bars.html | 70 +++- .../static/components/buttons.html | 86 +++-- .../static/components/footer.html | 3 +- .../static/components/forms.html | 45 ++- .../static/components/header.html | 35 +- .../static/components/heading.html | 2 +- .../static/components/help-content.html | 55 ++- .../static/components/lists.html | 58 ++-- .../static/components/panels.html | 17 +- .../static/components/switches.html | 34 +- .../static/components/type.html | 25 +- .../static/content/help.content.html | 64 +++- packages/browser-sync/lib/async.js | 1 - packages/browser-sync/lib/browser-sync.js | 2 +- packages/browser-sync/lib/hooks.js | 1 - packages/browser-sync/lib/index.js | 1 - playwright.config.ts | 133 ++++---- tests/examples/basic/basic.spec.ts | 154 +++++++++ tests/examples/snippet/snippet.spec.ts | 26 +- tests/examples/tailwind/tailwind.spec.ts | 14 +- tests/utils.ts | 321 ++++++++++-------- 33 files changed, 842 insertions(+), 580 deletions(-) delete mode 100644 crossbow.yaml delete mode 100644 cypress.json delete mode 100644 cypress/integration/file-reloading.js create mode 100644 examples/basic/run.js create mode 100644 tests/examples/basic/basic.spec.ts diff --git a/crossbow.yaml b/crossbow.yaml deleted file mode 100644 index bf7f6242d..000000000 --- a/crossbow.yaml +++ /dev/null @@ -1,31 +0,0 @@ -tasks: - cy: cypress/setup/bs.js - -options: - cy: - _default: - action: run - file-watching-ignore: - config: cypress/configs/file-watching-ignore.js - spec: cypress/integration/file-watching-ignore.js - file-reloading: - config: cypress/configs/file-reloading.js - spec: cypress/integration/file-reloading.js - no-notify: - config: cypress/configs/no-notify.js - spec: cypress/integration/no-notify.js - css-overlay: - config: cypress/configs/css-overlay-notify.js - spec: cypress/integration/css-overlay-notify.js - css-console-notify: - config: cypress/configs/css-console-notify.js - spec: cypress/integration/css-console-notify.js - connection-notify: - config: cypress/configs/file-reloading.js - spec: cypress/integration/connection-notify.js - log-prefix: - config: cypress/configs/logPrefix.js - spec: cypress/integration/logPrefix.js - ui-remote-debug: - config: cypress/configs/file-reloading.js - spec: cypress/integration/ui-remote-debug.js \ No newline at end of file diff --git a/cypress.json b/cypress.json deleted file mode 100644 index 60ed5aa53..000000000 --- a/cypress.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "video": false -} diff --git a/cypress/integration/file-reloading.js b/cypress/integration/file-reloading.js deleted file mode 100644 index 2180fedfd..000000000 --- a/cypress/integration/file-reloading.js +++ /dev/null @@ -1,119 +0,0 @@ -describe('Reloading files', function() { - context('CSS', function() { - beforeEach(function() { - cy.visit(Cypress.env('BS_URL')); - }); - it('should reload single ', function() { - cy.exec('touch packages/browser-sync/test/fixtures/**/style.css'); - cy.get('[id="css-style"]').should($link => { - const url = new URL($link.attr('href')); - expect(url.search).to.contain('?browsersync='); - }); - }); - it.skip('should reload 2 css files', function() { - cy.exec('touch packages/browser-sync/test/fixtures/**/*.css'); - cy.get('link').should($links => { - $links.each((i, elem) => { - const url = new URL(elem.href); - return expect(url.search).to.contain('?browsersync='); - }); - }); - }); - it('should reload with *.css', function() { - cy.get('#__bs_notify__').should('have.length', 1); - cy.request('POST', 'http://localhost:3000/__browser_sync__', - JSON.stringify([ - "file:reload", - {"ext":"css","path":"*.css","basename":"*/*.css","event":"change","type":"inject","log":true} - ]) - ); - cy.get('link').should($links => { - $links.each((i, elem) => { - const url = new URL(elem.href); - return expect(url.search).to.contain('?browsersync='); - }); - }); - }); - it.skip('should reload with windows style paths', function() { - cy.get('#__bs_notify__').should('have.length', 1); - cy.request('POST', 'http://localhost:3000/__browser_sync__', - JSON.stringify([ - "file:reload", - {"ext":"css","path":"C:\\#server\\test\\gulp-test\\assets\\style.css","basename":"style.css","event":"change","type":"inject","log":false} - ]) - ); - cy.get('[id="css-style"]').should('have.length', 1); - cy.get('[id="css-style"]').eq(0).should((link) => { - const url = new URL(link[0].href); - return expect(url.search).to.contain('?browsersync='); - }) - }); - }); - context('CSS IMPORTS', function() { - it('can import 1 stylesheet from ', () => { - cy.visit(Cypress.env('BS_URL') + '/import.html'); - cy.document().then((doc) => { - const firstStyle = doc.getElementsByTagName('style')[0]; - const href = firstStyle.sheet.cssRules[0].href; - expect(href).to.not.contain('?browsersync='); - }); - cy.exec('touch packages/browser-sync/test/fixtures/assets/import.css'); - cy.get('style').eq(0).should((style) => { - const href = style[0].sheet.cssRules[0].href; - expect(href).to.contain('?browsersync='); - }); - }); - it('can import nested from nested @import rules', () => { - cy.visit(Cypress.env('BS_URL') + '/import-link.html'); - cy.document().then((doc) => { - const href = doc.styleSheets[0].cssRules[0].href; - expect(href).to.not.contain('?browsersync='); - }); - cy.exec('touch packages/browser-sync/test/fixtures/assets/import2.css'); - cy.get('link').eq(0).should((link) => { - const href = link[0].sheet.cssRules[0].href; - expect(href).to.contain('?browsersync='); - }) - }); - }); - context('IMG', function() { - beforeEach(function() { - cy.visit(Cypress.env('BS_URL') + '/images.html'); - }); - it('should reload single ', function() { - cy.exec('touch packages/browser-sync/test/fixtures/**/cam-secure.png'); - cy.get('[id="img-src-attr"]').should($link => { - const url = new URL($link.attr('src')); - expect(url.search).to.contain('?browsersync='); - }); - cy.get('[id="img-style"]').should($link => { - const urlFromStyle = $link.css('backgroundImage').split('"').slice(1, -1); - const url = new URL(urlFromStyle); - expect(url.search).not.to.contain('?browsersync='); - }); - }); - it('should reload single style backgroundImage style property', function() { - cy.exec('touch packages/browser-sync/test/fixtures/**/cam-secure-02.png'); - cy.get('[id="img-src-attr"]').should($link => { - expect($link.attr('src')).not.to.contain('?browsersync='); - }); - cy.get('[id="img-style"]').should($link => { - const urlFromStyle = $link.css('backgroundImage').split('"').slice(1, -1); - const url = new URL(urlFromStyle); - expect(url.search).to.contain('?browsersync='); - }); - }); - it('should reload both images', function() { - cy.exec('touch packages/browser-sync/test/fixtures/**/*.png'); - cy.get('[id="img-src-attr"]').should($link => { - const url = new URL($link.attr('src')); - expect(url.search).to.contain('?browsersync='); - }); - cy.get('[id="img-style"]').should($link => { - const urlFromStyle = $link.css('backgroundImage').split('"').slice(1, -1); - const url = new URL(urlFromStyle); - expect(url.search).to.contain('?browsersync='); - }); - }); - }); -}); diff --git a/examples/basic/run.js b/examples/basic/run.js new file mode 100644 index 000000000..c0685cf70 --- /dev/null +++ b/examples/basic/run.js @@ -0,0 +1,25 @@ +const bs = require("../../packages/browser-sync/dist/index").create(); +const path = require("path"); +const serverDir = path.join(__dirname, "..", "..", "packages/browser-sync/test/fixtures"); + +bs.init( + { + server: serverDir, + open: false, + notify: false, + watch: true, + online: false + }, + (err, bs) => { + const message = { + kind: "ready", + urls: bs.options.get("urls").toJS(), + cwd: serverDir + }; + if (process.send) { + process.send(message); + } else { + console.log(message); + } + } +); diff --git a/examples/options.snippetOptions.js b/examples/options.snippetOptions.js index 06d856c1e..a4f93134b 100644 --- a/examples/options.snippetOptions.js +++ b/examples/options.snippetOptions.js @@ -22,9 +22,9 @@ browserSync.init({ snippetOptions: { rule: { match: /<\/head>/i, - fn: function (snippet, match) { + fn: function(snippet, match) { return snippet + match; - }, - }, - }, + } + } + } }); diff --git a/examples/server.proxy.js b/examples/server.proxy.js index 82ee19ebd..92b17c33f 100644 --- a/examples/server.proxy.js +++ b/examples/server.proxy.js @@ -14,12 +14,12 @@ "use strict"; var browserSync = require("browser-sync").create(); -var express = require('express'); -var proxy = require('http-proxy-middleware'); +var express = require("express"); +var proxy = require("http-proxy-middleware"); var app = express(); -app.use('/api', proxy({target: 'http://www.example.org', changeOrigin: true})); +app.use("/api", proxy({ target: "http://www.example.org", changeOrigin: true })); browserSync.init({ server: ".", diff --git a/examples/snippet/index.html b/examples/snippet/index.html index 7851d5bd2..51b15eb32 100644 --- a/examples/snippet/index.html +++ b/examples/snippet/index.html @@ -1,13 +1,15 @@ - + - - - - - Document - - -

Hello world

- + + + + + Document + + +

Hello world

+ diff --git a/examples/snippet/run.js b/examples/snippet/run.js index 70528cadf..76f0520fa 100644 --- a/examples/snippet/run.js +++ b/examples/snippet/run.js @@ -8,16 +8,20 @@ bs.init( snippetOptions: { rule: { match: /<\/head>/i, - fn: function (snippet, match) { + fn: function(snippet, match) { return snippet + match; - }, - }, - }, + } + } + } }, (err, bs) => { - const message = { kind: 'ready', urls: bs.options.get("urls").toJS() }; + const message = { + kind: "ready", + urls: bs.options.get("urls").toJS(), + cwd: __dirname + }; if (process.send) { - process.send(message) + process.send(message); } else { console.log(message); } diff --git a/examples/tailwind/base.css b/examples/tailwind/base.css index db6c70823..05d03b8f6 100644 --- a/examples/tailwind/base.css +++ b/examples/tailwind/base.css @@ -3,5 +3,5 @@ @tailwind utilities; body { - color: red + color: red; } diff --git a/examples/tailwind/index.html b/examples/tailwind/index.html index 4b79a3827..624a7760b 100644 --- a/examples/tailwind/index.html +++ b/examples/tailwind/index.html @@ -1,15 +1,16 @@ - + - - - - - Document - - - -

hello world 5.0

- + + + + + Document + + + +

hello world 5.0

+ - diff --git a/examples/tailwind/run.js b/examples/tailwind/run.js index 4a9b7d57e..804e874b1 100644 --- a/examples/tailwind/run.js +++ b/examples/tailwind/run.js @@ -18,11 +18,11 @@ bs.init( ] }, (err, bs) => { - const message = { kind: 'ready', urls: bs.options.get("urls").toJS() }; - if (process.send) { - process.send(message) - } else { - console.log(message); - } + const message = { + kind: "ready", + urls: bs.options.get("urls").toJS(), + cwd: __dirname + }; + process.send?.(message); } ); diff --git a/package.json b/package.json index 9dbd36233..47c321c31 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "test.e2e": "playwright test", "test.e2e.headed": "playwright test --headed", "pretest.e2e": "if [ \\\"$CI\\\" == \\\"true\\\" ]; then lerna run build; else lerna run build --since HEAD; fi", - "prettier": "prettier 'packages/**/*.{js,ts,html,yml,css}'", + "prettier": "prettier '{packages,tests,examples}/**/*.{js,ts,html,yml,css}'", "prettier.write": "npm run prettier -- --write" }, "devDependencies": { diff --git a/packages/browser-sync-ui/static/components/button-bars.html b/packages/browser-sync-ui/static/components/button-bars.html index c314867b5..f0c5ed878 100644 --- a/packages/browser-sync-ui/static/components/button-bars.html +++ b/packages/browser-sync-ui/static/components/button-bars.html @@ -1,33 +1,67 @@
- - - - + + + +
- - - - + + + +
- - + + - +
- - + + - +
- - + + - -
\ No newline at end of file + +
diff --git a/packages/browser-sync-ui/static/components/buttons.html b/packages/browser-sync-ui/static/components/buttons.html index b19fe774d..b5108f758 100644 --- a/packages/browser-sync-ui/static/components/buttons.html +++ b/packages/browser-sync-ui/static/components/buttons.html @@ -16,39 +16,79 @@

-
+

Default buttons with icons

- - - - + + + +
- - - - + + + +
-
+

Subtle buttons with icons

- - - - + + + +
- - - - + + + +
-
+

Alternative Subtle button styles with icons

- - - - + + + +
diff --git a/packages/browser-sync-ui/static/components/footer.html b/packages/browser-sync-ui/static/components/footer.html index 3409cf039..c7ef96de1 100644 --- a/packages/browser-sync-ui/static/components/footer.html +++ b/packages/browser-sync-ui/static/components/footer.html @@ -1,5 +1,6 @@