hackertours-theme/assets/sass/_zen.scss

243 lines
3.5 KiB
SCSS

// Zen custom styles
// Page
body {
background-color: var(--color-backdrop);
}
.page {
background-color: var(--color-body-bg);
}
.footer {
border-top: 2px solid var(--color-border);
}
// 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-inline-end: 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: end;
}
// Figure and image.
figure,
img {
&.image {
--padding: .75rem;
@include respond-to(s) {
&.center {
margin-inline: auto;
}
&.left {
padding-inline-end: var(--padding);
padding-block-end: var(--padding);
margin: 0;
float: left;
clear: both;
}
&.right {
padding-inline-start: var(--padding);
padding-block-end: var(--padding);
margin: 0;
float: right;
clear: both;
}
}
}
}
figure {
&.image {
--padding: .75rem;
figcaption {
padding-block-start: var(--padding);
@include respond-to(s) {
display: table-caption;
caption-side: bottom;
padding-block-start: 0;
}
p {
margin: 0;
}
}
@include respond-to(s) {
display: table;
&.left {
figcaption {
padding-inline-end: var(--padding);
padding-block-end: var(--padding);
}
}
&.right {
figcaption {
padding-inline-start: var(--padding);
padding-block-end: var(--padding);
}
}
}
}
&.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,
&[aria-current] {
background-color: var(--color-brand);
text-decoration: underline;
}
}
}
// Search
.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);
}
}
button {
@extend %button--shadow;
}
}
.js-submitted {
input,
textarea {
&:valid {
background-color: var(--color-status-bg);
}
&:invalid {
background-color: var(--color-error-bg);
}
}
}