+
diff --git a/src/components/Logo/Logo.astro b/src/components/Logo/Logo.astro
new file mode 100644
index 0000000..f08129c
--- /dev/null
+++ b/src/components/Logo/Logo.astro
@@ -0,0 +1,28 @@
+
+
diff --git a/src/components/Logo/LogoQuadBG.astro b/src/components/Logo/LogoQuadBG.astro
new file mode 100644
index 0000000..3f50f67
--- /dev/null
+++ b/src/components/Logo/LogoQuadBG.astro
@@ -0,0 +1,22 @@
+
+
\ No newline at end of file
diff --git a/src/components/Section.astro b/src/components/Section.astro
new file mode 100644
index 0000000..a44f8df
--- /dev/null
+++ b/src/components/Section.astro
@@ -0,0 +1,27 @@
+---
+import type { HTMLAttributes } from "astro/types";
+import { cva, type VariantProps } from "class-variance-authority";
+
+const section = cva("relative w-full", {
+ variants: {
+ padding: {
+ true: "px-section-main-x py-section-main-y",
+ false: "p-0",
+ },
+ maxWidth: {
+ true: "max-w-max-section mx-auto",
+ false: "",
+ },
+ },
+});
+
+export interface Props
+ extends HTMLAttributes<"section">,
+ VariantProps {}
+
+const { padding = true, maxWidth = true, ...props } = Astro.props;
+---
+
+
+
+
diff --git a/src/layouts/MainLayout.astro b/src/layouts/MainLayout.astro
new file mode 100644
index 0000000..ca88320
--- /dev/null
+++ b/src/layouts/MainLayout.astro
@@ -0,0 +1,36 @@
+---
+import { cn } from "@/lib/utils.ts";
+
+const anim = {
+ old: {
+ name: "pageLeave",
+ duration: "0.0s",
+ easing: "ease-out",
+ fillMode: "forwards",
+ },
+ new: {
+ name: "pageEnter",
+ duration: "0.7s",
+ easing: "cubic-bezier(0.23, 1, 0.32, 1)",
+ fillMode: "forwards",
+ },
+};
+
+export interface Props {
+ inset?: boolean;
+}
+
+const slideAnimation = {
+ forwards: anim,
+ backwards: anim,
+};
+
+const { inset = true } = Astro.props;
+---
+
+
+
+
diff --git a/src/layouts/MarkdownLayout.astro b/src/layouts/MarkdownLayout.astro
new file mode 100644
index 0000000..08b8a9b
--- /dev/null
+++ b/src/layouts/MarkdownLayout.astro
@@ -0,0 +1,16 @@
+---
+import "@/styles/markdown.css";
+import Section from "@/components/Section.astro";
+import MainLayout from "./MainLayout.astro";
+import RootLayout from "./RootLayout.astro";
+
+const { frontmatter } = Astro.props;
+---
+
+
+
+
+
+
+
+
diff --git a/src/layouts/RootLayout.astro b/src/layouts/RootLayout.astro
new file mode 100644
index 0000000..00e8213
--- /dev/null
+++ b/src/layouts/RootLayout.astro
@@ -0,0 +1,38 @@
+---
+import Footer from "@/components/Layout/Footer.astro";
+import Header from "@/components/Layout/Header.astro";
+import "@/styles/global.css";
+import "@fontsource/inter";
+import { ClientRouter } from "astro:transitions";
+
+export interface Props {
+ title: string;
+ showHeader?: boolean;
+}
+
+const { title, showHeader = true } = Astro.props;
+---
+
+
+
+
+
+
+
+
+
+
+
+ unom - {title}
+
+
+
+ {showHeader && }
+
+
+
+
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
new file mode 100644
index 0000000..34e3caf
--- /dev/null
+++ b/src/lib/utils.ts
@@ -0,0 +1,6 @@
+import clsx, { type ClassValue } from "clsx";
+import { twMerge } from "tailwind-merge";
+
+export function cn(...inputs: ClassValue[]) {
+ return twMerge(clsx(inputs));
+}
diff --git a/src/pages/index.astro b/src/pages/index.astro
new file mode 100644
index 0000000..e33f9e0
--- /dev/null
+++ b/src/pages/index.astro
@@ -0,0 +1,12 @@
+---
+import RootLayout from "@/layouts/RootLayout.astro";
+import "../styles/global.css";
+import MainLayout from "@/layouts/MainLayout.astro";
+import Landing from "@/sections/Landing/Landing.astro";
+---
+
+
+
+
+
+
diff --git a/src/pages/legal/imprint.md b/src/pages/legal/imprint.md
new file mode 100644
index 0000000..24ff423
--- /dev/null
+++ b/src/pages/legal/imprint.md
@@ -0,0 +1,48 @@
+---
+layout: "@/layouts/MarkdownLayout.astro"
+title: Downloads
+---
+
+# Impressum
+
+Angaben gemäß § 5 TMG
+Enrico Bühler
+unom
+Schroffenstraße 44
+78628 Rottweil
+
+## Kontakt
+
+E-Mail:
+Website:
+
+### Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV
+
+Enrico Bühler
+Schroffenstraße 44
+78628 Rottweil
+
+## Verbraucherstreitbeilegung/Universalschlichtungsstelle
+
+Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.
+
+### Haftung für Inhalte
+
+Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
+
+Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
+
+### Haftung für Links
+
+Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.
+
+Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
+
+### Urheberrecht
+
+Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.
+
+Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.
+
+Quelle:
+
\ No newline at end of file
diff --git a/src/sections/Landing/Landing.astro b/src/sections/Landing/Landing.astro
new file mode 100644
index 0000000..3f188ce
--- /dev/null
+++ b/src/sections/Landing/Landing.astro
@@ -0,0 +1,20 @@
+---
+import { Image } from "astro:assets";
+import bgDark from "./unom_Logo_5_Dark.webp";
+import LogoQuadBG from "@/components/Logo/LogoQuadBG.astro";
+---
+
+