// Zen custom styles // Page body { background-color: var(--color-backdrop); } .page { background-color: var(--color-body-bg); } .header { padding-top: $zen-gutters; } .footer { @include margin-top(1.5); @include padding(.5 0); text-align: center; border-top: 2px solid var(--color-brand); p { margin: 0; } } // Apply smaller text to blocks, footer etc. th, label, legend, figcaption { @include font-size(s); } .language-selector, article > header, .content-dates, .footer { @include font-size(xs); } // Apply heading font stack to heading, labels etc. h1, h2, h3, th, nav, label, legend, article > header, .content-dates, .header, .footer { @include typeface(headings); color: var(--color-headings); font-weight: normal; } article > .content, aside { ul { @extend %ul-straight-left; } ol { @extend %ol-straight-left; } } article { & > header { color: var(--color-text-meta); } .submitted { margin-bottom: .5rem; } .submitted, .tags { @include respond-to(l) { display: inline-block; padding-right: 1rem; } } .tags { ul { display: inline-flex; flex-wrap: wrap; margin: 0; padding: 0; } li { @include padding-right(.2); list-style-type: none; } } .content-dates { color: var(--color-text-meta); text-align: right; } code { @include font-size(xs); overflow-wrap: break-word; } pre { color: var(--color-code); border-radius: $s-radius; padding: 5px; border: 1px solid var(--color-border); 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; } } .js-clipboard-button { display: block; } } .title-submitted { margin-bottom: .2rem; } figure, img { &.image { @include respond-to(s) { &.center { margin-left: auto; margin-right: auto; } &.left { @include padding(0 .5 .5 0); margin: 0; float: left; clear: both; } &.right { @include padding(0 0 .5 .5); margin: 0; float: right; clear: both; } } } } figure { &.image { figcaption { @include respond-to(s) { display: table-caption; caption-side: bottom; } h4, p { margin: 0; } } @include respond-to(s) { display: table; img { display: block; } &.left { figcaption { @include padding(0 .5 .5 0); } } &.right { figcaption { @include padding(0 0 .5 .5); } } } } &.podcast { audio { width: 95%; } } } // Navigation .main-menu { @include margin-top(.5); outline: 0; li { @include margin-bottom(.5); 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 { @include margin(1 0); } .search-text { @include font-size(l); max-width: 80%; } // Form .content { input, textarea { @include margin-bottom(.75); width: 92%; &:required + span::after { content: ' *'; color: var(--color-mark-highlight); vertical-align: top; } &: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); } } } // Icons. .icon { // Reset set SVG to block but icons are normally inline. display: inline; } // Header anchor links .anchor-link { opacity: 0; transition: all 130ms ease-in; } .anchor-header { &:focus, &:hover { .anchor-link { opacity: .3; &:focus, &:hover { opacity: 1; } } } }