KevinK.dev.js/src/pages/index.module.scss

453 lines
9.9 KiB
SCSS

@import "../globals";
.heroSection {
width: 100%;
flex-grow: 1;
overflow: hidden;
display: flex;
flex-direction: column;
min-height: 800px;
//scroll-snap-align: start;
padding-top: 100px;
position: relative;
.heroSectionBg,
.heroSectionBgOver {
position: absolute;
width: 100%;
max-width: unset;
height: 100%;
padding: 0;
top: 0;
left: 0;
> canvas {
opacity: 0;
}
}
.spacer {
flex-grow: 1;
padding: 0;
margin: 0;
}
.heroSectionBg {
@include homeBg;
}
.heroSectionBgOver {
bottom: 0;
height: 150px;
@media (max-width: 950px) {
display: none;
}
@media (prefers-color-scheme: light) {
background-color: var(--color-background);
}
}
.landingCta {
position: relative;
display: flex;
justify-content: space-around;
@media (max-width: 1000px) {
flex-direction: column;
bottom: 0;
}
a {
@include cardGeneric;
display: flex;
padding: $layoutPadding;
background-color: var(--color-background);
margin: $layoutPadding;
color: var(--color-text);
font-size: 1.6em;
text-decoration: none;
border-radius: 10px;
align-items: center;
@media (max-width: 1000px) {
margin: 10px;
font-size: 1.2em;
}
> svg {
margin-left: $layoutPadding;
flex-shrink: 0;
}
> div {
display: flex;
flex-direction: column;
flex-grow: 1;
flex-shrink: 0;
.ctaAccent {
color: var(--color-accent);
font-weight: 700;
margin-right: 10px;
}
}
}
}
.profile {
position: relative;
left: 50%;
width: calc(90% - 40px);
max-width: 600px;
transform: translate(-50%, 0%);
text-shadow: 0 0 40px black;
.hello {
font-weight: 300;
opacity: 0.75;
display: block;
margin-bottom: -5px;
}
.name {
font-weight: 400;
font-size: 1.8em;
display: block;
}
.description {
font-weight: 300;
display: block;
}
.contactLinks {
margin-top: 20px;
display: flex;
flex-direction: column;
}
.contactLink {
transition: text-decoration 0.5s;
text-decoration: underline dotted rgba(white, 0);
padding: 6px 0 6px 0;
color: inherit;
display: flex;
align-items: center;
svg {
margin-right: 10px;
color: var(--color-accent);
flex-shrink: 0;
}
@media (pointer: coarse), (pointer: none) {
padding-top: 15px;
padding-bottom: 15px;
}
}
.contactLink:hover,
.contactLink:active {
text-decoration: underline dotted rgba(white, 0.5);
}
.contactLink > i {
color: var(--color-accent);
margin-left: -25px;
margin-right: 5px;
}
.profileCard {
width: calc(100% - 40px);
height: calc(100% - 20px);
transform: translate(40px, 20px);
border-radius: 5px;
padding: 20px 20px 20px 230px;
color: white;
}
.profileImage,
.profileImageDummy {
display: inline-block;
width: 250px;
height: 350px;
border-radius: 5px;
position: absolute;
z-index: 100;
background-color: #1c1c1c;
background-size: cover;
background-position: center;
transition: transform 0.25s;
}
.profileImage {
z-index: 20;
box-shadow: $homeProfileShadow;
clip-path: $homeProfileClipFront;
}
.profileImageDummy {
z-index: 10;
background: var(--color-accent);
opacity: 0.2;
clip-path: $homeProfileClipBack;
}
@media (max-width: 690px) {
.profileImage,
.profileImageDummy {
display: none;
}
.profileCard {
padding: 20px 20px 20px 20px;
transform: translate(20px, 20px);
}
}
}
}
.amazonAlexaSection,
.donationSection,
.hireMeSection {
@include homeBanner;
svg {
height: 50px;
}
}
.creditSection {
@include homeBanner;
> div {
padding: 15px !important;
line-height: 15px;
font-size: 1.2em;
> span {
display: flex;
align-items: center;
svg {
margin-right: 10px;
}
}
}
}
.seeMoreButton {
@include button;
width: fit-content;
margin: 0 auto;
margin-top: 40px;
padding: 10px 20px;
}
.aboutSection {
> article {
display: flex;
align-items: flex-start;
> div {
width: calc(50% - 40px);
flex-shrink: 0;
}
.aboutText {
margin-right: 20px;
}
.skills {
margin-left: 20px;
.skillList {
display: flex;
flex-wrap: wrap;
justify-content: center;
.skill {
border: thin solid currentColor;
border-radius: 100px;
padding: 5px 10px;
margin: 5px;
&.skill_framework {
color: var(--color-skill-1);
}
&.skill_platform {
color: var(--color-skill-2);
}
&.skill_program {
color: var(--color-skill-3);
}
&.skill_os {
color: var(--color-skill-4);
}
&.skill_language {
color: var(--color-skill-5);
}
}
}
}
@media (max-width: 900px) {
flex-direction: column;
> div {
width: 100%;
}
.skills,
.aboutText {
margin-left: 0;
margin-right: 0;
}
}
}
}
.careerContainer {
position: relative;
margin: 0 10px;
display: flex;
flex-direction: column;
padding: 10px 0;
padding-bottom: 40px;
.birth {
position: absolute;
bottom: 0;
left: 7.5px;
display: flex;
align-items: center;
> svg {
margin-right: $layoutPadding;
}
}
.mainline {
position: absolute;
top: 10px;
left: 17px;
width: 5px;
height: calc(100% - 40px);
background-color: var(--color-accent);
border-radius: 100px;
box-shadow: $aboutCVShadow;
&::before {
content: " ";
position: absolute;
top: -10px;
left: 0;
width: 5px;
height: 5px;
background-color: var(--color-accent);
border-radius: 100px;
box-shadow: $aboutCVShadow;
}
}
.entry {
position: relative;
margin: 20px 10px;
--entry-color: var(--color-accent);
&:first-child {
margin-top: 0;
}
&:last-child {
margin-bottom: 0;
}
&::before {
position: absolute;
left: 0;
top: 10px;
transform: translate(0, -50%);
content: " ";
border: 5px solid var(--entry-color);
width: 10px;
height: 10px;
border-radius: 100%;
background-color: white;
}
&::after {
position: absolute;
left: 18px;
top: 10px;
transform: translate(0, -50%);
content: " ";
background-color: var(--entry-color);
width: 25px;
height: 5px;
border-radius: 100px;
}
> .entryContent {
margin-left: 50px;
position: relative;
display: flex;
flex-direction: column;
.title {
display: flex;
color: var(--entry-color);
font-size: 1.7em;
font-weight: 700;
margin-bottom: $layoutPadding;
align-items: center;
> svg {
margin-right: 10px;
width: 25px;
height: 25px;
flex-shrink: 0;
}
}
.date {
opacity: 0.75;
}
a {
display: flex;
align-items: center;
color: var(--entry-color);
text-decoration: underline dotted currentColor;
> svg {
margin-right: 5px;
}
}
p {
margin: 0;
margin-bottom: $layoutPadding;
}
}
&.entryTypeeducation {
--entry-color: var(--color-cv-edu);
}
&.entryTypeapprenticeship {
--entry-color: var(--color-cv-intern-apprentice);
}
&.entryTypeinternship {
--entry-color: var(--color-cv-intern-apprentice);
}
}
}