770 lines
14 KiB
CSS
770 lines
14 KiB
CSS
|
|
|
|
/* Base styles *
|
|
@import 'lib/reset.css';
|
|
@import 'lib/typography.css';
|
|
@import 'lib/variables.css';
|
|
@import 'lib/utils.css';
|
|
|
|
/* Layout styles *
|
|
@import 'layouts/header.css';
|
|
@import 'layouts/footer.css';
|
|
@import 'layouts/table-main.css';
|
|
|
|
/* Component styles *
|
|
@import 'components/button.css';
|
|
@import 'components/card.css';
|
|
@import 'components/dialog.css';
|
|
@import 'components/form.css';
|
|
@import 'components/modal.css';
|
|
@import 'components/navigation.css';
|
|
@import 'components/overlay.css';
|
|
|
|
/* Section styles *
|
|
@import 'sections/store.css';
|
|
*/
|
|
|
|
/* Page-specific styles *
|
|
@import 'pages/page_admin.css';
|
|
@import 'pages/page_contact.css';
|
|
@import 'pages/page_home.css';
|
|
@import 'pages/page_license.css';
|
|
@import 'pages/page_services.css';
|
|
@import 'pages/page_store_home.css';
|
|
@import 'pages/page_store_product_permutations.css';
|
|
@import 'pages/page_store_stock_items.css';
|
|
*/
|
|
|
|
/* Theme styles *
|
|
@import 'themes/light.css';
|
|
/* Uncomment the line below to enable dark theme */
|
|
/* @import 'themes/dark.css'; */
|
|
|
|
|
|
|
|
/* Custom styles */
|
|
/* Add any custom styles or overrides here */
|
|
|
|
body {
|
|
/* Example of using a CSS variable defined in variables.css */
|
|
background-color: var(--background-color);
|
|
color: var(--text-color);
|
|
font-family: var(--font-family-base);
|
|
}
|
|
|
|
/* You can add more global styles here */
|
|
|
|
|
|
:root {
|
|
/* Declare global variables */
|
|
--c_purple: #5B29FF;
|
|
--c_purple_pastel: #D1D1FF;
|
|
--c_purple_light: #C6BDFF;
|
|
--c_purple_dark: #4700B3;
|
|
--c_blue: #0044FF;
|
|
--c_blue_pastel: #B8E0FF;
|
|
--c_blue_light: #73E8FF;
|
|
--c_blue_dark: #003ADB;
|
|
}
|
|
|
|
*{
|
|
/*box-sizing: border-box; */
|
|
margin: 0;
|
|
}
|
|
|
|
script, link {
|
|
display: none !important;
|
|
}
|
|
|
|
html {
|
|
height: 100%;
|
|
}
|
|
|
|
body {
|
|
font-family: Arial;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: 0;
|
|
background: linear-gradient(to bottom right, var(--c_purple), #dc2430); /* var(--c_purple_pastel); */
|
|
height: 100vh;
|
|
max-height: 100%;
|
|
}
|
|
|
|
/*
|
|
h1, h2, h3, h4, h5, p, a, label {
|
|
display: flex;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
*/
|
|
|
|
h1 {
|
|
font-size: min(24px, calc(1vh * 6));
|
|
}
|
|
|
|
h2 {
|
|
font-size: min(20px, calc(1vh * 5));
|
|
}
|
|
|
|
h3 {
|
|
font-size: min(16px, calc(1vh * 4));
|
|
margin-top: 1vh;
|
|
}
|
|
|
|
h4 {
|
|
font-size: 13px;
|
|
margin: 1vh;
|
|
text-align: center;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
h5 {
|
|
font-size: 11px;
|
|
margin: 1vh;
|
|
}
|
|
|
|
/* Style the top navigation bar */
|
|
.topnav {
|
|
/* overflow: hidden; */
|
|
/* background-color: var(--c_purple); */
|
|
border-bottom-left-radius: 2.5vh;
|
|
border-bottom-right-radius: 2.5vh;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
flex: 1;
|
|
flex-direction: row;
|
|
font-weight: bold;
|
|
font-size: 1vh;
|
|
max-height: 15vh;
|
|
height: 15vh;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
/* Style the topnav links */
|
|
.topnav a, .topnav label, .topnav p, .topnav h1 {
|
|
float: left;
|
|
display: flex;
|
|
color: white;
|
|
text-align: center;
|
|
/* padding: 14px 16px; */
|
|
text-decoration: none;
|
|
width: 100%;
|
|
max-height: 15vh;
|
|
font-weight: normal;
|
|
/* font-size: 20px; */
|
|
justify-content: center;
|
|
}
|
|
/*
|
|
.topnav a {
|
|
padding: 3vh 2vw;
|
|
}
|
|
*/
|
|
|
|
/* Change color on hover */
|
|
.topnav a:hover {
|
|
background-color: var(--c_purple_light);
|
|
color: var(--c_purple_dark);
|
|
}
|
|
|
|
.topnav > .container {
|
|
max-width: 50%;
|
|
height: 100%;
|
|
align-items: center;
|
|
align-self: center;
|
|
/* align-content: center; */
|
|
/* width: fit-content; */
|
|
display: flex;
|
|
}
|
|
|
|
.topnav select {
|
|
padding: 1vh;
|
|
margin: 1vh;
|
|
border-radius: 1vh;
|
|
/* background-color: var(--c_purple_light); */
|
|
color: var(--c_purple_dark);
|
|
border: 2px solid white;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
}
|
|
.topnav select .collapsed {
|
|
width: 5vw;
|
|
}
|
|
.topnav select .expanded {
|
|
width: 25vw;
|
|
}
|
|
|
|
|
|
.company-name {
|
|
font-size: min(28px, calc(1vh * 7));
|
|
color: white;
|
|
}
|
|
@media screen and (max-width: 450px) {
|
|
.company-name {
|
|
font-size: min(24px, calc(1vh * 7));
|
|
}
|
|
}
|
|
|
|
|
|
#pageBody {
|
|
height: 69vh !important;
|
|
padding: 1vh;
|
|
padding-left: 1vw;
|
|
padding-right: 1vw;
|
|
margin: 1vh;
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
border: 0;
|
|
align-content: center;
|
|
justify-content: flex-start;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
position: absolute;
|
|
width: 98vw;
|
|
|
|
}
|
|
|
|
.page-body > * {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
width: 100%;
|
|
align-self: center;
|
|
font-size: min(16px, calc(1vh * 4));
|
|
}
|
|
#pageBody > * > * {
|
|
align-self: center;
|
|
padding-top: 0.5vh;
|
|
padding-bottom: 0.5vh;
|
|
color: var(--c_purple_dark);
|
|
}
|
|
#pageBody > .card {
|
|
height: fit-content;
|
|
margin-top: 1vh;
|
|
}
|
|
#pageBody > .card:first-of-type{
|
|
margin-top: 0vh;
|
|
top: 0;
|
|
}
|
|
#pageBody > .card:last-of-type {
|
|
/* margin-bottom: 1vh; */
|
|
}
|
|
/* Create two unequal columns that floats next to each other *
|
|
/* Left column *
|
|
.leftcolumn {
|
|
float: left;
|
|
width: 70%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
/* min-width: fit-content; *
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Right column *
|
|
.rightcolumn {
|
|
float: left;
|
|
width: 30%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
/* min-width: fit-content; only on store?? *
|
|
/* background-color: #f1f1f1; *
|
|
padding-left: 20px;
|
|
height: fit-content;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
*/
|
|
|
|
/* Fake image */
|
|
.fakeimg {
|
|
background-color: var(--c_purple_light);
|
|
width: 100%;
|
|
padding: 20px;
|
|
}
|
|
|
|
img, video {
|
|
border-radius: 3vh;
|
|
}
|
|
|
|
/* header image */
|
|
img.header-logo {
|
|
max-height: 15vh;
|
|
max-width: 20vw;
|
|
cursor: pointer;
|
|
border-radius: 5vh !important;
|
|
}
|
|
|
|
/* icon images */
|
|
.img-icon {
|
|
max-width: 16vh;
|
|
max-height: 8vh;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.container-icon-label {
|
|
padding: 0;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.container-icon-label > * {
|
|
display: inline-flex;
|
|
margin-left: 1vh;
|
|
margin-right: 1vh;
|
|
}
|
|
|
|
.header > .container:first-of-type {
|
|
max-width: 25%;
|
|
justify-self: left;
|
|
}
|
|
.header > .container:last-of-type {
|
|
max-width: 75%;
|
|
justify-self: left;
|
|
}
|
|
|
|
/* Add a card effect for articles */
|
|
.card {
|
|
background-color: var(--c_purple_pastel);
|
|
padding: 1vh;
|
|
margin: 1vh;
|
|
display: flex !important;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
border-radius: 4vh;
|
|
/* min-width: fit-content; */
|
|
position: relative;
|
|
height: fit-content;
|
|
max-width: 80vw;
|
|
padding-left: 2.5vw;
|
|
padding-right: 2.5vw;
|
|
}
|
|
|
|
.card.subcard {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.header.card {
|
|
border-radius: 2.5vh;
|
|
border-bottom-left-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
|
|
.container {
|
|
flex: 1;
|
|
margin: 0px;
|
|
align-items: flex-start;
|
|
justify-content: flex-start;
|
|
text-align: flex-start;
|
|
/* max-width: 100%; */
|
|
/* min-width: fit-content; */
|
|
}
|
|
|
|
.column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
margin: auto 0;
|
|
}
|
|
|
|
.row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: 100%;
|
|
/* min-width: fit-content; */
|
|
}
|
|
|
|
.container > .card:first-of-type {
|
|
margin-top: none;
|
|
}
|
|
|
|
|
|
/* Clear floats after the columns
|
|
.row:after {
|
|
content: "";
|
|
display: table;
|
|
clear: both;
|
|
}
|
|
*/
|
|
/* Footer */
|
|
.footer {
|
|
padding: 1vh;
|
|
padding-left: 1vw;
|
|
padding-right: 1vw;
|
|
text-align: center;
|
|
margin: 0;
|
|
height: 8vh !important;
|
|
overflow-y: auto;
|
|
background-color: var(--c_purple_pastel);
|
|
border-top-left-radius: 2.5vh;
|
|
border-top-right-radius: 2.5vh;
|
|
position: absolute;
|
|
/* top: 2.5vh; */
|
|
bottom: 0;
|
|
width: 98vw;
|
|
}
|
|
|
|
.footer > h4, h5 {
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
/*
|
|
/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other *
|
|
@media screen and (max-width: 800px) {
|
|
.leftcolumn, .rightcolumn {
|
|
width: 100%;
|
|
/* padding: 0; *
|
|
}
|
|
}
|
|
|
|
/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other *
|
|
@media screen and (max-width: 400px) {
|
|
.topnav a {
|
|
float: none;
|
|
width: 100%;
|
|
}
|
|
}
|
|
*/
|
|
|
|
/* input container
|
|
margin-top: 3vh;
|
|
*/
|
|
.container-input {
|
|
padding: 1vh;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
}
|
|
|
|
.container-input > label {
|
|
width: 100%;
|
|
margin-bottom: 1vh;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.container-input:not(:nth-child(3)) > label {
|
|
margin-top: 1vh;
|
|
}
|
|
|
|
.container-input > input, .container-input > textarea {
|
|
border: 2px solid var(--c_purple);
|
|
max-width: 66%;
|
|
min-width: 20%;
|
|
padding: 1vh;
|
|
}
|
|
|
|
.label-title {
|
|
width: 100%;
|
|
}
|
|
|
|
button, .button-submit, input[type="submit"] {
|
|
font-size: 20px;
|
|
font-weight: bold;
|
|
border: 4px solid;
|
|
border-radius: 2vh;
|
|
padding: 1vh 2vh 1vh 2vh;
|
|
margin: 0.5vh;
|
|
/*
|
|
background-color: var(--c_blue_pastel);
|
|
color: var(--c_blue_dark);
|
|
border-color: var(--c_blue_dark);
|
|
*/
|
|
background-color: var(--c_purple_pastel);
|
|
color: var(--c_purple_dark);
|
|
border-color: var(--c_purple_dark);
|
|
}
|
|
button.navContactUs {
|
|
border: 4px solid var(--c_purple_dark);
|
|
background-color: var(--c_purple_pastel);
|
|
color: var(--c_purple_dark) !important;
|
|
border-radius: 2vh;
|
|
width: 180px !important;
|
|
}
|
|
button:hover, input[type="submit"]:hover, #overlayHamburger .row *:hover {
|
|
text-decoration: underline;
|
|
}
|
|
#buttonHamburger:hover {
|
|
text-decoration: none;
|
|
}
|
|
|
|
|
|
/* Overlay modal */
|
|
.overlay {
|
|
/*
|
|
display: none;
|
|
*/
|
|
position: fixed;
|
|
top: 15vh;
|
|
right: 0;
|
|
width: 100px;
|
|
/* height: 50%; */
|
|
background: var(--c_purple_pastel);
|
|
justify-content: right;
|
|
align-items: right;
|
|
align-self: right;
|
|
z-index: 999;
|
|
}
|
|
.overlay.expanded {
|
|
display: block;
|
|
}
|
|
.collapsed {
|
|
display: none;
|
|
}
|
|
|
|
#overlayHamburger {
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
max-height: 80%;
|
|
}
|
|
.hamburger {
|
|
border: 2px solid var(--c_purple_dark);
|
|
border-radius: 4px;
|
|
}
|
|
.hamburger:first-child {
|
|
border-top-left-radius: 12px;
|
|
border-top-right-radius: 12px;
|
|
}
|
|
.hamburger:last-child {
|
|
border-bottom-left-radius: 12px;
|
|
border-bottom-right-radius: 12px;
|
|
}
|
|
|
|
.hamburger > * {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
width: 100%;
|
|
color: var(--c_purple_dark);
|
|
font-weight: bold;
|
|
font-size: 18px;
|
|
/* height: 18px; */
|
|
}
|
|
.hamburger > :hover {
|
|
background-color: var(--c_purple_light);
|
|
color: var(--c_purple_dark);
|
|
}
|
|
.hamburger > * > * {
|
|
width: 100%;
|
|
/*
|
|
margin-top: 4.5px;
|
|
margin-bottom: 4.5px;
|
|
*/
|
|
}
|
|
.hamburger > .container {
|
|
padding-top: 4.5px;
|
|
padding-bottom: 4.5px;
|
|
}
|
|
|
|
ul {
|
|
max-width: 90%;
|
|
padding: 5px 0 10px 0;
|
|
}
|
|
li {
|
|
text-align: left;
|
|
font-size: 18px;
|
|
}
|
|
|
|
|
|
:not(input,textarea,select).dirty {
|
|
background-color: var(--c_purple_dark);
|
|
}
|
|
input.dirty, textarea.dirty, select.dirty {
|
|
border-color: var(--c_purple_dark);
|
|
}
|
|
|
|
|
|
/* Tables */
|
|
#pageBody > *, button {
|
|
font-size: min(12px, calc(1vh * 3));
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#overlayConfirm {
|
|
position: absolute;
|
|
left: 25vw;
|
|
width: 50vw;
|
|
height: 50vh;
|
|
}
|
|
|
|
#formFilters .container {
|
|
max-width: fit-content;
|
|
}
|
|
|
|
thead, tbody {
|
|
padding-top: 0px !important;
|
|
padding-bottom: 0px !important;
|
|
}
|
|
|
|
th {
|
|
background-color: var(--c_purple_pastel);
|
|
}
|
|
td {
|
|
font-size: min(12px, calc(1vh * 3));
|
|
}
|
|
|
|
th, td {
|
|
min-width: fit-content;
|
|
}
|
|
tr:not(:last-child) > td {
|
|
border-bottom: 1px dashed var(--c_purple_dark);
|
|
}
|
|
td > table > tbody > tr > td {
|
|
border: none !important;
|
|
}
|
|
th.collapsed, td.collapsed {
|
|
display: table-cell !important;
|
|
}
|
|
td.dirty {
|
|
background-color: var(--c_purple_dark);
|
|
}
|
|
td:not(.dirty) {
|
|
/* color: var(--c_purple_dark); */
|
|
background-color: var(--c_purple_pastel);
|
|
}
|
|
|
|
tr {
|
|
min-height: 1px;
|
|
border-bottom: 1px solid var(--c_purple_dark);
|
|
border-top: 1px solid var(--c_purple_dark);
|
|
background-color: transparent;
|
|
}
|
|
|
|
/*
|
|
.row-new {
|
|
visibility: hidden;
|
|
}
|
|
*/
|
|
|
|
table textarea {
|
|
width: 95% !important;
|
|
}
|
|
|
|
table select {
|
|
width: 100% !important;
|
|
}
|
|
|
|
table input {
|
|
width: 90% !important;
|
|
}
|
|
|
|
table button {
|
|
margin: 0.25vh;
|
|
padding: 0.5vh 1vh;
|
|
}
|
|
|
|
tr.delete {
|
|
background-color: red;
|
|
}
|
|
|
|
|
|
button.collapsed {
|
|
display: block;
|
|
opacity: 0;
|
|
}
|
|
|
|
form.filter button.save, form.filter button.button-cancel {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
form.filter button.save, form.filter button.button-cancel {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
#formFilters .container-input.filter.active {
|
|
width: 8vh;
|
|
}
|
|
|
|
|
|
#tableMain {
|
|
overflow-x: auto;
|
|
padding: 1vh 2vh;
|
|
max-width: 95vw; /* min(calc(1vh * 80), calc(1vw * 90)); */
|
|
width: fit-content;
|
|
margin: 1vh 2vh;
|
|
align-items: normal;
|
|
justify-content: normal;
|
|
}
|
|
|
|
#tableMain thead tr th, #tableMain tbody tr td {
|
|
width: 20vh;
|
|
min-width: 20vh;
|
|
padding: 0 0.5vh;
|
|
}
|
|
#tableMain thead tr th.active, #tableMain tbody tr td.active {
|
|
width: 6vh;
|
|
min-width: 6vh;
|
|
}
|
|
#tableMain tbody tr td.display_order, #tableMain thead tr th.display_order {
|
|
width: 5vh;
|
|
min-width: 5vh;
|
|
}
|
|
|
|
|
|
|
|
|
|
:root {
|
|
--background-color: #ffffff;
|
|
--text-color: #333333;
|
|
--primary-color: #007bff;
|
|
--secondary-color: #6c757d;
|
|
--success-color: #28a745;
|
|
--danger-color: #dc3545;
|
|
--warning-color: #ffc107;
|
|
--info-color: #17a2b8;
|
|
--light-color: #f8f9fa;
|
|
--dark-color: #343a40;
|
|
--border-color: #dee2e6;
|
|
--shadow-color: rgba(0, 0, 0, 0.1);
|
|
|
|
/* Header */
|
|
--header-bg: #f8f9fa;
|
|
--header-text: #333333;
|
|
|
|
/* Footer */
|
|
--footer-bg: #f8f9fa;
|
|
--footer-text: #6c757d;
|
|
|
|
/* Navigation */
|
|
--nav-bg: #ffffff;
|
|
--nav-text: #333333;
|
|
--nav-hover-bg: #f1f3f5;
|
|
--nav-hover-text: #007bff;
|
|
|
|
/* Buttons */
|
|
--Button-primary-bg: #007bff;
|
|
--Button-primary-text: #ffffff;
|
|
--Button-secondary-bg: #6c757d;
|
|
--Button-secondary-text: #ffffff;
|
|
|
|
/* Forms */
|
|
--input-bg: #ffffff;
|
|
--input-border: #ced4da;
|
|
--input-text: #495057;
|
|
--input-focus-border: #80bdff;
|
|
|
|
/* Cards */
|
|
--card-bg: #ffffff;
|
|
--card-border: #dee2e6;
|
|
--card-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
|
|
}
|