1
0

feat: Responsiveness finished

This commit is contained in:
2026-03-12 10:28:13 +01:00
parent 8eb603e9f0
commit 4d6ed5cd37
11 changed files with 125 additions and 1000 deletions
-2
View File
@@ -3,13 +3,11 @@ import { defineConfig, passthroughImageService, fontProviders } from "astro/conf
import partytown from "@astrojs/partytown";
import sitemap from "@astrojs/sitemap";
import vue from "@astrojs/vue";
import robotsTxt from "astro-robots-txt";
// https://astro.build/config
export default defineConfig({
integrations: [
vue(),
sitemap(),
robotsTxt(),
partytown({
+1 -3
View File
@@ -11,11 +11,9 @@
"dependencies": {
"@astrojs/partytown": "^2.1.5",
"@astrojs/sitemap": "^3.7.1",
"@astrojs/vue": "^6.0.0",
"@astrolib/seo": "1.0.0-beta.8",
"astro": "^6.0.2",
"astro-robots-txt": "^1.0.0",
"gsap": "^3.14.2",
"vue": "^3.5.30"
"gsap": "^3.14.2"
}
}
-944
View File
File diff suppressed because it is too large Load Diff
+17 -3
View File
@@ -78,10 +78,13 @@ function getCurrentYear() {
nav,
.info {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 2remm;
gap: 2rem;
font-size: 0.875rem;
line-height: var(--leading-title);
@media screen and (min-width: 45rem) {
grid-template-columns: 1fr 1fr 1fr;
}
}
ul {
@@ -93,6 +96,9 @@ function getCurrentYear() {
}
.explore {
@media screen and (max-width: 44.9375rem) {
text-align: center;
}
}
.follow {
@@ -108,7 +114,11 @@ function getCurrentYear() {
}
.legal {
text-align: end;
text-align: center;
@media screen and (min-width: 45rem) {
text-align: end;
}
}
.list-title {
@@ -128,6 +138,10 @@ function getCurrentYear() {
& .no-ai {
text-align: end;
}
@media screen and (max-width: 44.9375rem) {
margin-top: 5rem;
}
}
.logo {
+1 -1
View File
@@ -38,7 +38,7 @@
--tracking-narrow: -0.09375rem;
--base-grid: repeat(12, 1fr);
--max-content-width: 1920px;
--max-content-width: 1600px;
--padding-x: 1.5rem;
@media screen and (min-width: 50rem) {
+1 -1
View File
@@ -49,7 +49,7 @@ import SkipNavLink from "./SkipNavLink.astro";
width: 8rem;
transform: translate3d(-0.75rem, 0, 0);
@media screen and (min-width: 50rem) {
@media screen and (min-width: 35rem) {
grid-column: 1 / 3;
width: 12.5rem;
}
+38 -12
View File
@@ -23,7 +23,7 @@ import ArrowUpRight from "../icons/ArrowUpRight.astro";
<a class="link" href="mailto:office@tideshiftdigital.com">
<span class="heading-gradient">Contact us</span>
<ArrowUpRight />
<ArrowUpRight class="icon" />
</a>
</div>
@@ -33,20 +33,28 @@ import ArrowUpRight from "../icons/ArrowUpRight.astro";
grid-template-columns: var(--base-grid);
max-width: var(--max-content-width);
margin-inline: auto;
padding-block: 8rem 10rem;
padding-block: 4rem;
padding-inline: var(--padding-x);
@media screen and (min-width: 50rem) {
padding-block: 8rem 10rem;
}
}
picture {
display: block;
width: calc(100% + var(--padding-x));
grid-column: 1 / 8;
grid-column: 1 / -1;
grid-row: 1;
transform: translate3d(calc(-1 * var(--padding-x)), 0, 0);
z-index: -1;
@media screen and (max-width: 49.9375rem) {
max-height: 15rem;
}
@media screen and (min-width: 50rem) {
grid-column: 1 / 5;
width: calc(100% + var(--padding-x));
transform: translate3d(calc(-1 * var(--padding-x)), 0, 0);
}
}
@@ -54,12 +62,21 @@ import ArrowUpRight from "../icons/ArrowUpRight.astro";
max-width: 100%;
height: 100%;
object-fit: cover;
@media screen and (max-width: 49.9375rem) {
object-position: bottom;
}
}
.content {
grid-column: 3 / 12;
grid-column: 1 / -1;
align-content: center;
@media screen and (max-width: 49.9375rem) {
margin-top: 3rem;
text-align: cen;
}
@media screen and (min-width: 50rem) {
grid-row: 1;
grid-column: 6 / -1;
@@ -68,28 +85,32 @@ import ArrowUpRight from "../icons/ArrowUpRight.astro";
h2 {
max-width: 13ch;
font-size: 3rem;
font-size: clamp(2.25rem, 2.5vw + 1rem, 3rem);
line-height: var(--leading-subtitle);
letter-spacing: var(--tracking-narrow);
}
p {
max-width: 38ch;
margin-top: 2rem;
font-size: 1.5rem;
margin-top: 1rem;
font-size: clamp(1.125rem, 1.5vw + 0.5rem, 1.5rem);
line-height: var(--leading-paragraph);
@media screen and (min-width: 50rem) {
margin-top: 2rem;
}
}
.link {
display: flex;
align-items: center;
justify-content: center;
gap: 2rem;
gap: 1rem;
grid-column: 1 / -1;
width: max-content;
margin-inline: auto;
margin-top: 8rem;
margin-top: 6rem;
font-size: clamp(2.5rem, 5vw + 1rem, 6.25rem);
font-weight: 600;
@@ -100,7 +121,12 @@ import ArrowUpRight from "../icons/ArrowUpRight.astro";
letter-spacing: var(--tracking-narrow);
}
@media screen and (min-width: 64vw) {
.icon {
width: auto;
height: clamp(3.5rem, 5vw + 1rem, 1.125em);
}
@media screen and (min-width: 64rem) {
margin-top: 12rem;
}
}
+53 -24
View File
@@ -26,9 +26,9 @@ import ArrowDown from "../icons/ArrowDown.astro";
digital sovereignty and sustainability.
</p>
<button class="down">
<div class="down">
<ArrowDown />
</button>
</div>
</div>
</div>
@@ -36,41 +36,50 @@ import ArrowDown from "../icons/ArrowDown.astro";
.hero {
display: grid;
grid-template-columns: var(--base-grid);
height: 100svh;
padding-inline: var(--padding-x);
max-width: var(--max-content-width);
margin-inline: auto;
@media screen and (min-width: 50rem) {
height: 100svh;
max-height: 90rem;
}
}
.image-wrapper {
grid-column: 4 / -1;
grid-row: 1;
max-height: clamp(400px, 70vh, 1000px);
grid-column: 3 / -1;
max-height: 40vh;
position: relative;
z-index: -1;
@media screen and (max-width: 49.9375rem) {
margin-top: 1.5rem;
}
@media screen and (min-width: 50rem) {
grid-column: 4 / -1;
grid-row: 1;
grid-column: 5 / -1;
max-height: clamp(400px, 70vh, 1000px);
}
@media screen and (min-width: 75rem) {
grid-column: -1 / -6;
}
}
.image-wrapper::after {
content: "";
display: block;
width: 100%;
height: 100%;
background: var(--gradient-overlay);
position: absolute;
top: 0;
left: 0;
z-index: 1;
@media screen and (min-width: 50rem) and (max-width: 74.9375rem) {
.image-wrapper::after {
content: "";
display: block;
width: 100%;
height: 100%;
background: var(--gradient-overlay);
position: absolute;
top: 0;
left: 0;
z-index: 1;
@media screen and (max-width: 63.9375rem) {
backdrop-filter: blur(10px);
}
}
@@ -86,12 +95,24 @@ import ArrowDown from "../icons/ArrowDown.astro";
.content {
display: grid;
grid-template-columns: subgrid;
grid-template-rows: 1fr 1fr;
row-gap: 2.25em;
row-gap: 1.5em;
z-index: 1;
grid-column: 1 / -1;
grid-row: 1;
@media screen and (max-width: 24.9375rem) {
margin-top: 6rem;
}
@media screen and (min-width: 25rem) and (max-width: 49.9375rem) {
margin-top: 8rem;
}
@media screen and (min-width: 50rem) {
row-gap: 2.25em;
grid-template-rows: 1fr 1fr;
}
}
h1 {
@@ -108,8 +129,8 @@ import ArrowDown from "../icons/ArrowDown.astro";
grid-column: 2 / -2;
}
@media screen and (min-width: 64rem) {
grid-column: 2 / -2;
@media screen and (min-width: 100rem) {
grid-column: 3 / -3;
}
& span {
@@ -118,7 +139,7 @@ import ArrowDown from "../icons/ArrowDown.astro";
}
p {
grid-column: 2 / -1;
grid-column: 1 / -1;
grid-row: 2;
max-width: 45ch;
@@ -126,12 +147,16 @@ import ArrowDown from "../icons/ArrowDown.astro";
line-height: var(--leading-paragraph);
@media screen and (min-width: 50rem) {
grid-column: 3 / -5;
grid-column: 2 / -5;
}
@media screen and (min-width: 64rem) {
grid-column: 3 / -5;
}
@media screen and (min-width: 100rem) {
grid-column: 4 / -4;
}
}
.down {
@@ -153,6 +178,10 @@ import ArrowDown from "../icons/ArrowDown.astro";
width: 3rem;
height: 3rem;
}
@media screen and (max-width: 49.9375rem) {
display: none;
}
}
</style>
+1 -1
View File
@@ -84,7 +84,7 @@ const { title, image, items } = Astro.props;
h3 {
grid-row: 1;
font-size: 2.25rem;
font-size: clamp(1.875rem, 2vw + 0.5rem, 2.25rem);
line-height: var(--leading-title);
padding-block: 2.5rem 1rem;
padding-inline: 2.5rem;
+5 -1
View File
@@ -58,8 +58,12 @@ const services: Array<ComponentProps<typeof ServicesCard>> = [
grid-template-columns: var(--base-grid);
max-width: var(--max-content-width);
margin-inline: auto;
padding-block: 8rem;
padding-block: 6rem;
padding-inline: var(--padding-x);
@media screen and (min-width: 50rem) {
padding-block: 8rem;
}
}
.heading {
+6 -6
View File
@@ -51,7 +51,7 @@ function formatIndex(index: number) {
padding-block: 4rem;
padding-inline: var(--padding-x);
@media screen and (min-width: 50rem) {
@media screen and (min-width: 64rem) {
padding-block: 8rem 5.5rem;
}
}
@@ -73,7 +73,7 @@ function formatIndex(index: number) {
border-bottom: 0.25rem solid hsl(0 100 100 / 30%);
}
@media screen and (min-width: 50rem) {
@media screen and (min-width: 64rem) {
margin-top: 5.5rem;
}
}
@@ -83,7 +83,7 @@ function formatIndex(index: number) {
grid-template-columns: var(--base-grid);
padding-block: 4rem;
@media screen and (min-width: 50rem) {
@media screen and (min-width: 64rem) {
padding-block: 6rem;
}
}
@@ -91,11 +91,11 @@ function formatIndex(index: number) {
.content {
grid-column: 1 / -1;
@media screen and (max-width: 49.9375rem) {
@media screen and (max-width: 63.9375rem) {
margin-top: 2rem;
}
@media screen and (min-width: 50rem) {
@media screen and (min-width: 64rem) {
grid-row: 1;
grid-column: 5 / -1;
}
@@ -123,7 +123,7 @@ function formatIndex(index: number) {
font-weight: 600;
line-height: var(--leading-tightest);
@media screen and (min-width: 50rem) {
@media screen and (min-width: 64rem) {
grid-column: 1 / 4;
}
}