www.franconian.net/assets/style.scss

216 lines
2.9 KiB
SCSS

@import 'animations';
@import 'breakpoints';
@import 'colors';
@import 'fonts';
@import 'mixins';
* {
font-family: Montserrat, sans-serif;
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
background: $background;
color: $text-color;
display: flex;
flex-direction: column;
min-height: 100vh;
}
h1, h2, h3, h4, h5, h6, p, ul {
margin-top: 0.5em;
padding: 0 0.5rem;
&:last-child {
margin-bottom: 0.5em;
}
}
h1, h2, h3, h4, h5, h6 {
@include heading;
}
h1, footer {
padding-bottom: 0.2em;
@include hline(250px, 4px, $primary-1, $primary-2, $primary-3);
}
a:not(.nav-logo) {
text-decoration: none;
color: $highlight-1;
text-shadow: -1px 1px 0 $background, 0 1px 0 $background, 1px 1px 0 $background;
@include hline(10em, 2px, $highlight-1, $highlight-2, $highlight-3);
&:hover, &:focus {
animation: cycle-link-background 2s steps(4) infinite 0ms;
}
}
main {
width: 100%;
max-width: $large;
margin: 0 auto;
flex-grow: 1;
}
footer {
background-position: right top;
font-size: 0.9em;
color: $text-darker;
width: 100%;
max-width: $large;
margin: 0 auto;
padding: 0.5em;
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%);
}
&.fill {
background: $fill-color;
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, {
@include hline(10em, 2px, $primary-1, $primary-2, $primary-3)
}
tr:not(:last-child) {
border-bottom: 1px solid $primary-3;
}
td, th {
padding: 0.2em 0.5em;
text-align: left;
}
}
.nav {
display: flex;
flex-flow: column wrap;
justify-content: flex-end;
&.nav-main {
max-width: $large;
margin: 0 auto;
padding: 0.5em;
}
hr {
margin: 0.5em 40%;
}
.nav-logo {
@include heading;
text-decoration: none;
color: $text-color;
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;
background-position: center bottom 0.4em;
color: $text-color;
font-family: Orbitron,Montserrat,sans-serif;
&.nav-link-active {
color: $highlight-1;
}
}
@media screen and (min-width: $small) {
flex-direction: row;
hr {
margin: 0 0.5em;
align-self: center;
}
}
}
.date {
font-style: italic;
}
.overflow-x-auto {
overflow-x: auto;
}