diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..aacb518
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+18.17
diff --git a/src/app/[locale]/add-tournament/Map.tsx b/src/app/[locale]/(main)/add-tournament/Map.tsx
similarity index 100%
rename from src/app/[locale]/add-tournament/Map.tsx
rename to src/app/[locale]/(main)/add-tournament/Map.tsx
diff --git a/src/app/[locale]/add-tournament/TournamentForm.tsx b/src/app/[locale]/(main)/add-tournament/TournamentForm.tsx
similarity index 100%
rename from src/app/[locale]/add-tournament/TournamentForm.tsx
rename to src/app/[locale]/(main)/add-tournament/TournamentForm.tsx
diff --git a/src/app/[locale]/add-tournament/page.tsx b/src/app/[locale]/(main)/add-tournament/page.tsx
similarity index 100%
rename from src/app/[locale]/add-tournament/page.tsx
rename to src/app/[locale]/(main)/add-tournament/page.tsx
diff --git a/src/app/[locale]/clubs/ClubMap.tsx b/src/app/[locale]/(main)/clubs/ClubMap.tsx
similarity index 100%
rename from src/app/[locale]/clubs/ClubMap.tsx
rename to src/app/[locale]/(main)/clubs/ClubMap.tsx
diff --git a/src/app/[locale]/clubs/ClubMarker.tsx b/src/app/[locale]/(main)/clubs/ClubMarker.tsx
similarity index 100%
rename from src/app/[locale]/clubs/ClubMarker.tsx
rename to src/app/[locale]/(main)/clubs/ClubMarker.tsx
diff --git a/src/app/[locale]/clubs/ClubTable.tsx b/src/app/[locale]/(main)/clubs/ClubTable.tsx
similarity index 100%
rename from src/app/[locale]/clubs/ClubTable.tsx
rename to src/app/[locale]/(main)/clubs/ClubTable.tsx
diff --git a/src/app/[locale]/clubs/ClubsDisplay.tsx b/src/app/[locale]/(main)/clubs/ClubsDisplay.tsx
similarity index 100%
rename from src/app/[locale]/clubs/ClubsDisplay.tsx
rename to src/app/[locale]/(main)/clubs/ClubsDisplay.tsx
diff --git a/src/app/[locale]/clubs/page.tsx b/src/app/[locale]/(main)/clubs/page.tsx
similarity index 100%
rename from src/app/[locale]/clubs/page.tsx
rename to src/app/[locale]/(main)/clubs/page.tsx
diff --git a/src/app/[locale]/components/Footer.tsx b/src/app/[locale]/(main)/components/Footer.tsx
similarity index 100%
rename from src/app/[locale]/components/Footer.tsx
rename to src/app/[locale]/(main)/components/Footer.tsx
diff --git a/src/app/[locale]/components/Hamburger.tsx b/src/app/[locale]/(main)/components/Hamburger.tsx
similarity index 100%
rename from src/app/[locale]/components/Hamburger.tsx
rename to src/app/[locale]/(main)/components/Hamburger.tsx
diff --git a/src/app/[locale]/components/HamburgerMenu.tsx b/src/app/[locale]/(main)/components/HamburgerMenu.tsx
similarity index 100%
rename from src/app/[locale]/components/HamburgerMenu.tsx
rename to src/app/[locale]/(main)/components/HamburgerMenu.tsx
diff --git a/src/app/[locale]/components/Navbar.tsx b/src/app/[locale]/(main)/components/Navbar.tsx
similarity index 100%
rename from src/app/[locale]/components/Navbar.tsx
rename to src/app/[locale]/(main)/components/Navbar.tsx
diff --git a/src/app/[locale]/components/ThemeSwitcher.tsx b/src/app/[locale]/(main)/components/ThemeSwitcher.tsx
similarity index 100%
rename from src/app/[locale]/components/ThemeSwitcher.tsx
rename to src/app/[locale]/(main)/components/ThemeSwitcher.tsx
diff --git a/src/app/[locale]/contact-us/ContactForm.tsx b/src/app/[locale]/(main)/contact-us/ContactForm.tsx
similarity index 100%
rename from src/app/[locale]/contact-us/ContactForm.tsx
rename to src/app/[locale]/(main)/contact-us/ContactForm.tsx
diff --git a/src/app/[locale]/contact-us/page.tsx b/src/app/[locale]/(main)/contact-us/page.tsx
similarity index 100%
rename from src/app/[locale]/contact-us/page.tsx
rename to src/app/[locale]/(main)/contact-us/page.tsx
diff --git a/src/app/[locale]/elo/KFactor.tsx b/src/app/[locale]/(main)/elo/KFactor.tsx
similarity index 100%
rename from src/app/[locale]/elo/KFactor.tsx
rename to src/app/[locale]/(main)/elo/KFactor.tsx
diff --git a/src/app/[locale]/elo/ManualEloForm.tsx b/src/app/[locale]/(main)/elo/ManualEloForm.tsx
similarity index 100%
rename from src/app/[locale]/elo/ManualEloForm.tsx
rename to src/app/[locale]/(main)/elo/ManualEloForm.tsx
diff --git a/src/app/[locale]/elo/TournamentResults.tsx b/src/app/[locale]/(main)/elo/TournamentResults.tsx
similarity index 100%
rename from src/app/[locale]/elo/TournamentResults.tsx
rename to src/app/[locale]/(main)/elo/TournamentResults.tsx
diff --git a/src/app/[locale]/elo/page.tsx b/src/app/[locale]/(main)/elo/page.tsx
similarity index 100%
rename from src/app/[locale]/elo/page.tsx
rename to src/app/[locale]/(main)/elo/page.tsx
diff --git a/src/app/[locale]/(main)/layout.tsx b/src/app/[locale]/(main)/layout.tsx
new file mode 100644
index 0000000..cb73921
--- /dev/null
+++ b/src/app/[locale]/(main)/layout.tsx
@@ -0,0 +1,18 @@
+import { ReactNode } from "react";
+
+import Footer from "./components/Footer";
+import Navbar from "./components/Navbar";
+
+export default async function MainLayout({
+ children,
+}: {
+ children: ReactNode;
+}) {
+ return (
+ <>
+