// Zen custom styles // Page body { background-color: var(--color-backdrop); } .page { background-color: var(--color-body-bg); } .footer { border-top: 2px solid var(--color-brand); } // Apply smaller text to blocks, footer etc. th, label, legend, figcaption { font-size: var(--fs-s); } .language-selector, .footer { font-size: var(--fs-xs); } // Apply heading font stack and colour to labels etc. th, nav, label, legend, .header, .footer { color: var(--color-headings); font-family: var(--ff-headings); } th, label { font-weight: var(--fw-headings); } // Article and content. article > .content, aside { ul { @extend %ul-straight-left; } ol { @extend %ol-straight-left; } } article { .submitted, .tags { @include respond-to(s) { display: inline-block; padding-right: 1rem; } } code { font-size: var(--fs-xs); overflow-wrap: break-word; } pre { border-radius: var(--radius-xs); padding: 5px; border: 1px solid var(--color-border-light); background-color: var(--color-text-bg); overflow: auto; max-height: 300px; max-width: 90vw; &.chroma { max-height: initial; overflow-x: scroll; } & > code { display: inline-block; white-space: pre; } } } .content-dates { text-align: right; } // Figure and image. figure, img { &.image { @include respond-to(s) { &.center { margin-inline: auto; } &.left { padding: 0 .75rem .75rem 0; margin: 0; float: left; clear: both; } &.right { padding: 0 0 .75rem .75rem; margin: 0; float: right; clear: both; } } } } figure { &.image { figcaption { @include respond-to(s) { display: table-caption; caption-side: bottom; } p { margin: 0; } } @include respond-to(s) { display: table; img { display: block; } &.left { figcaption { padding: 0 .75rem .75rem 0; } } &.right { figcaption { padding: 0 0 .75rem .75rem; } } } } &.podcast { audio { width: 95%; } } } // Navigation .main-menu { margin-top: .75rem; outline: 0; li { margin-bottom: .75rem; padding: 0; } a { display: block; background-color: var(--color-brand); color: var(--color-text-bg); padding: 2px 8px; text-decoration: none; &:hover, &:focus { background-color: var(--color-brand-dark); } &:active, &.active { background-color: var(--color-brand); text-decoration: underline; } } } .menu a.active { text-decoration: none; } // Search .search-input { // Add vertical rhythm margins. @include margin-block(1); } .search-text { font-size: var(--fs-l); max-width: 80%; } // Form .content { input, textarea { &:not(:placeholder-shown):valid { background-color: var(--color-status-bg); } &:not(:placeholder-shown):invalid { background-color: var(--color-error-bg); } } } .js-submitted { input, textarea { &:valid { background-color: var(--color-status-bg); } &:invalid { background-color: var(--color-error-bg); } } }