314 lines
11 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@charset "UTF-8";
/* tame reveal.js */
section {
min-height: 100vh;
width: 100vw;
padding: 0 !important; }
* {
line-height: inherit; }
/* config */
:root {
--secondary: #c8ceda;
--margin: 0.1; }
/* basic layout */
:root {
--square: 100vw; }
@media screen and (min-aspect-ratio: 1 / 1) {
:root {
--square: 50vw; } }
@media screen and (min-aspect-ratio: 2 / 1) {
:root {
--square: 100vh; } }
body {
font-size: calc(0.035 * var(--square)); }
body .layout-content-and-preview,
body .layout-content-only {
display: grid;
min-height: 100vh;
max-height: 100vh;
min-width: 100vw;
max-width: 100vw;
overflow: auto; }
body .layout-content-and-preview {
grid-template-rows: var(--square) auto;
grid-template-columns: auto;
grid-template-areas: "content" "preview";
background: linear-gradient(to bottom, white 0%, white var(--square), var(--secondary) var(--square), var(--secondary) var(--square)); }
@media screen and (min-aspect-ratio: 1 / 1) {
body .layout-content-and-preview {
grid-template-rows: auto var(--square) auto;
grid-template-columns: var(--square) auto;
grid-template-areas: " . preview" "content preview" " . preview";
background: linear-gradient(to right, white 0%, white var(--square), var(--secondary) var(--square), var(--secondary) 100%); } }
@media screen and (min-aspect-ratio: 2 / 1) {
body .layout-content-and-preview {
grid-template-rows: var(--square);
grid-template-columns: var(--square) auto;
grid-template-areas: "content preview"; } }
body .layout-content-only {
grid-template-rows: var(--square) auto;
grid-template-columns: var(--square);
grid-template-areas: "content" " . ";
background: linear-gradient(to bottom, white 0%, white var(--square), var(--secondary) var(--square), var(--secondary) 100%); }
@media screen and (min-aspect-ratio: 1 / 1) {
body .layout-content-only {
grid-template-rows: auto var(--square) auto;
grid-template-columns: auto var(--square) auto;
grid-template-areas: ". . ." ". content ." ". . .";
background: linear-gradient(to right, var(--secondary) 0%, var(--secondary) calc((100% - var(--square)) / 2), white calc((100% - var(--square)) / 2), white calc(100% - (100% - var(--square)) / 2), var(--secondary) calc(100% - (100% - var(--square)) / 2), var(--secondary) 100%); } }
body .layout-content {
background: white;
grid-area: content;
position: relative; }
body .layout-preview {
grid-area: preview;
display: flex;
align-items: center;
justify-content: center;
background: var(--secondary); }
body .layout-preview img {
width: auto;
height: auto;
max-width: 90%;
max-height: 90%;
box-shadow: 0.2em 0.2em 0.5em 0 rgba(0, 0, 0, 0.3); }
body .layout-two-columns {
display: grid;
min-height: 100vh;
max-height: 100vh;
min-width: 100vw;
max-width: 100vw;
overflow: auto;
grid-template-rows: auto auto auto 1fr;
grid-template-columns: var(--square);
grid-template-areas: "title" "column1" "column2" ".";
background: var(--secondary); }
@media screen and (min-aspect-ratio: 1 / 1) {
body .layout-two-columns {
grid-template-rows: auto calc(0.18 * var(--square)) calc(0.82 * var(--square)) auto;
grid-template-columns: var(--square) var(--square);
grid-template-areas: " . . " " title title " "column1 column2" " . . "; } }
@media screen and (min-aspect-ratio: 2 / 1) {
body .layout-two-columns {
grid-template-rows: calc(0.18 * var(--square)) calc(0.82 * var(--square));
grid-template-columns: auto var(--square) var(--square) auto;
grid-template-areas: ". title title ." ". column1 column2 ."; } }
body .layout-two-columns .layout-title {
grid-area: title;
background: white; }
body .layout-two-columns .layout-column-one {
grid-area: column1;
background: white; }
body .layout-two-columns .layout-column-two {
grid-area: column2;
background: white; }
/* content layout */
@font-face {
font-family: 'Fira Sans';
src: url("../../lib/font/fira-sans/FiraSans-Regular.ttf");
font-weight: 400; }
@font-face {
font-family: 'Fira Sans';
src: url("../../lib/font/fira-sans/FiraSans-Bold.ttf");
font-weight: 700; }
@font-face {
font-family: 'Fira Code';
src: url("../../lib/font/fira-code/FiraCode-Regular.otf");
font-weight: 400; }
@font-face {
font-family: 'Fira Code';
src: url("../../lib/font/fira-code/FiraCode-Bold.otf");
font-weight: 700; }
body {
font-family: 'Fira Sans';
margin: 0;
line-height: 1.2em; }
.layout-content-and-preview .layout-content,
.layout-content-only .layout-content {
overflow: auto;
padding: calc(var(--margin) * var(--square)); }
.layout-content-and-preview .layout-content *:first-child,
.layout-content-only .layout-content *:first-child {
margin-top: 0; }
.layout-content-and-preview .layout-content .layout-title,
.layout-content-only .layout-content .layout-title {
padding: calc(0.3 * var(--margin) * var(--square)) 0;
line-height: 1.15em; }
.layout-content-and-preview .layout-content .layout-title h2,
.layout-content-only .layout-content .layout-title h2 {
margin: 0;
line-height: 1.15em; }
.layout-content-and-preview .layout-content ul,
.layout-content-only .layout-content ul {
list-style-type: none;
padding-left: 0;
position: relative; }
.layout-content-and-preview .layout-content ul li::before,
.layout-content-only .layout-content ul li::before {
content: '▪';
color: var(--secondary);
position: absolute;
left: calc(-0.33 * var(--margin) * var(--square)); }
.layout-content-and-preview .layout-content ul ul,
.layout-content-only .layout-content ul ul {
margin-left: calc(0.33 * var(--margin) * var(--square)); }
.layout-content-and-preview .layout-content pre,
.layout-content-only .layout-content pre {
margin-left: calc(-1 * var(--margin) * var(--square));
padding-left: calc(var(--margin) * var(--square));
line-height: 1.2em;
position: relative;
overflow: hidden; }
.layout-content-and-preview .layout-content pre::before,
.layout-content-only .layout-content pre::before {
content: attr(data-sourcefile);
position: absolute;
text-align: right;
color: var(--secondary);
top: .85em;
width: 100%;
left: calc(-1 * var(--square) + 1.2 * var(--margin) * var(--square));
transform-origin: top right;
transform: rotate(-90deg); }
.layout-content-and-preview .layout-content pre code,
.layout-content-only .layout-content pre code {
padding: .3em 0; }
.layout-content-and-preview .layout-content code,
.layout-content-only .layout-content code {
font-size: 0.9em;
font-family: 'Fira Code'; }
.layout-two-columns .layout-title {
padding: calc(0.3 * var(--margin) * var(--square)) calc(var(--margin) * var(--square)); }
.layout-two-columns .layout-title h2 {
line-height: 1.15em; }
.layout-two-columns .layout-column-one,
.layout-two-columns .layout-column-two {
padding: calc(var(--margin) * var(--square));
padding-top: 0; }
.layout-two-columns .layout-column-one *:first-child,
.layout-two-columns .layout-column-two *:first-child {
margin-top: 0; }
.layout-two-columns .layout-column-one ul,
.layout-two-columns .layout-column-two ul {
list-style-type: none;
padding-left: 0;
position: relative; }
.layout-two-columns .layout-column-one ul li::before,
.layout-two-columns .layout-column-two ul li::before {
content: '▪';
color: var(--secondary);
position: absolute;
left: calc(-0.33 * var(--margin) * var(--square)); }
.layout-two-columns .layout-column-one ul ul,
.layout-two-columns .layout-column-two ul ul {
margin-left: calc(0.33 * var(--margin) * var(--square)); }
.layout-two-columns .layout-column-one pre,
.layout-two-columns .layout-column-two pre {
margin: 0 calc(-1 * var(--margin) * var(--square));
line-height: 1.2em;
position: relative;
overflow: hidden; }
.layout-two-columns .layout-column-one pre::before,
.layout-two-columns .layout-column-two pre::before {
content: attr(data-sourcefile);
position: absolute;
text-align: right;
color: var(--secondary);
top: .85em;
width: 100%;
left: calc(-1 * var(--square) + 1.2 * var(--margin) * var(--square));
transform-origin: top right;
transform: rotate(-90deg); }
.layout-two-columns .layout-column-one pre code,
.layout-two-columns .layout-column-two pre code {
padding: 0.3em calc(var(--margin) * var(--square)); }
.layout-two-columns .layout-column-one code,
.layout-two-columns .layout-column-two code {
font-size: 0.9em;
font-family: 'Fira Code'; }
.layout.layout-chapter-heading {
height: 100vh;
width: 100vw;
position: relative; }
.layout.layout-chapter-heading .layout-title {
position: absolute;
left: 2vw;
width: calc(100vw - 4vw);
text-align: center;
bottom: calc(38.2% - .5em); }
h1 {
position: absolute;
font-size: 300%;
bottom: 0;
left: 0;
line-height: 115%;
vertical-align: bottom;
max-width: var(--square);
padding: 0 calc(var(--margin) * var(--square)) 0.5em; }
h2 {
line-height: 1.2; }
h2[data-category]::before {
content: attr(data-category);
font-size: .7em;
font-variant: small-caps;
text-transform: lowercase;
background: black;
color: white;
padding: .1em .5em;
display: inline-block;
vertical-align: baseline;
letter-spacing: .1em;
position: relative;
margin-left: calc(-1 * var(--margin) * var(--square));
padding-left: calc(var(--margin) * var(--square));
margin-right: .5em; }
img {
width: auto;
max-width: 100%; }
table {
width: calc(var(--square) - var(--margin) * var(--square));
margin-left: calc(-1 * var(--margin) * var(--square));
border-spacing: 0; }
table tr:nth-child(2n-1) {
background: var(--secondary); }
table tr > *:first-child {
padding-left: calc(var(--margin) * var(--square)); }
table th, table td {
text-align: left;
vertical-align: top;
padding: .3em 0; }
.box, blockquote {
margin-left: calc(-1 * var(--margin) * var(--square));
padding: 0.8em 0.1em 0.1em calc(var(--margin) * var(--square));
background: var(--secondary); }
.box.warning {
background: #ffffaa; }
blockquote {
text-indent: -.55em;
padding-bottom: .8em; }
blockquote::before {
content: '»'; }
blockquote cite::before {
content: ' '; }