@ci-blue: Highlight; @error-color: #e00; @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: @accent-border-width solid @ci-color; @element-margin: .6rem; body { font-family: sans-serif; margin: 0 3%; padding: 0; background-color: @body-background-color; } a:link, a:visited { color: #115577; text-decoration: none; } a:hover, a:active { text-decoration: underline; } h1 { font-size: 1.5rem; small { font-weight: normal; font-size: 1.5rem; } } h2 { font-size: 1.3rem; border-bottom: 1px solid @ci-blue; } em { font-weight: bold; } img, svg { max-width: 100%; height: auto; } .thin-border { border: @border-stack; } .accent-border-element { border-left: @accent-border; margin: @element-margin; padding: 1rem; } .__icon { color: @ci-blue; font-weight: bold; } .grid { display: grid; grid-template-columns: 20rem auto; grid-template-areas: "header header" "nav main" "footer footer"; margin: auto; header { grid-area: header; display: grid; grid-template-columns: 40% 60%; align-items: center; .accent-border-element; border-bottom: 1px solid @ci-color; margin-top: 0; .app-title { grid-column: 1; font-size: 1.5rem; } .app-title__hello { font-size: 1rem; margin-left: @text-padding-h; font-weight: normal; font-style: italic; } .header-content { grid-column: 2; } .header-content__link { display: inline-block; margin-right: @accent-border-width; } } nav { grid-area: nav; .accent-border-element; h2::before { content: "▤ "; color: @ci-blue; } h2 { margin-left: -1rem; padding-left: 1rem; } ul { list-style-type: none; padding-left: 1.8rem; } } main { grid-area: main; .accent-border-element; 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; } } } } aside { grid-area: sidebar; .accent-border-element; } footer { grid-area: footer; .accent-border-element; border-top: 1px solid @ci-color; } header, footer, main, nav, aside { padding: @text-padding-v @text-padding-h; } } form { display: grid; grid-template-columns: 30% 70%; grid-auto-flow: row; label, input, select, textarea, .flash { margin-bottom: .7rem; padding: @text-padding-v @text-padding-h / 2; } textarea { height: 10rem; } label { grid-column: 1; } input, select { grid-column: 2; } .flash--error { .flash; border-color: @error-color; .flash__heading--error { margin: 0; background-color: @error-color; color: white; margin-top: -.7rem; margin-left: -.7rem; margin-right: -.7rem; } } .flash { grid-column: 1 e("/") 3; .thin-border; border-left-width: @accent-border-width; padding: .7rem; .flash__field { font-style: italic; } .flash__pred { font-family: monospace; } } .delete-btn.__on-countdown { font-weight: bold; } } form.inline { display: inline-grid; input { grid-column: 1 / span 2; } } table { width: 100%; border-collapse: collapse; border-spacing: 0; margin-top: 1rem; margin-bottom: 1rem; thead { position: sticky; top: 0; background-color: @body-background-color; th { padding: @text-padding-v @text-padding-h @text-padding-v + .3rem @text-padding-v; } } tbody { td { border-bottom: @border-stack; padding: @text-padding-v * 2 @text-padding-h / 2h; } input[type=submit] { margin-bottom: 0; } tr:hover { background-color: @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: @element-margin; } }