diff --git a/.commitmsg b/.commitmsg deleted file mode 100644 index ed31342..0000000 --- a/.commitmsg +++ /dev/null @@ -1 +0,0 @@ -Clean up unused Vite template files \ No newline at end of file diff --git a/index.html b/index.html index 4926994..6dbbc1a 100644 --- a/index.html +++ b/index.html @@ -1,95 +1,177 @@ - + TillTheEnd - Delivering results, not promises + + + - -
- -
-
TillTheEnd
- -
+ + +
+ + +
+
+ TillTheEnd +
+ +
- -
-

TillTheEnd

-

Delivering results, not promises.

-
- Contact - GitHub -
-

Software Development • Infrastructure • Consulting

-
+ +
+
+ + Available for new projects +
+

+ TillTheEnd +

+

+ Delivering results, not promises. +

+ +
+ + + Software Development + + + + Infrastructure + + + + Consulting + +
+
- -
-

Services

-
-
-
💻
-

Software Development

-

Custom solutions tailored to your needs

-
-
-
⚙️
-

Infrastructure

-

Reliable systems architecture

-
-
-
💬
-

Consulting

-

Expert guidance from concept to completion

+ +
+

Services

+
+
+
+ 💻
+

Software Development

+

Custom solutions tailored to your needs. From web apps to backend systems.

-
- - -
-

About

-
-

- TillTheEnd is an IT consulting and freelancing service focused on delivering - exceptional results for clients. With expertise in software development, - infrastructure, and strategic consulting, we help businesses achieve their - technology goals. -

+
+
+ ⚙️ +
+

Infrastructure

+

Reliable systems architecture. Cloud, containers, and automation.

-
+
+
+ 💬 +
+

Consulting

+

Expert guidance from concept to completion. Technical strategy and mentorship.

+
+
+
- -
-

Contact

-
-
-
- Email: - contact@tilltheend.de + +
+
+

About

+

+ TillTheEnd is an IT consulting and freelancing service focused on delivering + exceptional results for clients. With expertise in software development, + infrastructure, and strategic consulting, we help businesses achieve their + technology goals. +

+
+
+ + +
+

Get in Touch

+
+
+
+ + + - - -
- + \ No newline at end of file diff --git a/src/main.css b/src/main.css index c94216b..b005b21 100644 --- a/src/main.css +++ b/src/main.css @@ -1,7 +1,10 @@ @import "tailwindcss"; +@theme { + --font-family-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + :root { - font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; background-color: #fafafa; color: #111; } @@ -14,5 +17,10 @@ body { .container { max-width: 1200px; margin: 0 auto; - padding: 0 20px; + padding: 0 1.5rem; +} + +/* Smooth scrolling */ +html { + scroll-behavior: smooth; } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 2a72333..12b842c 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,29 @@ import './main.css' -// TillTheEnd website initialization -console.log('TillTheEnd website loaded') +// Dark mode toggle +const themeToggle = document.getElementById('theme-toggle') +const html = document.documentElement + +// Check for saved theme or system preference +const savedTheme = localStorage.getItem('theme') +if (savedTheme) { + html.classList.toggle('dark', savedTheme === 'dark') +} else { + html.classList.toggle('dark', window.matchMedia('(prefers-color-scheme: dark)').matches) +} + +themeToggle.addEventListener('click', () => { + const isDark = html.classList.toggle('dark') + localStorage.setItem('theme', isDark ? 'dark' : 'light') +}) + +// Smooth scroll for anchor links +document.querySelectorAll('a[href^="#"]').forEach(anchor => { + anchor.addEventListener('click', function (e) { + e.preventDefault() + const target = document.querySelector(this.getAttribute('href')) + if (target) { + target.scrollIntoView({ behavior: 'smooth', block: 'start' }) + } + }) +}) \ No newline at end of file