4f2259f118
- Add alertify lib and provide its default configuration - Add copy_to_clipboard() function and the CSS copyable class - Enable Bootstrap tooltips - Add CSS share-links class helper: link's URL is copied to clipboard - Add Bootstrap 5 like 3-states switches - Add show_form_modal(), validate_form() and handle_ajax_return() helper functions
167 lines
2.8 KiB
CSS
167 lines
2.8 KiB
CSS
/*
|
|
* Main interface components
|
|
*/
|
|
body {
|
|
font-family: arial, sans-serif;
|
|
color: #606060;
|
|
}
|
|
|
|
main[role="main"] {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
a.navbar-brand img {
|
|
height: 27px;
|
|
}
|
|
|
|
footer {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
footer div.compute-times {
|
|
font-size: 0.6em;
|
|
}
|
|
|
|
/*
|
|
* Login form
|
|
*/
|
|
|
|
body.signin {
|
|
display: flex;
|
|
align-items: center;
|
|
padding-top: 40px;
|
|
padding-bottom: 40px;
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
.form-signin {
|
|
max-width: 330px;
|
|
padding: 15px;
|
|
}
|
|
|
|
.form-signin .form-floating:focus-within {
|
|
z-index: 2;
|
|
}
|
|
|
|
.form-signin input[name="username"] {
|
|
margin-bottom: -1px;
|
|
border-bottom-right-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
|
|
.form-signin input[name="password"] {
|
|
margin-bottom: 10px;
|
|
border-top-left-radius: 0;
|
|
border-top-right-radius: 0;
|
|
}
|
|
|
|
/*
|
|
* Common helpers
|
|
*/
|
|
.center {
|
|
text-align: center;
|
|
}
|
|
|
|
p {
|
|
text-align: justify;
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
|
|
/*
|
|
* Messages/errors & fatal errors
|
|
*/
|
|
.fatal_error_msg {
|
|
font-size: 0.8em;
|
|
color: #777;
|
|
text-align: center;
|
|
font-style: italic;
|
|
}
|
|
|
|
.alert p {
|
|
text-align: center;
|
|
}
|
|
|
|
/*
|
|
* Tables
|
|
*/
|
|
th a,
|
|
th a:hover {
|
|
color: #000;
|
|
text-decoration: none;
|
|
}
|
|
|
|
/*
|
|
* Forms
|
|
*/
|
|
.form-inline .form-control,
|
|
.form-inline label,
|
|
.form-inline input,
|
|
.form-inline select,
|
|
.form-inline button {
|
|
margin-left: 1em !important;
|
|
}
|
|
|
|
label.required::after {
|
|
content: " *";
|
|
}
|
|
|
|
.form-error {
|
|
color: #dc3545;
|
|
}
|
|
|
|
.invalid-feedback {
|
|
display: block;
|
|
}
|
|
|
|
span.form-control-plaintext {
|
|
padding-top: calc(0.375rem + 1px);
|
|
padding-bottom: calc(0.375rem + 1px);
|
|
margin-bottom: 0;
|
|
font-size: inherit;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
/*
|
|
* Three states switches
|
|
*/
|
|
input.form-3s-switch {
|
|
width: 2em;
|
|
height: 1em;
|
|
margin: 0.25em 0.25em 0 0;
|
|
vertical-align: top;
|
|
background-color: #fff;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
background-size: contain;
|
|
border: 1px solid rgba(0, 0, 0, 0.25);
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
appearance: none;
|
|
-webkit-print-color-adjust: exact;
|
|
color-adjust: exact;
|
|
print-color-adjust: exact;
|
|
border-radius: 2em;
|
|
background-position: center center;
|
|
transition: background-position 0.15s ease-in-out;
|
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
|
|
}
|
|
|
|
input.form-3s-switch[value="1"] {
|
|
background-position: right center;
|
|
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
|
|
background-color: #0d6efd;
|
|
border-color: #0d6efd;
|
|
}
|
|
|
|
input.form-3s-switch[value="0"] {
|
|
background-position: left center;
|
|
}
|
|
|
|
input.form-3s-switch:focus {
|
|
border-color: #86b7fe;
|
|
outline: 0;
|
|
box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
|
|
}
|