diff --git a/packages/_nova-subscribe-to-posts/lib/callbacks.js b/packages/_nova-subscribe-to-posts/lib/callbacks.js new file mode 100644 index 000000000..bb42dd03c --- /dev/null +++ b/packages/_nova-subscribe-to-posts/lib/callbacks.js @@ -0,0 +1,32 @@ +import Posts from "meteor/nova:posts"; +import Users from 'meteor/nova:users'; + +// Notify users subscribed to the thread + +function SubscribedCommentsNotifications (comment) { + if (typeof Telescope.notifications !== "undefined") { + // note: dummy content has disableNotifications set to true + if(Meteor.isServer && !comment.disableNotifications){ + + const post = Posts.findOne(comment.postId); + + let userIdsNotified = [], + notificationData = { + comment: _.pick(comment, '_id', 'userId', 'author', 'htmlBody', 'postId'), + post: _.pick(post, '_id', 'userId', 'title', 'url') + }; + + if (!!post.subscribers) { + // remove userIds of users that have already been notified + // and of comment author (they could be replying in a thread they're subscribed to) + let subscriberIdsToNotify = _.difference(post.subscribers, userIdsNotified, [comment.userId]); + Telescope.notifications.create(subscriberIdsToNotify, 'newCommentSubscribed', notificationData); + + userIdsNotified = userIdsNotified.concat(subscriberIdsToNotify); + } + + } + } +} + +Telescope.callbacks.add("comments.new.async", SubscribedCommentsNotifications); diff --git a/packages/_nova-subscribe-to-posts/lib/components/SubscribeButton.jsx b/packages/_nova-subscribe-to-posts/lib/components/Subscribe.jsx similarity index 68% rename from packages/_nova-subscribe-to-posts/lib/components/SubscribeButton.jsx rename to packages/_nova-subscribe-to-posts/lib/components/Subscribe.jsx index 0756c7178..765251c7e 100644 --- a/packages/_nova-subscribe-to-posts/lib/components/SubscribeButton.jsx +++ b/packages/_nova-subscribe-to-posts/lib/components/Subscribe.jsx @@ -1,6 +1,7 @@ import React, { PropTypes, Component } from 'react'; +import { intlShape } from 'react-intl'; -class SubscribeButton extends Component { +class Subscribe extends Component { constructor(props, context) { super(props, context); @@ -9,7 +10,9 @@ class SubscribeButton extends Component { this.isSubscribed = this.isSubscribed.bind(this); } - onSubscribe() { + onSubscribe(e) { + e.preventDefault(); + const post = this.props.post; const user = this.context.currentUser; @@ -38,37 +41,33 @@ class SubscribeButton extends Component { // can't subscribe to own post (also validated on server side) if(user && post.author === user.username) { - return null + return null; } - let btnStyle = "default"; + let btnTitle = "posts.subscribe"; let isSubscribed = this.isSubscribed(post, user); if( isSubscribed ) { - btnStyle = "info"; + btnTitle = "posts.unsubscribe"; } return ( - + {this.context.intl.formatMessage({id: btnTitle})} ) } } -SubscribeButton.propTypes = { +Subscribe.propTypes = { post: React.PropTypes.object.isRequired } -SubscribeButton.contextTypes = { +Subscribe.contextTypes = { currentUser: React.PropTypes.object, actions: React.PropTypes.object, - events: React.PropTypes.object + events: React.PropTypes.object, + intl: intlShape }; -module.exports = SubscribeButton; -export default SubscribeButton; +module.exports = Subscribe; +export default Subscribe; diff --git a/packages/_nova-subscribe-to-posts/lib/components/SubscribedPosts.jsx b/packages/_nova-subscribe-to-posts/lib/components/SubscribedPosts.jsx new file mode 100644 index 000000000..5357897bc --- /dev/null +++ b/packages/_nova-subscribe-to-posts/lib/components/SubscribedPosts.jsx @@ -0,0 +1,29 @@ +import React, { PropTypes, Component } from 'react'; +import { ListContainer } from "meteor/utilities:react-list-container"; +import Posts from "meteor/nova:posts"; + +class SubscribedPosts extends Component { + + render() { + + const params = {view: 'userSubscribedPosts', userId: Meteor.userId(), listId: "posts.list.subscribed"}; + const {selector, options} = Posts.parameters.get(params); + + return ( + + ) + } +}; + +module.exports = SubscribedPosts; diff --git a/packages/_nova-subscribe-to-posts/lib/export.js b/packages/_nova-subscribe-to-posts/lib/export.js index ef1bc86bf..199b01bd3 100644 --- a/packages/_nova-subscribe-to-posts/lib/export.js +++ b/packages/_nova-subscribe-to-posts/lib/export.js @@ -1,8 +1,10 @@ import {subscribeItem, unsubscribeItem} from './methods.js'; -import SubscribeButton from './components/SubscribeButton.jsx'; +import Subscribe from './components/Subscribe.jsx'; +import SubscribedPosts from './components/SubscribedPosts.jsx'; export { subscribeItem, unsubscribeItem, - SubscribeButton + Subscribe, + SubscribedPosts } diff --git a/packages/_nova-subscribe-to-posts/lib/views.js b/packages/_nova-subscribe-to-posts/lib/views.js new file mode 100644 index 000000000..3e36e9f94 --- /dev/null +++ b/packages/_nova-subscribe-to-posts/lib/views.js @@ -0,0 +1,15 @@ +import Posts from "meteor/nova:posts"; + +Posts.views.add("userSubscribedPosts", function (terms) { + var user = Meteor.users.findOne(terms.userId), + postsIds = []; + + if (user && user.telescope.subscribedItems && user.telescope.subscribedItems.Posts) { + postsIds = _.pluck(user.telescope.subscribedItems.Posts, "itemId"); + } + + return { + selector: {_id: {$in: postsIds}}, + options: {limit: 5, sort: {postedAt: -1}} + }; +}); diff --git a/packages/_nova-subscribe-to-posts/package.js b/packages/_nova-subscribe-to-posts/package.js index ac142f737..0f8510df1 100644 --- a/packages/_nova-subscribe-to-posts/package.js +++ b/packages/_nova-subscribe-to-posts/package.js @@ -37,8 +37,10 @@ Package.onUse(function (api) { api.addFiles([ // 'lib/subscribe-to-posts.js',', + 'lib/callbacks.js', 'lib/custom_fields.js', - 'lib/methods.js' + 'lib/methods.js', + 'lib/views.js' ], ['client', 'server']); // client diff --git a/packages/nova-base-styles/lib/stylesheets/bootstrap.css b/packages/nova-base-styles/lib/stylesheets/bootstrap.css index a563aec84..79742bda3 100644 --- a/packages/nova-base-styles/lib/stylesheets/bootstrap.css +++ b/packages/nova-base-styles/lib/stylesheets/bootstrap.css @@ -1,13 +1,14 @@ /*! - * Bootstrap v4.0.0-alpha.2 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. + * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com) + * Copyright 2011-2016 The Bootstrap Authors + * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; + -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; } body { @@ -21,7 +22,6 @@ figcaption, figure, footer, header, -hgroup, main, menu, nav, @@ -35,7 +35,6 @@ canvas, progress, video { display: inline-block; - vertical-align: baseline; } audio:not([controls]) { @@ -43,8 +42,12 @@ audio:not([controls]) { height: 0; } -[hidden], -template { +progress { + vertical-align: baseline; +} + +template, +[hidden] { display: none; } @@ -52,21 +55,25 @@ a { background-color: transparent; } -a:active { - outline: 0; -} - +a:active, a:hover { - outline: 0; + outline-width: 0; } abbr[title] { - border-bottom: 1px dotted; + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; } b, strong { - font-weight: bold; + font-weight: inherit; +} + +b, +strong { + font-weight: bolder; } dfn { @@ -74,13 +81,13 @@ dfn { } h1 { - margin: .67em 0; font-size: 2em; + margin: 0.67em 0; } mark { + background-color: #ff0; color: #000; - background: #ff0; } small { @@ -89,42 +96,28 @@ small { sub, sup { - position: relative; font-size: 75%; line-height: 0; + position: relative; vertical-align: baseline; } -sup { - top: -.5em; +sub { + bottom: -0.25em; } -sub { - bottom: -.25em; +sup { + top: -0.5em; } img { - border: 0; + border-style: none; } svg:not(:root) { overflow: hidden; } -figure { - margin: 1em 40px; -} - -hr { - height: 0; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} - -pre { - overflow: auto; -} - code, kbd, pre, @@ -133,18 +126,39 @@ samp { font-size: 1em; } +figure { + margin: 1em 40px; +} + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; + overflow: visible; +} + +button, +input, +select, +textarea { + font: inherit; +} + +optgroup { + font-weight: bold; +} + +button, +input, +select { + overflow: visible; +} + button, input, -optgroup, select, textarea { margin: 0; - font: inherit; - color: inherit; -} - -button { - overflow: visible; } button, @@ -153,84 +167,81 @@ select { } button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; +[type="button"], +[type="reset"], +[type="submit"] { cursor: pointer; } -button[disabled], -html input[disabled] { +[disabled] { cursor: default; } +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + button::-moz-focus-inner, input::-moz-focus-inner { - padding: 0; border: 0; -} - -input { - line-height: normal; -} - -input[type="checkbox"], -input[type="radio"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; padding: 0; } -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -input[type="search"] { - -webkit-box-sizing: content-box; - box-sizing: content-box; - -webkit-appearance: textfield; -} - -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; +button:-moz-focusring, +input:-moz-focusring { + outline: 1px dotted ButtonText; } fieldset { - padding: .35em .625em .75em; - margin: 0 2px; border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; } legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; padding: 0; - border: 0; + white-space: normal; } textarea { overflow: auto; } -optgroup { - font-weight: bold; -} - -table { - border-spacing: 0; - border-collapse: collapse; -} - -td, -th { +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + 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; +} + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + @media print { *, *::before, - *::after { + *::after, + *::first-letter, + *::first-line { text-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; @@ -245,7 +256,6 @@ th { pre, blockquote { border: 1px solid #999; - page-break-inside: avoid; } thead { @@ -255,9 +265,6 @@ th { img { page-break-inside: avoid; } - img { - max-width: 100% !important; - } p, h2, h3 { @@ -275,7 +282,7 @@ th { .dropup > .btn > .caret { border-top-color: #000 !important; } - .label { + .tag { border: 1px solid #000; } .table { @@ -303,30 +310,18 @@ html { box-sizing: inherit; } -@-moz-viewport { - width: device-width; -} - @-ms-viewport { width: device-width; } -@-webkit-viewport { - width: device-width; -} - -@viewport { - width: device-width; -} - html { font-size: 16px; - + -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: transparent; } body { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: 1rem; line-height: 1.5; color: #373a3c; @@ -397,14 +392,28 @@ a:focus, a:hover { } a:focus { - outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } +a:not([href]):not([tabindex]) { + 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: none; +} + pre { margin-top: 0; margin-bottom: 1rem; + overflow: auto; } figure { @@ -433,12 +442,13 @@ textarea { } table { + border-collapse: collapse; background-color: transparent; } caption { - padding-top: .75rem; - padding-bottom: .75rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; color: #818a91; text-align: left; caption-side: bottom; @@ -467,6 +477,18 @@ textarea { border-radius: 0; } +input[type="radio"]:disabled, +input[type="checkbox"]:disabled { + cursor: not-allowed; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + textarea { resize: vertical; } @@ -488,8 +510,6 @@ legend { } input[type="search"] { - -webkit-box-sizing: inherit; - box-sizing: inherit; -webkit-appearance: none; } @@ -503,58 +523,34 @@ output { h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: .5rem; + margin-bottom: 0.5rem; font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } -h1 { +h1, .h1 { font-size: 2.5rem; } -h2 { +h2, .h2 { font-size: 2rem; } -h3 { +h3, .h3 { font-size: 1.75rem; } -h4 { +h4, .h4 { font-size: 1.5rem; } -h5 { +h5, .h5 { font-size: 1.25rem; } -h6 { - font-size: 1rem; -} - -.h1 { - font-size: 2.5rem; -} - -.h2 { - font-size: 2rem; -} - -.h3 { - font-size: 1.75rem; -} - -.h4 { - font-size: 1.5rem; -} - -.h5 { - font-size: 1.25rem; -} - -.h6 { +h6, .h6 { font-size: 1rem; } @@ -587,7 +583,7 @@ hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; - border-top: 1px solid rgba(0, 0, 0, .1); + border-top: 1px solid rgba(0, 0, 0, 0.1); } small, @@ -598,7 +594,7 @@ small, mark, .mark { - padding: .2em; + padding: 0.2em; background-color: #fcf8e3; } @@ -620,33 +616,21 @@ mark, margin-right: 5px; } -.dl-horizontal { - margin-right: -1.875rem; - margin-left: -1.875rem; -} - -.dl-horizontal::after { - display: table; - clear: both; - content: ""; -} - .initialism { font-size: 90%; text-transform: uppercase; } .blockquote { - padding: .5rem 1rem; + padding: 0.5rem 1rem; margin-bottom: 1rem; font-size: 1.25rem; - border-left: .25rem solid #eceeef; + border-left: 0.25rem solid #eceeef; } .blockquote-footer { display: block; font-size: 80%; - line-height: 1.5; color: #818a91; } @@ -658,7 +642,7 @@ mark, padding-right: 1rem; padding-left: 0; text-align: right; - border-right: .25rem solid #eceeef; + border-right: 0.25rem solid #eceeef; border-left: 0; } @@ -670,6 +654,10 @@ mark, content: "\00A0 \2014"; } +dl.row > dd + dt { + clear: left; +} + .img-fluid, .carousel-inner > .carousel-item > img, .carousel-inner > .carousel-item > a > img { display: block; @@ -678,21 +666,20 @@ mark, } .img-rounded { - border-radius: .3rem; + border-radius: 0.3rem; } .img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 0.25rem; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; display: inline-block; max-width: 100%; height: auto; - padding: .25rem; - line-height: 1.5; - background-color: #fff; - border: 1px solid #ddd; - border-radius: .25rem; - -webkit-transition: all .2s ease-in-out; - -o-transition: all .2s ease-in-out; - transition: all .2s ease-in-out; } .img-circle { @@ -704,7 +691,7 @@ mark, } .figure-img { - margin-bottom: .5rem; + margin-bottom: 0.5rem; line-height: 1; } @@ -717,23 +704,23 @@ code, kbd, pre, samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } code { - padding: .2rem .4rem; + padding: 0.2rem 0.4rem; font-size: 90%; color: #bd4147; background-color: #f7f7f9; - border-radius: .25rem; + border-radius: 0.25rem; } kbd { - padding: .2rem .4rem; + padding: 0.2rem 0.4rem; font-size: 90%; color: #fff; background-color: #333; - border-radius: .2rem; + border-radius: 0.2rem; } kbd kbd { @@ -747,7 +734,6 @@ pre { margin-top: 0; margin-bottom: 1rem; font-size: 90%; - line-height: 1.5; color: #373a3c; } @@ -765,16 +751,16 @@ pre code { } .container { - padding-right: .9375rem; - padding-left: .9375rem; - margin-right: auto; margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } .container::after { + content: ""; display: table; clear: both; - content: ""; } @media (min-width: 544px) { @@ -802,878 +788,902 @@ pre code { } .container-fluid { - padding-right: .9375rem; - padding-left: .9375rem; - margin-right: auto; margin-left: auto; + margin-right: auto; + padding-left: 15px; + padding-right: 15px; } .container-fluid::after { + content: ""; display: table; clear: both; - content: ""; } .row { - margin-right: -.9375rem; - margin-left: -.9375rem; + margin-left: -15px; + margin-right: -15px; } .row::after { + content: ""; display: table; clear: both; - content: ""; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { position: relative; min-height: 1px; - padding-right: .9375rem; - padding-left: .9375rem; -} - -.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; + padding-right: 15px; + padding-left: 15px; } .col-xs-1 { + float: left; width: 8.333333%; } .col-xs-2 { + float: left; width: 16.666667%; } .col-xs-3 { + float: left; width: 25%; } .col-xs-4 { + float: left; width: 33.333333%; } .col-xs-5 { + float: left; width: 41.666667%; } .col-xs-6 { + float: left; width: 50%; } .col-xs-7 { + float: left; width: 58.333333%; } .col-xs-8 { + float: left; width: 66.666667%; } .col-xs-9 { + float: left; width: 75%; } .col-xs-10 { + float: left; width: 83.333333%; } .col-xs-11 { + float: left; width: 91.666667%; } .col-xs-12 { + float: left; width: 100%; } -.col-xs-pull-0 { +.pull-xs-0 { right: auto; } -.col-xs-pull-1 { +.pull-xs-1 { right: 8.333333%; } -.col-xs-pull-2 { +.pull-xs-2 { right: 16.666667%; } -.col-xs-pull-3 { +.pull-xs-3 { right: 25%; } -.col-xs-pull-4 { +.pull-xs-4 { right: 33.333333%; } -.col-xs-pull-5 { +.pull-xs-5 { right: 41.666667%; } -.col-xs-pull-6 { +.pull-xs-6 { right: 50%; } -.col-xs-pull-7 { +.pull-xs-7 { right: 58.333333%; } -.col-xs-pull-8 { +.pull-xs-8 { right: 66.666667%; } -.col-xs-pull-9 { +.pull-xs-9 { right: 75%; } -.col-xs-pull-10 { +.pull-xs-10 { right: 83.333333%; } -.col-xs-pull-11 { +.pull-xs-11 { right: 91.666667%; } -.col-xs-pull-12 { +.pull-xs-12 { right: 100%; } -.col-xs-push-0 { +.push-xs-0 { left: auto; } -.col-xs-push-1 { +.push-xs-1 { left: 8.333333%; } -.col-xs-push-2 { +.push-xs-2 { left: 16.666667%; } -.col-xs-push-3 { +.push-xs-3 { left: 25%; } -.col-xs-push-4 { +.push-xs-4 { left: 33.333333%; } -.col-xs-push-5 { +.push-xs-5 { left: 41.666667%; } -.col-xs-push-6 { +.push-xs-6 { left: 50%; } -.col-xs-push-7 { +.push-xs-7 { left: 58.333333%; } -.col-xs-push-8 { +.push-xs-8 { left: 66.666667%; } -.col-xs-push-9 { +.push-xs-9 { left: 75%; } -.col-xs-push-10 { +.push-xs-10 { left: 83.333333%; } -.col-xs-push-11 { +.push-xs-11 { left: 91.666667%; } -.col-xs-push-12 { +.push-xs-12 { left: 100%; } -.col-xs-offset-0 { - margin-left: 0; -} - -.col-xs-offset-1 { +.offset-xs-1 { margin-left: 8.333333%; } -.col-xs-offset-2 { +.offset-xs-2 { margin-left: 16.666667%; } -.col-xs-offset-3 { +.offset-xs-3 { margin-left: 25%; } -.col-xs-offset-4 { +.offset-xs-4 { margin-left: 33.333333%; } -.col-xs-offset-5 { +.offset-xs-5 { margin-left: 41.666667%; } -.col-xs-offset-6 { +.offset-xs-6 { margin-left: 50%; } -.col-xs-offset-7 { +.offset-xs-7 { margin-left: 58.333333%; } -.col-xs-offset-8 { +.offset-xs-8 { margin-left: 66.666667%; } -.col-xs-offset-9 { +.offset-xs-9 { margin-left: 75%; } -.col-xs-offset-10 { +.offset-xs-10 { margin-left: 83.333333%; } -.col-xs-offset-11 { +.offset-xs-11 { margin-left: 91.666667%; } -.col-xs-offset-12 { - margin-left: 100%; -} - @media (min-width: 544px) { - .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-1 { + float: left; width: 8.333333%; } .col-sm-2 { + float: left; width: 16.666667%; } .col-sm-3 { + float: left; width: 25%; } .col-sm-4 { + float: left; width: 33.333333%; } .col-sm-5 { + float: left; width: 41.666667%; } .col-sm-6 { + float: left; width: 50%; } .col-sm-7 { + float: left; width: 58.333333%; } .col-sm-8 { + float: left; width: 66.666667%; } .col-sm-9 { + float: left; width: 75%; } .col-sm-10 { + float: left; width: 83.333333%; } .col-sm-11 { + float: left; width: 91.666667%; } .col-sm-12 { + float: left; width: 100%; } - .col-sm-pull-0 { + .pull-sm-0 { right: auto; } - .col-sm-pull-1 { + .pull-sm-1 { right: 8.333333%; } - .col-sm-pull-2 { + .pull-sm-2 { right: 16.666667%; } - .col-sm-pull-3 { + .pull-sm-3 { right: 25%; } - .col-sm-pull-4 { + .pull-sm-4 { right: 33.333333%; } - .col-sm-pull-5 { + .pull-sm-5 { right: 41.666667%; } - .col-sm-pull-6 { + .pull-sm-6 { right: 50%; } - .col-sm-pull-7 { + .pull-sm-7 { right: 58.333333%; } - .col-sm-pull-8 { + .pull-sm-8 { right: 66.666667%; } - .col-sm-pull-9 { + .pull-sm-9 { right: 75%; } - .col-sm-pull-10 { + .pull-sm-10 { right: 83.333333%; } - .col-sm-pull-11 { + .pull-sm-11 { right: 91.666667%; } - .col-sm-pull-12 { + .pull-sm-12 { right: 100%; } - .col-sm-push-0 { + .push-sm-0 { left: auto; } - .col-sm-push-1 { + .push-sm-1 { left: 8.333333%; } - .col-sm-push-2 { + .push-sm-2 { left: 16.666667%; } - .col-sm-push-3 { + .push-sm-3 { left: 25%; } - .col-sm-push-4 { + .push-sm-4 { left: 33.333333%; } - .col-sm-push-5 { + .push-sm-5 { left: 41.666667%; } - .col-sm-push-6 { + .push-sm-6 { left: 50%; } - .col-sm-push-7 { + .push-sm-7 { left: 58.333333%; } - .col-sm-push-8 { + .push-sm-8 { left: 66.666667%; } - .col-sm-push-9 { + .push-sm-9 { left: 75%; } - .col-sm-push-10 { + .push-sm-10 { left: 83.333333%; } - .col-sm-push-11 { + .push-sm-11 { left: 91.666667%; } - .col-sm-push-12 { + .push-sm-12 { left: 100%; } - .col-sm-offset-0 { - margin-left: 0; + .offset-sm-0 { + margin-left: 0%; } - .col-sm-offset-1 { + .offset-sm-1 { margin-left: 8.333333%; } - .col-sm-offset-2 { + .offset-sm-2 { margin-left: 16.666667%; } - .col-sm-offset-3 { + .offset-sm-3 { margin-left: 25%; } - .col-sm-offset-4 { + .offset-sm-4 { margin-left: 33.333333%; } - .col-sm-offset-5 { + .offset-sm-5 { margin-left: 41.666667%; } - .col-sm-offset-6 { + .offset-sm-6 { margin-left: 50%; } - .col-sm-offset-7 { + .offset-sm-7 { margin-left: 58.333333%; } - .col-sm-offset-8 { + .offset-sm-8 { margin-left: 66.666667%; } - .col-sm-offset-9 { + .offset-sm-9 { margin-left: 75%; } - .col-sm-offset-10 { + .offset-sm-10 { margin-left: 83.333333%; } - .col-sm-offset-11 { + .offset-sm-11 { margin-left: 91.666667%; } - .col-sm-offset-12 { - margin-left: 100%; - } } @media (min-width: 768px) { - .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-1 { + float: left; width: 8.333333%; } .col-md-2 { + float: left; width: 16.666667%; } .col-md-3 { + float: left; width: 25%; } .col-md-4 { + float: left; width: 33.333333%; } .col-md-5 { + float: left; width: 41.666667%; } .col-md-6 { + float: left; width: 50%; } .col-md-7 { + float: left; width: 58.333333%; } .col-md-8 { + float: left; width: 66.666667%; } .col-md-9 { + float: left; width: 75%; } .col-md-10 { + float: left; width: 83.333333%; } .col-md-11 { + float: left; width: 91.666667%; } .col-md-12 { + float: left; width: 100%; } - .col-md-pull-0 { + .pull-md-0 { right: auto; } - .col-md-pull-1 { + .pull-md-1 { right: 8.333333%; } - .col-md-pull-2 { + .pull-md-2 { right: 16.666667%; } - .col-md-pull-3 { + .pull-md-3 { right: 25%; } - .col-md-pull-4 { + .pull-md-4 { right: 33.333333%; } - .col-md-pull-5 { + .pull-md-5 { right: 41.666667%; } - .col-md-pull-6 { + .pull-md-6 { right: 50%; } - .col-md-pull-7 { + .pull-md-7 { right: 58.333333%; } - .col-md-pull-8 { + .pull-md-8 { right: 66.666667%; } - .col-md-pull-9 { + .pull-md-9 { right: 75%; } - .col-md-pull-10 { + .pull-md-10 { right: 83.333333%; } - .col-md-pull-11 { + .pull-md-11 { right: 91.666667%; } - .col-md-pull-12 { + .pull-md-12 { right: 100%; } - .col-md-push-0 { + .push-md-0 { left: auto; } - .col-md-push-1 { + .push-md-1 { left: 8.333333%; } - .col-md-push-2 { + .push-md-2 { left: 16.666667%; } - .col-md-push-3 { + .push-md-3 { left: 25%; } - .col-md-push-4 { + .push-md-4 { left: 33.333333%; } - .col-md-push-5 { + .push-md-5 { left: 41.666667%; } - .col-md-push-6 { + .push-md-6 { left: 50%; } - .col-md-push-7 { + .push-md-7 { left: 58.333333%; } - .col-md-push-8 { + .push-md-8 { left: 66.666667%; } - .col-md-push-9 { + .push-md-9 { left: 75%; } - .col-md-push-10 { + .push-md-10 { left: 83.333333%; } - .col-md-push-11 { + .push-md-11 { left: 91.666667%; } - .col-md-push-12 { + .push-md-12 { left: 100%; } - .col-md-offset-0 { - margin-left: 0; + .offset-md-0 { + margin-left: 0%; } - .col-md-offset-1 { + .offset-md-1 { margin-left: 8.333333%; } - .col-md-offset-2 { + .offset-md-2 { margin-left: 16.666667%; } - .col-md-offset-3 { + .offset-md-3 { margin-left: 25%; } - .col-md-offset-4 { + .offset-md-4 { margin-left: 33.333333%; } - .col-md-offset-5 { + .offset-md-5 { margin-left: 41.666667%; } - .col-md-offset-6 { + .offset-md-6 { margin-left: 50%; } - .col-md-offset-7 { + .offset-md-7 { margin-left: 58.333333%; } - .col-md-offset-8 { + .offset-md-8 { margin-left: 66.666667%; } - .col-md-offset-9 { + .offset-md-9 { margin-left: 75%; } - .col-md-offset-10 { + .offset-md-10 { margin-left: 83.333333%; } - .col-md-offset-11 { + .offset-md-11 { margin-left: 91.666667%; } - .col-md-offset-12 { - margin-left: 100%; - } } @media (min-width: 992px) { - .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-1 { + float: left; width: 8.333333%; } .col-lg-2 { + float: left; width: 16.666667%; } .col-lg-3 { + float: left; width: 25%; } .col-lg-4 { + float: left; width: 33.333333%; } .col-lg-5 { + float: left; width: 41.666667%; } .col-lg-6 { + float: left; width: 50%; } .col-lg-7 { + float: left; width: 58.333333%; } .col-lg-8 { + float: left; width: 66.666667%; } .col-lg-9 { + float: left; width: 75%; } .col-lg-10 { + float: left; width: 83.333333%; } .col-lg-11 { + float: left; width: 91.666667%; } .col-lg-12 { + float: left; width: 100%; } - .col-lg-pull-0 { + .pull-lg-0 { right: auto; } - .col-lg-pull-1 { + .pull-lg-1 { right: 8.333333%; } - .col-lg-pull-2 { + .pull-lg-2 { right: 16.666667%; } - .col-lg-pull-3 { + .pull-lg-3 { right: 25%; } - .col-lg-pull-4 { + .pull-lg-4 { right: 33.333333%; } - .col-lg-pull-5 { + .pull-lg-5 { right: 41.666667%; } - .col-lg-pull-6 { + .pull-lg-6 { right: 50%; } - .col-lg-pull-7 { + .pull-lg-7 { right: 58.333333%; } - .col-lg-pull-8 { + .pull-lg-8 { right: 66.666667%; } - .col-lg-pull-9 { + .pull-lg-9 { right: 75%; } - .col-lg-pull-10 { + .pull-lg-10 { right: 83.333333%; } - .col-lg-pull-11 { + .pull-lg-11 { right: 91.666667%; } - .col-lg-pull-12 { + .pull-lg-12 { right: 100%; } - .col-lg-push-0 { + .push-lg-0 { left: auto; } - .col-lg-push-1 { + .push-lg-1 { left: 8.333333%; } - .col-lg-push-2 { + .push-lg-2 { left: 16.666667%; } - .col-lg-push-3 { + .push-lg-3 { left: 25%; } - .col-lg-push-4 { + .push-lg-4 { left: 33.333333%; } - .col-lg-push-5 { + .push-lg-5 { left: 41.666667%; } - .col-lg-push-6 { + .push-lg-6 { left: 50%; } - .col-lg-push-7 { + .push-lg-7 { left: 58.333333%; } - .col-lg-push-8 { + .push-lg-8 { left: 66.666667%; } - .col-lg-push-9 { + .push-lg-9 { left: 75%; } - .col-lg-push-10 { + .push-lg-10 { left: 83.333333%; } - .col-lg-push-11 { + .push-lg-11 { left: 91.666667%; } - .col-lg-push-12 { + .push-lg-12 { left: 100%; } - .col-lg-offset-0 { - margin-left: 0; + .offset-lg-0 { + margin-left: 0%; } - .col-lg-offset-1 { + .offset-lg-1 { margin-left: 8.333333%; } - .col-lg-offset-2 { + .offset-lg-2 { margin-left: 16.666667%; } - .col-lg-offset-3 { + .offset-lg-3 { margin-left: 25%; } - .col-lg-offset-4 { + .offset-lg-4 { margin-left: 33.333333%; } - .col-lg-offset-5 { + .offset-lg-5 { margin-left: 41.666667%; } - .col-lg-offset-6 { + .offset-lg-6 { margin-left: 50%; } - .col-lg-offset-7 { + .offset-lg-7 { margin-left: 58.333333%; } - .col-lg-offset-8 { + .offset-lg-8 { margin-left: 66.666667%; } - .col-lg-offset-9 { + .offset-lg-9 { margin-left: 75%; } - .col-lg-offset-10 { + .offset-lg-10 { margin-left: 83.333333%; } - .col-lg-offset-11 { + .offset-lg-11 { margin-left: 91.666667%; } - .col-lg-offset-12 { - margin-left: 100%; - } } @media (min-width: 1200px) { - .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 { - float: left; - } .col-xl-1 { + float: left; width: 8.333333%; } .col-xl-2 { + float: left; width: 16.666667%; } .col-xl-3 { + float: left; width: 25%; } .col-xl-4 { + float: left; width: 33.333333%; } .col-xl-5 { + float: left; width: 41.666667%; } .col-xl-6 { + float: left; width: 50%; } .col-xl-7 { + float: left; width: 58.333333%; } .col-xl-8 { + float: left; width: 66.666667%; } .col-xl-9 { + float: left; width: 75%; } .col-xl-10 { + float: left; width: 83.333333%; } .col-xl-11 { + float: left; width: 91.666667%; } .col-xl-12 { + float: left; width: 100%; } - .col-xl-pull-0 { + .pull-xl-0 { right: auto; } - .col-xl-pull-1 { + .pull-xl-1 { right: 8.333333%; } - .col-xl-pull-2 { + .pull-xl-2 { right: 16.666667%; } - .col-xl-pull-3 { + .pull-xl-3 { right: 25%; } - .col-xl-pull-4 { + .pull-xl-4 { right: 33.333333%; } - .col-xl-pull-5 { + .pull-xl-5 { right: 41.666667%; } - .col-xl-pull-6 { + .pull-xl-6 { right: 50%; } - .col-xl-pull-7 { + .pull-xl-7 { right: 58.333333%; } - .col-xl-pull-8 { + .pull-xl-8 { right: 66.666667%; } - .col-xl-pull-9 { + .pull-xl-9 { right: 75%; } - .col-xl-pull-10 { + .pull-xl-10 { right: 83.333333%; } - .col-xl-pull-11 { + .pull-xl-11 { right: 91.666667%; } - .col-xl-pull-12 { + .pull-xl-12 { right: 100%; } - .col-xl-push-0 { + .push-xl-0 { left: auto; } - .col-xl-push-1 { + .push-xl-1 { left: 8.333333%; } - .col-xl-push-2 { + .push-xl-2 { left: 16.666667%; } - .col-xl-push-3 { + .push-xl-3 { left: 25%; } - .col-xl-push-4 { + .push-xl-4 { left: 33.333333%; } - .col-xl-push-5 { + .push-xl-5 { left: 41.666667%; } - .col-xl-push-6 { + .push-xl-6 { left: 50%; } - .col-xl-push-7 { + .push-xl-7 { left: 58.333333%; } - .col-xl-push-8 { + .push-xl-8 { left: 66.666667%; } - .col-xl-push-9 { + .push-xl-9 { left: 75%; } - .col-xl-push-10 { + .push-xl-10 { left: 83.333333%; } - .col-xl-push-11 { + .push-xl-11 { left: 91.666667%; } - .col-xl-push-12 { + .push-xl-12 { left: 100%; } - .col-xl-offset-0 { - margin-left: 0; + .offset-xl-0 { + margin-left: 0%; } - .col-xl-offset-1 { + .offset-xl-1 { margin-left: 8.333333%; } - .col-xl-offset-2 { + .offset-xl-2 { margin-left: 16.666667%; } - .col-xl-offset-3 { + .offset-xl-3 { margin-left: 25%; } - .col-xl-offset-4 { + .offset-xl-4 { margin-left: 33.333333%; } - .col-xl-offset-5 { + .offset-xl-5 { margin-left: 41.666667%; } - .col-xl-offset-6 { + .offset-xl-6 { margin-left: 50%; } - .col-xl-offset-7 { + .offset-xl-7 { margin-left: 58.333333%; } - .col-xl-offset-8 { + .offset-xl-8 { margin-left: 66.666667%; } - .col-xl-offset-9 { + .offset-xl-9 { margin-left: 75%; } - .col-xl-offset-10 { + .offset-xl-10 { margin-left: 83.333333%; } - .col-xl-offset-11 { + .offset-xl-11 { margin-left: 91.666667%; } - .col-xl-offset-12 { - margin-left: 100%; - } } .table { @@ -1684,8 +1694,7 @@ pre code { .table th, .table td { - padding: .75rem; - line-height: 1.5; + padding: 0.75rem; vertical-align: top; border-top: 1px solid #eceeef; } @@ -1705,7 +1714,7 @@ pre code { .table-sm th, .table-sm td { - padding: .3rem; + padding: 0.3rem; } .table-bordered { @@ -1723,26 +1732,26 @@ pre code { } .table-striped tbody tr:nth-of-type(odd) { - background-color: #f9f9f9; + background-color: rgba(0, 0, 0, 0.05); } .table-hover tbody tr:hover { - background-color: #f5f5f5; + background-color: rgba(0, 0, 0, 0.075); } .table-active, .table-active > th, .table-active > td { - background-color: #f5f5f5; + background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover { - background-color: #e8e8e8; + background-color: rgba(0, 0, 0, 0.075); } .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { - background-color: #e8e8e8; + background-color: rgba(0, 0, 0, 0.075); } .table-success, @@ -1805,13 +1814,6 @@ pre code { background-color: #ebcccc; } -.table-responsive { - display: block; - width: 100%; - min-height: .01%; - overflow-x: auto; -} - .thead-inverse th { color: #fff; background-color: #373a3c; @@ -1827,16 +1829,23 @@ pre code { background-color: #373a3c; } -.table-inverse.table-bordered { - border: 0; -} - .table-inverse th, .table-inverse td, .table-inverse thead th { border-color: #55595c; } +.table-inverse.table-bordered { + border: 0; +} + +.table-responsive { + display: block; + width: 100%; + min-height: .01%; + overflow-x: auto; +} + .table-reflow thead { float: left; } @@ -1879,14 +1888,16 @@ pre code { .form-control { display: block; width: 100%; - padding: .375rem .75rem; + padding: 0.5rem 0.75rem; font-size: 1rem; - line-height: 1.5; + line-height: 1.25; color: #55595c; background-color: #fff; background-image: none; - border: 1px solid #ccc; - border-radius: .25rem; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } .form-control::-ms-expand { @@ -1895,6 +1906,8 @@ pre code { } .form-control:focus { + color: #55595c; + background-color: #fff; border-color: #66afe9; outline: none; } @@ -1928,55 +1941,49 @@ pre code { cursor: not-allowed; } +select.form-control:not([size]):not([multiple]) { + height: 2.5rem; +} + +select.form-control:focus::-ms-value { + color: #55595c; + background-color: #fff; +} + .form-control-file, .form-control-range { display: block; } -.form-control-label { - padding: .375rem .75rem; +.col-form-label { + padding-top: 0.5rem; + padding-bottom: 0.5rem; margin-bottom: 0; } -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 2.25rem; - } - input[type="date"].input-sm, - .input-group-sm input[type="date"].form-control, - input[type="time"].input-sm, - .input-group-sm - input[type="time"].form-control, - input[type="datetime-local"].input-sm, - .input-group-sm - input[type="datetime-local"].form-control, - input[type="month"].input-sm, - .input-group-sm - input[type="month"].form-control { - line-height: 1.8625rem; - } - input[type="date"].input-lg, - .input-group-lg input[type="date"].form-control, - input[type="time"].input-lg, - .input-group-lg - input[type="time"].form-control, - input[type="datetime-local"].input-lg, - .input-group-lg - input[type="datetime-local"].form-control, - input[type="month"].input-lg, - .input-group-lg - input[type="month"].form-control { - line-height: 3.166667rem; - } +.col-form-label-lg { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + font-size: 0.875rem; +} + +.col-form-legend { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; + font-size: 1rem; } .form-control-static { - min-height: 2.25rem; - padding-top: .375rem; - padding-bottom: .375rem; + min-height: 2.5rem; + padding-top: 0.5rem; + padding-bottom: 0.5rem; margin-bottom: 0; } @@ -1992,90 +1999,90 @@ pre code { .form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { - padding: .275rem .75rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), +.input-group-sm > select.input-group-addon:not([size]):not([multiple]), +.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: 1.8125rem; } .form-control-lg, .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { - padding: .75rem 1.25rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; - line-height: 1.333333; - border-radius: .3rem; + border-radius: 0.3rem; +} + +select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), +.input-group-lg > select.input-group-addon:not([size]):not([multiple]), +.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) { + height: 3.166667rem; } .form-group { margin-bottom: 1rem; } -.radio, -.checkbox { - position: relative; +.form-text { display: block; - margin-bottom: .75rem; + margin-top: 0.25rem; } -.radio label, -.checkbox label { +.form-check { + position: relative; + display: block; + margin-bottom: 0.75rem; +} + +.form-check + .form-check { + margin-top: -.25rem; +} + +.form-check.disabled .form-check-label { + color: #818a91; + cursor: not-allowed; +} + +.form-check-label { padding-left: 1.25rem; margin-bottom: 0; - font-weight: normal; cursor: pointer; } -.radio label input:only-child, -.checkbox label input:only-child { - position: static; -} - -.radio input[type="radio"], -.radio-inline input[type="radio"], -.checkbox input[type="checkbox"], -.checkbox-inline input[type="checkbox"] { +.form-check-input { position: absolute; margin-top: .25rem; margin-left: -1.25rem; } -.radio + .radio, -.checkbox + .checkbox { - margin-top: -.25rem; +.form-check-input:only-child { + position: static; } -.radio-inline, -.checkbox-inline { +.form-check-inline { position: relative; display: inline-block; padding-left: 1.25rem; margin-bottom: 0; - font-weight: normal; vertical-align: middle; cursor: pointer; } -.radio-inline + .radio-inline, -.checkbox-inline + .checkbox-inline { - margin-top: 0; +.form-check-inline + .form-check-inline { margin-left: .75rem; } -input[type="radio"]:disabled, input[type="radio"].disabled, -input[type="checkbox"]:disabled, -input[type="checkbox"].disabled { +.form-check-inline.disabled { cursor: not-allowed; } -.radio-inline.disabled, -.checkbox-inline.disabled { - cursor: not-allowed; -} - -.radio.disabled label, -.checkbox.disabled label { - cursor: not-allowed; +.form-control-feedback { + margin-top: 0.25rem; } .form-control-success, @@ -2083,12 +2090,12 @@ input[type="checkbox"].disabled { .form-control-danger { padding-right: 2.25rem; background-repeat: no-repeat; - background-position: center right .5625rem; - -webkit-background-size: 1.4625rem 1.4625rem; - background-size: 1.4625rem 1.4625rem; + background-position: center right 0.625rem; + -webkit-background-size: 1.25rem 1.25rem; + background-size: 1.25rem 1.25rem; } -.has-success .text-help, +.has-success .form-control-feedback, .has-success .form-control-label, .has-success .radio, .has-success .checkbox, @@ -2097,7 +2104,8 @@ input[type="checkbox"].disabled { .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, -.has-success.checkbox-inline label { +.has-success.checkbox-inline label, +.has-success .custom-control { color: #5cb85c; } @@ -2107,8 +2115,8 @@ input[type="checkbox"].disabled { .has-success .input-group-addon { color: #5cb85c; - background-color: #eaf6ea; border-color: #5cb85c; + background-color: #eaf6ea; } .has-success .form-control-feedback { @@ -2116,10 +2124,10 @@ input[type="checkbox"].disabled { } .has-success .form-control-success { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg=="); + 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='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"); } -.has-warning .text-help, +.has-warning .form-control-feedback, .has-warning .form-control-label, .has-warning .radio, .has-warning .checkbox, @@ -2128,7 +2136,8 @@ input[type="checkbox"].disabled { .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, -.has-warning.checkbox-inline label { +.has-warning.checkbox-inline label, +.has-warning .custom-control { color: #f0ad4e; } @@ -2138,8 +2147,8 @@ input[type="checkbox"].disabled { .has-warning .input-group-addon { color: #f0ad4e; - background-color: white; border-color: #f0ad4e; + background-color: white; } .has-warning .form-control-feedback { @@ -2147,10 +2156,10 @@ input[type="checkbox"].disabled { } .has-warning .form-control-warning { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+"); + 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='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"); } -.has-danger .text-help, +.has-danger .form-control-feedback, .has-danger .form-control-label, .has-danger .radio, .has-danger .checkbox, @@ -2159,7 +2168,8 @@ input[type="checkbox"].disabled { .has-danger.radio label, .has-danger.checkbox label, .has-danger.radio-inline label, -.has-danger.checkbox-inline label { +.has-danger.checkbox-inline label, +.has-danger .custom-control { color: #d9534f; } @@ -2169,8 +2179,8 @@ input[type="checkbox"].disabled { .has-danger .input-group-addon { color: #d9534f; - background-color: #fdf7f7; border-color: #d9534f; + background-color: #fdf7f7; } .has-danger .form-control-feedback { @@ -2178,7 +2188,7 @@ input[type="checkbox"].disabled { } .has-danger .form-control-danger { - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4="); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"); } @media (min-width: 544px) { @@ -2211,19 +2221,16 @@ input[type="checkbox"].disabled { margin-bottom: 0; vertical-align: middle; } - .form-inline .radio, - .form-inline .checkbox { + .form-inline .form-check { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } - .form-inline .radio label, - .form-inline .checkbox label { + .form-inline .form-check-label { padding-left: 0; } - .form-inline .radio input[type="radio"], - .form-inline .checkbox input[type="checkbox"] { + .form-inline .form-check-input { position: relative; margin-left: 0; } @@ -2234,10 +2241,8 @@ input[type="checkbox"].disabled { .btn { display: inline-block; - padding: .375rem 1rem; - font-size: 1rem; font-weight: normal; - line-height: 1.5; + line-height: 1.25; text-align: center; white-space: nowrap; vertical-align: middle; @@ -2247,11 +2252,12 @@ input[type="checkbox"].disabled { -ms-user-select: none; user-select: none; border: 1px solid transparent; - border-radius: .25rem; + padding: 0.5rem 1rem; + font-size: 1rem; + border-radius: 0.25rem; } .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus { - outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -2301,8 +2307,8 @@ fieldset[disabled] a.btn { .open > .btn-primary.dropdown-toggle { color: #fff; background-color: #025aa5; - background-image: none; border-color: #01549b; + background-image: none; } .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, @@ -2346,8 +2352,8 @@ fieldset[disabled] a.btn { .open > .btn-secondary.dropdown-toggle { color: #373a3c; background-color: #e6e6e6; - background-image: none; border-color: #adadad; + background-image: none; } .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:active.focus, .btn-secondary.active:hover, .btn-secondary.active:focus, .btn-secondary.active.focus, @@ -2391,8 +2397,8 @@ fieldset[disabled] a.btn { .open > .btn-info.dropdown-toggle { color: #fff; background-color: #31b0d5; - background-image: none; border-color: #2aabd2; + background-image: none; } .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus, @@ -2436,8 +2442,8 @@ fieldset[disabled] a.btn { .open > .btn-success.dropdown-toggle { color: #fff; background-color: #449d44; - background-image: none; border-color: #419641; + background-image: none; } .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus, @@ -2481,8 +2487,8 @@ fieldset[disabled] a.btn { .open > .btn-warning.dropdown-toggle { color: #fff; background-color: #ec971f; - background-image: none; border-color: #eb9316; + background-image: none; } .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus, @@ -2526,8 +2532,8 @@ fieldset[disabled] a.btn { .open > .btn-danger.dropdown-toggle { color: #fff; background-color: #c9302c; - background-image: none; border-color: #c12e2a; + background-image: none; } .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus, @@ -2549,171 +2555,261 @@ fieldset[disabled] a.btn { border-color: #d9534f; } -.btn-primary-outline { +.btn-outline-primary { color: #0275d8; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #0275d8; } -.btn-primary-outline:focus, .btn-primary-outline.focus, .btn-primary-outline:active, .btn-primary-outline.active, -.open > .btn-primary-outline.dropdown-toggle { +.btn-outline-primary:hover { color: #fff; background-color: #0275d8; border-color: #0275d8; } -.btn-primary-outline:hover { +.btn-outline-primary:focus, .btn-outline-primary.focus { color: #fff; background-color: #0275d8; border-color: #0275d8; } -.btn-primary-outline.disabled:focus, .btn-primary-outline.disabled.focus, .btn-primary-outline:disabled:focus, .btn-primary-outline:disabled.focus { +.btn-outline-primary:active, .btn-outline-primary.active, +.open > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #0275d8; + border-color: #0275d8; +} + +.btn-outline-primary:active:hover, .btn-outline-primary:active:focus, .btn-outline-primary:active.focus, .btn-outline-primary.active:hover, .btn-outline-primary.active:focus, .btn-outline-primary.active.focus, +.open > .btn-outline-primary.dropdown-toggle:hover, +.open > .btn-outline-primary.dropdown-toggle:focus, +.open > .btn-outline-primary.dropdown-toggle.focus { + color: #fff; + background-color: #014682; + border-color: #01315a; +} + +.btn-outline-primary.disabled:focus, .btn-outline-primary.disabled.focus, .btn-outline-primary:disabled:focus, .btn-outline-primary:disabled.focus { border-color: #43a7fd; } -.btn-primary-outline.disabled:hover, .btn-primary-outline:disabled:hover { +.btn-outline-primary.disabled:hover, .btn-outline-primary:disabled:hover { border-color: #43a7fd; } -.btn-secondary-outline { +.btn-outline-secondary { color: #ccc; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #ccc; } -.btn-secondary-outline:focus, .btn-secondary-outline.focus, .btn-secondary-outline:active, .btn-secondary-outline.active, -.open > .btn-secondary-outline.dropdown-toggle { +.btn-outline-secondary:hover { color: #fff; background-color: #ccc; border-color: #ccc; } -.btn-secondary-outline:hover { +.btn-outline-secondary:focus, .btn-outline-secondary.focus { color: #fff; background-color: #ccc; border-color: #ccc; } -.btn-secondary-outline.disabled:focus, .btn-secondary-outline.disabled.focus, .btn-secondary-outline:disabled:focus, .btn-secondary-outline:disabled.focus { +.btn-outline-secondary:active, .btn-outline-secondary.active, +.open > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #ccc; + border-color: #ccc; +} + +.btn-outline-secondary:active:hover, .btn-outline-secondary:active:focus, .btn-outline-secondary:active.focus, .btn-outline-secondary.active:hover, .btn-outline-secondary.active:focus, .btn-outline-secondary.active.focus, +.open > .btn-outline-secondary.dropdown-toggle:hover, +.open > .btn-outline-secondary.dropdown-toggle:focus, +.open > .btn-outline-secondary.dropdown-toggle.focus { + color: #fff; + background-color: #a1a1a1; + border-color: #8c8c8c; +} + +.btn-outline-secondary.disabled:focus, .btn-outline-secondary.disabled.focus, .btn-outline-secondary:disabled:focus, .btn-outline-secondary:disabled.focus { border-color: white; } -.btn-secondary-outline.disabled:hover, .btn-secondary-outline:disabled:hover { +.btn-outline-secondary.disabled:hover, .btn-outline-secondary:disabled:hover { border-color: white; } -.btn-info-outline { +.btn-outline-info { color: #5bc0de; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #5bc0de; } -.btn-info-outline:focus, .btn-info-outline.focus, .btn-info-outline:active, .btn-info-outline.active, -.open > .btn-info-outline.dropdown-toggle { +.btn-outline-info:hover { color: #fff; background-color: #5bc0de; border-color: #5bc0de; } -.btn-info-outline:hover { +.btn-outline-info:focus, .btn-outline-info.focus { color: #fff; background-color: #5bc0de; border-color: #5bc0de; } -.btn-info-outline.disabled:focus, .btn-info-outline.disabled.focus, .btn-info-outline:disabled:focus, .btn-info-outline:disabled.focus { +.btn-outline-info:active, .btn-outline-info.active, +.open > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #5bc0de; + border-color: #5bc0de; +} + +.btn-outline-info:active:hover, .btn-outline-info:active:focus, .btn-outline-info:active.focus, .btn-outline-info.active:hover, .btn-outline-info.active:focus, .btn-outline-info.active.focus, +.open > .btn-outline-info.dropdown-toggle:hover, +.open > .btn-outline-info.dropdown-toggle:focus, +.open > .btn-outline-info.dropdown-toggle.focus { + color: #fff; + background-color: #269abc; + border-color: #1f7e9a; +} + +.btn-outline-info.disabled:focus, .btn-outline-info.disabled.focus, .btn-outline-info:disabled:focus, .btn-outline-info:disabled.focus { border-color: #b0e1ef; } -.btn-info-outline.disabled:hover, .btn-info-outline:disabled:hover { +.btn-outline-info.disabled:hover, .btn-outline-info:disabled:hover { border-color: #b0e1ef; } -.btn-success-outline { +.btn-outline-success { color: #5cb85c; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #5cb85c; } -.btn-success-outline:focus, .btn-success-outline.focus, .btn-success-outline:active, .btn-success-outline.active, -.open > .btn-success-outline.dropdown-toggle { +.btn-outline-success:hover { color: #fff; background-color: #5cb85c; border-color: #5cb85c; } -.btn-success-outline:hover { +.btn-outline-success:focus, .btn-outline-success.focus { color: #fff; background-color: #5cb85c; border-color: #5cb85c; } -.btn-success-outline.disabled:focus, .btn-success-outline.disabled.focus, .btn-success-outline:disabled:focus, .btn-success-outline:disabled.focus { +.btn-outline-success:active, .btn-outline-success.active, +.open > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #5cb85c; + border-color: #5cb85c; +} + +.btn-outline-success:active:hover, .btn-outline-success:active:focus, .btn-outline-success:active.focus, .btn-outline-success.active:hover, .btn-outline-success.active:focus, .btn-outline-success.active.focus, +.open > .btn-outline-success.dropdown-toggle:hover, +.open > .btn-outline-success.dropdown-toggle:focus, +.open > .btn-outline-success.dropdown-toggle.focus { + color: #fff; + background-color: #398439; + border-color: #2d672d; +} + +.btn-outline-success.disabled:focus, .btn-outline-success.disabled.focus, .btn-outline-success:disabled:focus, .btn-outline-success:disabled.focus { border-color: #a3d7a3; } -.btn-success-outline.disabled:hover, .btn-success-outline:disabled:hover { +.btn-outline-success.disabled:hover, .btn-outline-success:disabled:hover { border-color: #a3d7a3; } -.btn-warning-outline { +.btn-outline-warning { color: #f0ad4e; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #f0ad4e; } -.btn-warning-outline:focus, .btn-warning-outline.focus, .btn-warning-outline:active, .btn-warning-outline.active, -.open > .btn-warning-outline.dropdown-toggle { +.btn-outline-warning:hover { color: #fff; background-color: #f0ad4e; border-color: #f0ad4e; } -.btn-warning-outline:hover { +.btn-outline-warning:focus, .btn-outline-warning.focus { color: #fff; background-color: #f0ad4e; border-color: #f0ad4e; } -.btn-warning-outline.disabled:focus, .btn-warning-outline.disabled.focus, .btn-warning-outline:disabled:focus, .btn-warning-outline:disabled.focus { +.btn-outline-warning:active, .btn-outline-warning.active, +.open > .btn-outline-warning.dropdown-toggle { + color: #fff; + background-color: #f0ad4e; + border-color: #f0ad4e; +} + +.btn-outline-warning:active:hover, .btn-outline-warning:active:focus, .btn-outline-warning:active.focus, .btn-outline-warning.active:hover, .btn-outline-warning.active:focus, .btn-outline-warning.active.focus, +.open > .btn-outline-warning.dropdown-toggle:hover, +.open > .btn-outline-warning.dropdown-toggle:focus, +.open > .btn-outline-warning.dropdown-toggle.focus { + color: #fff; + background-color: #d58512; + border-color: #b06d0f; +} + +.btn-outline-warning.disabled:focus, .btn-outline-warning.disabled.focus, .btn-outline-warning:disabled:focus, .btn-outline-warning:disabled.focus { border-color: #f8d9ac; } -.btn-warning-outline.disabled:hover, .btn-warning-outline:disabled:hover { +.btn-outline-warning.disabled:hover, .btn-outline-warning:disabled:hover { border-color: #f8d9ac; } -.btn-danger-outline { +.btn-outline-danger { color: #d9534f; - background-color: transparent; background-image: none; + background-color: transparent; border-color: #d9534f; } -.btn-danger-outline:focus, .btn-danger-outline.focus, .btn-danger-outline:active, .btn-danger-outline.active, -.open > .btn-danger-outline.dropdown-toggle { +.btn-outline-danger:hover { color: #fff; background-color: #d9534f; border-color: #d9534f; } -.btn-danger-outline:hover { +.btn-outline-danger:focus, .btn-outline-danger.focus { color: #fff; background-color: #d9534f; border-color: #d9534f; } -.btn-danger-outline.disabled:focus, .btn-danger-outline.disabled.focus, .btn-danger-outline:disabled:focus, .btn-danger-outline:disabled.focus { +.btn-outline-danger:active, .btn-outline-danger.active, +.open > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #d9534f; + border-color: #d9534f; +} + +.btn-outline-danger:active:hover, .btn-outline-danger:active:focus, .btn-outline-danger:active.focus, .btn-outline-danger.active:hover, .btn-outline-danger.active:focus, .btn-outline-danger.active.focus, +.open > .btn-outline-danger.dropdown-toggle:hover, +.open > .btn-outline-danger.dropdown-toggle:focus, +.open > .btn-outline-danger.dropdown-toggle.focus { + color: #fff; + background-color: #ac2925; + border-color: #8b211e; +} + +.btn-outline-danger.disabled:focus, .btn-outline-danger.disabled.focus, .btn-outline-danger:disabled:focus, .btn-outline-danger:disabled.focus { border-color: #eba5a3; } -.btn-danger-outline.disabled:hover, .btn-danger-outline:disabled:hover { +.btn-outline-danger.disabled:hover, .btn-outline-danger:disabled:hover { border-color: #eba5a3; } @@ -2747,17 +2843,15 @@ fieldset[disabled] a.btn { } .btn-lg, .btn-group-lg > .btn { - padding: .75rem 1.25rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; - line-height: 1.333333; - border-radius: .3rem; + border-radius: 0.3rem; } .btn-sm, .btn-group-sm > .btn { - padding: .25rem .75rem; - font-size: .875rem; - line-height: 1.5; - border-radius: .2rem; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; } .btn-block { @@ -2766,7 +2860,7 @@ fieldset[disabled] a.btn { } .btn-block + .btn-block { - margin-top: 5px; + margin-top: 0.5rem; } input[type="submit"].btn-block, @@ -2778,8 +2872,8 @@ input[type="button"].btn-block { .fade { opacity: 0; -webkit-transition: opacity .15s linear; - -o-transition: opacity .15s linear; - transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; } .fade.in { @@ -2805,8 +2899,8 @@ input[type="button"].btn-block { -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height; - -o-transition-property: height; - transition-property: height; + -o-transition-property: height; + transition-property: height; } .dropup, @@ -2818,13 +2912,12 @@ input[type="button"].btn-block { display: inline-block; width: 0; height: 0; - margin-right: .25rem; - margin-left: .25rem; + margin-left: 0.3em; vertical-align: middle; content: ""; - border-top: .3em solid; - border-right: .3em solid transparent; - border-left: .3em solid transparent; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-left: 0.3em solid transparent; } .dropdown-toggle:focus { @@ -2833,7 +2926,7 @@ input[type="button"].btn-block { .dropup .dropdown-toggle::after { border-top: 0; - border-bottom: .3em solid; + border-bottom: 0.3em solid; } .dropdown-menu { @@ -2853,13 +2946,13 @@ input[type="button"].btn-block { background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .15); - border-radius: .25rem; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } .dropdown-divider { height: 1px; - margin: .5rem 0; + margin: 0.5rem 0; overflow: hidden; background-color: #e5e5e5; } @@ -2870,7 +2963,6 @@ input[type="button"].btn-block { padding: 3px 20px; clear: both; font-weight: normal; - line-height: 1.5; color: #373a3c; text-align: inherit; white-space: nowrap; @@ -2923,9 +3015,8 @@ input[type="button"].btn-block { .dropdown-header { display: block; - padding: 3px 20px; - font-size: .875rem; - line-height: 1.5; + padding: 5px 20px; + font-size: 0.875rem; color: #818a91; white-space: nowrap; } @@ -2939,16 +3030,11 @@ input[type="button"].btn-block { z-index: 990; } -.pull-right > .dropdown-menu { - right: 0; - left: auto; -} - .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; - border-bottom: .3em solid; + border-bottom: 0.3em solid; } .dropup .dropdown-menu, @@ -2991,13 +3077,13 @@ input[type="button"].btn-block { } .btn-toolbar { - margin-left: -5px; + margin-left: -0.5rem; } .btn-toolbar::after { + content: ""; display: table; clear: both; - content: ""; } .btn-toolbar .btn-group, @@ -3008,7 +3094,7 @@ input[type="button"].btn-block { .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { - margin-left: 5px; + margin-left: 0.5rem; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { @@ -3020,14 +3106,14 @@ input[type="button"].btn-block { } .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; } .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; } .btn-group > .btn-group { @@ -3040,13 +3126,13 @@ input[type="button"].btn-block { .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { - border-top-right-radius: 0; border-bottom-right-radius: 0; + border-top-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; border-bottom-left-radius: 0; + border-top-left-radius: 0; } .btn-group .dropdown-toggle:active, @@ -3054,14 +3140,23 @@ input[type="button"].btn-block { outline: 0; } -.btn-group > .btn + .dropdown-toggle { - padding-right: 8px; - padding-left: 8px; +.btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } -.btn-group > .btn-lg + .dropdown-toggle, .btn-group-lg.btn-group > .btn + .dropdown-toggle { - padding-right: 12px; - padding-left: 12px; +.btn + .dropdown-toggle-split::after { + margin-left: 0; +} + +.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: 1.125rem; + padding-left: 1.125rem; } .btn .caret { @@ -3069,12 +3164,12 @@ input[type="button"].btn-block { } .btn-lg .caret, .btn-group-lg > .btn .caret { - border-width: .3em .3em 0; + border-width: 0.3em 0.3em 0; border-bottom-width: 0; } .dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret { - border-width: 0 .3em .3em; + border-width: 0 0.3em 0.3em; } .btn-group-vertical > .btn, @@ -3087,9 +3182,9 @@ input[type="button"].btn-block { } .btn-group-vertical > .btn-group::after { + content: ""; display: table; clear: both; - content: ""; } .btn-group-vertical > .btn-group > .btn { @@ -3109,15 +3204,13 @@ input[type="button"].btn-block { } .btn-group-vertical > .btn:first-child:not(:last-child) { - border-top-right-radius: .25rem; 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: .25rem; + border-top-left-radius: 0; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { @@ -3131,8 +3224,8 @@ input[type="button"].btn-block { } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-top-left-radius: 0; border-top-right-radius: 0; + border-top-left-radius: 0; } [data-toggle="buttons"] > .btn input[type="radio"], @@ -3146,6 +3239,7 @@ input[type="button"].btn-block { .input-group { position: relative; + width: 100%; display: table; border-collapse: separate; } @@ -3182,31 +3276,32 @@ input[type="button"].btn-block { } .input-group-addon { - padding: .375rem .75rem; + padding: 0.5rem 0.75rem; + margin-bottom: 0; font-size: 1rem; font-weight: normal; - line-height: 1; + line-height: 1.25; color: #55595c; text-align: center; background-color: #eceeef; - border: 1px solid #ccc; - border-radius: .25rem; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } .input-group-addon.form-control-sm, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .input-group-addon.btn { - padding: .275rem .75rem; - font-size: .875rem; - border-radius: .2rem; + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; } .input-group-addon.form-control-lg, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .input-group-addon.btn { - padding: .75rem 1.25rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; - border-radius: .3rem; + border-radius: 0.3rem; } .input-group-addon input[type="radio"], @@ -3214,33 +3309,33 @@ input[type="button"].btn-block { margin-top: 0; } -.input-group .form-control:first-child, -.input-group-addon:first-child, -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group > .btn, -.input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; +.input-group .form-control:not(:last-child), +.input-group-addon:not(:last-child), +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group > .btn, +.input-group-btn:not(:last-child) > .dropdown-toggle, +.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; + border-top-right-radius: 0; } -.input-group-addon:first-child { +.input-group-addon:not(:last-child) { border-right: 0; } -.input-group .form-control:last-child, -.input-group-addon:last-child, -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group > .btn, -.input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child), -.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; +.input-group .form-control:not(:first-child), +.input-group-addon:not(:first-child), +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group > .btn, +.input-group-btn:not(:first-child) > .dropdown-toggle, +.input-group-btn:not(:last-child) > .btn:not(:first-child), +.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn { border-bottom-left-radius: 0; + border-top-left-radius: 0; } -.input-group-addon:last-child { +.form-control + .input-group-addon:not(:first-child) { border-left: 0; } @@ -3262,173 +3357,187 @@ input[type="button"].btn-block { z-index: 3; } -.input-group-btn:first-child > .btn, -.input-group-btn:first-child > .btn-group { +.input-group-btn:not(:last-child) > .btn, +.input-group-btn:not(:last-child) > .btn-group { margin-right: -1px; } -.input-group-btn:last-child > .btn, -.input-group-btn:last-child > .btn-group { +.input-group-btn:not(:first-child) > .btn, +.input-group-btn:not(:first-child) > .btn-group { z-index: 2; margin-left: -1px; } -.input-group-btn:last-child > .btn:focus, .input-group-btn:last-child > .btn:active, .input-group-btn:last-child > .btn:hover, -.input-group-btn:last-child > .btn-group:focus, -.input-group-btn:last-child > .btn-group:active, -.input-group-btn:last-child > .btn-group:hover { +.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover, +.input-group-btn:not(:first-child) > .btn-group:focus, +.input-group-btn:not(:first-child) > .btn-group:active, +.input-group-btn:not(:first-child) > .btn-group:hover { z-index: 3; } -.c-input { +.custom-control { position: relative; display: inline; padding-left: 1.5rem; - color: #555; cursor: pointer; } -.c-input > input { +.custom-control + .custom-control { + margin-left: 1rem; +} + +.custom-control-input { position: absolute; z-index: -1; opacity: 0; } -.c-input > input:checked ~ .c-indicator { +.custom-control-input:checked ~ .custom-control-indicator { color: #fff; background-color: #0074d9; } -.c-input > input:focus ~ .c-indicator { - -webkit-box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; - box-shadow: 0 0 0 .075rem #fff, 0 0 0 .2rem #0074d9; +.custom-control-input:focus ~ .custom-control-indicator { + -webkit-box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; + box-shadow: 0 0 0 0.075rem #fff, 0 0 0 0.2rem #0074d9; } -.c-input > input:active ~ .c-indicator { +.custom-control-input:active ~ .custom-control-indicator { color: #fff; background-color: #84c6ff; } -.c-input + .c-input { - margin-left: 1rem; +.custom-control-input:disabled ~ .custom-control-indicator { + cursor: not-allowed; + background-color: #eee; } -.c-indicator { +.custom-control-input:disabled ~ .custom-control-description { + color: #767676; + cursor: not-allowed; +} + +.custom-control-indicator { position: absolute; - top: 0; + top: .0625rem; left: 0; display: block; width: 1rem; height: 1rem; - font-size: 65%; - line-height: 1rem; - color: #eee; - text-align: center; + pointer-events: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; - background-color: #eee; + background-color: #ddd; background-repeat: no-repeat; background-position: center center; -webkit-background-size: 50% 50%; background-size: 50% 50%; } -.c-checkbox .c-indicator { - border-radius: .25rem; +.custom-checkbox .custom-control-indicator { + border-radius: 0.25rem; } -.c-checkbox input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTYuNCwxTDUuNywxLjdMMi45LDQuNUwyLjEsMy43TDEuNCwzTDAsNC40bDAuNywwLjdsMS41LDEuNWwwLjcsMC43bDAuNy0wLjdsMy41LTMuNWwwLjctMC43TDYuNCwxTDYuNCwxeiINCgkvPg0KPC9zdmc+DQo=); +.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator { + 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"); } -.c-checkbox input:indeterminate ~ .c-indicator { +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator { background-color: #0074d9; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOHB4IiBoZWlnaHQ9IjhweCIgdmlld0JveD0iMCAwIDggOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOCA4IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIGZpbGw9IiNGRkZGRkYiIGQ9Ik0wLDN2Mmg4VjNIMHoiLz4NCjwvc3ZnPg0K); + 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"); } -.c-radio .c-indicator { +.custom-radio .custom-control-indicator { border-radius: 50%; } -.c-radio input:checked ~ .c-indicator { - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); +.custom-radio .custom-control-input:checked ~ .custom-control-indicator { + 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"); } -.c-inputs-stacked .c-input { +.custom-controls-stacked .custom-control { display: inline; } -.c-inputs-stacked .c-input::after { +.custom-controls-stacked .custom-control::after { display: block; - margin-bottom: .25rem; + margin-bottom: 0.25rem; content: ""; } -.c-inputs-stacked .c-input + .c-input { +.custom-controls-stacked .custom-control + .custom-control { margin-left: 0; } -.c-select { +.custom-select { display: inline-block; max-width: 100%; - -webkit-appearance: none; - padding: .375rem 1.75rem .375rem .75rem; - padding-right: .75rem \9; + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + padding-right: 0.75rem \9; color: #55595c; vertical-align: middle; - background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center; + 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='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center; background-image: none \9; -webkit-background-size: 8px 10px; background-size: 8px 10px; - border: 1px solid #ccc; - - -moz-appearance: none; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; + -moz-appearance: none; + -webkit-appearance: none; } -.c-select:focus { +.custom-select:focus { border-color: #51a7e8; outline: none; } -.c-select::-ms-expand { +.custom-select:focus::-ms-value { + color: #55595c; + background-color: #fff; +} + +.custom-select:disabled { + color: #818a91; + cursor: not-allowed; + background-color: #eceeef; +} + +.custom-select::-ms-expand { opacity: 0; } -.c-select-sm { - padding-top: 3px; - padding-bottom: 3px; - font-size: 12px; +.custom-select-sm { + padding-top: 0.375rem; + padding-bottom: 0.375rem; + font-size: 75%; } -.c-select-sm:not([multiple]) { - height: 26px; - min-height: 26px; -} - -.file { +.custom-file { position: relative; display: inline-block; + max-width: 100%; height: 2.5rem; cursor: pointer; } -.file input { +.custom-file-input { min-width: 14rem; + max-width: 100%; margin: 0; filter: alpha(opacity=0); opacity: 0; } -.file-custom { +.custom-file-control { position: absolute; top: 0; right: 0; left: 0; z-index: 5; height: 2.5rem; - padding: .5rem 1rem; + padding: 0.5rem 1rem; line-height: 1.5; color: #555; -webkit-user-select: none; @@ -3437,28 +3546,31 @@ input[type="button"].btn-block { user-select: none; background-color: #fff; border: 1px solid #ddd; - border-radius: .25rem; + border-radius: 0.25rem; } -.file-custom::after { +.custom-file-control:lang(en)::after { content: "Choose file..."; } -.file-custom::before { +.custom-file-control::before { position: absolute; - top: -.075rem; - right: -.075rem; - bottom: -.075rem; + top: -1px; + right: -1px; + bottom: -1px; z-index: 6; display: block; height: 2.5rem; - padding: .5rem 1rem; + padding: 0.5rem 1rem; line-height: 1.5; color: #555; - content: "Browse"; background-color: #eee; border: 1px solid #ddd; - border-radius: 0 .25rem .25rem 0; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-file-control:lang(en)::before { + content: "Browse"; } .nav { @@ -3499,9 +3611,9 @@ input[type="button"].btn-block { } .nav-tabs::after { + content: ""; display: table; clear: both; - content: ""; } .nav-tabs .nav-item { @@ -3510,14 +3622,15 @@ input[type="button"].btn-block { } .nav-tabs .nav-item + .nav-item { - margin-left: .2rem; + margin-left: 0.2rem; } .nav-tabs .nav-link { display: block; - padding: .5em 1em; + padding: 0.5em 1em; border: 1px solid transparent; - border-radius: .25rem .25rem 0 0; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { @@ -3539,10 +3652,16 @@ input[type="button"].btn-block { border-color: #ddd #ddd transparent; } +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + .nav-pills::after { + content: ""; display: table; clear: both; - content: ""; } .nav-pills .nav-item { @@ -3550,13 +3669,13 @@ input[type="button"].btn-block { } .nav-pills .nav-item + .nav-item { - margin-left: .2rem; + margin-left: 0.2rem; } .nav-pills .nav-link { display: block; - padding: .5em 1em; - border-radius: .25rem; + padding: 0.5em 1em; + border-radius: 0.25rem; } .nav-pills .nav-link.active, .nav-pills .nav-link.active:focus, .nav-pills .nav-link.active:hover, @@ -3574,7 +3693,7 @@ input[type="button"].btn-block { } .nav-stacked .nav-item + .nav-item { - margin-top: .2rem; + margin-top: 0.2rem; margin-left: 0; } @@ -3586,26 +3705,20 @@ input[type="button"].btn-block { display: block; } -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - .navbar { position: relative; - padding: .5rem 1rem; + padding: 0.5rem 1rem; } .navbar::after { + content: ""; display: table; clear: both; - content: ""; } @media (min-width: 544px) { .navbar { - border-radius: .25rem; + border-radius: 0.25rem; } } @@ -3644,7 +3757,7 @@ input[type="button"].btn-block { .navbar-sticky-top { position: -webkit-sticky; - position: sticky; + position: sticky; top: 0; z-index: 1030; width: 100%; @@ -3658,8 +3771,8 @@ input[type="button"].btn-block { .navbar-brand { float: left; - padding-top: .25rem; - padding-bottom: .25rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; margin-right: 1rem; font-size: 1.25rem; } @@ -3692,31 +3805,13 @@ input[type="button"].btn-block { line-height: 1; background: none; border: 1px solid transparent; - border-radius: .25rem; + border-radius: 0.25rem; } .navbar-toggler:focus, .navbar-toggler:hover { text-decoration: none; } -@media (min-width: 544px) { - .navbar-toggleable-xs { - display: block !important; - } -} - -@media (min-width: 768px) { - .navbar-toggleable-sm { - display: block !important; - } -} - -@media (min-width: 992px) { - .navbar-toggleable-md { - display: block !important; - } -} - .navbar-nav .nav-item { float: left; } @@ -3736,19 +3831,19 @@ input[type="button"].btn-block { } .navbar-light .navbar-brand { - color: rgba(0, 0, 0, .8); + color: rgba(0, 0, 0, 0.8); } .navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover { - color: rgba(0, 0, 0, .8); + color: rgba(0, 0, 0, 0.8); } .navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, .3); + color: rgba(0, 0, 0, 0.3); } .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { - color: rgba(0, 0, 0, .6); + color: rgba(0, 0, 0, 0.6); } .navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover, @@ -3761,11 +3856,11 @@ input[type="button"].btn-block { .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.active:focus, .navbar-light .navbar-nav .nav-link.active:hover { - color: rgba(0, 0, 0, .8); + color: rgba(0, 0, 0, 0.8); } .navbar-light .navbar-divider { - background-color: rgba(0, 0, 0, .075); + background-color: rgba(0, 0, 0, 0.075); } .navbar-dark .navbar-brand { @@ -3777,11 +3872,11 @@ input[type="button"].btn-block { } .navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, .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, .75); + color: rgba(255, 255, 255, 0.75); } .navbar-dark .navbar-nav .open > .nav-link, .navbar-dark .navbar-nav .open > .nav-link:focus, .navbar-dark .navbar-nav .open > .nav-link:hover, @@ -3798,28 +3893,91 @@ input[type="button"].btn-block { } .navbar-dark .navbar-divider { - background-color: rgba(255, 255, 255, .075); + background-color: rgba(255, 255, 255, 0.075); +} + +.navbar-toggleable-xs::after { + content: ""; + display: table; + clear: both; +} + +@media (max-width: 543px) { + .navbar-toggleable-xs .navbar-nav .nav-item { + float: none; + margin-left: 0; + } +} + +@media (min-width: 544px) { + .navbar-toggleable-xs { + display: block !important; + } +} + +.navbar-toggleable-sm::after { + content: ""; + display: table; + clear: both; +} + +@media (max-width: 767px) { + .navbar-toggleable-sm .navbar-nav .nav-item { + float: none; + margin-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-toggleable-sm { + display: block !important; + } +} + +.navbar-toggleable-md::after { + content: ""; + display: table; + clear: both; +} + +@media (max-width: 991px) { + .navbar-toggleable-md .navbar-nav .nav-item { + float: none; + margin-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-toggleable-md { + display: block !important; + } } .card { position: relative; display: block; - margin-bottom: .75rem; + margin-bottom: 0.75rem; background-color: #fff; - border: 1px solid #e5e5e5; - border-radius: .25rem; + border-radius: 0.25rem; + border: 1px solid rgba(0, 0, 0, 0.125); } .card-block { padding: 1.25rem; } +.card-block::after { + content: ""; + display: table; + clear: both; +} + .card-title { - margin-bottom: .75rem; + margin-bottom: 0.75rem; } .card-subtitle { - margin-top: -.375rem; + margin-top: -0.375rem; margin-bottom: 0; } @@ -3836,31 +3994,57 @@ input[type="button"].btn-block { } .card > .list-group:first-child .list-group-item:first-child { - border-radius: .25rem .25rem 0 0; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .card > .list-group:last-child .list-group-item:last-child { - border-radius: 0 0 .25rem .25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .card-header { - padding: .75rem 1.25rem; + padding: 0.75rem 1.25rem; background-color: #f5f5f5; - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-header::after { + content: ""; + display: table; + clear: both; } .card-header:first-child { - border-radius: .25rem .25rem 0 0; + border-radius: 0.25rem 0.25rem 0 0; } .card-footer { - padding: .75rem 1.25rem; + padding: 0.75rem 1.25rem; background-color: #f5f5f5; - border-top: 1px solid #e5e5e5; + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.card-footer::after { + content: ""; + display: table; + clear: both; } .card-footer:last-child { - border-radius: 0 0 .25rem .25rem; + border-radius: 0 0 0.25rem 0.25rem; +} + +.card-header-tabs { + 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; } .card-primary { @@ -3868,59 +4052,84 @@ input[type="button"].btn-block { border-color: #0275d8; } +.card-primary .card-header, +.card-primary .card-footer { + background-color: transparent; +} + .card-success { background-color: #5cb85c; border-color: #5cb85c; } +.card-success .card-header, +.card-success .card-footer { + background-color: transparent; +} + .card-info { background-color: #5bc0de; border-color: #5bc0de; } +.card-info .card-header, +.card-info .card-footer { + background-color: transparent; +} + .card-warning { background-color: #f0ad4e; border-color: #f0ad4e; } +.card-warning .card-header, +.card-warning .card-footer { + background-color: transparent; +} + .card-danger { background-color: #d9534f; border-color: #d9534f; } -.card-primary-outline { +.card-danger .card-header, +.card-danger .card-footer { + background-color: transparent; +} + +.card-outline-primary { background-color: transparent; border-color: #0275d8; } -.card-secondary-outline { +.card-outline-secondary { background-color: transparent; border-color: #ccc; } -.card-info-outline { +.card-outline-info { background-color: transparent; border-color: #5bc0de; } -.card-success-outline { +.card-outline-success { background-color: transparent; border-color: #5cb85c; } -.card-warning-outline { +.card-outline-warning { background-color: transparent; border-color: #f0ad4e; } -.card-danger-outline { +.card-outline-danger { background-color: transparent; border-color: #d9534f; } .card-inverse .card-header, .card-inverse .card-footer { - border-bottom: 1px solid rgba(255, 255, 255, .2); + border-color: rgba(255, 255, 255, 0.2); } .card-inverse .card-header, @@ -3932,8 +4141,9 @@ input[type="button"].btn-block { .card-inverse .card-link, .card-inverse .card-text, -.card-inverse .card-blockquote > footer { - color: rgba(255, 255, 255, .65); +.card-inverse .card-subtitle, +.card-inverse .card-blockquote .blockquote-footer { + color: rgba(255, 255, 255, 0.65); } .card-inverse .card-link:focus, .card-inverse .card-link:hover { @@ -3947,7 +4157,7 @@ input[type="button"].btn-block { } .card-img { - border-radius: .25rem; + border-radius: 0.25rem; } .card-img-overlay { @@ -3960,22 +4170,26 @@ input[type="button"].btn-block { } .card-img-top { - border-radius: .25rem .25rem 0 0; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .card-img-bottom { - border-radius: 0 0 .25rem .25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } @media (min-width: 544px) { .card-deck { display: table; + width: 100%; + margin-bottom: 0.75rem; table-layout: fixed; border-spacing: 1.25rem 0; } .card-deck .card { display: table-cell; - width: 1%; + margin-bottom: 0; vertical-align: top; } .card-deck-wrapper { @@ -3999,8 +4213,8 @@ input[type="button"].btn-block { border-left: 0; } .card-group .card:first-child { - border-top-right-radius: 0; border-bottom-right-radius: 0; + border-top-right-radius: 0; } .card-group .card:first-child .card-img-top { border-top-right-radius: 0; @@ -4009,8 +4223,8 @@ input[type="button"].btn-block { border-bottom-right-radius: 0; } .card-group .card:last-child { - border-top-left-radius: 0; border-bottom-left-radius: 0; + border-top-left-radius: 0; } .card-group .card:last-child .card-img-top { border-top-left-radius: 0; @@ -4043,31 +4257,40 @@ input[type="button"].btn-block { } .breadcrumb { - padding: .75rem 1rem; + padding: 0.75rem 1rem; margin-bottom: 1rem; list-style: none; background-color: #eceeef; - border-radius: .25rem; + border-radius: 0.25rem; } .breadcrumb::after { + content: ""; display: table; clear: both; - content: ""; } -.breadcrumb > li { +.breadcrumb-item { float: left; } -.breadcrumb > li + li::before { - padding-right: .5rem; - padding-left: .5rem; +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + padding-left: 0.5rem; color: #818a91; content: "/"; } -.breadcrumb > .active { +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { color: #818a91; } @@ -4076,7 +4299,7 @@ input[type="button"].btn-block { padding-left: 0; margin-top: 1rem; margin-bottom: 1rem; - border-radius: .25rem; + border-radius: 0.25rem; } .page-item { @@ -4085,13 +4308,13 @@ input[type="button"].btn-block { .page-item:first-child .page-link { margin-left: 0; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .page-item:last-child .page-link { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } .page-item.active .page-link, .page-item.active .page-link:focus, .page-item.active .page-link:hover { @@ -4104,6 +4327,7 @@ input[type="button"].btn-block { .page-item.disabled .page-link, .page-item.disabled .page-link:focus, .page-item.disabled .page-link:hover { color: #818a91; + pointer-events: none; cursor: not-allowed; background-color: #fff; border-color: #ddd; @@ -4112,9 +4336,8 @@ input[type="button"].btn-block { .page-link { position: relative; float: left; - padding: .5rem .75rem; + padding: 0.5rem 0.75rem; margin-left: -1px; - line-height: 1.5; color: #0275d8; text-decoration: none; background-color: #fff; @@ -4128,94 +4351,38 @@ input[type="button"].btn-block { } .pagination-lg .page-link { - padding: .75rem 1.5rem; + padding: 0.75rem 1.5rem; font-size: 1.25rem; - line-height: 1.333333; } .pagination-lg .page-item:first-child .page-link { - border-top-left-radius: .3rem; - border-bottom-left-radius: .3rem; + border-bottom-left-radius: 0.3rem; + border-top-left-radius: 0.3rem; } .pagination-lg .page-item:last-child .page-link { - border-top-right-radius: .3rem; - border-bottom-right-radius: .3rem; + border-bottom-right-radius: 0.3rem; + border-top-right-radius: 0.3rem; } .pagination-sm .page-link { - padding: .275rem .75rem; - font-size: .875rem; - line-height: 1.5; + padding: 0.275rem 0.75rem; + font-size: 0.875rem; } .pagination-sm .page-item:first-child .page-link { - border-top-left-radius: .2rem; - border-bottom-left-radius: .2rem; + border-bottom-left-radius: 0.2rem; + border-top-left-radius: 0.2rem; } .pagination-sm .page-item:last-child .page-link { - border-top-right-radius: .2rem; - border-bottom-right-radius: .2rem; + border-bottom-right-radius: 0.2rem; + border-top-right-radius: 0.2rem; } -.pager { - padding-left: 0; - margin-top: 1rem; - margin-bottom: 1rem; - text-align: center; - list-style: none; -} - -.pager::after { - display: table; - clear: both; - content: ""; -} - -.pager li { - display: inline; -} - -.pager li > a, -.pager li > span { +.tag { display: inline-block; - padding: 5px 14px; - background-color: #fff; - border: 1px solid #ddd; - border-radius: 15px; -} - -.pager li > a:focus, .pager li > a:hover { - text-decoration: none; - background-color: #eceeef; -} - -.pager .disabled > a, .pager .disabled > a:focus, .pager .disabled > a:hover { - color: #818a91; - cursor: not-allowed; - background-color: #fff; -} - -.pager .disabled > span { - color: #818a91; - cursor: not-allowed; - background-color: #fff; -} - -.pager-next > a, -.pager-next > span { - float: right; -} - -.pager-prev > a, -.pager-prev > span { - float: left; -} - -.label { - display: inline-block; - padding: .25em .4em; + padding: 0.25em 0.4em; font-size: 75%; font-weight: bold; line-height: 1; @@ -4223,75 +4390,75 @@ input[type="button"].btn-block { text-align: center; white-space: nowrap; vertical-align: baseline; - border-radius: .25rem; + border-radius: 0.25rem; } -.label:empty { +.tag:empty { display: none; } -.btn .label { +.btn .tag { position: relative; top: -1px; } -a.label:focus, a.label:hover { +a.tag:focus, a.tag:hover { color: #fff; text-decoration: none; cursor: pointer; } -.label-pill { - padding-right: .6em; - padding-left: .6em; +.tag-pill { + padding-right: 0.6em; + padding-left: 0.6em; border-radius: 10rem; } -.label-default { +.tag-default { background-color: #818a91; } -.label-default[href]:focus, .label-default[href]:hover { +.tag-default[href]:focus, .tag-default[href]:hover { background-color: #687077; } -.label-primary { +.tag-primary { background-color: #0275d8; } -.label-primary[href]:focus, .label-primary[href]:hover { +.tag-primary[href]:focus, .tag-primary[href]:hover { background-color: #025aa5; } -.label-success { +.tag-success { background-color: #5cb85c; } -.label-success[href]:focus, .label-success[href]:hover { +.tag-success[href]:focus, .tag-success[href]:hover { background-color: #449d44; } -.label-info { +.tag-info { background-color: #5bc0de; } -.label-info[href]:focus, .label-info[href]:hover { +.tag-info[href]:focus, .tag-info[href]:hover { background-color: #31b0d5; } -.label-warning { +.tag-warning { background-color: #f0ad4e; } -.label-warning[href]:focus, .label-warning[href]:hover { +.tag-warning[href]:focus, .tag-warning[href]:hover { background-color: #ec971f; } -.label-danger { +.tag-danger { background-color: #d9534f; } -.label-danger[href]:focus, .label-danger[href]:hover { +.tag-danger[href]:focus, .tag-danger[href]:hover { background-color: #c9302c; } @@ -4299,7 +4466,7 @@ a.label:focus, a.label:hover { padding: 2rem 1rem; margin-bottom: 2rem; background-color: #eceeef; - border-radius: .3rem; + border-radius: 0.3rem; } @media (min-width: 544px) { @@ -4322,16 +4489,7 @@ a.label:focus, a.label:hover { padding: 15px; margin-bottom: 1rem; border: 1px solid transparent; - border-radius: .25rem; -} - -.alert > p, -.alert > ul { - margin-bottom: 0; -} - -.alert > p + p { - margin-top: 5px; + border-radius: 0.25rem; } .alert-heading { @@ -4354,9 +4512,9 @@ a.label:focus, a.label:hover { } .alert-success { - color: #3c763d; background-color: #dff0d8; border-color: #d0e9c6; + color: #3c763d; } .alert-success hr { @@ -4368,9 +4526,9 @@ a.label:focus, a.label:hover { } .alert-info { - color: #31708f; background-color: #d9edf7; border-color: #bcdff1; + color: #31708f; } .alert-info hr { @@ -4382,9 +4540,9 @@ a.label:focus, a.label:hover { } .alert-warning { - color: #8a6d3b; background-color: #fcf8e3; border-color: #faf2cc; + color: #8a6d3b; } .alert-warning hr { @@ -4396,9 +4554,9 @@ a.label:focus, a.label:hover { } .alert-danger { - color: #a94442; background-color: #f2dede; border-color: #ebcccc; + color: #a94442; } .alert-danger hr { @@ -4444,76 +4602,93 @@ a.label:focus, a.label:hover { } .progress[value] { - -webkit-appearance: none; - color: #0074d9; + background-color: #eee; border: 0; - + -webkit-appearance: none; -moz-appearance: none; appearance: none; + border-radius: 0.25rem; } -.progress[value]::-webkit-progress-bar { - background-color: #eee; - border-radius: .25rem; +.progress[value]::-ms-fill { + background-color: #0074d9; + border: 0; } -.progress[value]::-webkit-progress-value::before { - content: attr(value); +.progress[value]::-moz-progress-bar { + background-color: #0074d9; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .progress[value]::-webkit-progress-value { background-color: #0074d9; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; +} + +.progress[value="100"]::-moz-progress-bar { + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } .progress[value="100"]::-webkit-progress-value { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.progress[value]::-webkit-progress-bar { + background-color: #eee; + border-radius: 0.25rem; +} + +base::-moz-progress-bar, +.progress[value] { + background-color: #eee; + border-radius: 0.25rem; } @media screen and (min-width: 0\0) { .progress { background-color: #eee; - border-radius: .25rem; + border-radius: 0.25rem; } .progress-bar { display: inline-block; height: 1rem; text-indent: -999rem; background-color: #0074d9; - border-top-left-radius: .25rem; - border-bottom-left-radius: .25rem; - } - .progress[width^="0"] { - min-width: 2rem; - color: #818a91; - background-color: transparent; - background-image: none; + border-bottom-left-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .progress[width="100%"] { - border-top-right-radius: .25rem; - border-bottom-right-radius: .25rem; + border-bottom-right-radius: 0.25rem; + border-top-right-radius: 0.25rem; } } .progress-striped[value]::-webkit-progress-value { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + 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: 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: 1rem 1rem; background-size: 1rem 1rem; } .progress-striped[value]::-moz-progress-bar { - background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-striped[value]::-ms-fill { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; } @media screen and (min-width: 0\0) { .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); + 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: 1rem 1rem; background-size: 1rem 1rem; } @@ -4544,6 +4719,10 @@ a.label:focus, a.label:hover { background-color: #5cb85c; } +.progress-success[value]::-ms-fill { + background-color: #5cb85c; +} + @media screen and (min-width: 0\0) { .progress-success .progress-bar { background-color: #5cb85c; @@ -4558,6 +4737,10 @@ a.label:focus, a.label:hover { background-color: #5bc0de; } +.progress-info[value]::-ms-fill { + background-color: #5bc0de; +} + @media screen and (min-width: 0\0) { .progress-info .progress-bar { background-color: #5bc0de; @@ -4572,6 +4755,10 @@ a.label:focus, a.label:hover { background-color: #f0ad4e; } +.progress-warning[value]::-ms-fill { + background-color: #f0ad4e; +} + @media screen and (min-width: 0\0) { .progress-warning .progress-bar { background-color: #f0ad4e; @@ -4586,6 +4773,10 @@ a.label:focus, a.label:hover { background-color: #d9534f; } +.progress-danger[value]::-ms-fill { + background-color: #d9534f; +} + @media screen and (min-width: 0\0) { .progress-danger .progress-bar { background-color: #d9534f; @@ -4603,7 +4794,6 @@ a.label:focus, a.label:hover { .media, .media-body { overflow: hidden; - zoom: 1; } .media-body { @@ -4659,54 +4849,21 @@ a.label:focus, a.label:hover { .list-group-item { position: relative; display: block; - padding: .75rem 1.25rem; + padding: 0.75rem 1.25rem; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { - border-top-left-radius: .25rem; - border-top-right-radius: .25rem; + border-top-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; } .list-group-item:last-child { margin-bottom: 0; - border-bottom-right-radius: .25rem; - border-bottom-left-radius: .25rem; -} - -.list-group-flush .list-group-item { - border-width: 1px 0; - border-radius: 0; -} - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; -} - -.list-group-flush:last-child .list-group-item:last-child { - border-bottom: 0; -} - -a.list-group-item, -button.list-group-item { - width: 100%; - color: #555; - text-align: inherit; -} - -a.list-group-item .list-group-item-heading, -button.list-group-item .list-group-item-heading { - color: #333; -} - -a.list-group-item:focus, a.list-group-item:hover, -button.list-group-item:focus, -button.list-group-item:hover { - color: #555; - text-decoration: none; - background-color: #f5f5f5; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { @@ -4726,6 +4883,7 @@ button.list-group-item:hover { .list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { z-index: 2; color: #fff; + text-decoration: none; background-color: #0275d8; border-color: #0275d8; } @@ -4744,6 +4902,26 @@ button.list-group-item:hover { color: #a8d6fe; } +.list-group-flush .list-group-item { + border-radius: 0; +} + +.list-group-item-action { + width: 100%; + color: #555; + text-align: inherit; +} + +.list-group-item-action .list-group-item-heading { + color: #333; +} + +.list-group-item-action:focus, .list-group-item-action:hover { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} + .list-group-item-success { color: #3c763d; background-color: #dff0d8; @@ -4934,11 +5112,11 @@ button.list-group-item-danger.active:hover { } button.close { - -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; + -webkit-appearance: none; } .modal-open { @@ -4954,16 +5132,16 @@ button.close { z-index: 1050; display: none; overflow: hidden; - -webkit-overflow-scrolling: touch; outline: 0; + -webkit-overflow-scrolling: touch; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; - -o-transition: transform .3s ease-out, -o-transform .3s ease-out; - transition: -webkit-transform .3s ease-out; - transition: transform .3s ease-out; - transition: transform .3s ease-out, -webkit-transform .3s ease-out, -o-transform .3s ease-out; + transition: -webkit-transform .3s ease-out; + -o-transition: transform .3s ease-out, -o-transform .3s ease-out; + transition: transform .3s ease-out; + transition: transform .3s ease-out, -webkit-transform .3s ease-out, -o-transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); @@ -4993,8 +5171,8 @@ button.close { background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; outline: 0; } @@ -5013,7 +5191,7 @@ button.close { } .modal-backdrop.in { - opacity: .5; + opacity: 0.5; } .modal-header { @@ -5022,9 +5200,9 @@ button.close { } .modal-header::after { + content: ""; display: table; clear: both; - content: ""; } .modal-header .close { @@ -5048,22 +5226,9 @@ button.close { } .modal-footer::after { + content: ""; display: table; clear: both; - content: ""; -} - -.modal-footer .btn + .btn { - margin-bottom: 0; - margin-left: 5px; -} - -.modal-footer .btn-group .btn + .btn { - margin-left: -1px; -} - -.modal-footer .btn-block + .btn-block { - margin-left: 0; } .modal-scrollbar-measure { @@ -5076,17 +5241,17 @@ button.close { @media (min-width: 544px) { .modal-dialog { - width: 600px; + max-width: 600px; margin: 30px auto; } .modal-sm { - width: 300px; + max-width: 300px; } } -@media (min-width: 768px) { +@media (min-width: 992px) { .modal-lg { - width: 900px; + max-width: 900px; } } @@ -5094,28 +5259,27 @@ button.close { position: absolute; z-index: 1070; display: block; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: .875rem; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-style: normal; font-weight: normal; + letter-spacing: normal; + line-break: auto; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; - letter-spacing: normal; + white-space: normal; word-break: normal; word-spacing: normal; - word-wrap: normal; - white-space: normal; + font-size: 0.875rem; + word-wrap: break-word; opacity: 0; - - line-break: auto; } .tooltip.in { - opacity: .9; + opacity: 0.9; } .tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom { @@ -5176,7 +5340,7 @@ button.close { color: #fff; text-align: center; background-color: #000; - border-radius: .25rem; + border-radius: 0.25rem; } .tooltip-arrow { @@ -5195,28 +5359,27 @@ button.close { display: block; max-width: 276px; padding: 1px; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: .875rem; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-style: normal; font-weight: normal; + letter-spacing: normal; + line-break: auto; line-height: 1.5; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; - letter-spacing: normal; + white-space: normal; word-break: normal; word-spacing: normal; - word-wrap: normal; - white-space: normal; + font-size: 0.875rem; + word-wrap: break-word; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, .2); - border-radius: .3rem; - - line-break: auto; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; } .popover.popover-top, .popover.bs-tether-element-attached-bottom { @@ -5227,7 +5390,7 @@ button.close { bottom: -11px; left: 50%; margin-left: -11px; - border-top-color: rgba(0, 0, 0, .25); + border-top-color: rgba(0, 0, 0, 0.25); border-bottom-width: 0; } @@ -5247,7 +5410,7 @@ button.close { top: 50%; left: -11px; margin-top: -11px; - border-right-color: rgba(0, 0, 0, .25); + border-right-color: rgba(0, 0, 0, 0.25); border-left-width: 0; } @@ -5268,7 +5431,7 @@ button.close { left: 50%; margin-left: -11px; border-top-width: 0; - border-bottom-color: rgba(0, 0, 0, .25); + border-bottom-color: rgba(0, 0, 0, 0.25); } .popover.popover-bottom .popover-arrow::after, .popover.bs-tether-element-attached-top .popover-arrow::after { @@ -5288,7 +5451,7 @@ button.close { right: -11px; margin-top: -11px; border-right-width: 0; - border-left-color: rgba(0, 0, 0, .25); + border-left-color: rgba(0, 0, 0, 0.25); } .popover.popover-left .popover-arrow::after, .popover.bs-tether-element-attached-right .popover-arrow::after { @@ -5305,7 +5468,11 @@ button.close { font-size: 1rem; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; - border-radius: -.7rem -.7rem 0 0; + border-radius: 0.2375rem 0.2375rem 0 0; +} + +.popover-title:empty { + display: none; } .popover-content { @@ -5344,8 +5511,8 @@ button.close { position: relative; display: none; -webkit-transition: .6s ease-in-out left; - -o-transition: .6s ease-in-out left; - transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; } .carousel-inner > .carousel-item > img, @@ -5356,11 +5523,10 @@ button.close { @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .carousel-item { -webkit-transition: -webkit-transform .6s ease-in-out; - -o-transition: transform .6s ease-in-out, -o-transform .6s ease-in-out; - transition: -webkit-transform .6s ease-in-out; - transition: transform .6s ease-in-out; - transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out, -o-transform .6s ease-in-out; - + transition: -webkit-transform .6s ease-in-out; + -o-transition: transform .6s ease-in-out, -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + transition: transform .6s ease-in-out, -webkit-transform .6s ease-in-out, -o-transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; @@ -5430,28 +5596,28 @@ button.close { font-size: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); - opacity: .5; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; } .carousel-control.left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + 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: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); } .carousel-control.right { right: 0; left: auto; - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + 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: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); } .carousel-control:focus, .carousel-control:hover { @@ -5533,7 +5699,7 @@ button.close { padding-bottom: 20px; color: #fff; text-align: center; - text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); } .carousel-caption .btn { @@ -5564,16 +5730,75 @@ button.close { } } -.clearfix::after { - display: table; - clear: both; - content: ""; +.bg-inverse { + background-color: #373a3c; } -.center-block { - display: block; - margin-right: auto; - margin-left: auto; +.bg-faded { + background-color: #f7f7f9; +} + +.bg-primary { + color: #fff !important; + background-color: #0275d8 !important; +} + +a.bg-primary:focus, a.bg-primary:hover { + background-color: #025aa5 !important; +} + +.bg-success { + color: #fff !important; + background-color: #5cb85c !important; +} + +a.bg-success:focus, a.bg-success:hover { + background-color: #449d44 !important; +} + +.bg-info { + color: #fff !important; + background-color: #5bc0de !important; +} + +a.bg-info:focus, a.bg-info:hover { + background-color: #31b0d5 !important; +} + +.bg-warning { + color: #fff !important; + background-color: #f0ad4e !important; +} + +a.bg-warning:focus, a.bg-warning:hover { + background-color: #ec971f !important; +} + +.bg-danger { + color: #fff !important; + background-color: #d9534f !important; +} + +a.bg-danger:focus, a.bg-danger:hover { + background-color: #c9302c !important; +} + +.clearfix::after { + content: ""; + display: table; + clear: both; +} + +.d-block { + display: block !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-inline { + display: inline !important; } .pull-xs-left { @@ -5656,212 +5881,8 @@ button.close { clip: auto; } -.invisible { - visibility: hidden !important; -} - -.text-hide { - font: "0/0" a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.text-justify { - text-align: justify !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-xs-left { - text-align: left !important; -} - -.text-xs-right { - text-align: right !important; -} - -.text-xs-center { - text-align: center !important; -} - -@media (min-width: 544px) { - .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; - } -} - -@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; - } -} - -@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-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-normal { - font-weight: normal; -} - -.font-weight-bold { - font-weight: bold; -} - -.font-italic { - font-style: italic; -} - -.text-muted { - color: #818a91; -} - -.text-primary { - color: #0275d8 !important; -} - -a.text-primary:focus, a.text-primary:hover { - color: #025aa5; -} - -.text-success { - color: #5cb85c !important; -} - -a.text-success:focus, a.text-success:hover { - color: #449d44; -} - -.text-info { - color: #5bc0de !important; -} - -a.text-info:focus, a.text-info:hover { - color: #31b0d5; -} - -.text-warning { - color: #f0ad4e !important; -} - -a.text-warning:focus, a.text-warning:hover { - color: #ec971f; -} - -.text-danger { - color: #d9534f !important; -} - -a.text-danger:focus, a.text-danger:hover { - color: #c9302c; -} - -.bg-inverse { - color: #eceeef; - background-color: #373a3c; -} - -.bg-faded { - background-color: #f7f7f9; -} - -.bg-primary { - color: #fff !important; - background-color: #0275d8 !important; -} - -a.bg-primary:focus, a.bg-primary:hover { - background-color: #025aa5; -} - -.bg-success { - color: #fff !important; - background-color: #5cb85c !important; -} - -a.bg-success:focus, a.bg-success:hover { - background-color: #449d44; -} - -.bg-info { - color: #fff !important; - background-color: #5bc0de !important; -} - -a.bg-info:focus, a.bg-info:hover { - background-color: #31b0d5; -} - -.bg-warning { - color: #fff !important; - background-color: #f0ad4e !important; -} - -a.bg-warning:focus, a.bg-warning:hover { - background-color: #ec971f; -} - -.bg-danger { - color: #fff !important; - background-color: #d9534f !important; -} - -a.bg-danger:focus, a.bg-danger:hover { - background-color: #c9302c; +.w-100 { + width: 100% !important; } .m-x-auto { @@ -6117,6 +6138,164 @@ a.bg-danger:focus, a.bg-danger:hover { z-index: 1030; } +.text-justify { + text-align: justify !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-xs-left { + text-align: left !important; +} + +.text-xs-right { + text-align: right !important; +} + +.text-xs-center { + text-align: center !important; +} + +@media (min-width: 544px) { + .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; + } +} + +@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; + } +} + +@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-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-normal { + font-weight: normal; +} + +.font-weight-bold { + font-weight: bold; +} + +.font-italic { + font-style: italic; +} + +.text-muted { + color: #818a91 !important; +} + +a.text-muted:focus, a.text-muted:hover { + color: #687077; +} + +.text-primary { + color: #0275d8 !important; +} + +a.text-primary:focus, a.text-primary:hover { + color: #025aa5; +} + +.text-success { + color: #5cb85c !important; +} + +a.text-success:focus, a.text-success:hover { + color: #449d44; +} + +.text-info { + color: #5bc0de !important; +} + +a.text-info:focus, a.text-info:hover { + color: #31b0d5; +} + +.text-warning { + color: #f0ad4e !important; +} + +a.text-warning:focus, a.text-warning:hover { + color: #ec971f; +} + +.text-danger { + color: #d9534f !important; +} + +a.text-danger:focus, a.text-danger:hover { + color: #c9302c; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.invisible { + visibility: hidden !important; +} + .hidden-xs-up { display: none !important; } @@ -6208,4 +6387,4 @@ a.bg-danger:focus, a.bg-danger:hover { display: none !important; } } -/*# sourceMappingURL=bootstrap.css.map */ +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/packages/nova-comments/lib/callbacks.js b/packages/nova-comments/lib/callbacks.js index 94caf0e57..fdbeb10cb 100644 --- a/packages/nova-comments/lib/callbacks.js +++ b/packages/nova-comments/lib/callbacks.js @@ -124,7 +124,7 @@ Telescope.callbacks.add("comments.new.method", CommentsNewSubmittedPropertiesChe * @summary Check for required properties */ function CommentsNewRequiredPropertiesCheck (comment, user) { - + var userId = comment.userId; // at this stage, a userId is expected // Don't allow empty comments @@ -231,20 +231,7 @@ function CommentsNewNotifications (comment) { } } - - // 3. Notify users subscribed to the thread - // TODO: ideally this would be injected from the telescope-subscribe-to-posts package - if (!!post.subscribers) { - - // remove userIds of users that have already been notified - // and of comment author (they could be replying in a thread they're subscribed to) - var subscriberIdsToNotify = _.difference(post.subscribers, userIdsNotified, [comment.userId]); - Telescope.notifications.create(subscriberIdsToNotify, 'newCommentSubscribed', notificationData); - - userIdsNotified = userIdsNotified.concat(subscriberIdsToNotify); - - } - + } } } diff --git a/packages/nova-i18n-en-us/lib/en_US.js b/packages/nova-i18n-en-us/lib/en_US.js index b0c6f65c6..6b9f454be 100644 --- a/packages/nova-i18n-en-us/lib/en_US.js +++ b/packages/nova-i18n-en-us/lib/en_US.js @@ -31,6 +31,9 @@ Telescope.strings.en = { "posts.rate_limit_error": "Please wait {details} seconds before posting again.", "posts.postedAt": "Posted at", "posts.dateNotDefined": "Date not defined", + "posts.subscribe": "Subscribe", + "posts.unsubscribe": "Unsubscribe", + "posts.subscribed_posts" : "Subscribed Posts", "comments.comments": "Comments", "comments.count": "{count, plural, =0 {No comments} one {# comment} other {# comments}}", @@ -111,20 +114,20 @@ Telescope.strings.en = { "settings.requirePostInvite": "Require Post Invite", "settings.requirePostsApproval": "Require Posts Approval", "settings.scoreUpdateInterval": "Score Update Interval", - + "app.loading": "Loading…", "app.404": "Sorry, we couldn't find what you were looking for.", "app.powered_by": "Powered by Telescope", "app.or": "Or", "app.noPermission": "Sorry, you do not have the permission to do this at this time.", - "newsletter": "Newsletter", - "newsletter.subscribe": "Subscribe", - "newsletter.unsubscribe": "Unsubscribe", + "newsletter": "Newsletter", + "newsletter.subscribe": "Subscribe", + "newsletter.unsubscribe": "Unsubscribe", "newsletter.subscribe_prompt": "Subscribe to the newsletter", "newsletter.email": "Your email", "newsletter.success_message": "Thanks for subscribing!", "admin": "Admin", "notifications": "Notifications", -} \ No newline at end of file +}