diff --git a/app/about/page.tsx b/app/about/page.tsx
index ae232d0..bb5039e 100644
--- a/app/about/page.tsx
+++ b/app/about/page.tsx
@@ -5,10 +5,10 @@ import { Suspense } from 'react';
export default function About() {
return (
}>
- */}
);
}
\ No newline at end of file
diff --git a/app/news/page.module.css b/app/news/page.module.css
index 5582ee6..b8b4057 100644
--- a/app/news/page.module.css
+++ b/app/news/page.module.css
@@ -7,17 +7,18 @@
scroll-snap-type: y mandatory;
/* padding-left: 10vw;
padding-right: 10vw; */
- padding: 6rem;
+ padding: 16px 4vw;
/* overflow-x: hidden; */
}
.newsTitle {
- font-size: 3rem; /* Scales with viewport width for responsiveness */
+ font-size: 3rem;
color: #ffffff;
/* padding-left: 5vw; */
text-align: left;
- margin-bottom: 40px;
+ /* margin-bottom: min(40px, 5vh); */
margin-left: calc((100% - min(100%, 1280px)) / 2);
+ padding: 64px 16px;
}
/* Ensures posts occupy the full width and center-align in the viewport */
diff --git a/components/Blog/Blog.module.css b/components/Blog/Blog.module.css
index 18e2b07..b1fe3b6 100644
--- a/components/Blog/Blog.module.css
+++ b/components/Blog/Blog.module.css
@@ -6,12 +6,10 @@
/* min-height: 70vh; */
/* max-height: 70vh; */
/* margin: 5vh; Centering and adding equal top/bottom margins */
- margin-top: 20px;
- margin-bottom: 20px;
/* margin-left: 5vh;
margin-right: 5vh; */
/* border: 2px solid #ddd; */
- border-radius: 20px;
+ border-radius: 1.5rem;
/* padding: 2rem; */
background-color: #222222;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
@@ -24,22 +22,23 @@
.blogHeader {
display: flex;
justify-content: space-between;
- align-items: center;
+ align-items: flex-end;
margin-bottom: 40px;
+ gap: 24px;
}
.blogTitle {
- font-size: 2.4rem; /* Scales with viewport width */
+ font-size: 2.4rem;
color: #ffffff;
}
.blogDate {
- font-size: 1.625rem; /* Scales with viewport width */
+ font-size: 1.25rem;
color: #ffffff;
}
.blogContent {
- font-size: 1.625rem;
+ font-size: 1.25rem;
font-weight: 200;
display: flex;
flex-direction: row;
@@ -50,18 +49,29 @@
}
.blogImage {
- /* width: 50%;
- height: 70%;
- max-height: 50vh; */
- max-width: 50%;
- max-height: 100%;
+ max-width: 400px;
+ max-height: 400px;
+ width: 45%;
+ height: 100%;
/* object-fit: cover; */
border-radius: 8px;
- aspect-ratio: 1;
-
+ aspect-ratio: 1/1;
}
.blogDescription {
- flex-grow: 1;
- overflow-y: auto;
+ align-self: center;
+}
+
+
+@media (max-width: 1280px) {
+ .blogContent {
+ flex-direction: column;
+ }
+ .blogHeader {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+ .blogImage {
+ width: 100%;
+ }
}
\ No newline at end of file
diff --git a/components/GalleryPhoto/GalleryDisplay.tsx b/components/GalleryPhoto/GalleryDisplay.tsx
index 3b2230a..6a63fc7 100644
--- a/components/GalleryPhoto/GalleryDisplay.tsx
+++ b/components/GalleryPhoto/GalleryDisplay.tsx
@@ -7,7 +7,7 @@ import Masonry, { ResponsiveMasonry } from "react-responsive-masonry";
export default function GalleryDisplay(props: { urls: { media: { imgix_url: string, name: string, alt_text: string | undefined, width: number, height: number }[]; }; }) {
return (
-
+
diff --git a/components/Navbar/Navbar.module.css b/components/Navbar/Navbar.module.css
index f48f7de..b785795 100644
--- a/components/Navbar/Navbar.module.css
+++ b/components/Navbar/Navbar.module.css
@@ -1,6 +1,18 @@
.navbar {
background-color: #000000;
color: #ffffff;
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100vh;
+ transform: translateX(-100%);
+ transition: transform 0.3s ease-in-out;
+ z-index: 1000;
+}
+
+.navbar.open {
+ transform: translateX(0);
}
@keyframes fadeInAnimation {
@@ -14,8 +26,6 @@
}
.navbar-container {
- position: sticky;
- top: 0px;
display: flex;
justify-content: flex-end;
flex-direction: column;
@@ -25,10 +35,6 @@
height: 100vh;
}
-/* try editing the font size so that it scales with the screen nicely,
-prob want to scale with screen height or screen width, kind of unsure yet.
-lowk one idea would be maybe try multiplying screen height and screen width
-so you could scale with screen area? this goes for both links and logo*/
.navbar-logo {
margin: 0;
margin-top: 2rem;
@@ -67,17 +73,39 @@ so you could scale with screen area? this goes for both links and logo*/
text-decoration: none;
padding: 0.5rem 0.5rem;
margin: 0.125rem;
+ font-size: 1rem;
transition: all 0.3s ease;
position: relative;
}
-/* .nav-link:hover,
-.nav-link.active {
- background-color: #222222;
- border-radius: 4px;
-} */
-
.nav-link:hover,
.nav-link.active {
color: #A3A3A3;
+}
+
+.menu-toggle {
+ position: fixed;
+ top: 4vh;
+ right: 4vh;
+ z-index: 1001;
+ background: none;
+ border: none;
+ color: #ffffff;
+ font-size: 1.5rem;
+ cursor: pointer;
+ display: block;
+}
+
+@media (min-width: 769px) {
+ .navbar {
+ position: sticky;
+ top: 0;
+ transform: none;
+ width: 12.5rem;
+ height: 100vh;
+ }
+
+ .menu-toggle {
+ display: none;
+ }
}
\ No newline at end of file
diff --git a/components/Navbar/Navbar.tsx b/components/Navbar/Navbar.tsx
index 4f8bd62..fe2dae7 100644
--- a/components/Navbar/Navbar.tsx
+++ b/components/Navbar/Navbar.tsx
@@ -1,9 +1,11 @@
"use client";
+import { useState } from "react";
import Link from "next/link";
import { usePathname } from "next/navigation";
import styles from "./Navbar.module.css";
import Image from "next/image";
+import { Menu, X } from 'lucide-react';
const routes = [
{ href: "/about", label: "About" },
@@ -14,10 +16,19 @@ const routes = [
export default function Navbar() {
const pathname = usePathname();
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
+
+ const toggleMenu = () => {
+ setIsMenuOpen(!isMenuOpen);
+ };
return (
-