hypothetical/resources/sass/dashboard.scss

1501 lines
38 KiB
SCSS
Raw Permalink Normal View History

// Sass modules
@use "sass:math";
2021-05-21 22:33:55 -04:00
// Base font size
$base-font-size: 16px;
// Libraries
$fa-font-path: "/fonts";
@import "@fortawesome/fontawesome-free/scss/fontawesome.scss";
@import "@fortawesome/fontawesome-free/scss/solid.scss";
$enable-smooth-scroll: false;
@import "bootstrap/scss/bootstrap.scss";
2021-05-21 22:33:55 -04:00
// Functions
@import "functions/**/*.scss";
// Core
@import "_fonts";
@import "_common-vars";
// Supplementary
@import "mixins/**/*.scss";
// Colours
$c-text: #111; // text
$c-text-inactive: fade-out($c-text, 0.25); // inactive text
$c-text-light: #fff; // light text
$c-text-light-inactive: fade-out($c-text-light, 0.25); // inactive light text
$c-input-bg: #fff; // white
$c-dashboard-error: #a80000;
2021-07-29 17:45:47 -04:00
$c-dashboard-dark: #111;
$c-dashboard-light: #f1f1f1;
$c-dashboard-edit: #87823e;
$c-dashboard-delete: #87483e;
2016-08-19 00:33:12 -04:00
//
// Main Dashboard Styles
//
* {
outline: none !important;
}
html {
width: 100%;
font-size: $base-font-size;
@include media-breakpoint-up(xxxl) {
font-size: 18px;
}
@include media-breakpoint-up(xxxxl) {
font-size: 20px;
}
}
body {
@include font-sans;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-overflow-scrolling: touch;
}
.site-content {
position: relative;
display: flex;
min-height: 100vh;
flex-direction: column;
.page-content {
flex-grow: 1;
}
}
.dashboard-background {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-image: url("/img/dashboard/line-bg.svg");
background-position: center top;
background-repeat: repeat;
}
.navbar, .dashboard-footer {
z-index: 10;
position: relative;
}
.navbar {
margin-bottom: $grid-gutter-width;
border: 0;
background-color: $c-dashboard-dark;
user-select: none;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
padding-right: pxrem(8);
padding-left: pxrem(8);
}
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin-bottom: 0px;
}
&-brand {
@include font-sans-bold;
overflow: hidden;
2021-05-21 22:33:55 -04:00
max-width: calc(100vw - #{pxrem(60)});
color: $c-text-light;
white-space: nowrap;
&:hover, &:focus, &:active {
color: $c-text-light;
}
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
font-size: pxrem(12);
}
}
&-toggler {
position: absolute;
2021-05-21 22:33:55 -04:00
top: pxrem(3);
right: 0px;
border: 0;
@include media-breakpoint-up(md) {
2021-05-21 22:33:55 -04:00
top: pxrem(10);
}
&-icon {
position: relative;
&-bar {
2021-05-21 22:33:55 -04:00
$v-inset: pxrem(6);
$h-inset: pxrem(3);
position: absolute;
left: $h-inset;
width: calc(100% - #{$h-inset * 2});
2021-05-21 22:33:55 -04:00
height: pxrem(2);
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: $c-text-light-inactive;
transition: color 150ms;
2024-03-19 17:11:58 -04:00
&.show {
color: $c-text-light-inactive;
}
&.active {
color: $c-text-light;
}
&.dropdown-toggle {
2021-05-21 22:33:55 -04:00
border: 0;
background-color: transparent;
cursor: pointer;
}
}
.dropdown-menu {
2021-05-21 22:33:55 -04:00
right: 0px;
left: auto;
padding: 0px;
border-top-right-radius: 0;
border-top-left-radius: 0;
2021-05-21 22:33:55 -04:00
list-style: none;
@include media-breakpoint-up(lg) {
2021-05-21 22:33:55 -04:00
top: pxrem(45);
}
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.dropdown-item {
background-color: transparent;
transition: background-color 150ms, color 150ms;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
padding-right: pxrem(8);
padding-left: pxrem(8);
background-color: darken($c-dashboard-dark, 2%);
color: $c-text-light-inactive;
}
2018-04-18 00:47:14 -04:00
&.active, &:hover, &:focus, &:active {
color: $c-text;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
color: $c-text-light;
}
}
&:hover, &:focus {
@include media-breakpoint-up(lg) {
background-color: fade-out(#000, 0.97);
}
}
&.active {
@include media-breakpoint-up(lg) {
background-color: fade-out(#000, 0.93);
}
}
}
}
}
.dashboard-footer {
margin-top: $grid-gutter-width;
width: 100%;
padding: pxrem(8) $half-gutter-width;
background-color: $c-dashboard-dark;
text-align: right;
a {
color: $c-text-light-inactive;
text-decoration: none;
transition: color 150ms;
&:hover, &:focus {
text-decoration: none;
}
&.active {
color: $c-text-light;
}
}
}
.card {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(20);
margin-bottom: pxrem(20);
> .card-header {
@include font-sans-bold;
position: relative;
2021-05-21 22:33:55 -04:00
padding: pxrem(9) pxrem(15);
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;
2021-05-21 22:33:55 -04:00
font-size: pxrem(14);
.dashboard-heading {
position: absolute;
top: 50%;
2021-05-21 22:33:55 -04:00
right: pxrem(8);
transform: translateY(-50%);
.btn {
2021-05-21 22:33:55 -04:00
min-width: pxrem(70);
height: pxrem(26);
padding-top: pxrem(1);
padding-bottom: pxrem(2);
}
a {
color: $c-text;
text-decoration: none;
}
}
}
.card-body {
2021-05-21 22:33:55 -04:00
padding: pxrem(15);
background-color: lighten($c-dashboard-light, 1%);
2018-01-21 21:36:37 -05:00
&.dashboard {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
padding: pxrem(10) pxrem(8) pxrem(12) pxrem(8);
2018-01-21 21:36:37 -05:00
}
}
.search-form {
display: flex;
width: 100%;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin-bottom: $half-gutter-width;
2021-05-21 22:33:55 -04:00
}
&-input {
display: block;
width: 100%;
}
&-submit {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(2);
margin-left: pxrem(10);
height: pxrem(32);
border: 1px solid fade-out($c-text, 0.75);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(4);
}
}
.search {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(10);
width: 100%;
2021-05-21 22:33:55 -04:00
padding: pxrem(3) pxrem(8);
border: 1px solid fade-out(#000, 0.875);
border-radius: 0.25rem;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin: pxrem(3) pxrem(3) 0px pxrem(3);
width: calc(100% - #{pxrem(6)});
}
}
.help-text {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(10);
margin-bottom: pxrem(10);
padding: pxrem(5) pxrem(10);
border: 1px solid darken($c-dashboard-dark, 5%);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(5);
background-color: $c-dashboard-dark;
color: $c-text-light;
ul {
margin-bottom: 0px;
}
}
.form-group {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
label {
@include font-sans-semibold;
2021-05-21 22:33:55 -04:00
font-size: pxrem(14);
@include media-breakpoint-up(md) {
text-align: right;
}
}
.form-control {
2021-05-21 22:33:55 -04:00
font-size: pxrem(14);
transition: border-color 150ms, box-shadow 150ms;
&:focus {
border-color: $c-dashboard-dark;
2021-05-21 22:33:55 -04:00
box-shadow: inset 0 pxrem(1) pxrem(1) fade-out(#000, 0.925), 0 0 pxrem(8) 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;
2021-05-21 22:33:55 -04:00
padding-left: pxrem(22);
user-select: none;
span, input {
position: absolute;
top: 50%;
left: 0px;
transform: translateY(-50%);
display: block;
2021-05-21 22:33:55 -04:00
width: pxrem(16);
height: pxrem(16);
}
span {
border: 1px solid lighten($c-text, 50%);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(4);
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%;
2020-04-29 00:36:25 -04:00
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 {
2021-05-21 22:33:55 -04:00
font-size: pxrem(10);
text-transform: uppercase;
}
}
.dashboard-credits {
padding: $grid-gutter-width;
h2 {
@include font-sans-semibold;
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
font-size: pxrem(18);
text-transform: uppercase;
&:not(:first-child) {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(25);
}
}
ul {
margin-bottom: 0px;
2021-05-21 22:33:55 -04:00
padding-left: pxrem(20);
li a {
color: $c-text;
}
}
}
}
}
.btn {
border-color: darken($c-dashboard-dark, 5%);
background-color: $c-dashboard-dark;
color: $c-text-light;
2021-05-21 22:33:55 -04:00
font-size: pxrem(14);
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 {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(3);
margin-bottom: pxrem(3);
}
&.btn-warning, &.btn-danger {
2021-05-21 22:33:55 -04:00
&: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;
}
&.btn-outline {
background-color: transparent;
color: $c-text;
}
&.btn-inactive {
pointer-events: none;
}
&.btn-disabled {
opacity: 0.5;
pointer-events: none;
}
}
.view-table-container {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
padding: pxrem(10) pxrem(5);
}
.table {
margin-bottom: 0px;
2021-05-21 22:33:55 -04:00
border-bottom-color: transparent;
2024-03-19 17:11:58 -04:00
@include media-breakpoint-down(xl) {
overflow-x: auto;
display: block;
width: 100%;
}
2024-03-19 17:11:58 -04:00
> thead {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(xl) {
display: none;
}
2024-03-19 17:11:58 -04:00
> tr > th {
2021-05-21 22:33:55 -04:00
border-top: 0;
border-bottom: 1px solid #666;
}
}
2024-03-19 17:11:58 -04:00
> tbody {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(xl) {
2024-03-19 17:11:58 -04:00
display: block;
width: 100%;
2021-05-21 22:33:55 -04:00
}
2024-03-19 17:11:58 -04:00
> tr {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(xl) {
display: block;
2024-03-19 17:11:58 -04:00
width: 100%;
2018-01-22 23:25:07 -05:00
2024-03-19 17:11:58 -04:00
&:not(:first-child) {
border-top: 1px solid #ddd;
2018-01-22 23:25:07 -05:00
}
2024-03-19 17:11:58 -04:00
}
@include media-breakpoint-up(xl) {
border-bottom: 1px solid #ddd;
2018-01-22 23:25:07 -05:00
&:last-child {
2024-03-19 17:11:58 -04:00
border-bottom-color: transparent;
> td {
padding-bottom: pxrem(10);
}
2018-01-22 23:25:07 -05:00
}
}
2024-03-19 17:11:58 -04:00
> td {
@include media-breakpoint-down(xl) {
display: block;
border-top: 0;
&:first-child {
padding-top: pxrem(20);
}
&:last-child {
padding-bottom: pxrem(20);
}
}
2021-05-21 22:33:55 -04:00
@include media-breakpoint-up(xl) {
2024-03-19 17:11:58 -04:00
padding: pxrem(20) pxrem(8);
2021-05-21 22:33:55 -04:00
}
2024-03-19 17:11:58 -04:00
.mobile-heading {
@include media-breakpoint-up(xl) {
display: none;
}
}
}
2021-05-21 22:33:55 -04:00
}
}
}
}
.pagination-navigation-bar {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(10);
margin-left: pxrem(4);
display: flex;
2021-05-21 22:33:55 -04:00
width: calc(100% - #{pxrem(8)});
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
flex-direction: column;
}
@include media-breakpoint-up(sm) {
justify-content: space-between;
}
&-arrow {
position: relative;
font-size: 0px;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
height: pxrem(35);
}
&.prev {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
margin-bottom: pxrem(8);
}
@include media-breakpoint-up(sm) {
margin-right: $half-gutter-width;
}
}
&.next {
transform: rotate(180deg);
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
margin-top: pxrem(8);
}
@include media-breakpoint-up(sm) {
margin-left: $half-gutter-width;
}
}
&:before, &:after {
content: "";
position: absolute;
2021-05-21 22:33:55 -04:00
top: calc(50% - #{pxrem(1px)});
left: 25%;
2021-05-21 22:33:55 -04:00
width: pxrem(16);
height: pxrem(2);
background-color: $c-text-light;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
left: 50%;
}
}
&:before {
transform: rotate(-45deg);
transform-origin: bottom left;
}
&:after {
transform: rotate(45deg);
transform-origin: top left;
}
}
&-page-count {
display: flex;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(sm) {
justify-content: center;
}
.btn {
2021-05-21 22:33:55 -04:00
$spacing: pxrem(3);
&:not(:first-child) {
margin-left: $spacing;
}
&:not(:last-child) {
margin-right: $spacing;
}
&.space {
position: relative;
&:after {
content: "...";
position: absolute;
top: 0px;
2021-05-21 22:33:55 -04:00
line-height: pxrem(25);
}
&:first-child {
2021-05-21 22:33:55 -04:00
margin-right: pxrem(20);
&:after {
2021-05-21 22:33:55 -04:00
left: calc(100% + #{pxrem(7)});
}
}
&:last-child {
2021-05-21 22:33:55 -04:00
margin-left: pxrem(20);
&:after {
2021-05-21 22:33:55 -04:00
right: calc(100% + #{pxrem(7)});
}
}
}
}
}
}
.list-group {
margin-bottom: 0px;
&.menu-list .list-group-item {
position: relative;
2021-05-21 22:33:55 -04:00
padding: pxrem(10) pxrem(15);
&-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 {
2021-05-21 22:33:55 -04:00
padding-top: pxrem(4);
padding-bottom: pxrem(4);
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin: pxrem(3);
}
@include media-breakpoint-up(md) {
display: flex;
}
&.sortable {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
padding-left: pxrem(50);
}
}
.title-column {
2024-03-19 17:11:58 -04:00
@include font-sans-semibold;
2021-05-21 22:33:55 -04:00
padding-top: pxrem(6);
padding-bottom: pxrem(6);
padding-left: 0px;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
text-align: center;
}
@include media-breakpoint-up(md) {
overflow: hidden;
display: flex;
flex-grow: 1;
white-space: nowrap;
}
.sort-icon {
2021-05-21 22:33:55 -04:00
margin-right: pxrem(10);
display: inline-block;
opacity: 1;
transition: opacity 100ms;
cursor: grab;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
position: absolute;
top: 50%;
2021-05-21 22:33:55 -04:00
left: pxrem(20);
transform: translateY(-50%);
}
&-inner {
position: relative;
2021-05-21 22:33:55 -04:00
top: pxrem(2);
display: inline-block;
2021-05-21 22:33:55 -04:00
width: pxrem(12);
height: pxrem(14);
&-bar {
position: absolute;
left: 0px;
width: 100%;
2021-05-21 22:33:55 -04:00
height: pxrem(2);
background-color: $c-text;
&:nth-child(1) {
2021-05-21 22:33:55 -04:00
top: pxrem(2);
}
&:nth-child(2) {
top: 50%;
transform: translateY(-50%);
}
&:nth-child(3) {
2021-05-21 22:33:55 -04:00
bottom: pxrem(2);
}
}
}
}
.column {
display: inline-block;
.image-preview {
@include aspect-ratio(16, 9);
display: block;
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
@include media-breakpoint-down(md) {
width: pxrem(150);
max-width: 100%;
}
@include media-breakpoint-up(md) {
width: pxrem(43);
}
}
}
.spacer {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
display: block;
font-size: 0;
}
@include media-breakpoint-up(md) {
margin: 0px pxrem(5);
display: inline-block;
}
}
}
.button-column {
padding-right: 0px;
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
padding-bottom: pxrem(5);
padding-left: 0px;
text-align: center;
}
@include media-breakpoint-up(md) {
2021-05-21 22:33:55 -04:00
padding-left: pxrem(5);
flex-shrink: 0;
text-align: right;
}
.btn {
2021-05-21 22:33:55 -04:00
margin: pxrem(5) pxrem(3);
min-width: pxrem(70);
height: pxrem(26);
padding-top: pxrem(1);
padding-bottom: pxrem(2);
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
min-width: 33%;
}
}
}
}
&.filtered .list-group-item .title-column .sort-icon {
opacity: 0.5;
pointer-events: none;
}
}
}
form {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(10);
.form-title {
@include font-sans-semibold;
margin-top: 0px;
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
font-size: pxrem(14);
text-transform: uppercase;
}
&.edit-item {
2021-05-21 22:33:55 -04:00
$label-height: pxrem(35);
.CodeMirror {
2021-05-21 22:33:55 -04:00
height: pxrem(300);
padding: pxrem(5);
&-code {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(10);
}
}
.container-fluid {
@include media-breakpoint-down(sm) {
padding: 0px;
}
}
.list {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
padding-bottom: pxrem(15);
border-bottom: 1px solid fade-out($c-text, 0.9);
&-template, &-data {
display: none;
}
&-items-row {
position: relative;
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(10);
padding: pxrem(8) pxrem(8) pxrem(8) pxrem(33);
border-radius: pxrem(6);
background-color: darken($c-input-bg, 2%);
@include media-breakpoint-up(lg) {
display: flex;
padding: pxrem(5) pxrem(5) pxrem(5) pxrem(30);
align-items: center;
}
&:not(:last-child) {
@include media-breakpoint-down(lg) {
margin-bottom: pxrem(15);
}
}
.sort-icon {
position: absolute;
top: pxrem(11);
left: pxrem(10);
display: inline-block;
opacity: 1;
transition: opacity 100ms;
cursor: grab;
@include media-breakpoint-up(lg) {
top: pxrem(9);
}
&-inner {
position: relative;
2021-05-21 22:33:55 -04:00
top: pxrem(2);
display: inline-block;
2021-05-21 22:33:55 -04:00
width: pxrem(12);
height: pxrem(14);
&-bar {
position: absolute;
left: 0px;
width: 100%;
2021-05-21 22:33:55 -04:00
height: pxrem(2);
background-color: $c-text;
&:nth-child(1) {
2021-05-21 22:33:55 -04:00
top: pxrem(2);
}
&:nth-child(2) {
top: 50%;
transform: translateY(-50%);
}
&:nth-child(3) {
2021-05-21 22:33:55 -04:00
bottom: pxrem(2);
}
}
}
}
&-content, &-button {
@include media-breakpoint-down(lg) {
width: 100%;
}
&:not(:last-child) {
@include media-breakpoint-down(lg) {
margin-bottom: pxrem(10);
}
@include media-breakpoint-up(lg) {
margin-right: pxrem(5);
}
}
&:not(:first-child) {
@include media-breakpoint-up(lg) {
margin-left: pxrem(5);
}
}
}
&-content {
position: relative;
&.wide {
width: 100%;
}
&-inner {
$row-height: pxrem(36);
display: flex;
height: $row-height;
align-items: center;
.list-input {
margin-bottom: 0px;
height: auto;
}
.image-link {
margin-right: pxrem(10);
display: block;
width: pxrem(50);
height: $row-height;
background-color: $c-input-bg;
&:not(.active) {
display: none;
}
.image-preview {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
}
}
}
&-buttons {
@include media-breakpoint-up(lg) {
display: flex;
flex-grow: 1;
justify-content: flex-end;
}
&-delete {
min-width: pxrem(70);
height: $label-height;
border: 1px solid fade-out($c-text, 0.75);
border-radius: pxrem(4);
background-color: $c-dashboard-delete;
color: $c-text-light;
}
}
}
&-add-button {
height: $label-height;
border: 1px solid fade-out($c-text, 0.75);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(4);
@include media-breakpoint-down(lg) {
margin-top: pxrem(15);
width: 100%;
}
}
}
.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 {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
font-size: pxrem(16);
}
}
.picker__select--year, .picker__select--month {
width: auto;
height: 1.5em;
padding: 0px;
}
}
label {
min-height: $label-height;
line-height: $label-height;
@include media-breakpoint-up(md) {
margin-bottom: 0px;
}
}
.text-display, .mkd-editor-container, input:not([type="file"]), textarea, select, .upload-wrapper {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
}
input, textarea {
display: block;
width: 100%;
&:not([type="file"]) {
2021-05-21 22:33:55 -04:00
padding: pxrem(5) pxrem(8);
border: 1px solid darken($c-dashboard-light, 10%);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(2);
transition: border-color 150ms;
&.error {
border-color: $c-dashboard-error;
}
}
&.date-picker {
cursor: pointer;
}
}
.upload-wrapper {
display: flex;
height: $label-height;
align-items: center;
input {
overflow: hidden;
max-width: 100%;
2021-05-21 22:33:55 -04:00
font-size: pxrem(14);
}
.clear-upload {
position: relative;
transform: rotate(45deg);
width: pxrem(20);
height: pxrem(20);
padding: 0px;
border: 0;
background-color: transparent;
&:before, &:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
background-color: $c-dashboard-error;
}
&:before {
width: 2px;
height: 50%;
}
&:after {
width: 50%;
height: 2px;
}
}
}
textarea {
resize: none;
min-height: pxrem(175);
}
select {
max-width: 100%;
}
.current-image {
2021-05-21 22:33:55 -04:00
margin-bottom: pxrem(15);
display: block;
2021-05-21 22:33:55 -04:00
width: pxrem(125);
max-width: 100%;
}
.edit-button {
margin-bottom: $half-gutter-width;
display: inline-block;
2021-05-21 22:33:55 -04:00
padding: pxrem(5) pxrem(10);
border-radius: pxrem(5);
text-transform: uppercase;
text-decoration: none;
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%);
}
}
}
2021-05-21 22:33:55 -04:00
.back-button, .submit-button {
margin: pxrem(20) pxrem(15) pxrem(15) pxrem(15);
@include media-breakpoint-down(lg) {
margin-right: 0px;
margin-left: 0px;
display: block;
width: 100%;
}
&:first-child {
margin-left: 0px;
@include media-breakpoint-down(lg) {
margin-top: pxrem(20);
margin-bottom: pxrem(5);
}
}
&:last-child {
@include media-breakpoint-down(lg) {
margin-top: pxrem(10);
margin-bottom: pxrem(20);
}
@include media-breakpoint-down(sm) {
margin-bottom: 0px;
}
2021-05-21 22:33:55 -04:00
}
}
.submit-button {
transition: opacity 150ms;
&.no-input {
opacity: 0.65;
pointer-events: none;
}
}
}
}
.dashboard-settings-container {
@include media-breakpoint-up(lg) {
display: flex;
flex-direction: row;
}
form {
&.user-profile-image {
display: block;
width: 100%;
2021-05-21 22:33:55 -04:00
max-width: pxrem(150);
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
margin: $grid-gutter-width auto;
}
@include media-breakpoint-up(lg) {
flex-shrink: 0;
}
.image-display {
@include aspect-ratio(1, 1);
position: relative;
width: 100%;
border: 1px solid darken($c-dashboard-light, 10%);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(3);
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
}
.image-buttons {
2021-05-21 22:33:55 -04:00
margin-top: pxrem(20);
display: flex;
justify-content: space-around;
input {
display: none;
}
.image-upload-button, .image-delete-button {
display: block;
2021-05-21 22:33:55 -04:00
width: pxrem(40);
height: pxrem(40);
min-height: 0;
border: 1px solid darken($c-dashboard-light, 14%);
2021-05-21 22:33:55 -04:00
border-radius: pxrem(3);
background-color: darken($c-dashboard-light, 10%);
line-height: 1;
cursor: pointer;
&:hover {
background-color: darken($c-dashboard-light, 7%);
}
}
.image-upload-button {
2020-04-29 00:36:25 -04:00
display: flex;
justify-content: center;
align-items: center;
transition: background-color 150ms;
}
.image-delete-button {
opacity: 1;
transition: background-color 150ms, opacity 150ms;
&.inactive {
opacity: 0.35;
pointer-events: none;
}
}
}
}
&.user-profile-update {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
border-top: 1px solid darken($c-dashboard-light, 10%);
border-bottom: 1px solid darken($c-dashboard-light, 10%);
}
@include media-breakpoint-up(lg) {
margin-right: $grid-gutter-width;
margin-left: $grid-gutter-width;
width: 100%;
padding: 0px $grid-gutter-width;
flex-grow: 1;
border-right: 1px solid darken($c-dashboard-light, 10%);
border-left: 1px solid darken($c-dashboard-light, 10%);
}
}
&.user-password-update {
@include media-breakpoint-up(lg) {
2021-05-21 22:33:55 -04:00
width: pxrem(225);
flex-shrink: 0;
}
}
.form-title {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(lg) {
margin-top: pxrem(25);
margin-bottom: pxrem(20);
text-align: center;
}
}
.submit-button {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin-right: auto;
margin-left: auto;
width: 100%;
}
@include media-breakpoint-up(md) {
float: none;
margin: $half-gutter-width 0px;
}
}
}
}
#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: flex;
width: 100%;
height: 100%;
padding: $grid-gutter-width;
justify-content: center;
align-items: center;
background-color: fade-out(lighten($c-dashboard-light, 1%), 0.3);
opacity: 0;
transition: opacity 250ms;
.card {
position: relative;
margin: 0px;
width: 100%;
2021-05-21 22:33:55 -04:00
max-width: pxrem(500);
.btn {
2021-05-21 22:33:55 -04:00
margin: pxrem(20) pxrem(15);
display: inline-block;
&:not(:last-child) {
margin-bottom: 0px;
}
}
}
&.alert .card {
.message {
2021-05-21 22:33:55 -04:00
min-height: pxrem(50);
padding: pxrem(15) pxrem(20);
text-align: left;
@include media-breakpoint-up(md) {
2021-05-21 22:33:55 -04:00
padding-right: pxrem(85);
}
}
.btn {
2021-05-21 22:33:55 -04:00
@include media-breakpoint-down(md) {
margin-top: 0px;
}
@include media-breakpoint-up(md) {
position: absolute;
top: 50%;
right: 0px;
transform: translateY(-50%);
}
}
}
}