elf-notes/sass/index.scss

249 lines
5.3 KiB
SCSS

@import "design/_normalize";
@import "design/_scales";
@import "design/_typography";
@import "design/fonts/_nunito";
@import "design/fonts/_sauna_mono";
:root {
--default-font-size: var(--step-0);
--background-color: #ffffff;
--border-color: #e9ecef;
--text-color: #1f000d;
--header-size: calc(1.5 * var(--step-0) + 2 * var(--space-3xs));
}
:root {
font-size: var(--default-font-size);
font-family: "Nunito", sans-serif;
}
.toggle-dark {
display: none;
}
html {
height: 100%;
}
body {
height: 100%;
padding-top: var(--header-size);
font-size: var(--default-font-size);
font-family: "Nunito", sans-serif;
font-weight: 400;
}
@mixin fixed-top {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
}
.container {
max-width: 1044px;
width: 100%;
padding: 0 var(--space-xs) 0 var(--space-xs);
margin-right: auto;
margin-left: auto;
}
.hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
margin-left: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.navbar {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
padding-top: 0;
max-height: var(--header-size);
padding-bottom: calc(0.5 * var(--space-3xs));
background-color: var(--background-color);
opacity: 0.95;
border-bottom: 1px solid var(--border-color);
@include fixed-top();
.container {
display: flex;
flex-wrap: inherit;
align-items: center;
justify-content: space-between;
}
.btn {
cursor: pointer;
display: inline-block;
font-weight: 400;
line-height: 1.5;
color: #1d2d35;
text-align: cent er;
vertical-align: middle;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
font-size: 1rem;
border-radius: 0.25rem;
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
&:focus {
box-shadow: none;
}
}
.brand {
font-size: var(--step-1);
margin-right: var(--space-s);
font-weight: 700;
color: var(--text-color);
text-decoration: none;
&:visited,
&:hover {
color: var(--text-color);
text-decoration: none;
}
}
form {
font-size: var(--step-0);
flex-grow: 1;
margin-left: var(--space-2xl);
margin-right: var(--space-s);
input {
appearance: none;
background-clip: padding-box;
background: #f8f9fa;
border-radius: 0.25rem;
border: 0;
color: #1d2d35;
line-height: 1.5;
padding: var(--space-3xs) var(--space-l) var(--space-3xs) var(--space-3xs);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
width: 100%;
}
}
.navbar-nav {
font-size: var(--step-1);
align-items: center;
display: flex;
list-style: none;
gap: var(--space-xs);
margin-bottom: 0;
& > * {
line-height: 1.5;
vertical-align: middle;
}
}
}
@mixin toc-sticky {
max-width: 100%;
height: calc(100vh - var(--header-size));
position: sticky;
z-index: 900;
overflow-y: scroll;
scrollbar-width: thin;
scrollbar-color: #fff #fff;
&:hover {
scrollbar-color: var(--border-color) #fff;
}
.scrollable-sidebar {
scrollbar-width: thin;
display: block;
width: auto;
padding-bottom: 4rem;
ul {
padding-left: 0;
padding-bottom: var(--step--1);
list-style: none;
ul {
padding-left: var(--space-s);
list-style: disc;
}
}
}
}
.main {
height: 100%;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
& > * {
padding-top: var(--space-m);
}
.left-sidebar {
@include toc-sticky();
font-size: 95%;
order: 0;
flex: 0 1 auto;
width: 25%;
padding-right: var(--space-s);
border-right: 1px solid var(--border-color);
}
.docs-toc {
@include toc-sticky();
font-size: 85%;
order: 2;
flex: 0 0 auto;
width: 18.75%;
border-left: 1px solid var(--border-color);
padding-left: var(--space-s);
nav > ul {
& > li:not(:first-child) {
margin-top: var(--space-3xs);
border-top: 1px dashed #e9ecef;
}
& > li:not(:first-child) {
padding-top: var(--space-3xs);
}
ul {
padding-bottom: 0;
}
}
}
article {
order: 1;
padding: var(--space-m) var(--space-s) var(--space-m-l) var(--space-s);
flex: 0 0 auto;
width: 56.25%;
dd {
padding-left: var(--space-s);
}
ul {
padding-left: var(--step-0);
}
pre {
padding: var(--space-2xs);
}
}
}