You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wanijo/resources/public/css/style.css

416 lines
7.6 KiB
CSS

:root {
--cli-highlight: Highlight;
--error-color: #e00;
--warn-color: #eebc00;
--accent-color: #efefef;
--body-background-color: #fcfcfc;
--background-color: #eee;
--ci-color: #aaa;
--border-stack: 1px solid @ci-color;
--text-padding-v: .2rem;
--text-padding-h: 1rem;
--accent-border-width: .3rem;
--accent-border: var(--accent-border-width) solid var(--ci-color);
--element-margin: .6rem;
}
body {
font-family: sans-serif;
margin: 0;
padding: 0;
background-color: var(--body-background-color);
}
a:link,
a:visited {
color: #115577;
text-decoration: none;
}
a:hover,
a:active {
text-decoration: underline;
}
em {
font-weight: bold;
}
img, svg {
max-width: 100%;
height: auto;
}
.thin-border {
border: var(--border-stack);
}
.__icon {
color: var(--ci-highlight);
font-weight: bold;
}
.grid {
display: grid;
grid-template-columns: 20rem auto;
grid-template-areas: "header header" "nav main" "footer footer";
margin: auto;
h1 {
font-size: 1.5rem;
small {
font-weight: normal;
font-size: 1.5rem;
}
}
h2 {
font-size: 1.3rem;
border-bottom: 1px solid var(--ci-highlight);
}
.attr-type-markdown {
border: 1px solid var(--ci-color);
border-radius: .5rem;
padding: 1rem;
h1 {
font-size: 1.4rem;
margin-top: 0;
}
h2 {
font-size: 1.2rem;
border: none;
}
h3 {
font-size: 1.1rem;
}
blockquote, pre {
padding: .5rem;
background-color: Window;
border-radius: .4rem;
border: 1px solid transparent;
margin-left: 1rem;
margin-right: 1rem;
}
}
header, footer, main, nav, aside {
padding: var(--text-padding-v) var(--text-padding-h);
}
header {
grid-area: header;
display: grid;
grid-template-columns: 40% 60%;
align-items: center;
margin: 0 var(--element-margin);
background-image: url("/img/logo-full-flipped.svg");
background-size: contain;
background-position: right;
background-origin: content-box;
background-repeat: no-repeat;
border-bottom: 1px solid var(--ci-color);
.app-title {
grid-column: 1;
font-size: 1.5rem;
.app-title__hello {
font-size: 1rem;
margin-left: var(--text-padding-h);
font-weight: normal;
font-style: italic;
}
}
.header-content {
grid-column: 2;
.header-content__link {
display: inline-block;
margin-right: var(--accent-border-width);
}
}
}
nav {
grid-area: nav;
padding-right: var(--element-margin);
border-right: 1px solid var(--ci-color);
margin-top: var(--element-margin);
margin-left: var(--element-margin);
h2::before {
content: "▤ ";
color: var(--ci-highlight);
}
h2 {
margin-left: -1rem;
padding-left: 1rem;
}
ul {
list-style-type: none;
padding-left: 1.8rem;
}
}
main {
grid-area: main;
border: none;
.schema-title__name {
font-weight: normal;
}
.schema-attributes {
list-style-type: none;
padding: 0;
li {
margin-bottom: 3rem;
}
}
svg {
.node {
text:nth-of-type(2) {
font-style: italic;
font-size: .8rem;
}
}
}
.quick-edits {
margin-top: 7rem;
}
}
aside {
grid-area: sidebar;
}
footer {
grid-area: footer;
}
}
form, .sub-form {
display: grid;
grid-template-columns: 30% 70%;
grid-auto-flow: row;
fieldset {
display: grid;
grid-column: 1 e("/") 3;
grid-template-columns: 30% 70%;
grid-auto-flow: row;
margin-bottom: var(--text-padding-h);
}
label, input, select, textarea, .flash {
margin-bottom: .7rem;
padding: var(--text-padding-v) calc(var(--text-padding-h) / 2);
}
textarea {
height: 10rem;
}
label {
grid-column: 1;
}
input, select {
grid-column: 2;
h1 & {
padding: 0;
}
}
.delete-btn.__on-countdown {
font-weight: bold;
}
}
.flash {
grid-column: 1 e("/") 3;
.thin-border;
border-left-width: var(--accent-border-width);
padding: .7rem;
.flash__field {
font-style: italic;
}
.flash__pred {
font-family: monospace;
}
}
.flash--error {
.flash;
border-color: var(--error-color);
.flash__heading--error {
background-color: var(--error-color);
color: white;
margin: -.7rem -.7rem 0;
}
}
.flash--warn {
.flash;
border-color: var(--warn-color);
.flash__heading--error {
background-color: var(--warn-color);
color: white;
margin: -.7rem -.7rem 0;
}
}
form.inline {
display: inline-grid;
input {
grid-column: 1 / span 2;
}
}
form.no-grid {
display: block;
}
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
margin-top: 1rem;
margin-bottom: 1rem;
.tags-for-search {
display: none;
}
thead {
position: sticky;
top: 0;
background-color: var(--body-background-color);
th {
padding:
var(--text-padding-v)
var(--text-padding-h)
calc(var(--text-padding-v) + .3rem)
var(--text-padding-v);
}
th[data-sort=desc]::after {
content: "⇩";
display: inline;
}
th[data-sort=asc]::after {
content: "⇧";
display: inline;
}
}
tbody {
td {
border-bottom: var(--border-stack);
padding:
calc(var(--text-padding-v) * 2)
calc(var(--text-padding-h) / 2h);
}
input[type=submit] {
margin-bottom: 0;
}
tr:hover {
background-color: var(--accent-color);
}
}
}
.tbl-toolbar {
display: flex;
margin-top: 2rem;
.row-info {
flex-grow: 99;
.rows::before {
content: " (";
}
.rows::after {
content: " rows)";
}
}
.prev::before {
content: "<< ";
}
.next::after {
content: " >>";
}
button, input {
margin-right: var(--element-margin);
margin-bottom: 0;
}
}
.tag-list {
margin: 0;
padding: 0;
list-style-type: none;
li {
margin-right: .5rem;
display: inline-block;
}
}
.single-tag {
border: 1px solid var(--ci-color);
border-left: .5rem solid var(--ci-highlight);
border-radius: .5rem;
padding: .1rem .4rem;
}
.vis-canvas {
border: 1px solid var(--ci-highlight);
height: 45rem;
}
@media (max-width: 768px) {
.grid {
grid-template-columns: auto;
grid-template-areas: "header" "nav" "main" "footer";
header {
grid-template-columns: auto;
.header-content {
grid-column: 1;
text-align: center;
}
}
}
}