syndicate-2017/css/style.css

303 lines
5.5 KiB
CSS

---
layout:
display-font: '"Bebas Neue", sans'
nav-font: '"Inconsolata Regular"'
horizontal-border-width: "0.25rem"
heading-font: '"IBM Plex Serif", serif'
heading-font-small: '"IBM Plex Mono", monospace'
skinny-header-margin: "1rem"
body-font: '"IBM Plex Sans", sans'
body-margin: "2rem"
body-lhs: "10rem"
body-lhs-inset: "8rem"
body-lhs-border: "1rem"
body-lhs-border-indent: "7rem"
code-font: '"IBM Plex Mono", monospace'
---
@import 'font-definitions.css';
html, body, * { box-sizing: border-box; }
html {
margin: 0;
padding: 0;
font-size: 14pt;
}
body {
font-family: {{ page.body-font }};
font-weight: 300;
margin: 0;
padding: 0;
background: white;
}
main {
max-width: 960px;
clear: both;
margin: {{ page.body-margin }};
}
.clear {
clear: both;
}
main ul.boxes {
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: flex-start;
align-items: stretch;
align-content: stretch;
margin: -0.5rem -1.5rem 1rem;
margin-bottom: 1rem;
padding: 0;
}
main ul.boxes > li {
background: white;
display: flex;
flex-direction: column;
border: solid black;
border-width: {{ page.horizontal-border-width }};
margin: 0.5rem;
padding: 0 0.75rem;
}
main ul.boxes > li > * {
margin: 0.5rem 0;
}
main ul.boxes > li > *.read-more {
display: flex;
align-items: flex-end;
align-self: flex-end;
flex-grow: 1;
}
main ul.boxes > li > h1 {
font-family: {{ page.display-font }};
font-style: normal;
font-weight: normal;
border-bottom: solid black {{ page.horizontal-border-width }};
background: lightcyan;
margin: 0 -0.75rem;
}
main ul.boxes > li > h1 > a {
display: block;
padding: 0.25rem 0.75rem 0;
}
main > hr {
background: white;
height: 0;
border: none;
border-top: solid black 0.125rem;
border-bottom: solid black 0.125rem;
margin: 2rem auto;
width: calc({{ page.body-margin }} + {{ page.body-lhs-border }});
}
.logos {
display: flex;
flex-wrap: wrap;
margin-left: -0.25rem;
margin-top: -0.25rem;
}
.logos > * {
flex-grow: 1;
flex-shrink: 1;
min-width: 64px;
width: auto;
height: auto;
margin-left: 0.25rem;
margin-top: 0.25rem;
}
.logos3 > * { flex-basis: calc(100% / 3 - 0.25rem); }
.logos2 > * { flex-basis: calc(100% / 2 - 0.25rem); }
pre {
font-size: 0.9rem;
}
.frontpage_code_examples {
margin: 0 -{{ page.body-margin }};
padding: 0 {{ page.body-lhs-border }};
}
*:target {
background: yellow;
}
h1, h2, h3, h4, h5, h6 {
font-family: {{ page.heading-font }};
font-style: italic;
font-weight: 300;
clear: both;
}
h1 a {
text-decoration: none;
color: inherit;
}
h1 { font-size: 1.56rem; }
h2 { font-size: 1.25rem; }
h3, h4, h5, h6 { font-size: 1rem; }
pre, code {
font-family: {{ page.code-font }};
}
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
font-family: inherit;
}
header {
display: flex;
margin-top: 0;
margin-bottom: 0;
border-bottom: solid black {{ page.horizontal-border-width }};
}
header .outer-wrapper {
border-left: solid magenta {{ page.skinny-header-margin }};
}
header .inner-wrapper {
padding: 0 {{ page.skinny-header-margin }};
}
header h1 {
font-family: {{ page.display-font }};
font-style: normal;
font-weight: normal;
font-size: 4rem;
margin-top: 1rem;
margin-bottom: 1rem;
line-height: 1;
}
header h1 span {
display: inline-block;
}
header h1 span.subtitle {
font-size: 2rem;
}
nav > ul {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding: 0;
margin: 0;
margin-bottom: 0.5rem;
}
nav > ul > li {
display: block;
margin: 0;
padding: 0;
margin-right: 1rem;
}
nav a {
text-decoration: none;
color: inherit;
}
footer {
border-top: solid black 0.25rem;
clear: both;
font-size: 0.5rem;
text-align: right;
}
footer .outer-wrapper {
padding: 2rem 0 0.5rem;
border-right: solid cyan {{ page.skinny-header-margin }};
}
footer .inner-wrapper {
padding: 0 {{ page.skinny-header-margin }};
}
img {
max-width: 100%;
}
@media all and (min-width: 960px) {
html {
font-size: 15pt;
}
header {
margin: 0;
margin-right: {{ page.body-margin }};
}
header .outer-wrapper {
display: flex;
width: 100%;
margin: 0;
min-height: {{ page.body-lhs-inset }};
border-left: solid magenta {{ page.body-lhs-inset }};
align-items: flex-end;
}
header .inner-wrapper {
width: 100%;
padding-left: {{ page.body-margin }};
flex-direction: row;
}
footer .outer-wrapper {
border-right: solid cyan 4rem;
}
main {
border-left: solid black {{ page.body-lhs-border }};
padding: 1rem 0 1rem {{ page.body-margin }};
margin: 0 0 0 {{ page.body-lhs-border-indent }};
}
main ul.boxes {
flex-direction: row;
margin: -0.5rem -4.75rem -0.5rem -9.5rem;
}
main ul.boxes > li {
width: calc(100%/3 - 2 * 0.5rem);
}
main > hr {
margin-left: calc(-{{ page.body-margin }} - {{ page.body-lhs-border }});
height: 1rem;
}
.rightfloat { float: right; margin-left: 1rem; margin-bottom: 1rem; }
.leftfloat { float: left; margin-right: 1rem; margin-bottom: 1rem; }
.frontpage_code_examples {
margin: 0;
display: flex;
align-items: stretch;
}
.frontpage_code_examples > div {
padding: 0 0.5rem;
flex: 1;
}
}