html, body {
width: 100%;
min-height: 100vh;
}
body {
display: grid;
grid-template-columns: auto 1fr;
grid-template-rows: 1fr;
justify-items: stretch;
align-items: stretch;
position: relative;
nav.big {
background: #2c2c38;
padding: 0.5rem 1rem 1rem;
max-width: 15rem;
display: flex;
flex-direction: column;
header {
margin: 0 0 1rem;
display: flex;
flex-direction: column;
align-items: stretch;
border-bottom: 2px solid #888888;
h1 {
font-size: 1.5rem;
font-weight: 700;
font-family: $font-sansserif;
margin-bottom: 0;
text-align: left;
color: #eeeeee;
a {
color: #eeeeee;
text-decoration: none;
&:hover {
color: #cf5ccd;
}
}
}
h2 {
font-size: 1rem;
font-weight: 600;
font-family: $font-sansserif;
margin-bottom: 0;
text-align: right;
color: #eeeeee;
}
}
ol {
margin: 0 2rem;
padding: 0;
li {
width: 100%;
font-size: 1.25rem;
font-family: $font-sansserif;
color: #eeeeee;
a {
text-decoration: none;
margin: 0 0 0.25rem 0;
color: #5babd1;
&:hover {
color: #cf5ccd;
}
&.current {
color: #cf5ccd;
&:hover {
color: #fefefe;
}
}
}
ol {
margin: 0 0 0 1rem;
}
}
}
}
nav.small {
display: none;
width: 100%;
align-items: center;
justify-content: space-between;
background: #2c2c38;
padding: 0;
position: fixed;
top: 0;
left: 0;
right: 0;
>* {
margin: 0.5rem;
}
a {
text-decoration: none;
font-family: $font-sansserif;
color: #5babd1;
&:hover {
color: #cf5ccd;
}
}
span {
display: inline-flex;
align-items: center;
>* {
margin-right: 0.5rem;
&:last-child {
margin-right: 0;
}
}
}
span.title {
text-decoration: none;
font-family: $font-sansserif;
color: #fefefe;
justify-self: center;
}
span.placeholder {
width: 1em;
height: 1em;
}
}
>* {
min-width: 0;
min-height: 0;
}
article {
max-width: 38rem;
padding: 0.5rem 2rem 0 2rem;
>* {
max-width: 100%;
}
}
.next-chapter {
width: 100%;
a {
display: flex;
align-items: center;
justify-content: flex-end;
margin-right: 0.5rem;
font-size: 1.2rem;
text-decoration: none;
font-family: $font-sansserif;
color: #5babd1;
&:hover {
color: #cf5ccd;
}
span:first-child {
margin-right: 0.5rem;
}
}
}
footer {
width: 100%;
text-align: right;
display: flex;
flex-direction: column;
align-items: flex-end;
justify-content: flex-end;
}
}
@media screen and (max-width: 768px) {
body {
grid-template-columns: 1fr;
grid-template-rows: auto 1fr;
nav.big {
display: none;
}
nav.small {
display: flex;
}
article {
margin-top: 2rem;
padding: 1rem 0.5rem 0 0.5rem;
}
}
}