diff --git a/src/main/java/com/example/Portfolio/Controllers/Home.java b/src/main/java/com/example/Portfolio/Controllers/Home.java index 6ecf9dc..f26077b 100644 --- a/src/main/java/com/example/Portfolio/Controllers/Home.java +++ b/src/main/java/com/example/Portfolio/Controllers/Home.java @@ -29,8 +29,8 @@ public class Home { //navbar links model.addAttribute("links", List.of( new Link("About", "#about"), - new Link("Experience", "#experience"), - new Link("Education", "#education"), + new Link("Experience", "#resume-details"), + new Link("Education", "#resume-details"), new Link("Projects", "#projects"), new Link("Contact", "#contact") )); diff --git a/src/main/resources/static/assets/css/home.css b/src/main/resources/static/assets/css/home.css index 0454b91..73d7ce6 100644 --- a/src/main/resources/static/assets/css/home.css +++ b/src/main/resources/static/assets/css/home.css @@ -1,108 +1,96 @@ body { scroll-behavior: smooth; + font-family: 'Inter', system-ui, -apple-system, sans-serif; + color: #333; } section { - padding: 4rem 0; - border-bottom: 1px solid var(--bs-secondary-bg-subtle); + padding: 5rem 0; } -h1, h2, h3, h4, h5 { - letter-spacing: 0.02em; +/* Reduced spacing for Hero */ +.intro { + padding: 100px 0 60px 0; + background: radial-gradient(circle at top right, #f8f9ff 0%, #ffffff 100%); } -/* ---------- NAVBAR ---------- */ -.navbar { - backdrop-filter: blur(6px); +.profile-img { + border: 8px solid #fff; + box-shadow: 0 10px 30px rgba(0,0,0,0.1); + object-fit: cover; + border-radius: 50%; } -.nav-link { +/* Skill Badges */ +.skill-badge { + background: #f0f2f5; + color: #475569; + padding: 0.4rem 0.8rem; + border-radius: 6px; + font-size: 0.85rem; + font-weight: 500; + border: 1px solid rgba(0,0,0,0.05); +} + +/* Timeline UI to fix "weird" wide cards */ +.timeline-card { position: relative; + padding-left: 1.5rem; + border-left: 2px solid #e9ecef; + margin-bottom: 2rem; + transition: 0.3s; } -.nav-link::after { +.timeline-card::before { content: ""; position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; + left: -7px; + top: 4px; + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--bs-primary); } -.nav-link:hover::after { - width: 100%; -} - -/* ---------- ICON LINKS ---------- */ -.icon-link i { - font-size: 1.6rem; - transition: color 0.3s ease, transform 0.3s ease; -} - -.icon-link:hover i { - color: var(--bs-primary); - transform: translateY(-3px); -} - -/* ---------- INTRO / HERO ---------- */ -.intro { - min-height: 70vh; - display: flex; - align-items: center; - background: linear-gradient(180deg, var(--bs-light), #ffffff); -} - -.intro img { - border: 4px solid var(--bs-white); -} - -.skill-badge { - background: var(--bs-secondary-bg); - border-radius: 2rem; - padding: 0.4rem 0.9rem; - font-size: 0.85rem; -} - -/* ---------- CARDS (GLOBAL) ---------- */ -.card, -.project-item, -.contact-box { - border-radius: 1rem; - border: 1px solid var(--bs-secondary-bg-subtle); - transition: transform 0.3s ease, box-shadow 0.3s ease; - background: var(--bs-white); -} - -.card:hover, -.project-item:hover, -.contact-box:hover { - transform: translateY(-6px); - box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.08); -} - -/* ---------- SECTION HEADERS ---------- */ +/* Section Headers */ .section-header { - text-align: center; - margin-bottom: 3rem; + margin-bottom: 2.5rem; + border-bottom: 2px solid #f0f0f0; + padding-bottom: 0.75rem; } -.section-header i { - font-size: 2rem; - color: var(--bs-primary); +/* Modern Project Cards */ +.project-item { + border-radius: 12px; + background: white; + border: 1px solid rgba(0,0,0,0.05); + transition: all 0.3s ease; } -/* ---------- FOOTER ---------- */ -footer a { - text-decoration: none; - transition: color 0.3s ease; +.project-item:hover { + transform: translateY(-5px); + box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important; + border-color: var(--bs-primary); } -footer a:hover { - color: var(--bs-primary); +.w-fit { + width: fit-content; } -footer i { - font-size: 1.4rem; +/* Form Controls */ +.form-control { + padding: 0.75rem; + border-radius: 8px; + border: 1px solid #e0e0e0; } + +.form-control:focus { + box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.1); +} + +/* Navbar blur effect */ +.navbar { + backdrop-filter: blur(10px); + background-color: rgba(255, 255, 255, 0.8) !important; + border-bottom: 1px solid rgba(0,0,0,0.05); +} \ No newline at end of file diff --git a/src/main/resources/static/assets/css/project.css b/src/main/resources/static/assets/css/project.css index 1a6e154..778ee78 100644 --- a/src/main/resources/static/assets/css/project.css +++ b/src/main/resources/static/assets/css/project.css @@ -1,104 +1,62 @@ body { scroll-behavior: smooth; + font-family: 'Inter', system-ui, -apple-system, sans-serif; + background-color: #f9fbff; /* Very slight blue tint for a technical look */ } -section { - padding: 5rem 0; - border-bottom: 1px solid var(--bs-secondary-bg-subtle); -} - -h1, -h2, -h3, -h4, -h5 { - letter-spacing: 0.02em; -} - +/* --- HERO --- */ .hero { - min-height: 65vh; + padding: 80px 0 40px; + background: #ffffff; +} + +.project-badge { + text-transform: uppercase; + letter-spacing: 0.1rem; + font-size: 0.75rem; + font-weight: 700; + color: var(--bs-primary); +} + +/* --- DYNAMIC CONTENT TABS --- */ +.nav-pills .nav-link { + color: #6c757d; + font-weight: 600; + padding: 0.8rem 1.5rem; + border-radius: 8px; + transition: all 0.2s; +} + +.nav-pills .nav-link.active { + background-color: var(--bs-primary); + box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2); +} + +.dynamic-container { + background: #ffffff; + border: 1px solid rgba(0,0,0,0.05); + border-radius: 16px; + padding: 3rem; + min-height: 400px; /* Prevents jumping when switching tabs */ + box-shadow: 0 10px 30px rgba(0,0,0,0.02); +} + + +/* --- CAROUSEL --- */ +.browser-frame { + border: 1px solid #dee2e6; + border-radius: 12px; + overflow: hidden; + box-shadow: 0 20px 50px rgba(0,0,0,0.1); +} + +.browser-bar { + background: #f1f1f1; + height: 30px; display: flex; align-items: center; - text-align: center; + padding-left: 15px; + gap: 6px; } -.hero img { - transition: transform 0.4s ease; -} - -/* ---------- NAVBAR ---------- */ -.navbar { - backdrop-filter: blur(6px); -} - -.nav-link { - position: relative; -} - -.nav-link::after { - content: ""; - position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; -} - -.nav-link:hover::after { - width: 100%; -} - -.nav-link::after { - content: ""; - position: absolute; - left: 0; - bottom: -4px; - width: 0; - height: 2px; - background-color: var(--bs-primary); - transition: width 0.3s ease; -} - - -.icon-link i { - font-size: 1.5rem; - transition: color 0.3s ease, transform 0.3s ease; -} - -.icon-link:hover i { - color: var(--bs-primary); - transform: translateY(-2px); -} - - -.card, -.project-box { - border-radius: 1rem; - border: 1px solid var(--bs-secondary-bg-subtle); - transition: transform 0.3s ease, box-shadow 0.3s ease; -} - -.card:hover, -.project-box:hover { - transform: translateY(-5px); - box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.08); -} - -.tech-chips { - display: flex; - flex-wrap: wrap; - gap: 0.5rem; -} - -.tech-chip { - padding: 0.375rem 0.75rem; - font-size: 0.875rem; - font-weight: 500; - border-radius: 999px; - background-color: #f1f3f5; - color: #495057; - border: 1px solid #dee2e6; - white-space: nowrap; -} \ No newline at end of file +.dot { height: 8px; width: 8px; border-radius: 50%; background: #ddd; } \ No newline at end of file diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html index 30d3828..e7c449f 100644 --- a/src/main/resources/templates/home.html +++ b/src/main/resources/templates/home.html @@ -12,183 +12,135 @@ +
- -- Software Engineer specializing in Java, Spring Boot, and backend systems. +
+ Software Engineer specializing in Java, Spring Boot, and backend systems.
- -- Honours graduate in Information Technology with experience building secure, - maintainable enterprise software and internal ERP systems. +
+ Honours graduate in IT with experience building secure, maintainable enterprise software and internal ERP systems.
- - -WBHO Construction · 2025
+Developed and maintained internal ERP software systems.
+Wealth Associates · 2022
+Handled sensitive data with high accuracy and integrity.
+Wealth Associates · 2019
+Administrative and operational support.
+Software Engineering
+Graduated with Honours
+Software Engineering
+IT | CAT | Business
+WBHO Construction · 2025
-Developed and maintained internal ERP software systems.
-Wealth Associates · 2022
-Handled sensitive data with high accuracy and integrity.
-Wealth Associates · 2019
-Administrative and operational support.
-Specialization: Software Engineering
-Graduated with Honours
-Specialization: Software Engineering
-Major Subjects: IT | CAT |Business
-Selected technical work
-Let’s work together
-