Files
step-ca-webui/front/static/styles.css
2024-09-27 02:25:07 +05:00

338 lines
6.9 KiB
CSS

/* CSS Reset */
*, *::before, *::after {
box-sizing: border-box; /* Include padding and border in element's total width and height */
margin: 0;
padding: 0;
}
/*:root {*/
[data-theme='dark'] {
--color-red: #cc0000;
--color-bg: white;
--color-bg-overlay: rgba(0, 0, 0, 0.4);
--color-bg-textfield: #f2f2f2;
--color-border: #ddd;
--color-shadow: #aaa;
--color-focus: #930d17;
--color-text-contrast: white;
--color-text-main: black;
--color-table-header: #f2f2f2;
--modal-bg: #fefefe;
}
/*[data-theme='dark'] {*/
:root {
--color-red: #ff4444;
--color-bg: #2f2f2f;
--color-bg-overlay: rgba(255, 255, 255, 0.1);
--color-bg-textfield: #1a1a1a;
--color-border: #757575;
--color-shadow: #777;
--color-focus: #ffa6a6;
--color-text-contrast: white;
--color-text-main: white;
--color-table-header: #444444;
--modal-bg: #3e3e3e;
/* Shared */
--color-a-default: #137bfc;
--color-a-visited: #a44fff;
}
body, html {
margin: 0;
padding: 0;
height: 100%;
font-size: 16px;
line-height: 1.5;
font-family: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
background-color: var(--color-bg);
color: var(--color-text-main);
}
body {
display: flex;
flex-direction: column;
}
/* Topbar */
.topbar {
background-color: var(--color-red);
color: var(--color-text-contrast);
padding: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}
.topbar-logo {
font-weight: bold;
font-size: 18px;
}
@media screen and (max-width: 450px) {
.topbar-nav-container {
display: flex;
align-items: stretch;
flex-direction: column;
gap: 4px;
list-style-type: none;
}
}
.topbar-nav-button {
background-color: var(--color-red);
color: var(--color-text-contrast);
border: none;
padding: 5px 10px;
margin-left: 10px;
cursor: pointer;
text-decoration: none;
display: inline-block;
}
.topbar-nav-container li {
display: inline-block;
}
/* Main */
.main-container {
max-width: 1000px;
width: calc(100% - 40px); /* Ensures horizontal margins 20px */
margin-block: 20px; /* Vertical margins */
background-color: var(--color-bg);
border: 2px solid var(--color-red);
padding: 20px;
display: flex;
flex-direction: column;
flex: 1; /* Grow and take up available space in parent */
overflow: hidden; /* Clips not fitting content */
align-self: center; /* Center horizontally */
}
@media screen and (max-width: 450px) {
.main-container {
width: calc(100% - 10px); /* Ensures horizontal margins 5px */
margin-block: 5px;
}
}
.main-header {
color: var(--color-red);
margin-top: 0;
}
.main-container-content {
width: 100%;
margin-top: 20px;
flex: 1; /* Grow and take up available space in parent (main-container) */
overflow-y: auto; /* Enable vertical scrolling if content not fits */
padding: 10px;
display: flex;
flex-direction: column;
gap: 10px;
}
.main-bottom-button {
background-color: var(--color-red);
color: var(--color-text-contrast);
border: none;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
display: block;
width: 100%;
}
/* Base tags */
th, td {
border: 1px solid var(--color-border);
padding: 8px;
text-align: left;
}
th {
background-color: var(--color-table-header);
}
table {
width: 100%;
}
input {
background-color: var(--color-bg-textfield);
border: 1px solid var(--color-border);
padding: 5px;
color: var(--color-text-main);
}
select {
padding: 5px;
background-color: var(--color-bg);
border: 1px solid var(--color-border);
color: var(--color-text-main);
}
a {
color: var(--color-a-default);
}
a:visited {
color: var(--color-a-visited);
}
h1, h2, h3, h4, h5, h6 {
line-height: 1.2;
margin-bottom: 0.5em;
}
p {
margin-bottom: 1em;
}
/* Certs */
.certs-actions-td {
display: flex;
gap: 5px;
}
@media screen and (max-width: 450px) {
/* Stack buttons vertically */
.certs-actions-td {
flex-direction: column;
align-items: stretch;
}
}
@media screen and (min-width: 451px) and (max-width: 600px) {
.certs-actions-td { /* Needs to be duplicated */
flex-direction: column;
align-items: center;
}
.certs-actions-td button {
width: 70%;
}
}
/* Logs */
.logs-filters-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 10px;
width: 80%;
}
.logs-filters-item {
display: flex;
gap: 5px;
flex-direction: row;
align-items: center;
}
.logs-filters-fieldset {
display: flex;
align-items: center; /* Centers legend vertically in fieldset */
padding-block: 5px;
padding-left: 30px;
margin-left: 50px;
position: relative;
}
.logs-filters-legend {
position: absolute;
left: -40px;
background-color: var(--color-bg);
}
/* Modal */
.modal { /* Lays 100% over the whole page */
display: none; /* Initially hidden */
position: fixed; /* Stay in place relive to the browser window */
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto; /* Scroll if needed */
background-color: var(--color-bg-overlay); /* slightly shaded background */
}
.modal-content {
background-color: var(--modal-bg);
margin-inline: auto; /* Horizontally */
margin-block: 15%; /* Vertically */
padding: 20px;
border: 1px solid var(--color-border);
width: 80%;
max-width: 600px;
display: flex;
flex-direction: column;
gap: 10px;
}
.modal-close {
color: var(--color-shadow);
float: right; /* Positioned at the right relative to the modal-content */
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
.modal-cert-form {
display: flex;
flex-direction: column;
gap: 5px;
}
.modal button {
background-color: var(--color-red);
color: var(--color-text-contrast);
border: none;
padding-inline: 20px; /* Horizontal */
padding-block: 10px; /* Vertical */
cursor: pointer;
}
.modal pre {
display: none;
background-color: var(--color-bg-textfield);
padding: 10px;
border: 1px solid var(--color-border);
overflow-x: auto; /* Horizontal scrolling if needed */
font-size: 14px;
}
.modal-logs {
background-color: var(--color-bg-textfield);
border: 1px solid var(--color-border);
padding: 10px;
min-height: 200px;
overflow-y: auto;
font-family: monospace;
font-size: 14px;
}
.modal-logs h3 {
margin-top: 0;
}
/* Generic */
.small-button {
background-color: var(--color-red);
color: var(--color-text-contrast);
border: none;
padding: 5px 10px;
margin-right: 5px;
cursor: pointer;
}