372 lines
5.4 KiB
SCSS
372 lines
5.4 KiB
SCSS
@import 'animations';
|
|
@import 'breakpoints';
|
|
@import 'variables';
|
|
@import 'fonts';
|
|
@import 'mixins';
|
|
|
|
html {
|
|
font-family: 'Space Mono', sans-serif;
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
*, *::before, *::after {
|
|
box-sizing: inherit;
|
|
}
|
|
|
|
body {
|
|
background: $color-background;
|
|
background-image:
|
|
url('layout/bg_pixels.gif'),
|
|
url('layout/grid.png'),
|
|
linear-gradient(-45deg, $color-gradient-community-start, $color-gradient-community-end),
|
|
url('layout/background_mobile_01.jpg');
|
|
background-blend-mode:
|
|
normal,
|
|
normal,
|
|
multiply,
|
|
normal;
|
|
background-attachment:
|
|
scroll,
|
|
fixed,
|
|
scroll,
|
|
fixed;
|
|
background-size:
|
|
auto,
|
|
cover,
|
|
100% 100%,
|
|
cover;
|
|
background-repeat:
|
|
repeat-y,
|
|
no-repeat,
|
|
no-repeat,
|
|
no-repeat;
|
|
background-position:
|
|
50% calc(50% + 1px * 0.5 * var(--scrollTop, 0)),
|
|
50% 50%,
|
|
50% 50%,
|
|
50% 50%;
|
|
color: $color-text;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100vh;
|
|
align-items: center;
|
|
margin: 0;
|
|
|
|
&::after {
|
|
content: '';
|
|
display: block;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
pointer-events: none;
|
|
background-image:
|
|
url('layout/vcr_overlay.png'),
|
|
radial-gradient(transparent, transparent, rgba(0, 0, 0, 0.5));
|
|
}
|
|
|
|
&::before {
|
|
content: '';
|
|
display: block;
|
|
position: fixed;
|
|
opacity: 0.3;
|
|
top: 0;
|
|
left: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
pointer-events: none;
|
|
background-image: url('layout/fg_pixels.gif');
|
|
background-repeat: repeat-y;
|
|
background-position: 50% calc(50% + -1.4px * var(--scrollTop, 0));
|
|
}
|
|
|
|
@media (min-width: $small) {
|
|
background-image:
|
|
url('layout/bg_pixels.gif'),
|
|
url('layout/grid.png'),
|
|
linear-gradient(-45deg, $color-gradient-community-start, $color-gradient-community-end),
|
|
url('layout/background_desktop_01.jpg');
|
|
}
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6, p, ul {
|
|
margin-bottom: 1em;
|
|
margin-top: 1em;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
@include heading;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 3em;
|
|
text-align: center;
|
|
}
|
|
|
|
a {
|
|
text-decoration: underline;
|
|
color: inherit;
|
|
transition: filter 0.2s ease 0s;
|
|
|
|
&:hover, &:focus {
|
|
@include aberration(0.05em, 0.001em)
|
|
}
|
|
}
|
|
|
|
.nav-logo {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.block-link {
|
|
display: block;
|
|
}
|
|
|
|
.read-more-link {
|
|
font-size: 1.2em;
|
|
font-weight: bold;
|
|
text-transform: lowercase;
|
|
}
|
|
|
|
header {
|
|
width: 100%;
|
|
padding: $gap-vertical $gap-horizontal;
|
|
max-width: $large;
|
|
}
|
|
|
|
main {
|
|
width: 100%;
|
|
padding: $gap-vertical $gap-horizontal;
|
|
max-width: $large;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
footer {
|
|
font-size: 0.9em;
|
|
width: 100%;
|
|
max-width: $large;
|
|
padding: $gap-vertical $gap-horizontal;
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
|
|
@media screen and (min-width: $small) {
|
|
flex-direction: row;
|
|
|
|
& > :first-child {
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
}
|
|
|
|
figure {
|
|
margin: 1rem 0;
|
|
|
|
img, video {
|
|
max-width: 100%;
|
|
display: block;
|
|
margin: 0 auto;
|
|
|
|
&.invert {
|
|
filter: invert(100%);
|
|
}
|
|
|
|
&.cclogo {
|
|
width: 200px;
|
|
height: 48px;
|
|
}
|
|
|
|
&.fill {
|
|
background: $color-fill;
|
|
padding: 0.5em;
|
|
}
|
|
}
|
|
|
|
figcaption {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
ul, ol {
|
|
padding-left: 1.5em;
|
|
|
|
li {
|
|
padding: 0.2em 0;
|
|
|
|
}
|
|
}
|
|
|
|
iframe {
|
|
border: none;
|
|
|
|
width: 100%;
|
|
height: 100vh;
|
|
display: block;
|
|
margin: 1rem 0;
|
|
|
|
&.aspect-178 {
|
|
height: 56.25vw;
|
|
max-height: $large * 0.5625;
|
|
}
|
|
}
|
|
|
|
table {
|
|
border-collapse: collapse;
|
|
margin: 1rem 0;
|
|
|
|
thead th {
|
|
@include heading;
|
|
font-weight: bold;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
thead tr, {
|
|
}
|
|
|
|
tr:not(:last-child) {
|
|
border-bottom: 1px solid currentColor;
|
|
}
|
|
|
|
td, th {
|
|
padding: 0.2em 0.5em;
|
|
text-align: left;
|
|
}
|
|
}
|
|
|
|
.nav {
|
|
display: flex;
|
|
flex-flow: column wrap;
|
|
justify-content: flex-end;
|
|
|
|
hr {
|
|
margin: 0.5em 40%;
|
|
}
|
|
|
|
.nav-logo {
|
|
@include heading;
|
|
text-decoration: none;
|
|
color: currentColor;
|
|
|
|
margin: 0 auto;
|
|
|
|
img {
|
|
width: 48px;
|
|
display: inline-block;
|
|
margin-right: 1em;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
@media screen and (min-width: $small) {
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
|
|
.nav-link {
|
|
align-self: center;
|
|
margin: 0 0.5em;
|
|
padding: 0.5em 0;
|
|
font-weight: bold;
|
|
font-size: 1.2em;
|
|
text-decoration: none;
|
|
text-transform: lowercase;
|
|
|
|
&.nav-link-active {
|
|
@include aberration(0.05em, 0.001em)
|
|
}
|
|
}
|
|
|
|
@media screen and (min-width: $small) {
|
|
flex-direction: row;
|
|
|
|
hr {
|
|
margin: 0 0.5em;
|
|
align-self: center;
|
|
}
|
|
}
|
|
}
|
|
|
|
.box {
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 1px solid $color-box-frame;
|
|
background: $color-box-background;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.box-header {
|
|
font-size: 1.2em;
|
|
margin: 0;
|
|
padding: 0 $gap-horizontal;
|
|
text-align: center;
|
|
background: $color-box-frame;
|
|
color: $color-box-header;
|
|
|
|
a {
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
.box-content {
|
|
padding: $gap-vertical $gap-horizontal;
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
}
|
|
.box-footer {
|
|
padding: ($gap-vertical / 2) $gap-horizontal;
|
|
}
|
|
}
|
|
|
|
.box-grid {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
grid-gap: $gap-vertical $gap-horizontal;
|
|
|
|
.box {
|
|
max-width: 100%;
|
|
min-width: 0;
|
|
}
|
|
}
|
|
|
|
.date {
|
|
font-style: italic;
|
|
}
|
|
|
|
.overflow-x-auto {
|
|
overflow-x: auto;
|
|
}
|
|
|
|
|
|
.infobeamer {
|
|
h1 {
|
|
margin: $gap-vertical 0;
|
|
}
|
|
|
|
main {
|
|
max-width: 1700px;
|
|
}
|
|
|
|
.box-grid {
|
|
grid-template-columns: repeat(3, 1fr);
|
|
grid-auto-rows: minmax(10px, 1fr);
|
|
max-height: 75vh;
|
|
}
|
|
}
|
|
|
|
.progress {
|
|
@include aberration(0.1em);
|
|
border: 1px solid $color-box-frame;
|
|
height: 1em;
|
|
|
|
.fill {
|
|
background: $color-box-frame;
|
|
height: 100%;
|
|
}
|
|
}
|