diff --git a/client/dist.zip b/client/dist.zip
index 0adcd0e6d97f03e7822995d6a00dca3d7541688e..77a157fb25f5480675035dfa5761ef43bcf9dd05 100644
Binary files a/client/dist.zip and b/client/dist.zip differ
diff --git a/client/public/team/co/marie.jpg b/client/public/team/co/marie.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dd0a058a4169627db77885b36706e1ea08a04bbf
Binary files /dev/null and b/client/public/team/co/marie.jpg differ
diff --git "a/client/public/team/directeur/Catherine Tessier - Directrice \303\211venementielle.JPG" "b/client/public/team/directeur/Catherine Tessier - Directrice \303\211venementiel.JPG"
similarity index 100%
rename from "client/public/team/directeur/Catherine Tessier - Directrice \303\211venementielle.JPG"
rename to "client/public/team/directeur/Catherine Tessier - Directrice \303\211venementiel.JPG"
diff --git "a/client/public/team/directeur/Madeleine Lepage - Directrice G\303\251nie conseil .jpg" "b/client/public/team/directeur/Madeleine Lepage - Directrice G\303\251nie conseil .jpg"
index 6c1819545d46bf0362c8a00d22b014da8da517d1..cc0d85030e242b8668fc362a77ba3937392cb00a 100755
Binary files "a/client/public/team/directeur/Madeleine Lepage - Directrice G\303\251nie conseil .jpg" and "b/client/public/team/directeur/Madeleine Lepage - Directrice G\303\251nie conseil .jpg" differ
diff --git a/client/public/team/directeur/Sarah Roberge - Directrice Chefs.JPG b/client/public/team/directeur/Sarah Roberge - Directrice Chefs.JPG
new file mode 100644
index 0000000000000000000000000000000000000000..c6cdc7dde251634fdfa6941dcb22dc4432cacbf2
Binary files /dev/null and b/client/public/team/directeur/Sarah Roberge - Directrice Chefs.JPG differ
diff --git a/client/src/components/Countdown.tsx b/client/src/components/Countdown.tsx
index 51a0d25a3b4a93bba4b13bb8b291a6011be9a544..942198183e7582e111ee8b0659fd235a1b313354 100644
--- a/client/src/components/Countdown.tsx
+++ b/client/src/components/Countdown.tsx
@@ -1,58 +1,90 @@
-import { createSignal, onCleanup } from "solid-js";
-import CountdownCard from "./CountdownCard";
-import { t } from "../stores/locale";
+import { createSignal, onCleanup } from "solid-js"
+import CountdownCard from "./CountdownCard"
+import { t } from "../stores/locale"
 
 function timeBetweenDates() {
-    const validFromDate = new Date();
-    const validTillDate = new Date("18 January 2025 08:00 UTC-05");
-    const difference = validTillDate.getTime() - validFromDate.getTime();
-  
+    const validFromDate = new Date()
+    const validTillDate = new Date("16 January 2025 08:00 UTC-05")
+    const difference = validTillDate.getTime() - validFromDate.getTime()
+
     let timeData = {
-      days: "00",
-      hours: "00",
-      minutes: "00",
-      seconds: "00"
-    };
+        days: "00",
+        hours: "00",
+        minutes: "00",
+        seconds: "00",
+    }
     if (difference > 0) {
-      let seconds = Math.floor(difference / 1000);
-      let minutes = Math.floor(seconds / 60);
-      let hours = Math.floor(minutes / 60);
-      const days = Math.floor(hours / 24);
-  
-      hours %= 24;
-      minutes %= 60;
-      seconds %= 60;
-  
-      timeData = {
-        days: days < 10 ? `0${days}` : `${days}`,
-        hours: hours < 10 ? `0${hours}` : `${hours}`,
-        minutes: minutes < 10 ? `0${minutes}` : `${minutes}`,
-        seconds: seconds < 10 ? `0${seconds}` : `${seconds}`
-      };
+        let seconds = Math.floor(difference / 1000)
+        let minutes = Math.floor(seconds / 60)
+        let hours = Math.floor(minutes / 60)
+        const days = Math.floor(hours / 24)
+
+        hours %= 24
+        minutes %= 60
+        seconds %= 60
+
+        timeData = {
+            days: days < 10 ? `0${days}` : `${days}`,
+            hours: hours < 10 ? `0${hours}` : `${hours}`,
+            minutes: minutes < 10 ? `0${minutes}` : `${minutes}`,
+            seconds: seconds < 10 ? `0${seconds}` : `${seconds}`,
+        }
     }
     return {
-      timeData,
-      difference
-    };
+        timeData,
+        difference,
+    }
 }
 
 export default function Countdown() {
     const [timerDetails, setTimerDetails] = createSignal(
-      timeBetweenDates().timeData
-    );
+        timeBetweenDates().timeData,
+    )
 
     const timer = setInterval(() => {
-      setTimerDetails(timeBetweenDates().timeData);
-    }, 1000);
-  
-    onCleanup(() => clearInterval(timer));
-  
+        setTimerDetails(timeBetweenDates().timeData)
+    }, 1000)
+
+    onCleanup(() => clearInterval(timer))
+
     return (
-      <div class="flex flex-row items-center justify-center gap-3">
-        <CountdownCard id="days" label={() => {return t("homePage.days");}} current={() => { return timerDetails().days;}} />
-        <CountdownCard id="hours" label={() => {return t("homePage.hours");}} current={() => { return timerDetails().hours;}} />
-        <CountdownCard id="minutes" label={() => {return t("homePage.minutes");}} current={() => { return timerDetails().minutes;}} />
-        <CountdownCard id="seconds" label={() => {return t("homePage.seconds");}} current={() => { return timerDetails().seconds;}} />
-      </div>
-    );
-}
\ No newline at end of file
+        <div class="flex flex-row items-center justify-center gap-3">
+            <CountdownCard
+                id="days"
+                label={() => {
+                    return t("homePage.days")
+                }}
+                current={() => {
+                    return timerDetails().days
+                }}
+            />
+            <CountdownCard
+                id="hours"
+                label={() => {
+                    return t("homePage.hours")
+                }}
+                current={() => {
+                    return timerDetails().hours
+                }}
+            />
+            <CountdownCard
+                id="minutes"
+                label={() => {
+                    return t("homePage.minutes")
+                }}
+                current={() => {
+                    return timerDetails().minutes
+                }}
+            />
+            <CountdownCard
+                id="seconds"
+                label={() => {
+                    return t("homePage.seconds")
+                }}
+                current={() => {
+                    return timerDetails().seconds
+                }}
+            />
+        </div>
+    )
+}
diff --git a/client/src/routes/Partners.tsx b/client/src/routes/Partners.tsx
index b5436b5b1812589111196c8a1b94d30201a76dc4..80e7ca6b2ef58d8fd4c5a4910903ba34cd0645ac 100644
--- a/client/src/routes/Partners.tsx
+++ b/client/src/routes/Partners.tsx
@@ -1,3 +1,4 @@
+import clsx from "clsx"
 import FixedImage from "../components/FixedImage"
 import { H1 } from "../components/Text"
 import { t } from "../stores/locale"
@@ -12,28 +13,41 @@ const Partners = () => {
             "polytechnique.png",
             "prattwhitney.png",
         ],
-        or: [
-            "alstom.jpg",
-            "cascades.png",
-            "excelpro.png", // Added .png extension
-            "oiq.png",
-        ],
+        or: ["alstom.jpg", "cascades.png", "excelpro.png", "oiq.png"],
         argent: ["lotoquebec.png", "marmen.png"],
         bronze: ["exp.png"],
         officiel: ["genium360.png"],
     }
 
+    // Descriptions for partners
+    const partnerDescriptions: any = {
+        "marmen.png":
+            "Marmen est reconnue pour ses services d’usinage de haute précision, de fabrication et d’assemblage mécanique, de conception et d’ingénierie et est aussi l’un des plus importants fabricants de tours d’éoliennes en Amérique du Nord. Marmen dessert de nombreux marchés, notamment : le spatial, l’hydroélectricité, le nucléaire, défense et militaire, le pétrole et gaz, l’aviation, les mines et aciéries et plusieurs autres. Travailler chez Marmen, c’est faire partie d’une équipe gagnante qui propose des solutions innovantes. Évoluez dans un milieu convivial favorisant le travail d’équipe et le développement du potentiel de chacun!",
+        "aep.png":
+            "L'Association étudiante de Polytechnique (AEP) est l’organisation qui représente et soutient les personnes étudiantes au premier cycle de Polytechnique Montréal. L’AEP se distingue par son rôle central dans la vie académique, sociale et culturelle de ses membres. Elle est responsable de promouvoir les droits et intérêts des étudiants, de renforcer la communication entre ceux-ci et l’administration, ainsi que de favoriser leur épanouissement sur les plans personnel et professionnel.",
+        "cascades.png":
+            "Cascades est une entreprise canadienne reconnue pour ses solutions novatrices en matière de récupération, de fabrication de produits d'emballage et de papiers tissus écologiques. Avec plusieurs unités à travers l’Amérique du Nord, Cascades s'engage à promouvoir des pratiques durables et respectueuses de l'environnement. L'entreprise est un acteur majeur dans les secteurs de l'emballage pour les aliments, la protection des produits et les solutions d'hygiène, contribuant ainsi à un avenir plus vert et durable. Respectez votre nature!",
+        "oiq.png":
+            "Avec plus de 72 000 membres et futur.e.s membres, l’Ordre des ingénieurs du Québec se classe au 2e rang d’importance parmi les 46 ordres professionnels de la province. L’Ordre a pour mission d’encadrer la pratique des ingénieurs et ingénieures et de soutenir la profession afin d’assurer la protection du public. Plus largement, il constitue à la fois l’instance de régulation et la vitrine du génie québécois.",
+        "genium360.png":
+            "La Compétition Québécoise d’Ingénierie (CQI) est bien plus qu’un défi : c’est une occasion unique pour les esprits novateurs de démontrer leur ingéniosité, leur rigueur et leur créativité. Genium360, partenaire officiel de cette 40e édition, est honorée de célébrer cette relève talentueuse qui façonne l’avenir du génie au Québec.",
+        "excelpro.png":
+            "Excelpro est un intégrateur de systèmes automatisés, un entrepreneur électrique et un fabricant de panneaux de contrôle. Sa filière Génik tant qu'à elle répond aux défis de production en concevant et en fabriquant des équipements robotisés et automatisés sur mesure, alliant qualité et innovation. Ensemble, Excelpro et Génik contribuent à créer l'industrie de demain.",
+        "lotoquebec.png":
+            "Fondée en 1969, Loto-Québec a pour mission d’encadrer les jeux de hasard et d’argent, tout en les soustrayant au contrôle du crime organisé. Aujourd’hui, nous proposons bien plus qu’une gamme de jeux : des hôtels, restaurants, bars, salles de spectacles, une boîte de nuit et même l’un des plus beaux terrains de golf en Amérique du Nord! Et puisque 100 % de nos profits retournent à la collectivité, quand les Québécois jouent avec nous, c’est tout le Québec qui gagne!",
+    }
+
     // Order of tiers to display
-    const tiers = ["officiel", "platine", "diamant", "or", "argent", "bronze"]
+    const tiers = ["officiel", "diamant", "platine", "or", "argent", "bronze"]
 
     // Image sizes for each tier
     const tierImageSizes: any = {
-        officiel: "36",
-        platine: "18",
-        diamant: "16",
-        or: "10",
-        argent: "6",
-        bronze: "4",
+        officiel: "8",
+        diamant: "6",
+        platine: "4",
+        or: "3.5",
+        argent: "3",
+        bronze: "2",
     }
 
     // Titles for each tier
@@ -54,7 +68,7 @@ const Partners = () => {
                 </h1>
             </FixedImage>
 
-            <div class="flex flex-col items-center gap-4">
+            <div class="flex w-full flex-col items-center gap-4 px-16">
                 <div class="-mt-4 flex h-full w-full flex-row items-center justify-center gap-4 p-4 font-futur text-xl font-bold">
                     <a
                         href="/doc/Plan de partenariat 2025 FR.pdf"
@@ -73,7 +87,7 @@ const Partners = () => {
                 </div>
                 <H1>Partenaires de la CQI 2025</H1>
 
-                <div class="flex flex-col gap-8">
+                <div class="flex w-full flex-col gap-8">
                     {tiers.map((tier) => (
                         <div class="flex flex-col gap-4">
                             <h2 class="text-2xl font-bold">
@@ -81,12 +95,37 @@ const Partners = () => {
                             </h2>
                             <div class="flex flex-wrap gap-8">
                                 {partners[tier].map((partner: any) => (
-                                    <img
-                                        src={`/partners/${tier}/${partner}`}
-                                        alt={partner}
-                                        style={`width: ${tierImageSizes[tier]}rem;`}
-                                        class={`object-contain`}
-                                    />
+                                    <div
+                                        class={clsx(
+                                            "group relative w-full max-w-xs",
+                                            partnerDescriptions[partner] &&
+                                                "transition-all duration-1000 ease-linear hover:h-72",
+                                        )}
+                                    >
+                                        <img
+                                            src={`/partners/${tier}/${partner}`}
+                                            alt={partner}
+                                            style={
+                                                "height:" +
+                                                tierImageSizes[tier] +
+                                                "rem"
+                                            }
+                                            class="object-contain"
+                                        />
+                                        {partnerDescriptions[partner] && (
+                                            <div class="absolute inset-0 z-10 flex items-center justify-center opacity-0 transition-opacity duration-300 group-hover:opacity-100">
+                                                <div class="rounded-lg bg-white p-4 shadow-lg">
+                                                    <p class="text-sm">
+                                                        {
+                                                            partnerDescriptions[
+                                                                partner
+                                                            ]
+                                                        }
+                                                    </p>
+                                                </div>
+                                            </div>
+                                        )}
+                                    </div>
                                 ))}
                             </div>
                         </div>
diff --git a/client/src/routes/Team.tsx b/client/src/routes/Team.tsx
index e5fb7f5e991237098518f93655ca74f88b9b10d7..d198ab543b872baa22745000c715e9c91780ff76 100644
--- a/client/src/routes/Team.tsx
+++ b/client/src/routes/Team.tsx
@@ -42,7 +42,7 @@ const Team = () => {
         {
             name: "Marie Rheault-Leclair",
             role: "VP-Conscience Sociale",
-            image: "/team/co/marie.png",
+            image: "/team/co/marie.jpg",
         },
     ]
 
@@ -55,7 +55,7 @@ const Team = () => {
         {
             name: "Catherine Tessier",
             role: "Directrice Évenementielle",
-            image: "Catherine Tessier - Directrice Évenementielle.JPG",
+            image: "Catherine Tessier - Directrice Évenementiel.JPG",
         },
         {
             name: "Danick Thibault",
@@ -142,6 +142,11 @@ const Team = () => {
             role: "Directrice Programmation",
             image: "Éloise Brosseau - Directrice Programmation.JPG",
         },
+        {
+            name: "Sarah Roberge",
+            role: "Directrice À La Chefferie",
+            image: "Sarah Roberge - Directrice Chefs.JPG",
+        },
     ]
 
     return (