diff --git a/pages/index.js b/pages/index.js
index dbd1779..b7738ab 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -2,14 +2,40 @@
 import Header from '../Components/Header';
 import { AutoLayout, Panel, Title, Subtitle, Text, Divider } from '../Components/Panels';
 
-const duplicate = (arr, numberOfRepetitions) => arr.flatMap(i => Array.from({ length: numberOfRepetitions }).fill(i));
 
 export default function Home(props) {
+  let subtexts = []
+  switch (props.season.season) {
+    case "christmas": {
+      subtexts = [
+        "Merry Christmas!",
+        "Happy Holidays!",
+        "Season's Greetings!",
+        "Merry Clicksmas!",
+      ]
+      break;
+    }
+    case "halloween": {
+      subtexts = [
+        "Happy Halloween!",
+        "Trick or Treat!",
+        "boo"
+      ]
+    }
+    default: {
+      subtexts = [
+        "Creating projects that click"
+      ];
+    }
+  }
+
+  let currentSubtext = subtexts[Math.floor(props.randomSeed * subtexts.length)];
+
   return (
     <>
       <Header
         name="Clicks"
-        subtext="We develop "
+        subtext={currentSubtext}
         customImage="https://assets.clicks.codes/web/logos/clicks.svg"
         embedImage="https://assets.clicks.codes/web/logos/clicks.png"
         gradient={["6576CC", "4B5899"]}
@@ -18,11 +44,6 @@
         index={true}
         fullscreen={true}
         showSubBar={props.showSubBar}
-        effects={{ type: 50, changingSubtext: {
-          common: [
-            "websites", "Discord bots", "utilities", "APIs"
-          ], rare: ["overly complicated header animations"]
-        }}}
       />
       <AutoLayout>
         <Panel halfSize={false}>
