diff --git a/src/components/molecules/ProcessStep.svelte b/src/components/molecules/ProcessStep.svelte index bae8d43..5186a7c 100644 --- a/src/components/molecules/ProcessStep.svelte +++ b/src/components/molecules/ProcessStep.svelte @@ -5,29 +5,42 @@
- {#if image} - {image.title} + {#if image || video} +
+ {#if image} + {image.title} + {:else if video} + + {/if} +
{/if}
diff --git a/src/routes/about/+page.server.ts b/src/routes/about/+page.server.ts index 211a586..7b062d4 100644 --- a/src/routes/about/+page.server.ts +++ b/src/routes/about/+page.server.ts @@ -42,11 +42,14 @@ export const load: PageServerLoad = async () => { process_steps { title text + media_type image { id title width, height } + video_mp4 { id } + video_webm { id } } process_intention diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index ef65360..7b9d16d 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -19,6 +19,7 @@ import AboutGridPhoto from '$components/atoms/AboutGridPhoto.svelte' import Heading from '$components/molecules/Heading.svelte' import ProcessStep from '$components/molecules/ProcessStep.svelte' + import InteractiveGlobe2 from '$components/organisms/InteractiveGlobe2.svelte' import ShopModule from '$components/organisms/ShopModule.svelte' import NewsletterModule from '$components/organisms/NewsletterModule.svelte' @@ -262,11 +263,19 @@

{about.process_subtitle}

-
{#each about.process_steps as step, index} - + {/each}
diff --git a/src/style/molecules/_process-step.scss b/src/style/molecules/_process-step.scss index 1170911..f59bfd2 100644 --- a/src/style/molecules/_process-step.scss +++ b/src/style/molecules/_process-step.scss @@ -21,12 +21,13 @@ } // Image - :global(.image) { + .media { position: relative; z-index: 2; display: block; overflow: hidden; width: 70%; + max-height: 580px; margin: 0 auto 64px; border-radius: 6px; @@ -38,12 +39,20 @@ margin-bottom: 0; } - :global(img) { + video, :global(.image) { display: block; - width: 100%; height: 100%; + width: 100%; object-fit: cover; } + :global(.image) { + :global(img) { + display: block; + width: 100%; + height: 100%; + object-fit: cover; + } + } } // Content @@ -90,7 +99,7 @@ // Alternate content order &:nth-child(even) { - :global(.image) { + .media { @include bp (sm) { grid-column: 2 / span 7; } diff --git a/src/style/pages/_about.scss b/src/style/pages/_about.scss index 1dba19c..32892b9 100644 --- a/src/style/pages/_about.scss +++ b/src/style/pages/_about.scss @@ -262,12 +262,6 @@ margin: 128px 0 0; } - .container { - @include bp (mob-lg, max) { - padding: 0 8px; - } - } - .title { grid-column: 1 / -1; max-width: 400px; @@ -307,12 +301,14 @@ } & > :global(*) { + grid-column: 1 / -1; position: sticky; top: var(--card-margin); + transform-origin: center top; padding-top: calc(var(--index) * var(--card-offset)); padding-bottom: var(--card-margin); margin-bottom: calc(-1 * var(--index) * var(--card-offset)); - transform-origin: center top; + will-change: transform; } } @@ -342,6 +338,14 @@ width: clamp(250px, 75%, 562px); margin: 0 auto; } + + :global(.globe) { + margin-bottom: 32px; + + @include bp (sm) { + margin-bottom: 40px; + } + } } } @@ -360,12 +364,16 @@ .container-wide { overflow: hidden; + + @include bp (sm, max) { + width: 100%; + } } .photos-grid { display: grid; grid-template-columns: repeat(5, 1fr); - gap: 12px; + gap: 1.75vw; margin: -5% -5% 0; transform: rotate(-6deg) translateY(var(--parallax-y)) translateZ(0); transition: transform 0.8s var(--ease-quart);