Run prettier

This commit is contained in:
Kevin Kandlbinder 2021-07-26 13:15:39 +00:00
parent 79b6120522
commit 839ea26e92
10 changed files with 875 additions and 870 deletions

View file

@ -1,113 +1,113 @@
/* eslint-disable no-undef */ /* eslint-disable no-undef */
const extConfig = require("./config"); const extConfig = require("./config");
module.exports = { module.exports = {
siteMetadata: { siteMetadata: {
title: extConfig.siteName, title: extConfig.siteName,
author: extConfig.siteAuthor, author: extConfig.siteAuthor,
siteUrl: extConfig.siteURL, siteUrl: extConfig.siteURL,
keywords: extConfig.siteKeywords, keywords: extConfig.siteKeywords,
payPalMail: extConfig.payPalMail, payPalMail: extConfig.payPalMail,
contactEmail: extConfig.contactEmail, contactEmail: extConfig.contactEmail,
contactPhone: extConfig.contactPhone, contactPhone: extConfig.contactPhone,
mapsLink: extConfig.mapsLink, mapsLink: extConfig.mapsLink,
contactTwitter: extConfig.contactTwitter, contactTwitter: extConfig.contactTwitter,
contactGitHub: extConfig.contactGitHub, contactGitHub: extConfig.contactGitHub,
contactMastodon: extConfig.contactMastodon, contactMastodon: extConfig.contactMastodon,
contactMastodonHref: extConfig.contactMastodonHref, contactMastodonHref: extConfig.contactMastodonHref,
}, },
assetPrefix: "/assets", assetPrefix: "/assets",
plugins: [ plugins: [
`gatsby-plugin-eslint`, `gatsby-plugin-eslint`,
{ {
resolve: "gatsby-plugin-asset-path", resolve: "gatsby-plugin-asset-path",
}, },
`gatsby-plugin-sharp`, `gatsby-plugin-sharp`,
`gatsby-transformer-sharp`, `gatsby-transformer-sharp`,
`gatsby-transformer-json`, `gatsby-transformer-json`,
{ {
resolve: `gatsby-source-filesystem`, resolve: `gatsby-source-filesystem`,
options: { options: {
path: `${__dirname}/content/textblocks`, path: `${__dirname}/content/textblocks`,
name: `textblocks`, name: `textblocks`,
}, },
}, },
{ {
resolve: `gatsby-source-filesystem`, resolve: `gatsby-source-filesystem`,
options: { options: {
path: `${__dirname}/content/projectTextblocks`, path: `${__dirname}/content/projectTextblocks`,
name: `projectTextblocks`, name: `projectTextblocks`,
}, },
}, },
"gatsby-plugin-mdx", "gatsby-plugin-mdx",
{ {
resolve: `gatsby-source-filesystem`, resolve: `gatsby-source-filesystem`,
options: { options: {
path: `./content/`, path: `./content/`,
}, },
}, },
{ {
resolve: `gatsby-source-filesystem`, resolve: `gatsby-source-filesystem`,
options: { options: {
path: `${__dirname}/locales`, path: `${__dirname}/locales`,
name: `locale`, name: `locale`,
}, },
}, },
`gatsby-plugin-sass`, `gatsby-plugin-sass`,
{ {
resolve: `gatsby-plugin-manifest`, resolve: `gatsby-plugin-manifest`,
options: { options: {
name: extConfig.siteName, name: extConfig.siteName,
short_name: extConfig.siteName, short_name: extConfig.siteName,
start_url: `/`, start_url: `/`,
background_color: `#000710`, background_color: `#000710`,
theme_color: `#e5502b`, theme_color: `#e5502b`,
display: `minimal-ui`, display: `minimal-ui`,
icon: extConfig.iconPath, // This path is relative to the root of the site. icon: extConfig.iconPath, // This path is relative to the root of the site.
cache_busting_mode: "none", cache_busting_mode: "none",
}, },
}, },
`gatsby-plugin-robots-txt`, `gatsby-plugin-robots-txt`,
{ {
resolve: `gatsby-plugin-offline`, resolve: `gatsby-plugin-offline`,
options: { options: {
precachePages: [ precachePages: [
"/", "/",
"/en", "/en",
"/en/projects", "/en/projects",
"/de", "/de",
"/de/projects", "/de/projects",
], ],
workboxConfig: { workboxConfig: {
globPatterns: ["**/*"], globPatterns: ["**/*"],
}, },
}, },
}, },
`gatsby-plugin-sitemap`, `gatsby-plugin-sitemap`,
`gatsby-plugin-react-helmet`, `gatsby-plugin-react-helmet`,
{ {
resolve: `gatsby-plugin-react-i18next`, resolve: `gatsby-plugin-react-i18next`,
options: { options: {
localeJsonSourceName: `locale`, localeJsonSourceName: `locale`,
languages: extConfig.languages, languages: extConfig.languages,
defaultLanguage: `en`, defaultLanguage: `en`,
generateDefaultLanguagePage: true, generateDefaultLanguagePage: true,
siteUrl: extConfig.siteURL, siteUrl: extConfig.siteURL,
i18nextOptions: { i18nextOptions: {
interpolation: { interpolation: {
escapeValue: false, // not needed for react as it escapes by default escapeValue: false, // not needed for react as it escapes by default
}, },
keySeparator: false, keySeparator: false,
nsSeparator: false, nsSeparator: false,
}, },
pages: [ pages: [
{ {
matchPath: "/:lang/projects/:urlname", matchPath: "/:lang/projects/:urlname",
getLanguageFromPath: true, getLanguageFromPath: true,
excludeLanguages: extConfig.languages, excludeLanguages: extConfig.languages,
}, },
], ],
}, },
}, },
], ],
}; };

View file

@ -1,100 +1,101 @@
@import "./variables"; @import "./variables";
@mixin flexList { @mixin flexList {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
} }
@mixin cardGeneric { @mixin cardGeneric {
border-radius: 5px; border-radius: 5px;
overflow: hidden; overflow: hidden;
box-shadow: -1px 11px 33px -10px rgba(127, 127, 127, 0.3); box-shadow: -1px 11px 33px -10px rgba(127, 127, 127, 0.3);
transition: transform 0.25s, box-shadow 0.25s, background-color 0.25s, color 0.25s; transition: transform 0.25s, box-shadow 0.25s, background-color 0.25s,
color: $textColor; color 0.25s;
text-decoration: none; color: $textColor;
margin: 20px; text-decoration: none;
background: $background; margin: 20px;
background: $background;
&:hover,
&:active, &:hover,
&:focus { &:active,
transform: scale(1.05); &:focus {
box-shadow: -1px 11px 33px -10px rgba(127, 127, 127, 0.2), transform: scale(1.05);
-1px 11px 33px -10px rgba($accentColor, 0.75); box-shadow: -1px 11px 33px -10px rgba(127, 127, 127, 0.2),
} -1px 11px 33px -10px rgba($accentColor, 0.75);
}
@media(prefers-color-scheme: light) {
box-shadow: -1px 11px 33px -10px rgba(29, 29, 29, 0.7); @media (prefers-color-scheme: light) {
box-shadow: -1px 11px 33px -10px rgba(29, 29, 29, 0.7);
background: $lightBackground;
color: $lightTextColor; background: $lightBackground;
color: $lightTextColor;
&:hover,
&:active, &:hover,
&:focus { &:active,
transform: scale(1.05); &:focus {
box-shadow: -1px 11px 33px -10px rgba(29, 29, 29, 0.2), transform: scale(1.05);
-1px 11px 33px -10px rgba($accentColor, 0.75); box-shadow: -1px 11px 33px -10px rgba(29, 29, 29, 0.2),
} -1px 11px 33px -10px rgba($accentColor, 0.75);
} }
} }
}
@mixin buttonBasic {
display: block; @mixin buttonBasic {
padding: 10px; display: block;
text-align: center; padding: 10px;
background: $accentColor; text-align: center;
color: white; background: $accentColor;
text-decoration: none; color: white;
box-shadow: 0 0 33px -10px rgba($accentColor, 0.5); text-decoration: none;
transition: box-shadow 0.25s; box-shadow: 0 0 33px -10px rgba($accentColor, 0.5);
transition: box-shadow 0.25s;
&:hover,
&:active, &:hover,
&:hover { &:active,
box-shadow: 0 0 33px -10px rgba($accentColor, 0.9); &:hover {
} box-shadow: 0 0 33px -10px rgba($accentColor, 0.9);
} }
}
@mixin button {
@include buttonBasic; @mixin button {
border-radius: 5px; @include buttonBasic;
} border-radius: 5px;
}
@mixin homeBanner {
background: lighten($background, 1); @mixin homeBanner {
cursor: pointer; background: lighten($background, 1);
display: block; cursor: pointer;
text-decoration: none; display: block;
color: inherit; text-decoration: none;
transition: background-color .25s, color .25s; color: inherit;
transition: background-color 0.25s, color 0.25s;
@media(prefers-color-scheme: light) {
background: darken($accentColor, 1); @media (prefers-color-scheme: light) {
} background: darken($accentColor, 1);
}
img {
height: 50px; img {
} height: 50px;
}
> div {
display: flex; > div {
height: 100%; display: flex;
padding: 20px !important; height: 100%;
line-height: 50px; padding: 20px !important;
font-size: 1.7em; line-height: 50px;
color: white; font-size: 1.7em;
color: white;
> span {
margin-left: auto; > span {
margin-right: auto; margin-left: auto;
} margin-right: auto;
}
> i {
display: inline-flex; > i {
flex-direction: column; display: inline-flex;
justify-content: center; flex-direction: column;
} justify-content: center;
} }
} }
}

View file

@ -1,9 +1,9 @@
$layoutWidth: 1200px; $layoutWidth: 1200px;
$accentColor: #e52b3e; $accentColor: #e52b3e;
$background: #070707; $background: #070707;
$lightBackground: #fff; $lightBackground: #fff;
$textColor: white; $textColor: white;
$lightTextColor: black; $lightTextColor: black;
$layoutPadding: 20px; $layoutPadding: 20px;
$mainFont: "Anonymous Pro", monospace; $mainFont: "Anonymous Pro", monospace;

View file

@ -1,75 +1,75 @@
@import "../variables"; @import "../variables";
@import "../mixins"; @import "../mixins";
.topBar { .topBar {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
display: flex; display: flex;
width: 100%; width: 100%;
background: rgba($background, 0.95); background: rgba($background, 0.95);
color: $textColor; color: $textColor;
backdrop-filter: blur(5px); backdrop-filter: blur(5px);
z-index: 999; z-index: 999;
transition: background-color .25s, color .25s; transition: background-color 0.25s, color 0.25s;
@supports (backdrop-filter: blur(5px)) { @supports (backdrop-filter: blur(5px)) {
background: rgba($background, 0.9); background: rgba($background, 0.9);
} }
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
background: rgba($lightBackground, 0.95); background: rgba($lightBackground, 0.95);
color: $lightTextColor; color: $lightTextColor;
@supports (backdrop-filter: blur(5px)) { @supports (backdrop-filter: blur(5px)) {
background: rgba($lightBackground, 0.9); background: rgba($lightBackground, 0.9);
} }
} }
.topBarInner { .topBarInner {
display: flex; display: flex;
width: 100%; width: 100%;
max-width: $layoutWidth; max-width: $layoutWidth;
margin: auto; margin: auto;
> :first-child { > :first-child {
padding-left: $layoutPadding; padding-left: $layoutPadding;
} }
> :last-child { > :last-child {
padding-right: $layoutPadding; padding-right: $layoutPadding;
} }
a { a {
display: block; display: block;
padding: 10px $layoutPadding; padding: 10px $layoutPadding;
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
border-top: 2px solid transparent; border-top: 2px solid transparent;
&:hover { &:hover {
border-color: rgba(255, 255, 255, 0.25); border-color: rgba(255, 255, 255, 0.25);
} }
&.active { &.active {
border-color: white; border-color: white;
transition: border-color .25s; transition: border-color 0.25s;
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
border-color: $accentColor; border-color: $accentColor;
} }
} }
} }
} }
} }
.homeBar.homeBarTransparent { .homeBar.homeBarTransparent {
background: transparent; background: transparent;
color: $textColor; color: $textColor;
backdrop-filter: blur(0); backdrop-filter: blur(0);
} }
.flexSpacer { .flexSpacer {
flex-grow: 1; flex-grow: 1;
text-align: center; text-align: center;
} }

View file

@ -1,88 +1,88 @@
@import "../variables"; @import "../variables";
* { * {
box-sizing: border-box; box-sizing: border-box;
} }
body, body,
html, html,
#___gatsby, #___gatsby,
#gatsby-focus-wrapper { #gatsby-focus-wrapper {
margin: 0; margin: 0;
padding: 0; padding: 0;
width: 100%; width: 100%;
min-height: 100vh; min-height: 100vh;
font-family: $mainFont; font-family: $mainFont;
} }
#gatsby-focus-wrapper { #gatsby-focus-wrapper {
background: $background; background: $background;
color: $textColor; color: $textColor;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
transition: background-color .25s, color .25s; transition: background-color 0.25s, color 0.25s;
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
background: $lightBackground; background: $lightBackground;
color: $lightTextColor; color: $lightTextColor;
} }
} }
footer { footer {
background: darken($background, 1); background: darken($background, 1);
width: 100%; width: 100%;
color: white; color: white;
padding: 5px; padding: 5px;
text-align: center; text-align: center;
transition: background-color .25s, color .25s; transition: background-color 0.25s, color 0.25s;
a { a {
color: inherit; color: inherit;
text-decoration: underline dotted currentColor; text-decoration: underline dotted currentColor;
} }
} }
#content { #content {
flex-grow: 1; flex-grow: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.flexSpacer { .flexSpacer {
flex-grow: 1; flex-grow: 1;
text-align: center; text-align: center;
} }
section > div:not(.profile), section > div:not(.profile),
section > article, section > article,
.section > div:not(.profile), .section > div:not(.profile),
.section > article { .section > article {
max-width: $layoutWidth; max-width: $layoutWidth;
width: 100%; width: 100%;
padding: 39px 20px; padding: 39px 20px;
margin: 0 auto; margin: 0 auto;
} }
article { article {
p { p {
text-align: justify; text-align: justify;
} }
a { a {
color: $accentColor; color: $accentColor;
text-decoration: underline dotted currentColor; text-decoration: underline dotted currentColor;
text-decoration-skip: none; text-decoration-skip: none;
} }
} }
h1 { h1 {
font-size: 2em; font-size: 2em;
color: $accentColor; color: $accentColor;
text-shadow: 0 0 20px rgba($accentColor, .2); text-shadow: 0 0 20px rgba($accentColor, 0.2);
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
text-shadow: 0 0 20px rgba($accentColor, .3); text-shadow: 0 0 20px rgba($accentColor, 0.3);
} }
} }

View file

@ -1,68 +1,68 @@
@import "../variables"; @import "../variables";
@import "../mixins"; @import "../mixins";
.friendsList { .friendsList {
@include flexList; @include flexList;
.friendProfile { .friendProfile {
@include cardGeneric; @include cardGeneric;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 300px; width: 300px;
flex-shrink: 0; flex-shrink: 0;
.friendImage { .friendImage {
width: 100%; width: 100%;
height: 300px; height: 300px;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
display: flex; display: flex;
padding: 10px; padding: 10px;
flex-direction: column-reverse; flex-direction: column-reverse;
text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black; text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black;
color: white; color: white;
.friendName { .friendName {
font-size: 2em; font-size: 2em;
margin-top: -5px; margin-top: -5px;
} }
.friendTitle { .friendTitle {
margin-top: auto; margin-top: auto;
} }
} }
.friendBio { .friendBio {
padding: 15px; padding: 15px;
flex-grow: 1; flex-grow: 1;
text-align: justify; text-align: justify;
display: block; display: block;
padding-bottom: 0; padding-bottom: 0;
} }
.contactLinks { .contactLinks {
padding: 15px; padding: 15px;
margin: 0; margin: 0;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.contactLink { .contactLink {
transition: text-decoration 0.5s; transition: text-decoration 0.5s;
text-decoration: underline dotted rgba(0, 0, 0, 0); text-decoration: underline dotted rgba(0, 0, 0, 0);
padding: 6px 0 6px 25px; padding: 6px 0 6px 25px;
color: $textColor; color: $textColor;
transition: color .25s; transition: color 0.25s;
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
color: $lightTextColor; color: $lightTextColor;
} }
> i { > i {
color: $accentColor; color: $accentColor;
margin-left: -25px; margin-left: -25px;
margin-right: 5px; margin-right: 5px;
} }
} }
} }
} }
} }

View file

@ -1,189 +1,193 @@
@import "../variables"; @import "../variables";
@import "../mixins"; @import "../mixins";
.heroSection { .heroSection {
width: 100%; width: 100%;
height: 600px; height: 600px;
overflow: hidden; overflow: hidden;
.heroSectionBg, .heroSectionBg,
.heroSectionBgOver { .heroSectionBgOver {
position: absolute; position: absolute;
width: 100%; width: 100%;
max-width: unset; max-width: unset;
height: 600px; height: 600px;
padding: 0; padding: 0;
@media (pointer: coarse), (pointer: none) { @media (pointer: coarse), (pointer: none) {
height: 700px; height: 700px;
} }
} }
.heroSectionBg { .heroSectionBg {
/*background: radial-gradient(ellipse at top left, #1f0ba659, transparent), /*background: radial-gradient(ellipse at top left, #1f0ba659, transparent),
radial-gradient(ellipse at bottom right, #4a086829, transparent);*/ radial-gradient(ellipse at bottom right, #4a086829, transparent);*/
background: linear-gradient(45deg, #000850 0%, #000320 100%), background: linear-gradient(45deg, #000850 0%, #000320 100%),
radial-gradient(100% 225% at 100% 0%, #ff6928 0%, #000000 100%), radial-gradient(100% 225% at 100% 0%, #ff6928 0%, #000000 100%),
linear-gradient(225deg, #ff7a00 0%, #000000 100%), linear-gradient(225deg, #ff7a00 0%, #000000 100%),
linear-gradient( linear-gradient(
135deg, 135deg,
#cdffeb 10%, #cdffeb 10%,
#cdffeb 35%, #cdffeb 35%,
#009f9d 35%, #009f9d 35%,
#009f9d 60%, #009f9d 60%,
#07456f 60%, #07456f 60%,
#07456f 67%, #07456f 67%,
#0f0a3c 67%, #0f0a3c 67%,
#0f0a3c 100% #0f0a3c 100%
); );
background-blend-mode: screen, overlay, hard-light, normal; background-blend-mode: screen, overlay, hard-light, normal;
} }
.heroSectionBgOver { .heroSectionBgOver {
background: linear-gradient(to bottom, transparent 80%, $background); background: linear-gradient(to bottom, transparent 80%, $background);
transition: background-image .25s; transition: background-image 0.25s;
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
background: linear-gradient(to bottom, transparent 90%, $lightBackground); background: linear-gradient(
} to bottom,
} transparent 90%,
$lightBackground
@media (pointer: coarse), (pointer: none) { );
height: 700px; }
} }
.profile { @media (pointer: coarse), (pointer: none) {
position: relative; height: 700px;
left: 50%; }
width: calc(90% - 40px);
max-width: 600px; .profile {
max-height: 400px; position: relative;
transform: translate(-50%, 0%); left: 50%;
top: 100px; width: calc(90% - 40px);
max-width: 600px;
.hello { max-height: 400px;
font-weight: 100; transform: translate(-50%, 0%);
opacity: 0.75; top: 100px;
display: block;
margin-bottom: -5px; .hello {
} font-weight: 100;
opacity: 0.75;
.name { display: block;
font-weight: 100; margin-bottom: -5px;
font-size: 2em; }
display: block;
} .name {
font-weight: 100;
.description { font-size: 2em;
font-weight: 100; display: block;
display: block; }
}
.description {
.contactLinks { font-weight: 100;
margin-top: 20px; display: block;
display: flex; }
flex-direction: column;
} .contactLinks {
margin-top: 20px;
.contactLink { display: flex;
transition: text-decoration 0.5s; flex-direction: column;
text-decoration: underline dotted rgba(0, 0, 0, 0); }
padding: 6px 0 6px 25px;
color: $textColor; .contactLink {
transition: text-decoration 0.5s;
@media (pointer: coarse), (pointer: none) { text-decoration: underline dotted rgba(0, 0, 0, 0);
padding-top: 15px; padding: 6px 0 6px 25px;
padding-bottom: 15px; color: $textColor;
}
} @media (pointer: coarse), (pointer: none) {
padding-top: 15px;
.contactLink:hover, padding-bottom: 15px;
.contactLink:active { }
text-decoration: underline dotted rgba(0, 0, 0, 0.5); }
}
.contactLink:hover,
.contactLink > i { .contactLink:active {
color: $accentColor; text-decoration: underline dotted rgba(0, 0, 0, 0.5);
margin-left: -25px; }
margin-right: 5px;
} .contactLink > i {
color: $accentColor;
.profileCard { margin-left: -25px;
width: calc(100% - 40px); margin-right: 5px;
height: calc(100% - 20px); }
transform: translate(40px, 20px);
border-radius: 5px; .profileCard {
padding: 20px 20px 20px 230px; width: calc(100% - 40px);
color: $textColor; height: calc(100% - 20px);
} transform: translate(40px, 20px);
border-radius: 5px;
.profileImage, padding: 20px 20px 20px 230px;
.profileImageDummy { color: $textColor;
display: inline-block; }
width: 250px;
height: 350px; .profileImage,
border-radius: 5px; .profileImageDummy {
position: absolute; display: inline-block;
z-index: 100; width: 250px;
background-color: #1c1c1c; height: 350px;
background-size: cover; border-radius: 5px;
background-position: center; position: absolute;
transition: transform 0.25s; z-index: 100;
} background-color: #1c1c1c;
background-size: cover;
.profileImage { background-position: center;
z-index: 20; transition: transform 0.25s;
box-shadow: -1px 11px 33px -10px #e5502b4b; }
clip-path: polygon(6% 8%, 88% 5%, 95% 91%, 7% 96%);
} .profileImage {
z-index: 20;
.profileImageDummy { box-shadow: -1px 11px 33px -10px #e5502b4b;
z-index: 10; clip-path: polygon(6% 8%, 88% 5%, 95% 91%, 7% 96%);
background: $accentColor; }
opacity: 0.2;
clip-path: polygon(14% 4%, 95% 1%, 88% 96%, 2% 89%); .profileImageDummy {
} z-index: 10;
background: $accentColor;
@media (max-width: 590px) { opacity: 0.2;
.profileImage, clip-path: polygon(14% 4%, 95% 1%, 88% 96%, 2% 89%);
.profileImageDummy { }
display: none;
} @media (max-width: 590px) {
.profileImage,
.profileCard { .profileImageDummy {
padding: 20px 20px 20px 20px; display: none;
transform: translate(20px, 20px); }
}
} .profileCard {
} padding: 20px 20px 20px 20px;
} transform: translate(20px, 20px);
}
.amazonAlexaSection, }
.donationSection, }
.hireMeSection { }
@include homeBanner;
} .amazonAlexaSection,
.donationSection,
.creditSection { .hireMeSection {
@include homeBanner; @include homeBanner;
}
> div {
padding: 15px !important; .creditSection {
line-height: 15px; @include homeBanner;
font-size: 1.2em;
color: white; > div {
padding: 15px !important;
> span > i { line-height: 15px;
line-height: 15px !important; font-size: 1.2em;
} color: white;
}
} > span > i {
line-height: 15px !important;
.seeMoreButton { }
@include button; }
width: fit-content; }
margin: 0 auto;
margin-top: 40px; .seeMoreButton {
padding: 10px 20px; @include button;
} width: fit-content;
margin: 0 auto;
margin-top: 40px;
padding: 10px 20px;
}

View file

@ -1,90 +1,90 @@
@import "../variables"; @import "../variables";
@import "../mixins"; @import "../mixins";
.projectList { .projectList {
@include flexList; @include flexList;
margin: 15px 0; margin: 15px 0;
} }
.projectCard { .projectCard {
@include cardGeneric; @include cardGeneric;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex-grow: 1; flex-grow: 1;
width: 250px; width: 250px;
flex-shrink: 0; flex-shrink: 0;
.projectCardActivityIndicator { .projectCardActivityIndicator {
position: absolute; position: absolute;
margin: 12px; margin: 12px;
padding: 2px 5px; padding: 2px 5px;
border-radius: 3px; border-radius: 3px;
&.activityIndicatorGreen { &.activityIndicatorGreen {
background: #26de81; background: #26de81;
} }
&.activityIndicatorYellow { &.activityIndicatorYellow {
background: #f7b731; background: #f7b731;
} }
&.activityIndicatorRed { &.activityIndicatorRed {
background: #fc5c65; background: #fc5c65;
} }
&.activityIndicatorBlue { &.activityIndicatorBlue {
background: #45aaf2; background: #45aaf2;
} }
} }
.projectCardImage { .projectCardImage {
width: 100%; width: 100%;
height: 250px; height: 250px;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black; text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black;
color: white; color: white;
} }
.projectCardMeta { .projectCardMeta {
padding: 10px; padding: 10px;
flex-grow: 1; flex-grow: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 10px; padding: 10px;
height: 100%; height: 100%;
background: linear-gradient(to bottom, transparent, black); background: linear-gradient(to bottom, transparent, black);
} }
.projectCardTitle { .projectCardTitle {
display: block; display: block;
font-size: 1.5em; font-size: 1.5em;
margin-top: auto; margin-top: auto;
} }
.projectCardCTA { .projectCardCTA {
display: block; display: block;
} }
.projectCardCTA a { .projectCardCTA a {
@include buttonBasic; @include buttonBasic;
} }
.projectCardCTAContainer { .projectCardCTAContainer {
display: flex; display: flex;
} }
@media (max-width: 900px) { @media (max-width: 900px) {
.projectCardCTAContainer { .projectCardCTAContainer {
flex-direction: column; flex-direction: column;
} }
.projectCardCTA:nth-child(2) { .projectCardCTA:nth-child(2) {
border-left: none; border-left: none;
} }
} }
.projectCardCTAContainer > * { .projectCardCTAContainer > * {
flex-grow: 1; flex-grow: 1;
} }
} }

View file

@ -1,33 +1,33 @@
@import "../variables"; @import "../variables";
@import "../mixins"; @import "../mixins";
.socialList { .socialList {
@include flexList; @include flexList;
.socialCard { .socialCard {
@include cardGeneric; @include cardGeneric;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.socialImage { .socialImage {
width: 300px; width: 300px;
height: 300px; height: 300px;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
display: flex; display: flex;
padding: 10px; padding: 10px;
flex-direction: column-reverse; flex-direction: column-reverse;
text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black; text-shadow: 0 0 10px black, 0 0 10px black, 0 0 20px black;
color: white; color: white;
.socialName { .socialName {
font-size: 2em; font-size: 2em;
margin-top: -5px; margin-top: -5px;
} }
.socialUsername { .socialUsername {
margin-top: auto; margin-top: auto;
} }
} }
} }
} }

View file

@ -1,105 +1,105 @@
@import "../variables"; @import "../variables";
.projectHeader { .projectHeader {
> div { > div {
padding-bottom: 0 !important; padding-bottom: 0 !important;
} }
.headerBackground { .headerBackground {
position: absolute; position: absolute;
left: 0; left: 0;
width: 100%; width: 100%;
height: 400px; height: 400px;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
} }
header { header {
position: absolute; position: absolute;
left: 0; left: 0;
width: 100%; width: 100%;
height: 400px; height: 400px;
background: linear-gradient( background: linear-gradient(
to bottom, to bottom,
rgba($background, 0.95), rgba($background, 0.95),
rgba($background, 0.25) 20%, rgba($background, 0.25) 20%,
rgba($background, 0.35) 80%, rgba($background, 0.35) 80%,
rgba($background, 1) 100% rgba($background, 1) 100%
); );
.headerInner { .headerInner {
max-width: $layoutWidth; max-width: $layoutWidth;
width: 100%; width: 100%;
height: 100%; height: 100%;
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
text-shadow: 0 0 10px black, 0 0 20px black; text-shadow: 0 0 10px black, 0 0 20px black;
padding: 10px 20px; padding: 10px 20px;
* { * {
margin: 0; margin: 0;
color: white; color: white;
font-size: 1.25em; font-size: 1.25em;
} }
h1 { h1 {
font-size: 2.2em; font-size: 2.2em;
margin-top: auto; margin-top: auto;
} }
} }
} }
.headerPlaceholder { .headerPlaceholder {
width: 100%; width: 100%;
height: 400px; height: 400px;
} }
} }
.projectAbout, .projectAbout,
.projectLinks { .projectLinks {
&:nth-of-type(2) { &:nth-of-type(2) {
> div, > div,
> article { > article {
padding-top: 20px; padding-top: 20px;
} }
} }
} }
.projectAbout { .projectAbout {
background: #060606; background: #060606;
color: white; color: white;
transition: background-color .25s, color .25s; transition: background-color 0.25s, color 0.25s;
@media(prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
background: $lightBackground; background: $lightBackground;
color: $lightTextColor; color: $lightTextColor;
} }
} }
.projectLinks { .projectLinks {
.linkList { .linkList {
display: flex; display: flex;
justify-content: center; justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
} }
a { a {
display: inline-block; display: inline-block;
border: thin solid rgb(200, 200, 200); border: thin solid rgb(200, 200, 200);
border-radius: 5px; border-radius: 5px;
padding: 10px 15px; padding: 10px 15px;
margin: 5px; margin: 5px;
color: inherit; color: inherit;
text-decoration-skip: none; text-decoration-skip: none;
text-decoration: underline dotted currentColor; text-decoration: underline dotted currentColor;
i.fab, i.fab,
i.fas, i.fas,
i.fa, i.fa,
i.far, i.far,
i.fal { i.fal {
display: inline; display: inline;
} }
} }
} }