mirror of
https://github.com/prurigro/hypothetical.git
synced 2024-11-09 19:26:38 -05:00
824 lines
20 KiB
SCSS
Vendored
824 lines
20 KiB
SCSS
Vendored
// Libraries
|
|
@import "bootstrap/scss/bootstrap.scss";
|
|
@import "pickadate/lib/themes/default";
|
|
@import "pickadate/lib/themes/default.date";
|
|
@import "simplemde/dist/simplemde.min";
|
|
@import "SpinKit/css/spinners/11-folding-cube";
|
|
|
|
// Core
|
|
@import "_fonts";
|
|
|
|
// Colours
|
|
$c-text: #111; // text
|
|
$c-text-light: #fff; // light text
|
|
$c-input-bg: #fff; // white
|
|
$c-dashboard-error: #a80000;
|
|
$c-dashboard-dark: #3e6087;
|
|
$c-dashboard-light: #f1f1f1;
|
|
$c-dashboard-edit: #87823e;
|
|
$c-dashboard-delete: #87483e;
|
|
|
|
// Sizes
|
|
$navbar-height: 50px;
|
|
|
|
//
|
|
// Main Dashboard Styles
|
|
//
|
|
|
|
* {
|
|
outline: none !important;
|
|
}
|
|
|
|
body {
|
|
@include font-sans;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.navbar {
|
|
border: 0;
|
|
background-color: $c-dashboard-dark;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
margin-bottom: 0px;
|
|
}
|
|
|
|
&-header {
|
|
height: $navbar-height;
|
|
}
|
|
|
|
&-brand {
|
|
overflow: hidden;
|
|
max-width: calc(100vw - 60px);
|
|
font-weight: bold;
|
|
white-space: nowrap;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
|
|
#spark-navbar-collapse {
|
|
border: 0;
|
|
box-shadow: none;
|
|
|
|
.dropdown {
|
|
.dropdown-toggle .caret {
|
|
margin-left: 4px;
|
|
}
|
|
|
|
&.open .dropdown-toggle {
|
|
background-color: darken($c-dashboard-dark, 5%);
|
|
color: $c-dashboard-light;
|
|
}
|
|
|
|
.dropdown-menu {
|
|
top: calc(100% - 1px);
|
|
right: -1px;
|
|
background-color: $c-dashboard-dark;
|
|
|
|
> li > a:hover, > li > a:focus {
|
|
background-color: transparent;
|
|
}
|
|
|
|
> li > a {
|
|
&, &:hover, &:focus {
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.navbar-brand, .navbar-default .navbar-nav > li > a, .navbar-nav > li > a {
|
|
&, &:hover, &:focus {
|
|
color: $c-dashboard-light;
|
|
}
|
|
}
|
|
|
|
.navbar-toggle {
|
|
position: absolute;
|
|
top: 6px;
|
|
right: 8px;
|
|
margin: 0px;
|
|
border: 0;
|
|
|
|
&, &:hover, &:focus {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.icon-bar {
|
|
width: 27px;
|
|
height: 4px;
|
|
background-color: $c-dashboard-light;
|
|
transition: background-color 100ms;
|
|
}
|
|
|
|
&:hover .icon-bar {
|
|
background-color: darken($c-dashboard-dark, 15%);
|
|
}
|
|
}
|
|
}
|
|
|
|
.card {
|
|
margin-top: 20px;
|
|
margin-bottom: 20px;
|
|
|
|
.card-body {
|
|
padding: 15px;
|
|
background-color: lighten($c-dashboard-light, 1%);
|
|
|
|
&.dashboard {
|
|
@include media-breakpoint-down(sm) {
|
|
padding: 0px;
|
|
}
|
|
}
|
|
|
|
.search {
|
|
margin-bottom: 10px;
|
|
width: 100%;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
margin: 3px 3px 0px 3px;
|
|
width: calc(100% - 6px);
|
|
}
|
|
}
|
|
|
|
.help-text {
|
|
margin-top: 10px;
|
|
margin-bottom: 10px;
|
|
padding: 5px 10px;
|
|
border: 1px solid darken($c-dashboard-dark, 5%);
|
|
border-radius: 5px;
|
|
background-color: $c-dashboard-dark;
|
|
color: $c-text-light;
|
|
}
|
|
}
|
|
|
|
> .card-header {
|
|
position: relative;
|
|
padding: 9px 15px;
|
|
border-top: 1px solid darken($c-dashboard-dark, 5%);
|
|
border-right: 1px solid darken($c-dashboard-dark, 5%);
|
|
border-left: 1px solid darken($c-dashboard-dark, 5%);
|
|
background-color: $c-dashboard-dark;
|
|
color: $c-dashboard-light;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
|
|
.dashboard-heading {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 8px;
|
|
transform: translateY(-50%);
|
|
|
|
.btn {
|
|
min-width: 70px;
|
|
height: 26px;
|
|
padding-top: 1px;
|
|
padding-bottom: 2px;
|
|
}
|
|
|
|
a {
|
|
color: $c-text;
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.card-body .form-group {
|
|
margin-bottom: 15px;
|
|
|
|
label {
|
|
@include font-sans-semibold;
|
|
font-size: 14px;
|
|
|
|
@include media-breakpoint-up(md) {
|
|
text-align: right;
|
|
}
|
|
}
|
|
|
|
.form-control {
|
|
font-size: 14px;
|
|
transition: border-color 150ms, box-shadow 150ms;
|
|
|
|
&:focus {
|
|
border-color: $c-dashboard-dark;
|
|
box-shadow: inset 0 1px 1px fade-out(#000, 0.925), 0 0 8px fade-out($c-dashboard-dark, 0.4);
|
|
}
|
|
}
|
|
|
|
&.has-error .form-control {
|
|
border-color: $c-dashboard-error;
|
|
}
|
|
|
|
.checkbox {
|
|
position: relative;
|
|
display: inline-block;
|
|
min-height: 0px;
|
|
padding-top: 0px;
|
|
padding-left: 22px;
|
|
user-select: none;
|
|
|
|
span, input {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 0px;
|
|
transform: translateY(-50%);
|
|
display: block;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
|
|
span {
|
|
border: 1px solid lighten($c-text, 50%);
|
|
border-radius: 4px;
|
|
background-color: $c-input-bg;
|
|
pointer-events: none;
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
transform: scale(0);
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-image: url("/img/dashboard/checkmark.svg");
|
|
background-position: center center;
|
|
background-size: 65% auto;
|
|
background-repeat: no-repeat;
|
|
opacity: 0;
|
|
transition: transform 150ms, opacity 150ms;
|
|
}
|
|
}
|
|
|
|
input {
|
|
margin: 0px;
|
|
padding: 0px;
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
|
|
&:checked + span:after {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.text-muted {
|
|
font-size: 10px;
|
|
text-transform: uppercase;
|
|
}
|
|
}
|
|
|
|
.btn {
|
|
border-color: darken($c-dashboard-dark, 5%);
|
|
background-color: $c-dashboard-dark;
|
|
color: $c-text-light;
|
|
font-size: 14px;
|
|
transition: background-color 100ms;
|
|
&:hover { background-color: darken($c-dashboard-dark, 5%); }
|
|
&:focus { background-color: lighten($c-dashboard-dark, 5%); }
|
|
|
|
&.vertical-margin {
|
|
margin-top: 3px;
|
|
margin-bottom: 3px;
|
|
}
|
|
|
|
&.btn-warning, &.btn-danger {
|
|
&:hover, &:focus, &:active { color: $c-text-light !important; }
|
|
}
|
|
|
|
&.btn-warning {
|
|
border-color: darken($c-dashboard-edit, 10%);
|
|
background-color: $c-dashboard-edit;
|
|
&:hover { background-color: darken($c-dashboard-edit, 5%); }
|
|
&:focus { background-color: lighten($c-dashboard-edit, 5%); }
|
|
}
|
|
|
|
&.btn-danger {
|
|
border-color: darken($c-dashboard-delete, 10%);
|
|
background-color: $c-dashboard-delete;
|
|
&:hover { background-color: darken($c-dashboard-delete, 5%); }
|
|
&:focus { background-color: lighten($c-dashboard-delete, 5%); }
|
|
}
|
|
|
|
&.btn-secondary {
|
|
border-color: darken($c-dashboard-light, 10%);
|
|
background-color: $c-dashboard-light;
|
|
color: $c-text;
|
|
&:hover { background-color: darken($c-dashboard-light, 5%); }
|
|
&:focus { background-color: lighten($c-dashboard-light, 5%); }
|
|
}
|
|
|
|
&.btn-link { color: $c-dashboard-light; }
|
|
&, &:hover, &:focus { text-decoration: none; }
|
|
}
|
|
|
|
.view-table-container {
|
|
@include media-breakpoint-down(sm) {
|
|
padding: 10px 5px;
|
|
}
|
|
|
|
.table {
|
|
margin-bottom: 0px;
|
|
|
|
> thead > tr > th {
|
|
border-bottom: 1px solid #666;
|
|
}
|
|
|
|
@include media-breakpoint-down(lg) {
|
|
tr {
|
|
&.heading-row {
|
|
display: none;
|
|
}
|
|
|
|
&:not(:first-child) {
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
}
|
|
|
|
> tbody > tr {
|
|
> td {
|
|
display: block;
|
|
border-top: 0;
|
|
|
|
&:first-child {
|
|
padding-top: 20px;
|
|
}
|
|
|
|
&:last-child {
|
|
padding-bottom: 20px;
|
|
}
|
|
}
|
|
|
|
&:first-child > td:first-child {
|
|
padding-top: 0px;
|
|
}
|
|
|
|
&:last-child > td:last-child {
|
|
padding-bottom: 0px;
|
|
}
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-up(xl) {
|
|
> tbody > tr > td { padding: 20px 8px; }
|
|
> tbody > tr:last-child > td { padding-bottom: 0px; }
|
|
.mobile-heading { display: none; }
|
|
}
|
|
}
|
|
}
|
|
|
|
.list-group {
|
|
margin-bottom: 0px;
|
|
|
|
&.menu-list .list-group-item {
|
|
position: relative;
|
|
padding: 10px 15px;
|
|
|
|
&-link {
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: transparent;
|
|
color: $c-text;
|
|
transition: background-color 150ms;
|
|
|
|
&:hover {
|
|
background-color: fade-out(#000, 0.97);
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.edit-list {
|
|
.list-group-item {
|
|
padding-top: 4px;
|
|
padding-bottom: 4px;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
margin: 3px;
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
display: flex;
|
|
}
|
|
|
|
&.sortable {
|
|
@include media-breakpoint-down(sm) {
|
|
padding-left: 50px;
|
|
}
|
|
}
|
|
|
|
.title-column {
|
|
padding-top: 6px;
|
|
padding-bottom: 6px;
|
|
padding-left: 0px;
|
|
font-family: "Lucida Console", Monaco, monospace;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
text-align: center;
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
overflow: hidden;
|
|
flex-grow: 1;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sort-icon {
|
|
margin-right: 10px;
|
|
display: inline-block;
|
|
opacity: 1;
|
|
transition: opacity 100ms;
|
|
cursor: grab;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 20px;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
&-inner {
|
|
position: relative;
|
|
top: 2px;
|
|
display: inline-block;
|
|
width: 12px;
|
|
height: 14px;
|
|
|
|
&-bar {
|
|
position: absolute;
|
|
left: 0px;
|
|
width: 100%;
|
|
height: 2px;
|
|
background-color: $c-text;
|
|
|
|
&:nth-child(1) {
|
|
top: 2px;
|
|
}
|
|
|
|
&:nth-child(2) {
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
bottom: 2px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.column {
|
|
display: inline-block;
|
|
}
|
|
|
|
.spacer {
|
|
@include media-breakpoint-down(sm) {
|
|
display: block;
|
|
font-size: 0;
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
display: inline-block;
|
|
}
|
|
}
|
|
}
|
|
|
|
.button-column {
|
|
padding-right: 0px;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
padding-bottom: 5px;
|
|
padding-left: 0px;
|
|
text-align: center;
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
padding-left: 5px;
|
|
flex-shrink: 0;
|
|
text-align: right;
|
|
}
|
|
|
|
.btn {
|
|
margin: 5px 3px;
|
|
min-width: 70px;
|
|
height: 26px;
|
|
padding-top: 1px;
|
|
padding-bottom: 2px;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
min-width: 33%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.filtered .list-group-item .title-column .sort-icon {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.edit-item {
|
|
margin-top: 10px;
|
|
|
|
.CodeMirror {
|
|
height: 300px;
|
|
padding: 5px;
|
|
|
|
&-code {
|
|
margin-bottom: 10px;
|
|
}
|
|
}
|
|
|
|
.picker__holder {
|
|
overflow-y: hidden;
|
|
|
|
.picker__button--today {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.picker__select--year, .picker__select--month, .picker__month, .picker__day, .picker__weekday, .picker__footer {
|
|
@include media-breakpoint-down(sm) {
|
|
font-size: 16px;
|
|
}
|
|
}
|
|
|
|
.picker__select--year, .picker__select--month {
|
|
width: auto;
|
|
height: 1.5em;
|
|
padding: 0px;
|
|
}
|
|
}
|
|
|
|
label {
|
|
height: 32px;
|
|
line-height: 32px;
|
|
}
|
|
|
|
input {
|
|
margin-bottom: 15px;
|
|
display: block;
|
|
width: 100%;
|
|
|
|
&:not([type="file"]) {
|
|
padding: 5px 8px;
|
|
border: 1px solid darken($c-dashboard-light, 10%);
|
|
border-radius: 2px;
|
|
transition: border-color 150ms;
|
|
}
|
|
|
|
&.date-picker {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.current-image {
|
|
margin-bottom: 15px;
|
|
display: block;
|
|
width: 125px;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.edit-button {
|
|
margin-bottom: ($grid-gutter-width / 2);
|
|
display: inline-block;
|
|
padding: 5px 10px;
|
|
border-radius: 5px;
|
|
text-transform: uppercase;
|
|
transition: background-color 150ms;
|
|
cursor: pointer;
|
|
|
|
&:hover, &:focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
&.view {
|
|
border: 1px solid darken($c-dashboard-dark, 5%);
|
|
background-color: $c-dashboard-dark;
|
|
color: $c-text-light;
|
|
|
|
&:hover {
|
|
background-color: lighten($c-dashboard-dark, 5%);
|
|
}
|
|
}
|
|
|
|
&.delete {
|
|
border: 1px solid darken($c-dashboard-delete, 5%);
|
|
background-color: $c-dashboard-delete;
|
|
color: $c-text-light;
|
|
|
|
&:hover {
|
|
background-color: lighten($c-dashboard-delete, 5%);
|
|
}
|
|
}
|
|
}
|
|
|
|
.back-button {
|
|
float: left;
|
|
}
|
|
|
|
.submit-button {
|
|
float: right;
|
|
transition: opacity 150ms;
|
|
|
|
&.no-input {
|
|
opacity: 0.65;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
.back-button, .submit-button {
|
|
margin: 25px 15px 15px 15px;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
float: none;
|
|
width: calc(100% - 30px);
|
|
&:first-child { margin: 25px 15px 5px 15px; }
|
|
&:last-child { margin: 5px 15px 25px 15px; }
|
|
}
|
|
}
|
|
}
|
|
|
|
#loading-modal {
|
|
z-index: 1000;
|
|
position: fixed;
|
|
top: 0px;
|
|
left: 0px;
|
|
visibility: hidden;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: fade-out(lighten($c-dashboard-light, 1%), 0.6);
|
|
opacity: 0;
|
|
transition: opacity 250ms;
|
|
|
|
.spinner-container {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translateX(-50%) translateY(-50%);
|
|
}
|
|
}
|
|
|
|
.modal {
|
|
z-index: 1000;
|
|
position: fixed;
|
|
top: 0px;
|
|
left: 0px;
|
|
visibility: hidden;
|
|
display: table;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: fade-out(lighten($c-dashboard-light, 1%), 0.6);
|
|
opacity: 0;
|
|
transition: opacity 250ms;
|
|
|
|
.modal-container {
|
|
display: table-cell;
|
|
vertical-align: middle;
|
|
text-align: center;
|
|
|
|
.card {
|
|
margin: 0px;
|
|
}
|
|
|
|
.btn {
|
|
margin: 20px 15px;
|
|
display: inline-block;
|
|
|
|
&:not(:last-child) {
|
|
margin-bottom: 0px;
|
|
}
|
|
}
|
|
}
|
|
|
|
&#alert-modal {
|
|
.modal-container {
|
|
.card {
|
|
position: relative;
|
|
}
|
|
|
|
.message {
|
|
min-height: 50px;
|
|
padding: 15px 75px 15px 20px;
|
|
text-align: left;
|
|
}
|
|
|
|
.btn {
|
|
position: absolute;
|
|
top: 50%;
|
|
right: 0px;
|
|
transform: translateY(-50%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.fa {
|
|
position: relative;
|
|
vertical-align: bottom;
|
|
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0px;
|
|
left: 0px;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-position: center center;
|
|
background-size: 10px auto;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
&.fa-arrows-alt:after {
|
|
background-image: url("/img/dashboard/fa/arrows-alt.svg");
|
|
}
|
|
|
|
&.fa-bold:after {
|
|
background-image: url("/img/dashboard/fa/bold.svg");
|
|
}
|
|
|
|
&.fa-code:after {
|
|
background-image: url("/img/dashboard/fa/code.svg");
|
|
}
|
|
|
|
&.fa-columns:after {
|
|
background-image: url("/img/dashboard/fa/columns.svg");
|
|
}
|
|
|
|
&.fa-eraser:after {
|
|
background-image: url("/img/dashboard/fa/eraser.svg");
|
|
}
|
|
|
|
&.fa-eye:after {
|
|
background-image: url("/img/dashboard/fa/eye.svg");
|
|
}
|
|
|
|
&.fa-header:after {
|
|
background-image: url("/img/dashboard/fa/header.svg");
|
|
}
|
|
|
|
&.fa-italic:after {
|
|
background-image: url("/img/dashboard/fa/italic.svg");
|
|
}
|
|
|
|
&.fa-link:after {
|
|
background-image: url("/img/dashboard/fa/link.svg");
|
|
}
|
|
|
|
&.fa-list-ol:after {
|
|
background-image: url("/img/dashboard/fa/list-ol.svg");
|
|
}
|
|
|
|
&.fa-list-ul:after {
|
|
background-image: url("/img/dashboard/fa/list-ul.svg");
|
|
}
|
|
|
|
&.fa-minus:after {
|
|
background-image: url("/img/dashboard/fa/minus.svg");
|
|
}
|
|
|
|
&.fa-picture-o:after {
|
|
background-image: url("/img/dashboard/fa/picture-o.svg");
|
|
}
|
|
|
|
&.fa-question-circle:after {
|
|
background-image: url("/img/dashboard/fa/question-circle.svg");
|
|
}
|
|
|
|
&.fa-quote-left:after {
|
|
background-image: url("/img/dashboard/fa/quote-left.svg");
|
|
}
|
|
|
|
&.fa-repeat:after {
|
|
background-image: url("/img/dashboard/fa/repeat.svg");
|
|
}
|
|
|
|
&.fa-star:after {
|
|
background-image: url("/img/dashboard/fa/star.svg");
|
|
}
|
|
|
|
&.fa-strikethrough:after {
|
|
background-image: url("/img/dashboard/fa/strikethrough.svg");
|
|
}
|
|
|
|
&.fa-table:after {
|
|
background-image: url("/img/dashboard/fa/table.svg");
|
|
}
|
|
|
|
&.fa-undo:after {
|
|
background-image: url("/img/dashboard/fa/undo.svg");
|
|
}
|
|
}
|