diff --git a/asset/logo-1024.png b/asset/logo-1024.png
new file mode 100644
index 0000000..20f87d5
Binary files /dev/null and b/asset/logo-1024.png differ
diff --git a/asset/logo-2048.png b/asset/logo-2048.png
new file mode 100644
index 0000000..9013e16
Binary files /dev/null and b/asset/logo-2048.png differ
diff --git a/asset/logo-256.png b/asset/logo-256.png
new file mode 100644
index 0000000..9ac284a
Binary files /dev/null and b/asset/logo-256.png differ
diff --git a/asset/logo-512.png b/asset/logo-512.png
new file mode 100644
index 0000000..6476b16
Binary files /dev/null and b/asset/logo-512.png differ
diff --git a/asset/logo.svg b/asset/logo.svg
new file mode 100644
index 0000000..cb8a6cb
--- /dev/null
+++ b/asset/logo.svg
@@ -0,0 +1,14 @@
+
+
diff --git a/meta.php b/meta.php
index aaf36eb..7db3cc0 100644
--- a/meta.php
+++ b/meta.php
@@ -5,7 +5,9 @@
// DEPENDENCIES //
// used extensions
+ self::$use[] = "lang";
self::$use[] = "page";
+ self::$use[] = "file";
self::$use[] = "project";
diff --git a/page/start/index.php b/page/start/index.php
new file mode 100644
index 0000000..3023f89
--- /dev/null
+++ b/page/start/index.php
@@ -0,0 +1,74 @@
+get("title"));
+ Page::icon("./asset/logo-256.png");
+ Page::description($dict->get("description"));
+
+ Page::lang($lang->get());
+ Page::viewport(scale: 1, zoom: true);
+
+ Page::robots(index: true, follow: true);
+ Page::author("Kim Endisch");
+ Page::keywords("selbstbestimmungsgesetz-jetzt", "selbstbestimmungsgesetz", "selbstbestimmung", "tsg", "transsexuellengesetz", "roadmap", "timeline", "stand", "trans", "nicht-binär", "non-binary", "deutschland", "gender", "geschlecht", "identität");
+
+ Page::css(__DIR__ . "/style.css");
+
+ Page::font("ubuntu");
+ Page::font("tabler");
+?>
+
+
+
+
+
+
+
+
+
+
diff --git a/page/start/style.css b/page/start/style.css
new file mode 100644
index 0000000..7c727b8
--- /dev/null
+++ b/page/start/style.css
@@ -0,0 +1,237 @@
+:root {
+ --color-bg: #21252b;
+ --color-bg-light: #2c313a;
+
+ --color-white: #c5cad3;
+
+ --color-gray: #828997;
+ --color-gray-dark: #5c6370;
+ --color-gray-dark-dark: #454b54;
+
+ --color-red: #e06c75;
+ --color-red-light: #e9969d;
+ --color-red-dark: #cb4d58;
+
+ --color-orange: #d19a66;
+ --color-orange-light: #ddb48d;
+ --color-orange-dark: #b9804b;
+
+ --color-yellow: #dace71;
+ --color-yellow-light: #e5dc9a;
+ --color-yellow-dark: #c4b754;
+
+ --color-green: #98c379;
+ --color-green-light: #b3d39c;
+ --color-green-dark: #7fa762;
+
+ --color-cyan: #71d6bc;
+ --color-cyan-light: #98e1cf;
+ --color-cyan-dark: #55bea4;
+
+ --color-blue: #61afef;
+ --color-blue-light: #90c7f4;
+ --color-blue-dark: #3e97e0;
+
+ --color-purple: #c678dd;
+ --color-purple-light: #d7a1e8;
+ --color-purple-dark: #af5bc8;
+
+
+
+ --theme: var(--color-green);
+}
+* {
+ box-sizing: border-box;
+}
+
+
+
+html, body {
+ margin: 0;
+ padding: 0;
+ overflow-x: hidden;
+
+ color: var(--color-white);
+ background-color: var(--color-bg);
+}
+html {
+ font-size: 16px;
+}
+body {
+ min-height: 100vh;
+ min-height: 100dvh;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+
+ font-size: 0;
+ font-family: "Ubuntu", sans-serif;
+}
+span, pre {
+ font-size: 1rem;
+}
+a {
+ text-decoration: none;
+}
+
+
+
+
+
+/* PAGE LAYOUT */
+.page-container {
+ flex-grow: 1;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: flex-start;
+
+ padding: 8rem 4rem;
+}
+.page {
+ width: 100000px;
+ max-width: 50vw;
+
+ display: flex;
+ flex-direction: column;
+ gap: 4rem;
+
+ text-align: center;
+}
+@media only screen and (max-width: 1000px) {
+ .page {
+ max-width: 100vw;
+ }
+}
+
+
+
+
+
+/* SECTIONS */
+.section {
+ width: 100%;
+}
+
+.section > .header {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
+ gap: 0.5rem;
+
+ color: var(--theme);
+}
+.section > .header .extra {
+ color: var(--color-gray);
+}
+
+.section > .content {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+
+ padding: 1rem 2rem;
+}
+
+
+
+
+
+/* BOX */
+.box {
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+
+ padding: 2rem;
+
+ border-radius: 2rem;
+ background-color: var(--color-bg-light);
+}
+.box.shrink {
+ display: inline-flex;
+}
+.box.important {
+ border: 0.5rem solid var(--theme);
+}
+
+.box .title {
+ display: inline-flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+
+ color: var(--theme);
+ font-size: 2rem;
+}
+
+
+
+
+
+/* FOOTER */
+.footer {
+ width: 100%;
+
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ gap: 1rem;
+
+ padding: 1rem;
+
+ background-color: var(--color-bg-light);
+}
+.footer > div {
+ flex-grow: 1;
+ flex-shrink: 1;
+ flex-basis: 0px;
+
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ gap: 0.5rem;
+}
+@media only screen and (max-width: 1000px) {
+ .footer > div {
+ flex-basis: 100%;
+ justify-content: center !important;
+ }
+}
+
+.footer > div a {
+ font-size: 1rem;
+ color: var(--theme);
+}
+.footer > div a:hover {
+ text-decoration: underline;
+}
+
+.footer .delimiter {
+ color: var(--color-gray);
+}
+.footer .brand {
+ justify-content: flex-start;
+}
+.footer .legal {
+ justify-content: flex-end;
+}
+
+.footer .brand img {
+ height: 2rem;
+}
+.footer .brand .version {
+ color: var(--color-gray);
+}
+
+.footer .lang .selected {
+ font-weight: bold;
+ color: inherit;
+}
diff --git a/page/strings.php b/page/strings.php
new file mode 100644
index 0000000..1912fd2
--- /dev/null
+++ b/page/strings.php
@@ -0,0 +1,40 @@
+define([
+ "title" => [
+ "de" => "Selbstbestimmungsgesetz Jetzt!",
+ "en" => "Self-Determination Act Now!"
+ ],
+
+ "description" => [
+ "de" => "Das TSG muss endlich durch ein Selbstbestimmungsgesetz ersetzt werden! Diese Seite verfolgt den Fortschritt der Gesetzgebung.",
+ "en" => "The TSG must be replaced by a Self-Determination Law! This page is tracking the progress of the legislation."
+ ],
+
+
+
+
+
+ "text_sourcecode" => [
+ "de" => "Quellcode",
+ "en" => "Sourcecode"
+ ],
+
+ "text_imprint" => [
+ "de" => "Impressum",
+ "en" => "Imprint"
+ ],
+ "link_imprint" => [
+ "de" => "https://www.tjdev.de/impressum",
+ "en" => "https://www.tjdev.de/imprint"
+ ],
+
+ "text_privacy_policy" => [
+ "de" => "Datenschutzerklärung",
+ "en" => "Privacy Policy"
+ ],
+ "link_privacy_policy" => [
+ "de" => "https://www.tjdev.de/datenschutz",
+ "en" => "https://www.tjdev.de/privacy"
+ ]
+ ]);
+?>