diff --git a/ui/src/App.css b/ui/src/App.css index f2401a677..c857fcf7f 100644 --- a/ui/src/App.css +++ b/ui/src/App.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v4.1.1 (https://getbootstrap.com/) + * Bootstrap v4.1.3 (https://getbootstrap.com/) * Copyright 2011-2018 The Bootstrap Authors * Copyright 2011-2018 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) @@ -175,8 +175,9 @@ img { vertical-align: middle; border-style: none; } -svg:not(:root) { - overflow: hidden; } +svg { + overflow: hidden; + vertical-align: middle; } table { border-collapse: collapse; } @@ -1035,7 +1036,6 @@ pre { .table { width: 100%; - max-width: 100%; margin-bottom: 1rem; background-color: transparent; } .table th, @@ -1251,6 +1251,7 @@ pre { .form-control { display: block; width: 100%; + height: calc(2.25rem + 2px); padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; @@ -1279,9 +1280,6 @@ pre { background-color: #ecf0f1; opacity: 1; } -select.form-control:not([size]):not([multiple]) { - height: calc(2.25rem + 2px); } - select.form-control:focus::-ms-value { color: #7b8a8b; background-color: #fff; } @@ -1321,51 +1319,29 @@ select.form-control:focus::-ms-value { background-color: transparent; border: solid transparent; border-width: 1px 0; } - .form-control-plaintext.form-control-sm, .input-group-sm > .form-control-plaintext.form-control, - .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, - .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, - .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, - .input-group-sm > .input-group-append > .form-control-plaintext.btn, .form-control-plaintext.form-control-lg, .input-group-lg > .form-control-plaintext.form-control, - .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, - .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, - .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, - .input-group-lg > .input-group-append > .form-control-plaintext.btn { + .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; } -.form-control-sm, .input-group-sm > .form-control, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { +.form-control-sm { + height: calc(1.8125rem + 2px); padding: 0.25rem 0.5rem; font-size: 0.875rem; line-height: 1.5; border-radius: 0.2rem; } -select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]), -.input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), -.input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), -.input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), -.input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(1.8125rem + 2px); } - -.form-control-lg, .input-group-lg > .form-control, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { +.form-control-lg { + height: calc(2.875rem + 2px); padding: 0.5rem 1rem; font-size: 1.25rem; line-height: 1.5; border-radius: 0.3rem; } -select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]), -.input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), -.input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), -.input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), -.input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) { - height: calc(2.875rem + 2px); } +select.form-control[size], select.form-control[multiple] { + height: auto; } + +textarea.form-control { + height: auto; } .form-group { margin-bottom: 1rem; } @@ -1423,13 +1399,13 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for z-index: 5; display: none; max-width: 100%; - padding: .5rem; + padding: 0.25rem 0.5rem; margin-top: .1rem; - font-size: .875rem; - line-height: 1; + font-size: 0.875rem; + line-height: 1.5; color: #fff; - background-color: rgba(24, 188, 156, 0.8); - border-radius: .2rem; } + background-color: rgba(24, 188, 156, 0.9); + border-radius: 0.25rem; } .was-validated .form-control:valid, .form-control.is-valid, .was-validated .custom-select:valid, @@ -1481,7 +1457,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { border-color: #18BC9C; } - .was-validated .custom-file-input:valid ~ .custom-file-label::before, .custom-file-input.is-valid ~ .custom-file-label::before { + .was-validated .custom-file-input:valid ~ .custom-file-label::after, .custom-file-input.is-valid ~ .custom-file-label::after { border-color: inherit; } .was-validated .custom-file-input:valid ~ .valid-feedback, @@ -1505,13 +1481,13 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for z-index: 5; display: none; max-width: 100%; - padding: .5rem; + padding: 0.25rem 0.5rem; margin-top: .1rem; - font-size: .875rem; - line-height: 1; + font-size: 0.875rem; + line-height: 1.5; color: #fff; - background-color: rgba(231, 76, 60, 0.8); - border-radius: .2rem; } + background-color: rgba(231, 76, 60, 0.9); + border-radius: 0.25rem; } .was-validated .form-control:invalid, .form-control.is-invalid, .was-validated .custom-select:invalid, @@ -1563,7 +1539,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for .was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { border-color: #E74C3C; } - .was-validated .custom-file-input:invalid ~ .custom-file-label::before, .custom-file-input.is-invalid ~ .custom-file-label::before { + .was-validated .custom-file-input:invalid ~ .custom-file-label::after, .custom-file-input.is-invalid ~ .custom-file-label::after { border-color: inherit; } .was-validated .custom-file-input:invalid ~ .invalid-feedback, @@ -1643,8 +1619,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for opacity: 0.65; } .btn:not(:disabled):not(.disabled) { cursor: pointer; } - .btn:not(:disabled):not(.disabled):active, .btn:not(:disabled):not(.disabled).active { - background-image: none; } a.btn.disabled, fieldset:disabled a.btn { @@ -1674,7 +1648,7 @@ fieldset:disabled a.btn { box-shadow: 0 0 0 0.2rem rgba(69, 90, 100, 0.5); } .btn-secondary { - color: #212529; + color: #fff; background-color: #95a5a6; border-color: #95a5a6; } .btn-secondary:hover { @@ -1684,7 +1658,7 @@ fieldset:disabled a.btn { .btn-secondary:focus, .btn-secondary.focus { box-shadow: 0 0 0 0.2rem rgba(149, 165, 166, 0.5); } .btn-secondary.disabled, .btn-secondary:disabled { - color: #212529; + color: #fff; background-color: #95a5a6; border-color: #95a5a6; } .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, @@ -1743,7 +1717,7 @@ fieldset:disabled a.btn { box-shadow: 0 0 0 0.2rem rgba(52, 152, 219, 0.5); } .btn-warning { - color: #212529; + color: #fff; background-color: #F39C12; border-color: #F39C12; } .btn-warning:hover { @@ -1753,7 +1727,7 @@ fieldset:disabled a.btn { .btn-warning:focus, .btn-warning.focus { box-shadow: 0 0 0 0.2rem rgba(243, 156, 18, 0.5); } .btn-warning.disabled, .btn-warning:disabled { - color: #212529; + color: #fff; background-color: #F39C12; border-color: #F39C12; } .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, @@ -1863,7 +1837,7 @@ fieldset:disabled a.btn { background-image: none; border-color: #95a5a6; } .btn-outline-secondary:hover { - color: #212529; + color: #fff; background-color: #95a5a6; border-color: #95a5a6; } .btn-outline-secondary:focus, .btn-outline-secondary.focus { @@ -1873,7 +1847,7 @@ fieldset:disabled a.btn { background-color: transparent; } .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { - color: #212529; + color: #fff; background-color: #95a5a6; border-color: #95a5a6; } .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, @@ -1932,7 +1906,7 @@ fieldset:disabled a.btn { background-image: none; border-color: #F39C12; } .btn-outline-warning:hover { - color: #212529; + color: #fff; background-color: #F39C12; border-color: #F39C12; } .btn-outline-warning:focus, .btn-outline-warning.focus { @@ -1942,7 +1916,7 @@ fieldset:disabled a.btn { background-color: transparent; } .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { - color: #212529; + color: #fff; background-color: #F39C12; border-color: #F39C12; } .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, @@ -2363,10 +2337,6 @@ input[type="button"].btn-block { flex: 1 1 auto; width: 1%; margin-bottom: 0; } - .input-group > .form-control:focus, - .input-group > .custom-select:focus, - .input-group > .custom-file:focus { - z-index: 3; } .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, @@ -2377,6 +2347,12 @@ input[type="button"].btn-block { .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file { margin-left: -1px; } + .input-group > .form-control:focus, + .input-group > .custom-select:focus, + .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; } + .input-group > .custom-file .custom-file-input:focus { + z-index: 4; } .input-group > .form-control:not(:last-child), .input-group > .custom-select:not(:last-child) { border-top-right-radius: 0; @@ -2437,6 +2413,28 @@ input[type="button"].btn-block { .input-group-text input[type="checkbox"] { margin-top: 0; } +.input-group-lg > .form-control, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + height: calc(2.875rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +.input-group-sm > .form-control, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + height: calc(1.8125rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group > .input-group-append:not(:last-child) > .btn, @@ -2557,7 +2555,7 @@ input[type="button"].btn-block { .custom-select:focus { border-color: #819ba8; outline: 0; - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(129, 155, 168, 0.5); } + box-shadow: 0 0 0 0.2rem rgba(129, 155, 168, 0.5); } .custom-select:focus::-ms-value { color: #7b8a8b; background-color: #fff; } @@ -2602,6 +2600,8 @@ input[type="button"].btn-block { box-shadow: 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } .custom-file-input:focus ~ .custom-file-label::after { border-color: #819ba8; } + .custom-file-input:disabled ~ .custom-file-label { + background-color: #ecf0f1; } .custom-file-input:lang(en) ~ .custom-file-label::after { content: "Browse"; } @@ -2641,6 +2641,12 @@ input[type="button"].btn-block { appearance: none; } .custom-range:focus { outline: none; } + .custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } + .custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } + .custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } .custom-range::-moz-focus-outer { border: 0; } .custom-range::-webkit-slider-thumb { @@ -2650,10 +2656,11 @@ input[type="button"].btn-block { background-color: #455a64; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-webkit-slider-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } + @media screen and (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; } } .custom-range::-webkit-slider-thumb:active { background-color: #9fb3bd; } .custom-range::-webkit-slider-runnable-track { @@ -2670,10 +2677,11 @@ input[type="button"].btn-block { background-color: #455a64; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-moz-range-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } + @media screen and (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; } } .custom-range::-moz-range-thumb:active { background-color: #9fb3bd; } .custom-range::-moz-range-track { @@ -2687,13 +2695,17 @@ input[type="button"].btn-block { .custom-range::-ms-thumb { width: 1rem; height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; background-color: #455a64; border: 0; border-radius: 1rem; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - .custom-range::-ms-thumb:focus { - outline: none; - box-shadow: 0 0 0 1px #455a64, 0 0 0 0.2rem rgba(69, 90, 100, 0.25); } + @media screen and (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; } } .custom-range::-ms-thumb:active { background-color: #9fb3bd; } .custom-range::-ms-track { @@ -2712,6 +2724,16 @@ input[type="button"].btn-block { background-color: #dee2e6; border-radius: 1rem; } +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } + @media screen and (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; } } + .nav { display: flex; flex-wrap: wrap; @@ -3353,10 +3375,10 @@ input[type="button"].btn-block { background-color: #303f46; } .badge-secondary { - color: #212529; + color: #fff; background-color: #95a5a6; } .badge-secondary[href]:hover, .badge-secondary[href]:focus { - color: #212529; + color: #fff; text-decoration: none; background-color: #798d8f; } @@ -3377,10 +3399,10 @@ input[type="button"].btn-block { background-color: #217dbb; } .badge-warning { - color: #212529; + color: #fff; background-color: #F39C12; } .badge-warning[href]:hover, .badge-warning[href]:focus { - color: #212529; + color: #fff; text-decoration: none; background-color: #c87f0a; } @@ -3708,12 +3730,12 @@ input[type="button"].btn-block { color: #fff; text-shadow: none; opacity: .5; } - .close:hover, .close:focus { - color: #fff; - text-decoration: none; - opacity: .75; } .close:not(:disabled):not(.disabled) { cursor: pointer; } + .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + color: #fff; + text-decoration: none; + opacity: .75; } button.close { padding: 0; @@ -3723,6 +3745,9 @@ button.close { .modal-open { overflow: hidden; } + .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } .modal { position: fixed; @@ -3734,9 +3759,6 @@ button.close { display: none; overflow: hidden; outline: 0; } - .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; } .modal-dialog { position: relative; @@ -3756,6 +3778,10 @@ button.close { display: flex; align-items: center; min-height: calc(100% - (0.5rem * 2)); } + .modal-dialog-centered::before { + display: block; + height: calc(100vh - (0.5rem * 2)); + content: ""; } .modal-content { position: relative; @@ -3827,6 +3853,8 @@ button.close { margin: 1.75rem auto; } .modal-dialog-centered { min-height: calc(100% - (1.75rem * 2)); } + .modal-dialog-centered::before { + height: calc(100vh - (1.75rem * 2)); } .modal-sm { max-width: 300px; } } @@ -4069,17 +4097,19 @@ button.close { display: none; align-items: center; width: 100%; - transition: transform 0.6s ease; backface-visibility: hidden; perspective: 1000px; } - @media screen and (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; } } .carousel-item.active, .carousel-item-next, .carousel-item-prev { - display: block; } + display: block; + transition: transform 0.6s ease; } + @media screen and (prefers-reduced-motion: reduce) { + .carousel-item.active, + .carousel-item-next, + .carousel-item-prev { + transition: none; } } .carousel-item-next, .carousel-item-prev { @@ -6384,6 +6414,8 @@ a.text-dark:hover, a.text-dark:focus { .modal .close { color: #000; } + .modal .close:not(:disabled):not(.disabled):hover, .modal .close:not(:disabled):not(.disabled):focus { + color: #000; } .nmb-05 { margin-bottom: -0.125rem !important; }