// 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; // // Main Dashboard Styles // * { outline: none !important; } body { @include font-sans; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-overflow-scrolling: touch; } .navbar { margin-bottom: $grid-gutter-width; border: 0; background-color: $c-dashboard-dark; user-select: none; @include media-breakpoint-down(md) { padding-right: 8px; padding-left: 8px; } @include media-breakpoint-down(sm) { margin-bottom: 0px; } &-brand { @include font-sans-bold; overflow: hidden; max-width: calc(100vw - 60px); color: $c-text-light; white-space: nowrap; &:hover, &:focus, &:active { color: $c-text-light; } @include media-breakpoint-down(sm) { font-size: 12px; } } &-toggler { position: absolute; top: 3px; right: 0px; border: 0; @include media-breakpoint-up(md) { top: 10px; } &-icon { position: relative; &-bar { $v-inset: 6px; $h-inset: 3px; position: absolute; left: $h-inset; width: calc(100% - #{$h-inset * 2}); height: 2px; background-color: $c-text-light; &:nth-child(1) { top: $v-inset; } &:nth-child(2) { top: 50%; transform: translateY(-50%); } &:nth-child(3) { bottom: $v-inset; } } } } .nav-link { color: fade-out($c-text-light, 0.25); &.active { color: $c-text-light; } &.dropdown-toggle { cursor: pointer; } } .dropdown-menu { padding: 0px; border-top-right-radius: 0; border-top-left-radius: 0; @include media-breakpoint-up(lg) { top: 45px; } @include media-breakpoint-down(md) { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .dropdown-item { background-color: transparent; transition: background-color 150ms; @include media-breakpoint-down(md) { padding-right: 8px; padding-left: 8px; } &:hover, &:focus, &:active { background-color: fade-out(#000, 0.95); color: $c-text; } } } } .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%); } &, &:hover, &:focus { text-decoration: none; } &.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; } } .view-table-container { @include media-breakpoint-down(sm) { padding: 10px 5px; } .table { margin-bottom: 0px; > thead > tr > th { border-top: 0; 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/arrows-alt.svg"); } &.fa-bold:after { background-image: url("/img/dashboard/bold.svg"); } &.fa-code:after { background-image: url("/img/dashboard/code.svg"); } &.fa-columns:after { background-image: url("/img/dashboard/columns.svg"); } &.fa-eraser:after { background-image: url("/img/dashboard/eraser.svg"); } &.fa-eye:after { background-image: url("/img/dashboard/eye.svg"); } &.fa-header:after { background-image: url("/img/dashboard/header.svg"); } &.fa-italic:after { background-image: url("/img/dashboard/italic.svg"); } &.fa-link:after { background-image: url("/img/dashboard/link.svg"); } &.fa-list-ol:after { background-image: url("/img/dashboard/list-ol.svg"); } &.fa-list-ul:after { background-image: url("/img/dashboard/list-ul.svg"); } &.fa-minus:after { background-image: url("/img/dashboard/minus.svg"); } &.fa-picture-o:after { background-image: url("/img/dashboard/picture-o.svg"); } &.fa-question-circle:after { background-image: url("/img/dashboard/question-circle.svg"); } &.fa-quote-left:after { background-image: url("/img/dashboard/quote-left.svg"); } &.fa-repeat:after { background-image: url("/img/dashboard/repeat.svg"); } &.fa-star:after { background-image: url("/img/dashboard/star.svg"); } &.fa-strikethrough:after { background-image: url("/img/dashboard/strikethrough.svg"); } &.fa-table:after { background-image: url("/img/dashboard/table.svg"); } &.fa-undo:after { background-image: url("/img/dashboard/undo.svg"); } }