Startseite fertiggestellt.

This commit is contained in:
egnbkts committed 2026-05-13 15:40:06 +02:00
1 parent 0280389f49
commit 8535731cd7
7 files changed
+82 -67

No files matched your search

+47 -39
View File
@@ -1,15 +1,9 @@
/*
FOOTER
Datei: components/Footer.module.css
*/
:root {
--footer-bg: #272727 ;
--footer-text: #a1a1aa;
--footer-bg: #272727;
--footer-text: #adadb3;
--footer-text-hover: #ffffff;
--footer-title: #ffffff;
--footer-divider: rgba(255, 255, 255, 0.1);
--footer-padding-y: clamp(3rem, 6vw, 5rem);
--footer-gap: clamp(2rem, 5vw, 4rem);
}
@@ -17,7 +11,6 @@
.footer {
background-color: var(--footer-bg);
color: var(--footer-text);
font-family: inherit;
}
.footer a:focus-visible {
@@ -28,7 +21,8 @@
.footer__inner {
max-width: var(--container-width);
margin-inline: auto;
padding: var(--footer-padding-y) clamp(1rem, 5vw, 2rem);
padding-inline: var(--space-4);
padding-block: var(--space-16);
}
/* Top */
@@ -38,26 +32,16 @@
gap: var(--footer-gap);
}
@media (min-width: 768px) {
.footer__top {
grid-template-columns: 1fr 1fr;
}
}
@media (min-width: 1024px) {
.footer__top {
grid-template-columns: 1.5fr 1fr;
}
}
/* Brand */
.footer__brand {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.footer__logo {
display: inline-block;
font-size: 1.4rem;
font-weight: 700;
color: var(--footer-title);
margin-bottom: 0.75rem;
transition: opacity 0.2s ease;
width: fit-content;
}
.footer__logo:hover {
@@ -65,8 +49,6 @@
}
.footer__tagline {
font-size: 0.9rem;
line-height: 1.6;
max-width: 32ch;
color: var(--footer-text);
}
@@ -74,34 +56,32 @@
/* Navigation */
.footer__nav {
display: flex;
gap: var(--footer-gap);
flex-wrap: wrap;
gap: var(--footer-gap);
}
.footer__nav ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer__nav-group ul {
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.6rem;
gap: var(--space-2);
}
.footer__nav-title {
display: block;
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-bottom: var(--space-4);
font-size: var(--font-size-xxs);
letter-spacing: var(--letter-spacing-wide);
color: var(--footer-title);
margin-bottom: 1rem;
}
.footer__nav-group a {
font-size: 0.9rem;
font-size: var(--font-size-xs);
color: var(--footer-text);
transition: color 0.2s ease;
}
@@ -157,3 +137,31 @@
border-color: rgba(255, 255, 255, 0.3);
background: rgba(255, 255, 255, 0.05);
}
/* Tablet */
@media (min-width: 768px) {
.footer__top {
grid-template-columns: 1fr 1fr;
align-items: start;
}
.footer__nav {
justify-self: end;
text-align: left;
}
}
/* Desktop */
@media (min-width: 1024px) {
.footer__inner {
padding-inline: var(--space-6);
}
.footer__top {
grid-template-columns: 1fr auto;
}
.footer__nav {
justify-self: end;
}
}
+23 -14
View File
@@ -1,11 +1,13 @@
import styles from "./Footer.module.css";
import Link from "next/link";
import Image from "next/image";
import {
InstagramLogoIcon,
LinkedinLogoIcon,
XLogoIcon,
FacebookLogoIcon,
} from "@phosphor-icons/react/dist/ssr";
import { companyData } from "@/data/companyData";
const currentYear = new Date().getFullYear();
@@ -13,22 +15,24 @@ export default function Footer() {
return (
<footer className={styles.footer}>
<div className={styles.footer__inner}>
{/* Top: Brand + Navigation */}
<div className={styles.footer__top}>
{/* Brand */}
<div className={styles.footer__brand}>
<Link href="/" className={styles.footer__logo}>
ENVU {/* ← Logo oder Bildkomponente hier */}
<Image
src="/logo/logo-basiclean-white.svg"
alt={companyData.companyName}
width={160}
height={48}
unoptimized
/>
</Link>
<p className={styles.footer__tagline}>
Maßgeschneiderte digitale Lösungen für Ihr Unternehmen.
</p>
<p className={styles.footer__tagline}>{companyData.slogan}</p>
</div>
{/* Navigation Spalten */}
<nav className={styles.footer__nav} aria-label="Footer Navigation">
<div className={styles.footer__nav_group}>
<span className={styles.footer__nav_title}>Unternehmen</span>
<div className={styles["footer__nav-group"]}>
<span className={styles["footer__nav-title"]}>Unternehmen</span>
<ul>
<li>
<Link href="/ueberuns">Über uns</Link>
@@ -36,14 +40,17 @@ export default function Footer() {
<li>
<Link href="/leistungen">Leistungen</Link>
</li>
<li>
<Link href="/branchenloesungen">Branchenlösungen</Link>
</li>
<li>
<Link href="/kontakt">Kontakt</Link>
</li>
</ul>
</div>
<div className={styles.footer__nav_group}>
<span className={styles.footer__nav_title}>Rechtliches</span>
<div className={styles["footer__nav-group"]}>
<span className={styles["footer__nav-title"]}>Rechtliches</span>
<ul>
<li>
<Link href="/impressum">Impressum</Link>
@@ -56,13 +63,12 @@ export default function Footer() {
</nav>
</div>
{/* Divider */}
<div className={styles.footer__divider} />
{/* Bottom: Copyright + Social */}
<div className={styles.footer__bottom}>
<p className={styles.footer__copy}>
© {currentYear}. Alle Rechte vorbehalten.
Copyright © {currentYear} {companyData.companyName}. Alle Rechte
vorbehalten.
</p>
<div className={styles.footer__social}>
@@ -74,6 +80,7 @@ export default function Footer() {
>
<InstagramLogoIcon size={20} />
</a>
<a
href="https://linkedin.com"
target="_blank"
@@ -82,6 +89,7 @@ export default function Footer() {
>
<LinkedinLogoIcon size={20} />
</a>
<a
href="https://x.com"
target="_blank"
@@ -90,6 +98,7 @@ export default function Footer() {
>
<XLogoIcon size={20} />
</a>
<a
href="https://facebook.com"
target="_blank"
+7 -11
View File
@@ -14,17 +14,7 @@
}
.heroDecoration {
position: absolute;
top: 50%;
left: 50%;
right: auto;
transform: translate(-50%, -50%);
width: min(78vw, 360px);
height: auto;
opacity: 0.05;
pointer-events: none;
user-select: none;
z-index: 0;
display: none;
}
.content {
@@ -69,12 +59,18 @@
}
.heroDecoration {
display: block;
position: absolute;
top: 50%;
left: auto;
right: 0;
transform: translateY(-50%);
width: min(42vw, 420px);
height: auto;
opacity: 0.06;
pointer-events: none;
user-select: none;
z-index: 0;
}
.actions {
+1 -1
View File
@@ -10,8 +10,8 @@ import { useNavToggleMenu } from "@/hooks/useNavToggleMenu";
import { useSupportsHover } from "@/hooks/useSupportsHover";
import { useToggleBodyOverflow } from "@/hooks/useToggleBodyOverflow";
import styles from "./Navbar.module.css";
import { NavbarSubMenu } from "./NavbarSubMenu";
import { useIsDesktop } from "@/hooks/useIsDesktop";
import { NavbarSubMenu } from "./NavbarSubMenu";
type BasicLink = {
label: string;
+2 -2
View File
@@ -1,7 +1,7 @@
export const companyData = {
name: "Basiclean",
legalName: "Basiclean",
slogan: "Wo Sauberkeit Standard ist",
companyName: "Basiclean",
slogan: "Wo Sauberkeit Standard ist.",
contact: {
email: {
user: "info",
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 748 167" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g id="Logo-neben-Schriftzug" serif:id="Logo neben Schriftzug"><path d="M105.008,158.958c-22.419,11.972 -50.938,8.512 -69.831,-10.381c-39.541,-39.541 -35.021,-113.988 -35.021,-113.988c0.167,-2.605 2.243,-4.68 4.848,-4.848c0,0 74.447,-4.52 113.988,35.021c21.914,21.914 23.066,56.779 3.454,80.054c-0.362,-0.185 -0.737,-0.379 -1.127,-0.582c-5.154,-2.691 -5.16,-2.68 -5.604,-2.92c-1.436,-0.776 -1.97,-1.044 -2.742,-1.452c17.744,-19.163 17.304,-49.132 -1.323,-67.759c-30.978,-30.978 -85.143,-32.462 -101.303,-32.17c-0.292,16.16 1.193,70.325 32.17,101.303c13.793,13.793 33.808,17.614 51.047,11.462c0.145,0.095 0.291,0.19 0.439,0.286c2.484,1.615 5.959,3.52 6.376,3.731c1.806,0.917 3.237,1.615 4.628,2.243Z" style="fill:#298972;"/><path d="M189.124,165.924c-3.398,0.229 -16.488,1.214 -32.559,0.216c-2.19,-0.136 -9.695,-0.773 -15.864,-1.809c-10.966,-1.842 -17.633,-3.992 -21.329,-5.221c-7.711,-2.565 -18.01,-6.682 -29.769,-15.316c-4.985,-3.66 -9.537,-7.394 -15.842,-13.667c-0.927,-0.922 -5.602,-5.807 -9.04,-10.007c-4.591,-5.61 -8.504,-11.049 -11.653,-15.709c-3.199,-4.735 -7.124,-11.263 -10.135,-16.633c0.21,0.254 5.761,7.164 14.336,16.223c1.045,1.104 6.617,7.092 15.664,14.982c2.689,2.345 8.097,6.853 13.443,10.683c1.802,1.291 7.343,5.31 15.048,9.761c16.464,9.511 27.83,13.425 29.737,14.138c12.597,4.709 25.101,7.248 26.764,7.609c7.797,1.694 17.199,3.279 31.199,4.751Z" style="fill:#298972;"/><path d="M138.583,150.484c14.876,-8.386 26.33,-25.547 26.33,-43.826c0,-43.809 -37.251,-83.159 -48.884,-94.38c-4.908,4.734 -14.376,14.475 -23.683,27.446c-3.19,-1.426 -6.42,-2.72 -9.664,-3.896c14.593,-20.964 29.92,-34.535 29.92,-34.535c1.96,-1.724 4.895,-1.724 6.856,0c0,0 55.838,49.446 55.838,105.365c0,18.717 -10.095,36.63 -23.662,47.495c-3.502,-0.854 -8.107,-2.077 -13.05,-3.668Z" style="fill:#3166b3;"/></g><g><path d="M230.865,75.544c2.065,-3.614 5.089,-6.565 9.073,-8.851c3.983,-2.287 8.519,-3.43 13.609,-3.43c5.458,0 10.363,1.291 14.715,3.872c4.352,2.582 7.782,6.214 10.29,10.898c2.508,4.684 3.762,10.124 3.762,16.32c0,6.122 -1.254,11.58 -3.762,16.375c-2.508,4.794 -5.956,8.519 -10.345,11.175c-4.389,2.655 -9.275,3.983 -14.66,3.983c-5.237,0 -9.829,-1.143 -13.775,-3.43c-3.946,-2.287 -6.915,-5.2 -8.907,-8.741l0,11.175l-10.068,0l0,-81.875l10.068,0l0,32.529Zm41.159,18.809c0,-4.573 -0.922,-8.556 -2.766,-11.949c-1.844,-3.393 -4.333,-5.975 -7.468,-7.745c-3.135,-1.77 -6.583,-2.655 -10.345,-2.655c-3.688,0 -7.099,0.904 -10.234,2.711c-3.135,1.807 -5.643,4.426 -7.524,7.856c-1.881,3.43 -2.821,7.395 -2.821,11.894c0,4.573 0.94,8.575 2.821,12.005c1.881,3.43 4.389,6.048 7.524,7.856c3.135,1.807 6.546,2.711 10.234,2.711c3.762,0 7.21,-0.904 10.345,-2.711c3.135,-1.807 5.624,-4.426 7.468,-7.856c1.844,-3.43 2.766,-7.468 2.766,-12.115Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M291.829,94.353c0,-6.196 1.254,-11.636 3.762,-16.32c2.508,-4.684 5.956,-8.317 10.345,-10.898c4.389,-2.582 9.275,-3.872 14.66,-3.872c5.311,0 9.921,1.143 13.83,3.43c3.909,2.287 6.823,5.163 8.741,8.63l0,-11.064l10.179,0l0,60.631l-10.179,0l0,-11.285c-1.992,3.541 -4.96,6.473 -8.907,8.796c-3.946,2.323 -8.538,3.485 -13.775,3.485c-5.385,0 -10.253,-1.328 -14.605,-3.983c-4.352,-2.655 -7.782,-6.38 -10.29,-11.175c-2.508,-4.794 -3.762,-10.253 -3.762,-16.375Zm51.338,0.111c0,-4.573 -0.922,-8.556 -2.766,-11.949c-1.844,-3.393 -4.333,-5.993 -7.468,-7.8c-3.135,-1.807 -6.583,-2.711 -10.345,-2.711c-3.762,0 -7.192,0.885 -10.29,2.655c-3.098,1.77 -5.569,4.352 -7.413,7.745c-1.844,3.393 -2.766,7.376 -2.766,11.949c0,4.647 0.922,8.685 2.766,12.115c1.844,3.43 4.315,6.048 7.413,7.856c3.098,1.807 6.528,2.711 10.29,2.711c3.762,0 7.21,-0.904 10.345,-2.711c3.135,-1.807 5.624,-4.426 7.468,-7.856c1.844,-3.43 2.766,-7.431 2.766,-12.005Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M391.686,125.886c-4.658,0 -8.836,-0.793 -12.534,-2.379c-3.696,-1.586 -6.617,-3.799 -8.761,-6.638c-2.144,-2.84 -3.216,-6.104 -3.216,-9.792l10.29,0c0.295,3.024 1.715,5.495 4.26,7.413c2.545,1.918 5.882,2.877 10.013,2.877c3.836,0 6.86,-0.848 9.073,-2.545c2.213,-1.696 3.319,-3.836 3.319,-6.417c0,-2.655 -1.18,-4.628 -3.541,-5.919c-2.36,-1.291 -6.012,-2.563 -10.953,-3.817c-4.499,-1.18 -8.169,-2.379 -11.009,-3.596c-2.84,-1.217 -5.274,-3.024 -7.302,-5.421c-2.028,-2.397 -3.043,-5.551 -3.043,-9.46c0,-3.098 0.922,-5.938 2.766,-8.519c1.844,-2.582 4.463,-4.628 7.856,-6.141c3.393,-1.512 7.265,-2.268 11.617,-2.268c6.712,0 12.134,1.696 16.264,5.089c4.131,3.393 6.343,8.04 6.638,13.941l-10.29,0c0,-3.172 -1.167,-5.716 -3.501,-7.634c-2.334,-1.918 -5.464,-2.877 -9.391,-2.877c-3.63,0 -6.52,0.774 -8.67,2.323c-2.148,1.549 -3.222,3.577 -3.222,6.0Line truncated

After

Width:  |  Height:  |  Size: 8.8 KiB

+1
View File
@@ -1,5 +1,6 @@
:root {
/* Font sizes */
--font-size-xxs: 0.79rem;
--font-size-xs: clamp(0.79rem, 2vw, 0.889rem);
--font-size-s: 0.889rem;
--font-size-base: clamp(0.889rem, 2.2vw, 1rem);