site/content/assets/css/resume.css
2026-02-16 02:57:39 +01:00

538 lines
13 KiB
CSS
Executable file

@import url("theme.css");
/*****************************
* RESUME
* Styling for the resume page.
*****************************/
* {
z-index: 1;
}
body {
color: var(--dark-grey);
font-family: var(--general-sans);
li {
/* Remove the default styles for grids */
border: none !important;
&:hover {
box-shadow: none !important;
}
}
.twemoji {
--md-icon-size: 1.2rem !important;
vertical-align: middle !important;
}
}
/*****************************/
#experience {
min-height: 80vh;
.cards {
padding: 1rem;
h2 {
color: var(--dark-grey);
font-family: var(--general-sans);
font-size: 2.5rem;
line-height: 1;
margin: 0;
}
.company {
font-family: var(--general-sans);
font-weight: 400;
font-size: 1.2rem;
span {
font-size: 0.7rem;
font-weight: 400;
margin: 0 0 0 25px;
}
}
.job-blurb {
font-family: var(--general-serif);
font-size: 1.2rem;
font-variation-settings: "opsz" 8;
font-weight: 700;
line-height: 1.5;
margin-bottom: 30px;
margin-top: 30px;
}
.job-achievements {
font-family: var(--general-serif);
font-variation-settings: "opsz" 8;
h5 {
color: var(--dark-grey);
cursor: pointer;
font-size: 0.9rem;
margin: 0;
text-transform: none;
}
p {
margin: 0 0 10px 0;
}
}
}
.mambu {
background-image: url("../media/mambu-logo-272x263.png");
}
.spread {
background-image: url("../media/spread-ai-logo-125x144.png");
}
.mambu,
.spread {
background-size: contain;
background-repeat: no-repeat;
filter: saturate(0);
height: 112px;
margin-left: 3rem;
margin-right: 3rem;
position: relative;
&::after {
background: rgba(250, 250, 250, 0.70);
bottom: 0;
content: '';
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
z-index: -5;
}
}
}
#hero {
align-items: center;
background-image: url('../media/face-1276x1276.webp');
background-position: center center;
background-repeat: no-repeat;
background-size: 50vh;
display: flex;
flex-direction: column;
height: 100vh;
justify-content: center;
text-align: center;
z-index: -5;
&::after {
background: rgba(250, 250, 250, 0.95);
bottom: 0;
content: '';
position: absolute;
left: 0;
pointer-events: none;
right: 0;
top: 0;
}
.title {
font-family: var(--general-serif);
font-size: 5rem;
font-variation-settings: "opsz" 8;
font-weight: 900;
}
.metadetails {
border-bottom: 0.5px solid var(--light-grey);
border-top: 0.5px solid var(--light-grey);
display: flex;
flex-direction: row;
gap: 5rem;
margin-top: 1rem;
figcaption {
color: var(--dark-grey);
font-family: var(--general-sans);
font-size: 0.8rem;
font-style: normal;
font-weight: 400;
}
img {
height: 2.5rem;
}
}
}
#learning {
margin: 2.5rem;
.cards {
ul li {
background-color: var(--light-grey);
figure {
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: wrap;
margin: 0;
justify-content: center;
img {
max-width: 150px;
width: 30%;
min-width: 100px;
height: auto;
display: block;
padding: 20px;
}
figcaption {
color: var(--dark-grey);
flex: 1 1 200px;
font-family: var(--general-sans);
font-size: 0.8rem;
font-style: normal;
margin: 0;
text-align: left;
}
}
}
}
}
#skills {
margin: 2.5rem;
.cards {
ul li {
align-items: center;
display: flex;
flex-direction: column;
font-size: 1.8rem;
justify-content: flex-start;
padding: 1rem;
.technical-icons {
align-items: center;
column-gap: 1.5rem;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
row-gap: 1.5rem;
.technical {
span {
align-items: flex-end;
display: flex;
font-size: 0.7rem;
img,
svg {
height: 1rem;
margin-right: 5px;
max-height: 1rem;
max-width: 1rem;
object-fit: contain;
vertical-align: middle;
width: 1rem;
}
}
}
}
.writing-types {
font-size: 0.8rem;
justify-content: center;
margin-bottom: 0.7rem;
text-align: left;
svg {
height: 0.8rem;
}
}
.media-tools {
figure {
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: wrap;
margin: 0;
justify-content: center;
img {
max-width: 150px;
width: 20%;
min-width: 100px;
height: auto;
display: block;
padding: 20px;
}
figcaption {
color: var(--dark-grey);
flex: 1 1 200px;
font-family: var(--general-sans);
font-size: 0.8rem;
font-style: normal;
margin: 0;
text-align: left;
}
}
}
.ai {
grid-gap: 0.4rem;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
margin-top: 0;
img {
max-width: 150px;
width: 15%;
min-width: 100px;
height: auto;
display: block;
padding: 20px;
}
}
}
}
h3 {
border-bottom: 2px solid var(--dark-grey);
color: var(--dark-grey);
font-family: var(--general-serif);
font-size: 1.2rem;
font-variation-settings: "opsz" 8;
font-weight: 700;
}
}
.faq-container {
position: relative;
#faq-toggle {
&:checked {
&+.question-icon {
.icon.question {
opacity: 0;
}
.icon.close {
opacity: 1;
}
}
&~.faq {
opacity: 1;
visibility: visible;
}
}
}
.faq {
background-color: var(--neutral-grey);
border: 2px solid var(--dark-grey);
border-radius: 5px;
bottom: 50px;
opacity: 0;
padding: 20px;
position: fixed;
right: 20px;
transition: opacity 0.3s, visibility 0.3s;
visibility: hidden;
width: 400px;
z-index: 999;
h3 {
color: var(--dark-grey);
font-family: var(--general-serif);
font-size: 1.2rem;
font-variation-settings: "opsz" 8;
}
p {
font-size: 1rem;
}
}
.question-icon {
align-items: center;
bottom: 30px;
cursor: pointer;
display: flex;
justify-content: center;
position: fixed;
right: 20px;
width: 50px;
z-index: 1000;
.icon {
font-size: 1rem;
position: absolute;
transition: opacity 0.3s;
}
.icon.question {
opacity: 1;
}
.icon.close {
opacity: 0;
}
}
.visually-hidden {
height: 1px;
left: -9999px;
overflow: hidden;
position: absolute;
width: 1px;
}
}
.modal-container {
align-items: center;
background-color: rgba(250, 250, 250, 0.9);
display: none;
height: 100%;
justify-content: center;
position: fixed;
left: 0;
top: 0;
width: 100%;
z-index: 999;
&.is-visible {
display: flex;
}
.modal {
background-color: var(--neutral-grey);
border: 2px solid var(--dark-grey);
border-radius: 5px;
height: 80vh;
max-height: 1200px;
max-width: 1200px;
overflow: auto;
position: relative;
transition: opacity 0.3s, visibility 0.3s;
width: 80vw;
z-index: 999;
.body-image {
border: 1px solid var(--light-grey);
margin: 0 1rem;
width: 80%;
}
button {
background-color: var(--light-grey);
color: var(--dark-grey);
cursor: pointer;
border-radius: 5px;
font-size: 0.8rem;
font-weight: 700;
margin-bottom: 1rem;
margin-left: 1rem;
padding: 0.5rem;
}
h5 {
color: var(--dark-grey);
font-size: 0.8rem;
font-weight: 900;
margin-bottom: 0;
}
ul {
list-style-type: square;
li {
font-size: 1rem;
;
}
}
p {
margin-top: 0;
}
h5,
ul,
p {
padding: 0 1rem;
}
}
.close-icon {
position: absolute;
right: 5vw;
top: 5vh;
svg {
height: 1.8rem;
max-height: none;
width: 1.8rem;
}
}
}
.prefooter {
align-items: flex-start;
display: flex;
flex-direction: row;
gap: 2rem;
justify-content: center;
margin-top: 1.3rem;
margin-bottom: 0.5rem;
text-align: center;
div {
img {
height: 1.2rem;
}
&:last-child {
img {
height: 1.5rem;
}
}
}
}
.section-menu {
align-items: center;
background-color: var(--neutral-grey);
display: flex;
flex-direction: row;
font-size: 0.7rem;
font-weight: 400;
justify-content: center;
padding: 10px;
position: sticky;
text-align: center;
top: 0;
z-index: 100;
&>*:not(:last-child)::after {
content: " | ";
margin: 0 8px;
}
}