Remove deploy folder.
|
|
@ -1,50 +0,0 @@
|
|||
/*****************************
|
||||
* CHAPTER
|
||||
* Styling for chapter pages.
|
||||
*****************************/
|
||||
|
||||
/* Removing all padding, margins, etc. The content covers the entire viewing area */
|
||||
body,
|
||||
.md-content__inner,
|
||||
.md-main__inner,
|
||||
.md-grid {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
max-width: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
min-height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
article,
|
||||
.md-container,
|
||||
div.md-content {
|
||||
margin: 0;
|
||||
min-height: 100%;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
article.md-content__inner.md-typeset:before,
|
||||
article.md-content__inner.md-typeset:after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
/* Hide announcements bar on chapter pages */
|
||||
header,
|
||||
[data-md-component="skip"],
|
||||
[data-md-component="announce"],
|
||||
.md-content .md-typeset h1 {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide the repo stuff */
|
||||
.md-source {
|
||||
display: none !important;
|
||||
}
|
||||
|
|
@ -1,129 +0,0 @@
|
|||
@import url("theme.css");
|
||||
|
||||
/*****************************
|
||||
* INDEX
|
||||
* Styling for the homepage.
|
||||
*****************************/
|
||||
|
||||
.content {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
margin: 0 auto;
|
||||
max-width: 900px;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
.faces {
|
||||
align-items: center;
|
||||
flex-grow: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
min-height: 320px;
|
||||
margin-top: 0;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
.slide {
|
||||
border-radius: 10px;
|
||||
left: 50%;
|
||||
max-width: 600px;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
transform: translate(-50%, -50%);
|
||||
top: 50%;
|
||||
visibility: hidden;
|
||||
width: 80%;
|
||||
z-index: 1;
|
||||
|
||||
img {
|
||||
border-radius: 10px;
|
||||
display: block;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
height: 1.4em;
|
||||
justify-content: center;
|
||||
left: 50%;
|
||||
line-height: 1.4em;
|
||||
list-style: none;
|
||||
margin: 0 !important;
|
||||
max-width: 900px;
|
||||
overflow: visible;
|
||||
pointer-events: none;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
top: 20px;
|
||||
transform: translateX(-50%);
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
|
||||
li {
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
font-size: 15vw;
|
||||
inset: 0;
|
||||
justify-content: center;
|
||||
margin: 0 !important;
|
||||
padding: 0;
|
||||
pointer-events: auto;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
width: 100%;
|
||||
|
||||
a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
font-family: var(--words-title);
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
font-family: var(--visuals-title);
|
||||
}
|
||||
|
||||
&:nth-child(4) {
|
||||
font-family: var(--technical-title);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.hero {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
height: 100vh;
|
||||
justify-content: center;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
footer {
|
||||
background: repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px),
|
||||
repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px),
|
||||
radial-gradient(circle at 20px 20px, rgba(55, 65, 81, 0.12) 2px, transparent 2px),
|
||||
radial-gradient(circle at 40px 40px, rgba(55, 65, 81, 0.12) 2px, transparent 2px);
|
||||
font-family: var(--general-sans);
|
||||
}
|
||||
|
|
@ -1,538 +0,0 @@
|
|||
@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;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,189 +0,0 @@
|
|||
/*****************************
|
||||
* Theme
|
||||
* Base CSS file
|
||||
------------------------------
|
||||
* COLOURS
|
||||
*****************************/
|
||||
|
||||
/* Colour variables */
|
||||
:root {
|
||||
--background-color: #FAFAFA;
|
||||
--dark-grey: #343434;
|
||||
--darker-grey: #666666;
|
||||
--light-grey: #C9C9C9;
|
||||
--medium-grey: #979797;
|
||||
--neutral-grey: #FAFAFA;
|
||||
}
|
||||
|
||||
/* Adjust Zensical colours */
|
||||
[data-md-color-accent=custom] {
|
||||
--md-accent-bg-color: var(--neutral-grey);
|
||||
--md-default-bg-color: var(--neutral-grey);
|
||||
--md-footer-bg-color: var(--neutral-grey);
|
||||
--md-primary-bg-color: var(--neutral-grey);
|
||||
--md-primary-fg-color: var(--dark-grey);
|
||||
--md-primary-fg-color--dark: var(--dark-grey);
|
||||
--md-primary-fg-color--light: var(--light-grey);
|
||||
}
|
||||
|
||||
/*****************************
|
||||
* FONTS
|
||||
*****************************/
|
||||
|
||||
/* General */
|
||||
@font-face {
|
||||
font-family: 'Source Code';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/source-code.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Sans';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/source-sans.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Source Serif';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/source-serif.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Technical */
|
||||
@font-face {
|
||||
font-family: 'DM Mono';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/dm-mono.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'DM Sans';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/dm-sans.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Tiny5';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url('../fonts/tiny5.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Visual */
|
||||
@font-face {
|
||||
font-family: 'Plaster';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url('../fonts/plaster.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Rubik';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/rubik.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Words */
|
||||
@font-face {
|
||||
font-family: 'EB Garamond';
|
||||
font-style: italic;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/eb-garamond-italics.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'EB Garamond';
|
||||
font-style: normal;
|
||||
font-weight: 100 700;
|
||||
src: url('../fonts/eb-garamond.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Playfair Display SC';
|
||||
font-style: normal;
|
||||
font-weight: 900;
|
||||
src: url('../fonts/playfair-display-sc.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Variables */
|
||||
:root {
|
||||
--general-sans: 'Source Sans', sans-serif;
|
||||
--general-serif: 'Source Serif', serif;
|
||||
--general-code: 'Source Code', monospace;
|
||||
--technical-code: 'DM Mono', monospace;
|
||||
--technical-text: 'DM Sans', monospace;
|
||||
--technical-title: 'Tiny5', 'DM Mono', monospace;
|
||||
--visuals-text: 'Rubik', sans-serif;
|
||||
--visuals-title: 'Plaster', 'Rubik', sans-serif;
|
||||
--words-text: 'EB Garamond', serif;
|
||||
--words-title: 'Playfair Display SC', 'EB Garamond', serif;
|
||||
}
|
||||
|
||||
/* Colours and weights */
|
||||
.md-typeset {
|
||||
|
||||
a,
|
||||
figcaption {
|
||||
color: var(--medium-grey);
|
||||
max-width: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: var(--medium-grey);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: var(--darker-grey);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p {
|
||||
color: var(--dark-grey);
|
||||
}
|
||||
}
|
||||
|
||||
/* Sizes */
|
||||
|
||||
p {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/*****************************
|
||||
* RULES
|
||||
*****************************/
|
||||
|
||||
body {
|
||||
align-items: center;
|
||||
background-color: var(--neutral-grey);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
min-height: 100vh;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
footer {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
margin-bottom: 5px;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
footer>*:not(:last-child)::after {
|
||||
content: " | ";
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
|
|
@ -1,29 +0,0 @@
|
|||
-------------------------------------------------------------------------------
|
||||
Third-Party licenses
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Package: clipboard@2.0.11
|
||||
License: MIT
|
||||
Copyright: Zeno Rocha
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Package: escape-html@1.0.3
|
||||
License: MIT
|
||||
Copyright: 2012-2013 TJ Holowaychuk
|
||||
2015 Andreas Lubbe
|
||||
2015 Tiancheng "Timothy" Gu
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Package: focus-visible@5.2.1
|
||||
License: W3C
|
||||
Copyright: WICG
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Package: rxjs@7.8.2
|
||||
License: Apache-2.0
|
||||
Copyright: 2015-2018 Google, Inc.,
|
||||
2015-2018 Netflix, Inc.,
|
||||
2015-2018 Microsoft Corp. and contributors
|
||||
11
deploy/assets/js/gsap/CSSRulePlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* CSSRulePlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function h(){return"undefined"!=typeof window}function i(){return t||h()&&(t=window.gsap)&&t.registerPlugin&&t}function j(){return n||(s(),o||console.warn("Please gsap.registerPlugin(CSSPlugin, CSSRulePlugin)")),n}var t,n,c,o,s=function _initCore(e){t=e||i(),h()&&(c=document),t&&(o=t.plugins.css)&&(n=1)},r={version:"3.14.2",name:"cssRule",init:function init(e,t,n,i,s){if(!j()||void 0===e.cssText)return!1;var r=e._gsProxy=e._gsProxy||c.createElement("div");this.ss=e,this.style=r.style,r.style.cssText=e.cssText,o.prototype.init.call(this,r,t,n,i,s)},render:function render(e,t){for(var n,i=t._pt,s=t.style,r=t.ss;i;)i.r(e,i.d),i=i._next;for(n=s.length;-1<--n;)r[s[n]]=s[s[n]]},getRule:function getRule(e){j();var t,n,i,s,r=c.all?"rules":"cssRules",o=c.styleSheets,l=o.length,u=":"===e.charAt(0);for(e=(u?"":",")+e.split("::").join(":").toLowerCase()+",",u&&(s=[]);l--;){try{if(!(n=o[l][r]))continue;t=n.length}catch(e){console.warn(e);continue}for(;-1<--t;)if((i=n[t]).selectorText&&-1!==(","+i.selectorText.split("::").join(":").toLowerCase()+",").indexOf(e)){if(!u)return i.style;s.push(i.style)}}return s},register:s};i()&&t.registerPlugin(r),e.CSSRulePlugin=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/CustomBounce.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* CustomBounce 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).window=e.window||{})}(this,function(e){"use strict";function g(){return n||"undefined"!=typeof window&&(n=window.gsap)&&n.registerPlugin&&n}function h(e){n=g(),(j=n&&n.parseEase("_CE"))?(b=1,n.parseEase("bounce").config=function(e){return"object"==typeof e?t("",e):t("bounce("+e+")",{strength:+e})}):e&&console.warn("Please gsap.registerPlugin(CustomEase, CustomBounce)")}function i(e){var n,t=e.length,o=1/e[t-2];for(n=2;n<t;n+=2)e[n]=~~(e[n]*o*1e3)/1e3;e[t-2]=1}var n,b,j,t=function _create(e,n){b||h(1),n=n||{};var t,o,u,s,r,f,c,a=Math.min(.999,n.strength||.7),g=a,d=(n.squash||0)/100,p=d,l=1/.03,m=.2,C=1,w=.1,y=[0,0,.07,0,.1,1,.1,1],B=[0,0,0,0,.1,0,.1,0];for(r=0;r<200&&(f=w+(m*=g*((g+1)/2)),s=1-(C*=a*a),o=(u=w+.49*m)+.8*(u-(t=w+C/l)),d&&(w+=d,t+=d,u+=d,o+=d,f+=d,c=d/p,B.push(w-d,0,w-d,c,w-d/2,c,w,c,w,0,w,0,w,-.6*c,w+(f-w)/6,0,f,0),y.push(w-d,1,w,1,w,1),d*=a*a),y.push(w,1,t,s,u,s,o,s,f,1,f,1),a*=.95,l=C/(f-o),w=f,!(.999<s));r++);if(n.endAtStart&&"false"!==n.endAtStart){if(u=-.1,y.unshift(u,1,u,1,-.07,0),p)for(u-=d=2.5*p,y.unshift(u,1,u,1,u,1),B.splice(0,6),B.unshift(u,0,u,0,u,1,u+d/2,1,u+d,1,u+d,0,u+d,0,u+d,-.6,u+d+.033,0),r=0;r<B.length;r+=2)B[r]-=u;for(r=0;r<y.length;r+=2)y[r]-=u,y[r+1]=1-y[r+1]}return d&&(i(B),B[2]="C"+B[2],j(n.squashID||e+"-squash","M"+B.join(","))),i(y),y[2]="C"+y[2],j(e,"M"+y.join(","))},o=(CustomBounce.create=function create(e,n){return t(e,n)},CustomBounce.register=function register(e){n=e,h()},CustomBounce);function CustomBounce(e,n){this.ease=t(e,n)}g()&&n.registerPlugin(o),o.version="3.14.2",e.CustomBounce=o,e.default=o;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/CustomEase.min.js
vendored
11
deploy/assets/js/gsap/CustomWiggle.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* CustomWiggle 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function g(){return n||"undefined"!=typeof window&&(n=window.gsap)&&n.registerPlugin&&n}function i(e){return e}function j(e){if(!C)if(n=g(),M=n&&n.parseEase("_CE")){for(var t in y)y[t]=M("",y[t]);C=1,o("wiggle").config=function(e){return"object"==typeof e?o("",e):o("wiggle("+e+")",{wiggles:+e})}}else e&&console.warn("Please gsap.registerPlugin(CustomEase, CustomWiggle)")}function k(t,e){return"function"!=typeof t&&(t=n.parseEase(t)||M("",t)),t.custom||!e?t:function(e){return 1-t(e)}}var n,C,M,y={easeOut:"M0,1,C0.7,1,0.6,0,1,0",easeInOut:"M0,0,C0.1,0,0.24,1,0.444,1,0.644,1,0.6,0,1,0",anticipate:"M0,0,C0,0.222,0.024,0.386,0,0.4,0.18,0.455,0.65,0.646,0.7,0.67,0.9,0.76,1,0.846,1,1",uniform:"M0,0,C0,0.95,0,1,0,1,0,1,1,1,1,1,1,1,1,0,1,0"},o=function _create(e,t){C||j(1);var n,o,s,u,r,a,g,f,l,c=0|((t=t||{}).wiggles||10),p=1/c,d=p/2,m="anticipate"===t.type,h=y[t.type]||y.easeOut,w=i;if(m&&(w=h,h=y.easeOut),t.timingEase&&(w=k(t.timingEase)),t.amplitudeEase&&(h=k(t.amplitudeEase,!0)),f=[0,0,(a=w(d))/4,0,a/2,g=m?-h(d):h(d),a,g],"random"===t.type){for(f.length=4,n=w(p),o=2*Math.random()-1,l=2;l<c;l++)d=n,g=o,n=w(p*l),o=2*Math.random()-1,s=Math.atan2(o-f[f.length-3],n-f[f.length-4]),u=Math.cos(s)*p,r=Math.sin(s)*p,f.push(d-u,g-r,d,g,d+u,g+r);f.push(n,0,1,0)}else{for(l=1;l<c;l++)f.push(w(d+p/2),g),d+=p,g=(0<g?-1:1)*h(l*p),a=w(d),f.push(w(d-p/2),g,a,g);f.push(w(d+p/4),g,w(d+p/4),0,1,0)}for(l=f.length;-1<--l;)f[l]=~~(1e3*f[l])/1e3;return f[2]="C"+f[2],M(e,"M"+f.join(","))},t=(CustomWiggle.create=function create(e,t){return o(e,t)},CustomWiggle.register=function register(e){n=e,j()},CustomWiggle);function CustomWiggle(e,t){this.ease=o(e,t)}g()&&n.registerPlugin(t),t.version="3.14.2",e.CustomWiggle=t,e.default=t;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/Draggable.min.js
vendored
11
deploy/assets/js/gsap/DrawSVGPlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* DrawSVGPlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function l(){return"undefined"!=typeof window}function m(){return t||l()&&(t=window.gsap)&&t.registerPlugin&&t}function p(e){return Math.round(1e4*e)/1e4}function q(e){return parseFloat(e)||0}function r(e,t){var r=q(e);return~e.indexOf("%")?r/100*t:r}function s(e,t){return q(e.getAttribute(t))}function u(e,t,r,n,s,i){return D(Math.pow((q(r)-q(e))*s,2)+Math.pow((q(n)-q(t))*i,2))}function v(e){return console.warn(e)}function w(e){return"non-scaling-stroke"===e.getAttribute("vector-effect")}function z(e){if(!(e=k(e)[0]))return 0;var t,r,n,i,o,a,f,h=e.tagName.toLowerCase(),l=e.style,d=1,c=1;w(e)&&(c=e.getScreenCTM(),d=D(c.a*c.a+c.b*c.b),c=D(c.d*c.d+c.c*c.c));try{r=e.getBBox()}catch(e){v("Some browsers won't measure invisible elements (like display:none or masks inside defs).")}var g=r||{x:0,y:0,width:0,height:0},_=g.x,y=g.y,x=g.width,m=g.height;if(r&&(x||m)||!M[h]||(x=s(e,M[h][0]),m=s(e,M[h][1]),"rect"!==h&&"line"!==h&&(x*=2,m*=2),"line"===h&&(_=s(e,"x1"),y=s(e,"y1"),x=Math.abs(x-_),m=Math.abs(m-y))),"path"===h)i=l.strokeDasharray,l.strokeDasharray="none",t=e.getTotalLength()||0,p(d)!==p(c)&&!b&&(b=1)&&v("Warning: <path> length cannot be measured when vector-effect is non-scaling-stroke and the element isn't proportionally scaled."),t*=(d+c)/2,l.strokeDasharray=i;else if("rect"===h)t=2*x*d+2*m*c;else if("line"===h)t=u(_,y,_+x,y+m,d,c);else if("polyline"===h||"polygon"===h)for(n=e.getAttribute("points").match(P)||[],"polygon"===h&&n.push(n[0],n[1]),t=0,o=2;o<n.length;o+=2)t+=u(n[o-2],n[o-1],n[o],n[o+1],d,c)||0;else"circle"!==h&&"ellipse"!==h||(a=x/2*d,f=m/2*c,t=Math.PI*(3*(a+f)-D((3*a+f)*(a+3*f))));return t||0}function A(e,t){if(!(e=k(e)[0]))return[0,0];t=t||z(e)+1;var r=f.getComputedStyle(e),n=r.strokeDasharray||"",s=q(r.strokeDashoffset),i=n.indexOf(",");return i<0&&(i=n.indexOf(" ")),t<(n=i<0?t:q(n.substr(0,i)))&&(n=t),[-s||0,n-s||0]}function B(){l()&&(f=window,d=t=m(),k=t.utils.toArray,c=t.core.getStyleSaver,g=t.core.reverting||function(){},h=-1!==((f.navigator||{}).userAgent||"").indexOf("Edge"))}var t,k,f,h,d,b,c,g,P=/[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi,M={rect:["width","height"],circle:["r","r"],ellipse:["rx","ry"],line:["x2","y2"]},D=Math.sqrt,n={version:"3.14.2",name:"drawSVG",register:function register(e){t=e,B()},init:function init(e,t,n){if(!e.getBBox)return!1;d||B();var s,i,o,a=z(e);return this.styles=c&&c(e,"strokeDashoffset,strokeDasharray,strokeMiterlimit"),this.tween=n,this._style=e.style,this._target=e,t+""=="true"?t="0 100%":t?-1===(t+"").indexOf(" ")&&(t="0 "+t):t="0 0",i=function _parse(e,t,n){var s,i,o=e.indexOf(" ");return i=o<0?(s=void 0!==n?n+"":e,e):(s=e.substr(0,o),e.substr(o+1)),s=r(s,t),(i=r(i,t))<s?[i,s]:[s,i]}(t,a,(s=A(e,a))[0]),this._length=p(a),this._dash=p(s[1]-s[0]),this._offset=p(-s[0]),this._dashPT=this.add(this,"_dash",this._dash,p(i[1]-i[0]),0,0,0,0,0,1),this._offsetPT=this.add(this,"_offset",this._offset,p(-i[0]),0,0,0,0,0,1),h&&(o=f.getComputedStyle(e)).strokeLinecap!==o.strokeLinejoin&&(i=q(o.strokeMiterlimit),this.add(e.style,"strokeMiterlimit",i,i+.01)),this._live=w(e)||~(t+"").indexOf("live"),this._nowrap=~(t+"").indexOf("nowrap"),this._props.push("drawSVG"),1},render:function render(e,t){if(t.tween._time||!g()){var r,n,s,i,o=t._pt,a=t._style;if(o){for(t._live&&(r=z(t._target))!==t._length&&(n=r/t._length,t._length=r,t._offsetPT&&(t._offsetPT.s*=n,t._offsetPT.c*=n),t._dashPT?(t._dashPT.s*=n,t._dashPT.c*=n):t._dash*=n);o;)o.r(e,o.d),o=o._next;s=t._dash||e&&1!==e&&1e-4||0,r=t._length-s+.1,i=t._offset,s&&i&&s+Math.abs(i%t._length)>t._length-.05&&(i+=i<0?.005:-.005)&&(r+=.005),a.strokeDashoffset=s?i:i+.001,a.strokeDasharray=r<.1?"none":s?s+"px,"+(t._nowrap?999999:r)+"px":"0px, 999999px"}}else t.styles.revert()},getLength:z,getPosition:A};m()&&t.registerPlugin(n),e.DrawSVGPlugin=n,e.default=n;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/EasePack.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* EasePack 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).window=e.window||{})}(this,function(e){"use strict";function f(){return w||"undefined"!=typeof window&&(w=window.gsap)&&w.registerPlugin&&w}function g(e,n){return!!(void 0===e?n:e&&!~(e+"").indexOf("false"))}function h(e){if(w=e||f()){r=w.registerEase;var n,t=w.parseEase(),o=function createConfig(t){return function(e){var n=.5+e/2;t.config=function(e){return t(2*(1-e)*e*n+e*e)}}};for(n in t)t[n].config||o(t[n]);for(n in r("slow",a),r("expoScale",s),r("rough",u),c)"version"!==n&&w.core.globals(n,c[n])}}function i(e,n,t){var o=(e=Math.min(1,e||.7))<1?n||0===n?n:.7:0,r=(1-e)/2,i=r+e,a=g(t);return function(e){var n=e+(.5-e)*o;return e<r?a?1-(e=1-e/r)*e:n-(e=1-e/r)*e*e*e*n:i<e?a?1===e?0:1-(e=(e-i)/r)*e:n+(e-n)*(e=(e-i)/r)*e*e*e:a?1:n}}function j(n,e,t){var o=Math.log(e/n),r=e-n;return t=t&&w.parseEase(t),function(e){return(n*Math.exp(o*(t?t(e):e))-n)/r}}function k(e,n,t){this.t=e,this.v=n,t&&(((this.next=t).prev=this).c=t.v-n,this.gap=t.t-e)}function l(e){"object"!=typeof e&&(e={points:+e||20});for(var n,t,o,r,i,a,f,s=e.taper||"none",u=[],c=0,p=0|(+e.points||20),l=p,v=g(e.randomize,!0),d=g(e.clamp),h=w?w.parseEase(e.template):0,x=.4*(+e.strength||1);-1<--l;)n=v?Math.random():1/p*l,t=h?h(n):n,o="none"===s?x:"out"===s?(r=1-n)*r*x:"in"===s?n*n*x:n<.5?(r=2*n)*r*.5*x:(r=2*(1-n))*r*.5*x,v?t+=Math.random()*o-.5*o:l%2?t+=.5*o:t-=.5*o,d&&(1<t?t=1:t<0&&(t=0)),u[c++]={x:n,y:t};for(u.sort(function(e,n){return e.x-n.x}),a=new k(1,1,null),l=p;l--;)i=u[l],a=new k(i.x,i.y,a);return f=new k(0,0,a.t?a:a.next),function(e){var n=f;if(e>n.t){for(;n.next&&e>=n.t;)n=n.next;n=n.prev}else for(;n.prev&&e<=n.t;)n=n.prev;return(f=n).v+(e-n.t)/n.gap*n.c}}var w,r,a=i(.7);(a.ease=a).config=i;var s=j(1,2);s.config=j;var u=l();(u.ease=u).config=l;var c={SlowMo:a,RoughEase:u,ExpoScaleEase:s};for(var n in c)c[n].register=h,c[n].version="3.14.2";f()&&w.registerPlugin(a),e.EasePack=c,e.ExpoScaleEase=s,e.RoughEase=u,e.SlowMo=a,e.default=c;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/EaselPlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* EaselPlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function k(){return"undefined"!=typeof window}function l(){return h||k()&&(h=window.gsap)&&h.registerPlugin&&h}function m(){return r||t&&t.createjs||t||{}}function n(e){return console.warn(e)}function o(e){var t=e.getBounds&&e.getBounds();t||(t=e.nominalBounds||{x:0,y:0,width:100,height:100},e.setBounds&&e.setBounds(t.x,t.y,t.width,t.height)),e.cache&&e.cache(t.x,t.y,t.width,t.height),n("EaselPlugin: for filters to display in EaselJS, you must call the object's cache() method first. GSAP attempted to use the target's getBounds() for the cache but that may not be completely accurate. "+e)}function p(e,t,r){(b=b||m().ColorFilter)||n("EaselPlugin error: The EaselJS ColorFilter JavaScript file wasn't loaded.");for(var i,l,s,u,a,f,c=e.filters||[],d=c.length;d--;)if(c[d]instanceof b){l=c[d];break}if(l||(l=new b,c.push(l),e.filters=c),s=l.clone(),null!=t.tint)i=h.utils.splitColor(t.tint),u=null!=t.tintAmount?+t.tintAmount:1,s.redOffset=i[0]*u,s.greenOffset=i[1]*u,s.blueOffset=i[2]*u,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-u;else for(a in t)"exposure"!==a&&"brightness"!==a&&(s[a]=+t[a]);for(null!=t.exposure?(s.redOffset=s.greenOffset=s.blueOffset=255*(t.exposure-1),s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1):null!=t.brightness&&(u=t.brightness-1,s.redOffset=s.greenOffset=s.blueOffset=0<u?255*u:0,s.redMultiplier=s.greenMultiplier=s.blueMultiplier=1-Math.abs(u)),d=8;d--;)l[a=M[d]]!==s[a]&&(f=r.add(l,a,l[a],s[a],0,0,0,0,0,1))&&(f.op="easel_colorFilter");r._props.push("easel_colorFilter"),e.cacheID||o(e)}function u(e,t){if(!(e instanceof Array&&t instanceof Array))return t;var r,i,n=[],l=0,o=0;for(r=0;r<4;r++){for(i=0;i<5;i++)o=4===i?e[l+4]:0,n[l+i]=e[l]*t[i]+e[l+1]*t[i+5]+e[l+2]*t[i+10]+e[l+3]*t[i+15]+o;l+=5}return n}function z(e,t,r){(d=d||m().ColorMatrixFilter)||n("EaselPlugin: The EaselJS ColorMatrixFilter JavaScript file wasn't loaded.");for(var i,l,s,a,f=e.filters||[],c=f.length;-1<--c;)if(f[c]instanceof d){s=f[c];break}for(s||(s=new d(w.slice()),f.push(s),e.filters=f),l=s.matrix,i=w.slice(),null!=t.colorize&&(i=function _colorize(e,t,r){isNaN(r)&&(r=1);var i=h.utils.splitColor(t),n=i[0]/255,l=i[1]/255,o=i[2]/255,s=1-r;return u([s+r*n*x,r*n*y,r*n*_,0,0,r*l*x,s+r*l*y,r*l*_,0,0,r*o*x,r*o*y,s+r*o*_,0,0,0,0,0,1,0],e)}(i,t.colorize,Number(t.colorizeAmount))),null!=t.contrast&&(i=function _setContrast(e,t){return isNaN(t)?e:u([t+=.01,0,0,0,128*(1-t),0,t,0,0,128*(1-t),0,0,t,0,128*(1-t),0,0,0,1,0],e)}(i,Number(t.contrast))),null!=t.hue&&(i=function _setHue(e,t){if(isNaN(t))return e;t*=Math.PI/180;var r=Math.cos(t),i=Math.sin(t);return u([x+r*(1-x)+i*-x,y+r*-y+i*-y,_+r*-_+i*(1-_),0,0,x+r*-x+.143*i,y+r*(1-y)+.14*i,_+r*-_+-.283*i,0,0,x+r*-x+i*-(1-x),y+r*-y+i*y,_+r*(1-_)+i*_,0,0,0,0,0,1,0,0,0,0,0,1],e)}(i,Number(t.hue))),null!=t.saturation&&(i=function _setSaturation(e,t){if(isNaN(t))return e;var r=1-t,i=r*x,n=r*y,l=r*_;return u([i+t,n,l,0,0,i,n+t,l,0,0,i,n,l+t,0,0,0,0,0,1,0],e)}(i,Number(t.saturation))),c=i.length;-1<--c;)i[c]!==l[c]&&(a=r.add(l,c,l[c],i[c],0,0,0,0,0,1))&&(a.op="easel_colorMatrixFilter");r._props.push("easel_colorMatrixFilter"),e.cacheID||o(),r._matrix=l}function A(e){h=e||l(),k()&&(t=window),h&&(g=1)}var h,g,t,r,b,d,M="redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset".split(","),w=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],x=.212671,y=.71516,_=.072169,i={version:"3.14.2",name:"easel",init:function init(e,t,r,i,l){var o,s,u,a,f,c,d;for(o in g||(A(),h||n("Please gsap.registerPlugin(EaselPlugin)")),this.target=e,t)if(f=t[o],"colorFilter"===o||"tint"===o||"tintAmount"===o||"exposure"===o||"brightness"===o)u||(p(e,t.colorFilter||t,this),u=!0);else if("saturation"===o||"contrast"===o||"hue"===o||"colorize"===o||"colorizeAmount"===o)a||(z(e,t.colorMatrixFilter||t,this),a=!0);else if("frame"===o){if("string"==typeof f&&"="!==f.charAt(1)&&(c=e.labels))for(d=0;d<c.length;d++)c[d].label===f&&(f=c[d].position);(s=this.add(e,"gotoAndStop",e.currentFrame,f,i,l,Math.round,0,0,1))&&(s.op=o)}else null!=e[o]&&this.add(e,o,"get",f)},render:function render(e,t){for(var r=t._pt;r;)r.r(e,r.d),r=r._next;t.target.cacheID&&t.target.updateCache()},register:A,registerCreateJS:function(e){r=e}};l()&&h.registerPlugin(i),e.EaselPlugin=i,e.default=i;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/Flip.min.js
vendored
11
deploy/assets/js/gsap/GSDevTools.min.js
vendored
11
deploy/assets/js/gsap/InertiaPlugin.min.js
vendored
11
deploy/assets/js/gsap/MorphSVGPlugin.min.js
vendored
11
deploy/assets/js/gsap/MotionPathHelper.min.js
vendored
11
deploy/assets/js/gsap/MotionPathPlugin.min.js
vendored
11
deploy/assets/js/gsap/Observer.min.js
vendored
11
deploy/assets/js/gsap/Physics2DPlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* Physics2DPlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function j(){return t||"undefined"!=typeof window&&(t=window.gsap)&&t.registerPlugin&&t}function k(e){return Math.round(1e4*e)/1e4}function l(e){t=e||j(),v||(o=t.utils.getUnit,f=t.core.getStyleSaver,w=t.core.reverting||function(){},v=1)}function m(e,t,i,s,n){var r=e._gsap,a=r.get(e,t);this.p=t,this.set=r.set(e,t),this.s=this.val=parseFloat(a),this.u=o(a)||0,this.vel=i||0,this.v=this.vel/n,s||0===s?(this.acc=s,this.a=this.acc/(n*n)):this.acc=this.a=0}var t,v,o,f,w,u=Math.PI/180,i={version:"3.14.2",name:"physics2D",register:l,init:function init(e,t,i){v||l();var s=this,n=+t.angle||0,r=+t.velocity||0,a=+t.acceleration||0,o=t.xProp||"x",p=t.yProp||"y",c=t.accelerationAngle||0===t.accelerationAngle?+t.accelerationAngle:n;s.styles=f&&f(e,t.xProp&&"x"!==t.xProp?t.xProp+","+t.yProp:"transform"),s.target=e,s.tween=i,s.step=0,s.sps=30,t.gravity&&(a=+t.gravity,c=90),n*=u,c*=u,s.fr=1-(+t.friction||0),s._props.push(o,p),s.xp=new m(e,o,Math.cos(n)*r,Math.cos(c)*a,s.sps),s.yp=new m(e,p,Math.sin(n)*r,Math.sin(c)*a,s.sps),s.skipX=s.skipY=0},render:function render(e,t){var i,s,n,r,a,o,p=t.xp,l=t.yp,c=t.tween,v=t.target,f=t.step,u=t.sps,h=t.fr,d=t.skipX,g=t.skipY,y=c._from?c._dur-c._time:c._time;if(c._time||!w()){if(1===h)n=y*y*.5,i=p.s+p.vel*y+p.acc*n,s=l.s+l.vel*y+l.acc*n;else{for(r=o=(0|(y*=u))-f,o<0&&(p.v=p.vel/u,l.v=l.vel/u,p.val=p.s,l.val=l.s,r=o=(t.step=0)|y),a=y%1*h;o--;)p.v+=p.a,l.v+=l.a,p.v*=h,l.v*=h,p.val+=p.v,l.val+=l.v;i=p.val+p.v*a,s=l.val+l.v*a,t.step+=r}d||p.set(v,p.p,k(i)+p.u),g||l.set(v,l.p,k(s)+l.u)}else t.styles.revert()},kill:function kill(e){this.xp.p===e&&(this.skipX=1),this.yp.p===e&&(this.skipY=1)}};j()&&t.registerPlugin(i),e.Physics2DPlugin=i,e.default=i;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/PhysicsPropsPlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* PhysicsPropsPlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function i(){return t||"undefined"!=typeof window&&(t=window.gsap)&&t.registerPlugin&&t}function j(e){return Math.round(1e4*e)/1e4}function k(e){t=e||i(),p||(a=t.utils.getUnit,c=t.core.getStyleSaver,d=t.core.reverting||function(){},p=1)}function l(e,t,s,i,r,n){var o=e._gsap,f=o.get(e,t);this.p=t,this.set=o.set(e,t),this.s=this.val=parseFloat(f),this.u=a(f)||0,this.vel=s||0,this.v=this.vel/n,i||0===i?(this.acc=i,this.a=this.acc/(n*n)):this.acc=this.a=0,this.fr=1-(r||0)}var t,p,a,c,d,s={version:"3.14.2",name:"physicsProps",register:k,init:function init(e,t,s){p||k();var i,r=this;for(i in r.styles=c&&c(e),r.target=e,r.tween=s,r.step=0,r.sps=30,r.vProps=[],t){var n=t[i],o=n.velocity,f=n.acceleration,a=n.friction;(o||f)&&(r.vProps.push(new l(e,i,o,f,a,r.sps)),r._props.push(i),c&&r.styles.save(i),a&&(r.hasFr=1))}},render:function render(e,t){var s,i,r,n,o,f=t.vProps,l=t.tween,a=t.target,p=t.step,c=t.hasFr,u=t.sps,v=f.length,h=l._from?l._dur-l._time:l._time;if(l._time||!d())if(c){if((i=(0|(h*=u))-p)<0){for(;v--;)(s=f[v]).v=s.vel/u,s.val=s.s;v=f.length,t.step=p=0,i=0|h}for(r=h%1;v--;){for(s=f[v],n=i;n--;)s.v+=s.a,s.v*=s.fr,s.val+=s.v;s.set(a,s.p,j(s.val+s.v*r*s.fr)+s.u)}t.step+=i}else for(o=h*h*.5;v--;)(s=f[v]).set(a,s.p,j(s.s+s.vel*h+s.acc*o)+s.u);else t.styles.revert()},kill:function kill(e){for(var t=this.vProps,s=t.length;s--;)t[s].p===e&&t.splice(s,1)}};i()&&t.registerPlugin(s),e.PhysicsPropsPlugin=s,e.default=s;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/PixiPlugin.min.js
vendored
11
deploy/assets/js/gsap/ScrambleTextPlugin.min.js
vendored
11
deploy/assets/js/gsap/ScrollSmoother.min.js
vendored
11
deploy/assets/js/gsap/ScrollToPlugin.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* ScrollToPlugin 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved.
|
||||
* Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle, jack@greensock.com
|
||||
*/
|
||||
|
||||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).window=e.window||{})}(this,function(e){"use strict";function l(){return"undefined"!=typeof window}function m(){return f||l()&&(f=window.gsap)&&f.registerPlugin&&f}function n(e){return"string"==typeof e}function o(e){return"function"==typeof e}function p(e,t){var o="x"===t?"Width":"Height",n="scroll"+o,r="client"+o;return e===T||e===i||e===c?Math.max(i[n],c[n])-(T["inner"+o]||i[r]||c[r]):e[n]-e["offset"+o]}function q(e,t){var o="scroll"+("x"===t?"Left":"Top");return e===T&&(null!=e.pageXOffset?o="page"+t.toUpperCase()+"Offset":e=null!=i[o]?i:c),function(){return e[o]}}function s(e,t){if(!(e=y(e)[0])||!e.getBoundingClientRect)return console.warn("scrollTo target doesn't exist. Using 0")||{x:0,y:0};var o=e.getBoundingClientRect(),n=!t||t===T||t===c,r=n?{top:i.clientTop-(T.pageYOffset||i.scrollTop||c.scrollTop||0),left:i.clientLeft-(T.pageXOffset||i.scrollLeft||c.scrollLeft||0)}:t.getBoundingClientRect(),l={x:o.left-r.left,y:o.top-r.top};return!n&&t&&(l.x+=q(t,"x")(),l.y+=q(t,"y")()),l}function t(e,t,o,r,l){return isNaN(e)||"object"==typeof e?n(e)&&"="===e.charAt(1)?parseFloat(e.substr(2))*("-"===e.charAt(0)?-1:1)+r-l:"max"===e?p(t,o)-l:Math.min(p(t,o),s(e,t)[o]-l):parseFloat(e)-l}function u(){f=m(),l()&&f&&"undefined"!=typeof document&&document.body&&(T=window,c=document.body,i=document.documentElement,y=f.utils.toArray,f.config({autoKillThreshold:7}),h=f.config(),a=1)}var f,a,T,i,c,y,h,v,r={version:"3.14.2",name:"scrollTo",rawVars:1,register:function register(e){f=e,u()},init:function init(e,r,l,i,s){a||u();var p=this,c=f.getProperty(e,"scrollSnapType");p.isWin=e===T,p.target=e,p.tween=l,r=function _clean(e,t,r,l){if(o(e)&&(e=e(t,r,l)),"object"!=typeof e)return n(e)&&"max"!==e&&"="!==e.charAt(1)?{x:e,y:e}:{y:e};if(e.nodeType)return{y:e,x:e};var i,s={};for(i in e)s[i]="onAutoKill"!==i&&o(e[i])?e[i](t,r,l):e[i];return s}(r,i,e,s),p.vars=r,p.autoKill=!!("autoKill"in r?r:h).autoKill,p.getX=q(e,"x"),p.getY=q(e,"y"),p.x=p.xPrev=p.getX(),p.y=p.yPrev=p.getY(),v=v||f.core.globals().ScrollTrigger,"smooth"===f.getProperty(e,"scrollBehavior")&&f.set(e,{scrollBehavior:"auto"}),c&&"none"!==c&&(p.snap=1,p.snapInline=e.style.scrollSnapType,e.style.scrollSnapType="none"),null!=r.x?(p.add(p,"x",p.x,t(r.x,e,"x",p.x,r.offsetX||0),i,s),p._props.push("scrollTo_x")):p.skipX=1,null!=r.y?(p.add(p,"y",p.y,t(r.y,e,"y",p.y,r.offsetY||0),i,s),p._props.push("scrollTo_y")):p.skipY=1},render:function render(e,t){for(var o,n,r,l,i,s=t._pt,c=t.target,u=t.tween,f=t.autoKill,a=t.xPrev,y=t.yPrev,d=t.isWin,g=t.snap,x=t.snapInline;s;)s.r(e,s.d),s=s._next;o=d||!t.skipX?t.getX():a,r=(n=d||!t.skipY?t.getY():y)-y,l=o-a,i=h.autoKillThreshold,t.x<0&&(t.x=0),t.y<0&&(t.y=0),f&&(!t.skipX&&(i<l||l<-i)&&o<p(c,"x")&&(t.skipX=1),!t.skipY&&(i<r||r<-i)&&n<p(c,"y")&&(t.skipY=1),t.skipX&&t.skipY&&(u.kill(),t.vars.onAutoKill&&t.vars.onAutoKill.apply(u,t.vars.onAutoKillParams||[]))),d?T.scrollTo(t.skipX?o:t.x,t.skipY?n:t.y):(t.skipY||(c.scrollTop=t.y),t.skipX||(c.scrollLeft=t.x)),!g||1!==e&&0!==e||(n=c.scrollTop,o=c.scrollLeft,x?c.style.scrollSnapType=x:c.style.removeProperty("scroll-snap-type"),c.scrollTop=n+1,c.scrollLeft=o+1,c.scrollTop=n,c.scrollLeft=o),t.xPrev=t.x,t.yPrev=t.y,v&&v.update()},kill:function kill(e){var t="scrollTo"===e,o=this._props.indexOf(e);return!t&&"scrollTo_x"!==e||(this.skipX=1),!t&&"scrollTo_y"!==e||(this.skipY=1),-1<o&&this._props.splice(o,1),!this._props.length}};r.max=p,r.getOffset=s,r.buildGetter=q,r.config=function(e){for(var t in h||u()||(h=f.config()),e)h[t]=e[t]},m()&&f.registerPlugin(r),e.ScrollToPlugin=r,e.default=r;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
|
||||
|
||||
11
deploy/assets/js/gsap/ScrollTrigger.min.js
vendored
11
deploy/assets/js/gsap/SplitText.min.js
vendored
|
|
@ -1,11 +0,0 @@
|
|||
/*!
|
||||
* SplitText 3.14.2
|
||||
* https://gsap.com
|
||||
*
|
||||
* @license Copyright 2025, GreenSock. All rights reserved. Subject to the terms at https://gsap.com/standard-license.
|
||||
* @author: Jack Doyle
|
||||
*/
|
||||
|
||||
(function(W,A){typeof exports=="object"&&typeof module!="undefined"?A(exports):typeof define=="function"&&define.amd?define(["exports"],A):(W=typeof globalThis!="undefined"?globalThis:W||self,A(W.window=W.window||{}))})(this,function(W){"use strict";let A,I,Z=typeof Symbol=="function"?Symbol():"_split",K,he=()=>K||Y.register(window.gsap),$=typeof Intl!="undefined"&&"Segmenter"in Intl?new Intl.Segmenter:0,q=e=>typeof e=="string"?q(document.querySelectorAll(e)):"length"in e?Array.from(e).reduce((t,i)=>(typeof i=="string"?t.push(...q(i)):t.push(i),t),[]):[e],ee=e=>q(e).filter(t=>t instanceof HTMLElement),Q=[],U=function(){},de={add:e=>e()},pe=/\s+/g,te=new RegExp("\\p{RI}\\p{RI}|\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?(\\u{200D}\\p{Emoji}(\\p{EMod}|\\u{FE0F}\\u{20E3}?|[\\u{E0020}-\\u{E007E}]+\\u{E007F})?)*|.","gu"),J={left:0,top:0,width:0,height:0},ue=(e,t)=>{for(;++t<e.length&&e[t]===J;);return e[t]||J},ie=({element:e,html:t,ariaL:i,ariaH:n})=>{e.innerHTML=t,i?e.setAttribute("aria-label",i):e.removeAttribute("aria-label"),n?e.setAttribute("aria-hidden",n):e.removeAttribute("aria-hidden")},ne=(e,t)=>{if(t){let i=new Set(e.join("").match(t)||Q),n=e.length,a,c,l,o;if(i.size)for(;--n>-1;){c=e[n];for(l of i)if(l.startsWith(c)&&l.length>c.length){for(a=0,o=c;l.startsWith(o+=e[n+ ++a])&&o.length<l.length;);if(a&&o.length===l.length){e[n]=l,e.splice(n+1,a);break}}}}return e},le=e=>window.getComputedStyle(e).display==="inline"&&(e.style.display="inline-block"),M=(e,t,i)=>t.insertBefore(typeof e=="string"?document.createTextNode(e):e,i),X=(e,t,i)=>{let n=t[e+"sClass"]||"",{tag:a="div",aria:c="auto",propIndex:l=!1}=t,o=e==="line"?"block":"inline-block",d=n.indexOf("++")>-1,R=b=>{let m=document.createElement(a),E=i.length+1;return n&&(m.className=n+(d?" "+n+E:"")),l&&m.style.setProperty("--"+e,E+""),c!=="none"&&m.setAttribute("aria-hidden","true"),a!=="span"&&(m.style.position="relative",m.style.display=o),m.textContent=b,i.push(m),m};return d&&(n=n.replace("++","")),R.collection=i,R},fe=(e,t,i,n)=>{let a=X("line",i,n),c=window.getComputedStyle(e).textAlign||"left";return(l,o)=>{let d=a("");for(d.style.textAlign=c,e.insertBefore(d,t[l]);l<o;l++)d.appendChild(t[l]);d.normalize()}},se=(e,t,i,n,a,c,l,o,d,R)=>{var b;let m=Array.from(e.childNodes),E=0,{wordDelimiter:_,reduceWhiteSpace:B=!0,prepareText:V}=t,G=e.getBoundingClientRect(),O=G,D=!B&&window.getComputedStyle(e).whiteSpace.substring(0,3)==="pre",S=0,x=i.collection,r,f,H,s,g,y,z,h,p,k,C,T,N,L,w,u,F,v;for(typeof _=="object"?(H=_.delimiter||_,f=_.replaceWith||""):f=_===""?"":_||" ",r=f!==" ";E<m.length;E++)if(s=m[E],s.nodeType===3){for(w=s.textContent||"",B?w=w.replace(pe," "):D&&(w=w.replace(/\n/g,f+`
|
||||
`)),V&&(w=V(w,e)),s.textContent=w,g=f||H?w.split(H||f):w.match(o)||Q,F=g[g.length-1],h=r?F.slice(-1)===" ":!F,F||g.pop(),O=G,z=r?g[0].charAt(0)===" ":!g[0],z&&M(" ",e,s),g[0]||g.shift(),ne(g,d),c&&R||(s.textContent=""),p=1;p<=g.length;p++)if(u=g[p-1],!B&&D&&u.charAt(0)===`
|
||||
`&&((b=s.previousSibling)==null||b.remove(),M(document.createElement("br"),e,s),u=u.slice(1)),!B&&u==="")M(f,e,s);else if(u===" ")e.insertBefore(document.createTextNode(" "),s);else{if(r&&u.charAt(0)===" "&&M(" ",e,s),S&&p===1&&!z&&x.indexOf(S.parentNode)>-1?(y=x[x.length-1],y.appendChild(document.createTextNode(n?"":u))):(y=i(n?"":u),M(y,e,s),S&&p===1&&!z&&y.insertBefore(S,y.firstChild)),n)for(C=$?ne([...$.segment(u)].map(j=>j.segment),d):u.match(o)||Q,v=0;v<C.length;v++)y.appendChild(C[v]===" "?document.createTextNode(" "):n(C[v]));if(c&&R){if(w=s.textContent=w.substring(u.length+1,w.length),k=y.getBoundingClientRect(),k.top>O.top&&k.left<=O.left){for(T=e.cloneNode(),N=e.childNodes[0];N&&N!==y;)L=N,N=N.nextSibling,T.appendChild(L);e.parentNode.insertBefore(T,e),a&&le(T)}O=k}(p<g.length||h)&&M(p>=g.length?" ":r&&u.slice(-1)===" "?" "+f:f,e,s)}e.removeChild(s),S=0}else s.nodeType===1&&(l&&l.indexOf(s)>-1?(x.indexOf(s.previousSibling)>-1&&x[x.length-1].appendChild(s),S=s):(se(s,t,i,n,a,c,l,o,d,!0),S=0),a&&le(s))};const re=class ae{constructor(t,i){this.isSplit=!1,he(),this.elements=ee(t),this.chars=[],this.words=[],this.lines=[],this.masks=[],this.vars=i,this.elements.forEach(l=>{var o;i.overwrite!==!1&&((o=l[Z])==null||o._data.orig.filter(({element:d})=>d===l).forEach(ie)),l[Z]=this}),this._split=()=>this.isSplit&&this.split(this.vars);let n=[],a,c=()=>{let l=n.length,o;for(;l--;){o=n[l];let d=o.element.offsetWidth;if(d!==o.width){o.width=d,this._split();return}}};this._data={orig:n,obs:typeof ResizeObserver!="undefined"&&new ResizeObserver(()=>{clearTimeout(a),a=setTimeout(c,200)})},U(this),this.split(i)}split(t){return(this._ctx||de).add(()=>{this.isSplit&&this.revert(),this.vars=t=t||this.vars||{};let{type:i="chars,words,lines",aria:n="auto",deepSlice:a=!0,smartWrap:c,onSplit:l,autoSplit:o=!1,specialChars:d,mask:R}=this.vars,b=i.indexOf("lines")>-1,m=i.indexOf("chars")>-1,E=i.indexOf("words")>-1,_=m&&!E&&!b,B=d&&("push"in d?new RegExp("(?:"+d.join("|")+")","gu"):d),V=B?new RegExp(B.source+"|"+te.source,"gu"):te,G=!!t.ignore&&ee(t.ignore),{orig:O,animTime:D,obs:S}=this._data,x;(m||E||b)&&(this.elements.forEach((r,f)=>{O[f]={element:r,html:r.innerHTML,ariaL:r.getAttribute("aria-label"),ariaH:r.getAttribute("aria-hidden")},n==="auto"?r.setAttribute("aria-label",(r.textContent||"").trim()):n==="hidden"&&r.setAttribute("aria-hidden","true");let H=[],s=[],g=[],y=m?X("char",t,H):null,z=X("word",t,s),h,p,k,C;if(se(r,t,z,y,_,a&&(b||_),G,V,B,!1),b){let T=q(r.childNodes),N=fe(r,T,t,g),L,w=[],u=0,F=T.map(P=>P.nodeType===1?P.getBoundingClientRect():J),v=J,j;for(h=0;h<T.length;h++)L=T[h],L.nodeType===1&&(L.nodeName==="BR"?((!h||T[h-1].nodeName!=="BR")&&(w.push(L),N(u,h+1)),u=h+1,v=ue(F,h)):(j=F[h],h&&j.top>v.top&&j.left<v.left+v.width-1&&(N(u,h),u=h),v=j));u<h&&N(u,h),w.forEach(P=>{var oe;return(oe=P.parentNode)==null?void 0:oe.removeChild(P)})}if(!E){for(h=0;h<s.length;h++)if(p=s[h],m||!p.nextSibling||p.nextSibling.nodeType!==3)if(c&&!b){for(k=document.createElement("span"),k.style.whiteSpace="nowrap";p.firstChild;)k.appendChild(p.firstChild);p.replaceWith(k)}else p.replaceWith(...p.childNodes);else C=p.nextSibling,C&&C.nodeType===3&&(C.textContent=(p.textContent||"")+(C.textContent||""),p.remove());s.length=0,r.normalize()}this.lines.push(...g),this.words.push(...s),this.chars.push(...H)}),R&&this[R]&&this.masks.push(...this[R].map(r=>{let f=r.cloneNode();return r.replaceWith(f),f.appendChild(r),r.className&&(f.className=r.className.trim()+"-mask"),f.style.overflow="clip",f}))),this.isSplit=!0,I&&b&&(o?I.addEventListener("loadingdone",this._split):I.status==="loading"&&console.warn("SplitText called before fonts loaded")),(x=l&&l(this))&&x.totalTime&&(this._data.anim=D?x.totalTime(D):x),b&&o&&this.elements.forEach((r,f)=>{O[f].width=r.offsetWidth,S&&S.observe(r)})}),this}kill(){let{obs:t}=this._data;t&&t.disconnect(),I==null||I.removeEventListener("loadingdone",this._split)}revert(){var t,i;if(this.isSplit){let{orig:n,anim:a}=this._data;this.kill(),n.forEach(ie),this.chars.length=this.words.length=this.lines.length=n.length=this.masks.length=0,this.isSplit=!1,a&&(this._data.animTime=a.totalTime(),a.revert()),(i=(t=this.vars).onRevert)==null||i.call(t,this)}return this}static create(t,i){return new ae(t,i)}static register(t){A=A||t||window.gsap,A&&(q=A.utils.toArray,U=A.core.context||U),!K&&window.innerWidth>0&&(I=document.fonts,K=!0)}};re.version="3.14.2";let Y=re;W.SplitText=Y,W.default=Y;if (typeof(window)==="undefined"||window!==W){Object.defineProperty(W,"__esModule",{value:!0})} else {delete W.default}});
|
||||
11
deploy/assets/js/gsap/TextPlugin.min.js
vendored
11
deploy/assets/js/gsap/gsap.min.js
vendored
|
|
@ -1,93 +0,0 @@
|
|||
// INDEX.js
|
||||
// Manages the animations on the homepage
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
// Register the GSAP plugin to use
|
||||
try { gsap.registerPlugin(ScrollTrigger); } catch (e) { console.warn(e); }
|
||||
console.clear();
|
||||
|
||||
// Lists the assets to use: backgrounds, images, and content
|
||||
const backgroundPatterns = {
|
||||
0: `none`,
|
||||
1: `
|
||||
repeating-linear-gradient(0deg, rgba(75, 85, 99, 0.08), rgba(75, 85, 99, 0.08) 2px, transparent 2px, transparent 6px),
|
||||
repeating-linear-gradient(90deg, rgba(107, 114, 128, 0.06), rgba(107, 114, 128, 0.06) 2px, transparent 2px, transparent 6px)
|
||||
`,
|
||||
2: `
|
||||
repeating-linear-gradient(22.5deg, transparent, transparent 2px, rgba(75, 85, 99, 0.06) 2px, rgba(75, 85, 99, 0.06) 3px, transparent 3px, transparent 8px),
|
||||
repeating-linear-gradient(67.5deg, transparent, transparent 2px, rgba(107, 114, 128, 0.05) 2px, rgba(107, 114, 128, 0.05) 3px, transparent 3px, transparent 8px),
|
||||
repeating-linear-gradient(112.5deg, transparent, transparent 2px, rgba(55, 65, 81, 0.04) 2px, rgba(55, 65, 81, 0.04) 3px, transparent 3px, transparent 8px),
|
||||
repeating-linear-gradient(157.5deg, transparent, transparent 2px, rgba(31, 41, 55, 0.03) 2px, rgba(31, 41, 55, 0.03) 3px, transparent 3px, transparent 8px)
|
||||
`,
|
||||
3: `
|
||||
repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px),
|
||||
repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px),
|
||||
radial-gradient(circle at 20px 20px, rgba(55, 65, 81, 0.12) 2px, transparent 2px),
|
||||
radial-gradient(circle at 40px 40px, rgba(55, 65, 81, 0.12) 2px, transparent 2px)
|
||||
`,
|
||||
};
|
||||
const pinSection = document.querySelector(".pin-section");
|
||||
const list = pinSection?.querySelector(".list");
|
||||
const listItems = list ? gsap.utils.toArray("li", list) : [];
|
||||
const slides = pinSection ? gsap.utils.toArray(".slide", pinSection) : [];
|
||||
|
||||
// Sets the initial state and settings for the animation
|
||||
if (!pinSection || listItems.length === 0 || slides.length === 0) {
|
||||
console.warn("Missing required elements for animation.");
|
||||
} else {
|
||||
gsap.set(listItems, { autoAlpha: 0 });
|
||||
gsap.set(slides, { autoAlpha: 0, display: "none" });
|
||||
|
||||
gsap.set(listItems[0], { autoAlpha: 1 });
|
||||
gsap.set(slides[0], { autoAlpha: 1, display: "block" });
|
||||
gsap.set(pinSection, { backgroundImage: backgroundPatterns[0], backgroundColor: "white" });
|
||||
|
||||
const totalSteps = listItems.length;
|
||||
const endDistance = totalSteps * 80; // Set the scroll length
|
||||
const endString = "+=" + endDistance + "%";
|
||||
|
||||
const tl = gsap.timeline({
|
||||
scrollTrigger: {
|
||||
trigger: pinSection,
|
||||
start: "top top",
|
||||
end: endString,
|
||||
pin: true,
|
||||
scrub: true
|
||||
}
|
||||
});
|
||||
|
||||
tl.to({}, { duration: 0.4 });
|
||||
|
||||
// The initial fill scale so it represents a single list item
|
||||
listItems.forEach((item, i) => {
|
||||
if (i > 0) {
|
||||
tl.to(item, { autoAlpha: 1, duration: 0.2 }, "+=0.4")
|
||||
.to(slides[i], { autoAlpha: 1, display: "block", duration: 0.2 }, "<")
|
||||
.to(listItems[i - 1], { autoAlpha: 0, duration: 0.2 }, "<0.2")
|
||||
.to(slides[i - 1], { autoAlpha: 0, display: "none", duration: 0.2 }, "<")
|
||||
// set the background for this step (use a tiny instant tween so ScrollTrigger respects it)
|
||||
.set(pinSection, { backgroundImage: backgroundPatterns[i] });
|
||||
}
|
||||
});
|
||||
|
||||
// Ensures the final state stays visible
|
||||
tl.to(listItems[totalSteps - 1], { autoAlpha: 1, duration: 0.2 }, "+=0.5")
|
||||
.set(pinSection, { backgroundImage: backgroundPatterns[totalSteps - 1] });
|
||||
}
|
||||
|
||||
// Attach links to pages
|
||||
const links = ['#', '/words', '/visuals', '/technical'];
|
||||
document.querySelectorAll('.list li').forEach((item, index) => {
|
||||
item.innerHTML = `<a href="${links[index]}">${item.innerHTML}</a>`;
|
||||
});
|
||||
document.querySelectorAll('.slide').forEach((slide, index) => {
|
||||
slide.innerHTML = `<a href="${links[index]}">${slide.innerHTML}</a>`;
|
||||
});
|
||||
});
|
||||
|
||||
// Hide the scroll icon when at the end of the page
|
||||
window.addEventListener('scroll', function () {
|
||||
if (window.innerHeight + window.scrollY >= document.body.offsetHeight) {
|
||||
document.getElementById('down-arrow').classList.add('hidden');
|
||||
}
|
||||
});
|
||||
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 175 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 82 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 357 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 7 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 364 KiB |
|
Before Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 542 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |