1
0

feat: Implement Values section, Start implementing Contact section

This commit is contained in:
2026-02-12 19:45:53 +01:00
parent 050522d035
commit b0dec274bd
8 changed files with 442 additions and 56 deletions
+10 -3
View File
@@ -2,9 +2,10 @@
@import url("../styles/poppins.css");
:root {
--font-sans: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
"Helvetica Neue", sans-serif;
--font-sans:
"Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
sans-serif;
/* --fs-md: clamp(1.25rem, 0.25vw + 1rem, 2.5rem); */
--fs-md: 1.25rem;
@@ -81,4 +82,10 @@
background-clip: text;
color: transparent;
}
.heading-gradient {
background: var(--gradient-page-title);
background-clip: text;
color: transparent;
}
</style>
+24
View File
@@ -0,0 +1,24 @@
<svg width="116.333" xmlns="http://www.w3.org/2000/svg" height="116.333" id="screenshot-6b8effdb-5f0e-80dd-8007-372a7199e59d" viewBox="2743.833 5322.833 116.333 116.333" style="-webkit-print-color-adjust::exact" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1">
<g id="shape-6b8effdb-5f0e-80dd-8007-372a7199e59d">
<g class="fills" id="fills-6b8effdb-5f0e-80dd-8007-372a7199e59d">
<path d="M2772.833251953125,5410.16650390625L2831.166748046875,5351.83349609375M2772.833251953125,5351.83349609375L2831.166748046875,5351.83349609375L2831.166748046875,5410.16650390625" width="24" class="feather feather-arrow-up-right" height="24">
</path>
</g>
<g width="24" class="strokes" height="24" id="strokes-ca8ef29e-b397-80a6-8007-8fe0358bb517-6b8effdb-5f0e-80dd-8007-372a7199e59d">
<g class="stroke-shape">
<defs>
<linearGradient id="stroke-color-gradient-render-1748-0" x1="0.5" y1="0" x2="0.5" y2="1" gradientTransform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)">
<stop offset="0" stop-color="#ffffff" stop-opacity="1">
</stop>
<stop offset="0.5" stop-color="#ffffff" stop-opacity="0.7">
</stop>
<stop offset="1" stop-color="#ffffff" stop-opacity="0.5">
</stop>
</linearGradient>
</defs>
<path d="M2772.833251953125,5410.16650390625L2831.166748046875,5351.83349609375M2772.833251953125,5351.83349609375L2831.166748046875,5351.83349609375L2831.166748046875,5410.16650390625" style="fill:none;fill-opacity:none;stroke-width:12;stroke:url(#stroke-color-gradient-render-1748-0)">
</path>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@@ -0,0 +1,79 @@
---
import ContactImage from "../../assets/img/contact.jpg";
import { Picture } from "astro:assets";
import ArrowUpRight from "../icons/ArrowUpRight.astro";
---
<div class="contact">
<Picture
class="image"
src={ContactImage}
alt="An abstract image of a black and gold background"
/>
<div class="content">
<h2 class="heading-gradient">Building the Web on Your Terms.</h2>
<p>
Enough about us, let's talk about you. Every project is individual
and comes with its own challenges and specific needs. Get in touch
with us now and let's talk about it in a short call.
</p>
</div>
<a class="link">
<span class="heading-gradient">Contact us</span>
<ArrowUpRight />
</a>
</div>
<style>
.contact {
display: grid;
grid-template-columns: var(--base-grid);
max-width: var(--max-content-width);
margin-inline: auto;
padding-block: 8rem 5.5rem;
padding-inline: 5rem;
}
picture {
display: block;
/* width: 100%; */
/* height: 100%; */
max-height: 500px;
grid-column: 1 / 5;
/* TODO substitute horizontal spacing with var */
transform: translate3d(calc(-1 * 5rem), 0, 0);
z-index: -1;
}
.image {
/* width: 100%; */
/* height: 100%; */
object-fit: cover;
}
.content {
grid-column: 5 / -1;
}
h2 {
grid-column: 1 / -1;
font-size: 4.75rem;
line-height: var(--leading-title);
letter-spacing: var(--tracking-narrow);
}
.link {
display: flex;
align-items: center;
justify-content: center;
gap: 2rem;
grid-column: 1 / -1;
font-size: 6.25rem;
font-weight: 600;
text-transform: uppercase;
}
</style>
+37 -32
View File
@@ -1,6 +1,4 @@
---
import { late } from "astro:schema";
const values = [
{
title: "Sustainability",
@@ -21,39 +19,35 @@ function formatIndex(index: number) {
}
---
<Fragment>
<div class="values">
<h2>Our Values.</h2>
<div class="values">
<h2 class="heading-gradient">Our Values.</h2>
<ul>
{
values.map((v, index) => (
<li>
{/* List is grid container */}
<ul>
{
values.map((v, index) => (
<li>
{/* List is grid container */}
<div class="content">
{/* Item title */}
<h3 class="heading-gradient">{v.title}</h3>
{/* Item text */}
<p>{v.text}</p>
</div>
<div>
{/* Item title */}
<h3>{v.title}</h3>
{/* Item text */}
<p>{v.text}</p>
</div>
{/* two digit number left */}
<span>{formatIndex(index)}</span>
</li>
))
}
</ul>
</div>
</Fragment>
{/* two digit number left */}
<span class="heading-gradient">{formatIndex(index)}</span>
</li>
))
}
</ul>
</div>
<style>
.values {
display: grid;
grid-template-columns: var(--base-grid);
max-width: var(--max-content-width);
margin-in line: auto;
margin-inline: auto;
padding-block: 8rem 5.5rem;
padding-inline: 5rem;
}
@@ -63,20 +57,28 @@ function formatIndex(index: number) {
font-size: 4.75rem;
line-height: var(--leading-title);
letter-spacing: var(--tracking-narrow);
span {
display: block;
}
text-align: center;
}
ul {
margin-top: 5.5rem;
list-style: none;
grid-column: 1 / -1;
> * {
border-bottom: 0.25rem solid hsl(0 100 100 / 30%);
}
}
li {
display: grid;
grid-template-columns: var(--base-grid);
padding-block: 4.625rem;
}
.content {
grid-row: 1;
grid-column: 5 / -1;
}
h3 {
@@ -91,6 +93,9 @@ function formatIndex(index: number) {
}
span {
grid-row: 1;
grid-column: 1 / 4;
font-size: 15.625rem;
font-weight: 600;
line-height: 0.9;