Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>Alex Carter | Portfolio</title> | |
<script src="https://cdn.tailwindcss.com"></script> | |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
<style> | |
/* Custom CSS */ | |
.gradient-text { | |
background: linear-gradient(90deg, #3b82f6, #8b5cf6); | |
-webkit-background-clip: text; | |
background-clip: text; | |
color: transparent; | |
} | |
.project-card:hover { | |
transform: translateY(-5px); | |
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); | |
} | |
.nav-link { | |
position: relative; | |
} | |
.nav-link::after { | |
content: ''; | |
position: absolute; | |
width: 0; | |
height: 2px; | |
bottom: -2px; | |
left: 0; | |
background: linear-gradient(90deg, #3b82f6, #8b5cf6); | |
transition: width 0.3s ease; | |
} | |
.nav-link:hover::after { | |
width: 100%; | |
} | |
.hero-pattern { | |
background-image: radial-gradient(rgba(59, 130, 246, 0.2) 1px, transparent 1px); | |
background-size: 20px 20px; | |
} | |
/* Animation */ | |
@keyframes float { | |
0% { transform: translateY(0px); } | |
50% { transform: translateY(-10px); } | |
100% { transform: translateY(0px); } | |
} | |
.floating { | |
animation: float 6s ease-in-out infinite; | |
} | |
</style> | |
</head> | |
<body class="font-sans bg-gray-50 text-gray-800"> | |
<!-- Navigation --> | |
<nav class="fixed w-full bg-white/80 backdrop-blur-md z-50 shadow-sm"> | |
<div class="max-w-6xl mx-auto px-6 py-4 flex justify-between items-center"> | |
<a href="#" class="text-2xl font-bold gradient-text">Alex Carter</a> | |
<div class="hidden md:flex space-x-8"> | |
<a href="#home" class="nav-link">Home</a> | |
<a href="#about" class="nav-link">About</a> | |
<a href="#projects" class="nav-link">Projects</a> | |
<a href="#skills" class="nav-link">Skills</a> | |
<a href="#contact" class="nav-link">Contact</a> | |
</div> | |
<button id="mobile-menu-button" class="md:hidden text-gray-700"> | |
<i class="fas fa-bars text-xl"></i> | |
</button> | |
</div> | |
<!-- Mobile Menu --> | |
<div id="mobile-menu" class="hidden md:hidden bg-white px-6 py-4 shadow-lg"> | |
<div class="flex flex-col space-y-4"> | |
<a href="#home" class="nav-link">Home</a> | |
<a href="#about" class="nav-link">About</a> | |
<a href="#projects" class="nav-link">Projects</a> | |
<a href="#skills" class="nav-link">Skills</a> | |
<a href="#contact" class="nav-link">Contact</a> | |
</div> | |
</div> | |
</nav> | |
<!-- Hero Section --> | |
<section id="home" class="hero-pattern min-h-screen flex items-center pt-20"> | |
<div class="max-w-6xl mx-auto px-6 py-20 flex flex-col md:flex-row items-center"> | |
<div class="md:w-1/2 mb-12 md:mb-0"> | |
<h1 class="text-4xl md:text-6xl font-bold mb-6"> | |
Hi, I'm <span class="gradient-text">Alex Carter</span> | |
</h1> | |
<h2 class="text-2xl md:text-3xl font-semibold mb-6 text-gray-600"> | |
Full Stack Developer & UI/UX Designer | |
</h2> | |
<p class="text-lg mb-8 text-gray-600 max-w-lg"> | |
I build exceptional digital experiences that are fast, accessible, and visually appealing. Let's create something amazing together! | |
</p> | |
<div class="flex space-x-4"> | |
<a href="#contact" class="px-6 py-3 bg-gradient-to-r from-blue-500 to-purple-600 text-white rounded-lg font-medium hover:shadow-lg transition-all"> | |
Contact Me | |
</a> | |
<a href="#projects" class="px-6 py-3 border border-gray-300 rounded-lg font-medium hover:bg-gray-100 transition-all"> | |
View Work | |
</a> | |
</div> | |
</div> | |
<div class="md:w-1/2 flex justify-center"> | |
<div class="relative w-64 h-64 md:w-80 md:h-80 rounded-full overflow-hidden border-4 border-white shadow-xl floating"> | |
<img src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80" | |
alt="Alex Carter" | |
class="w-full h-full object-cover"> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- About Section --> | |
<section id="about" class="py-20 bg-white"> | |
<div class="max-w-6xl mx-auto px-6"> | |
<h2 class="text-3xl font-bold text-center mb-16"> | |
<span class="gradient-text">About Me</span> | |
</h2> | |
<div class="flex flex-col md:flex-row items-center"> | |
<div class="md:w-1/3 mb-8 md:mb-0 flex justify-center"> | |
<div class="w-64 h-64 rounded-lg overflow-hidden shadow-lg"> | |
<img src="https://images.unsplash.com/photo-1571171637578-41bc2dd41cd2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1740&q=80" | |
alt="Working" | |
class="w-full h-full object-cover"> | |
</div> | |
</div> | |
<div class="md:w-2/3 md:pl-12"> | |
<h3 class="text-2xl font-semibold mb-4">Who I Am</h3> | |
<p class="text-gray-600 mb-6"> | |
I'm a passionate full-stack developer with 5+ years of experience creating modern web applications. | |
I specialize in JavaScript technologies across the whole stack (React, Node.js, Express, MongoDB). | |
</p> | |
<p class="text-gray-600 mb-6"> | |
My approach combines technical expertise with an eye for design, ensuring that the products I build | |
are not only functional but also provide an exceptional user experience. | |
</p> | |
<div class="grid grid-cols-2 gap-4 mb-8"> | |
<div class="flex items-center"> | |
<div class="w-3 h-3 rounded-full bg-blue-500 mr-2"></div> | |
<span>Problem Solver</span> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-3 h-3 rounded-full bg-purple-500 mr-2"></div> | |
<span>Detail Oriented</span> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-3 h-3 rounded-full bg-blue-500 mr-2"></div> | |
<span>Team Player</span> | |
</div> | |
<div class="flex items-center"> | |
<div class="w-3 h-3 rounded-full bg-purple-500 mr-2"></div> | |
<span>Continuous Learner</span> | |
</div> | |
</div> | |
<a href="#" class="inline-flex items-center text-blue-600 hover:text-blue-800"> | |
Download Resume | |
<i class="fas fa-download ml-2"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Projects Section --> | |
<section id="projects" class="py-20 bg-gray-50"> | |
<div class="max-w-6xl mx-auto px-6"> | |
<h2 class="text-3xl font-bold text-center mb-4"> | |
<span class="gradient-text">My Projects</span> | |
</h2> | |
<p class="text-center text-gray-600 mb-16 max-w-2xl mx-auto"> | |
Here are some of my recent projects. Each one was built to solve a specific problem or explore new technologies. | |
</p> | |
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"> | |
<!-- Project 1 --> | |
<div class="project-card bg-white rounded-xl overflow-hidden shadow-md transition-all duration-300"> | |
<div class="h-48 overflow-hidden"> | |
<img src="https://images.unsplash.com/photo-1551288049-bebda4e38f71?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1740&q=80" | |
alt="E-commerce Dashboard" | |
class="w-full h-full object-cover"> | |
</div> | |
<div class="p-6"> | |
<h3 class="text-xl font-bold mb-2">E-commerce Dashboard</h3> | |
<p class="text-gray-600 mb-4"> | |
A comprehensive dashboard for e-commerce businesses with analytics, inventory management, and order processing. | |
</p> | |
<div class="flex flex-wrap gap-2 mb-4"> | |
<span class="px-2 py-1 bg-blue-100 text-blue-800 text-xs rounded-full">React</span> | |
<span class="px-2 py-1 bg-purple-100 text-purple-800 text-xs rounded-full">Node.js</span> | |
<span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">MongoDB</span> | |
</div> | |
<div class="flex justify-between items-center"> | |
<a href="#" class="text-blue-600 hover:text-blue-800 text-sm font-medium"> | |
View Project | |
<i class="fas fa-arrow-right ml-1"></i> | |
</a> | |
<a href="#" class="text-gray-500 hover:text-gray-700"> | |
<i class="fab fa-github"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
<!-- Project 2 --> | |
<div class="project-card bg-white rounded-xl overflow-hidden shadow-md transition-all duration-300"> | |
<div class="h-48 overflow-hidden"> | |
<img src="https://images.unsplash.com/photo-1467232004584-a241de8bcf5d?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1738&q=80" | |
alt="Health Tracker" | |
class="w-full h-full object-cover"> | |
</div> | |
<div class="p-6"> | |
<h3 class="text-xl font-bold mb-2">Health & Fitness Tracker</h3> | |
<p class="text-gray-600 mb-4"> | |
A mobile-first application for tracking workouts, nutrition, and health metrics with data visualization. | |
</p> | |
<div class="flex flex-wrap gap-2 mb-4"> | |
<span class="px-2 py-1 bg-blue-100 text-blue-800 text-xs rounded-full">React Native</span> | |
<span class="px-2 py-1 bg-yellow-100 text-yellow-800 text-xs rounded-full">Firebase</span> | |
<span class="px-2 py-1 bg-red-100 text-red-800 text-xs rounded-full">D3.js</span> | |
</div> | |
<div class="flex justify-between items-center"> | |
<a href="#" class="text-blue-600 hover:text-blue-800 text-sm font-medium"> | |
View Project | |
<i class="fas fa-arrow-right ml-1"></i> | |
</a> | |
<a href="#" class="text-gray-500 hover:text-gray-700"> | |
<i class="fab fa-github"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
<!-- Project 3 --> | |
<div class="project-card bg-white rounded-xl overflow-hidden shadow-md transition-all duration-300"> | |
<div class="h-48 overflow-hidden"> | |
<img src="https://images.unsplash.com/photo-1551434678-e076c223a692?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1740&q=80" | |
alt="Task Manager" | |
class="w-full h-full object-cover"> | |
</div> | |
<div class="p-6"> | |
<h3 class="text-xl font-bold mb-2">Collaborative Task Manager</h3> | |
<p class="text-gray-600 mb-4"> | |
A real-time task management system for teams with drag-and-drop functionality and notifications. | |
</p> | |
<div class="flex flex-wrap gap-2 mb-4"> | |
<span class="px-2 py-1 bg-blue-100 text-blue-800 text-xs rounded-full">Vue.js</span> | |
<span class="px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full">Socket.io</span> | |
<span class="px-2 py-1 bg-purple-100 text-purple-800 text-xs rounded-full">Express</span> | |
</div> | |
<div class="flex justify-between items-center"> | |
<a href="#" class="text-blue-600 hover:text-blue-800 text-sm font-medium"> | |
View Project | |
<i class="fas fa-arrow-right ml-1"></i> | |
</a> | |
<a href="#" class="text-gray-500 hover:text-gray-700"> | |
<i class="fab fa-github"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
<div class="text-center mt-12"> | |
<a href="#" class="inline-flex items-center px-6 py-3 border border-gray-300 rounded-lg font-medium hover:bg-gray-100 transition-all"> | |
View All Projects | |
<i class="fas fa-chevron-right ml-2"></i> | |
</a> | |
</div> | |
</div> | |
</section> | |
<!-- Skills Section --> | |
<section id="skills" class="py-20 bg-white"> | |
<div class="max-w-6xl mx-auto px-6"> | |
<h2 class="text-3xl font-bold text-center mb-16"> | |
<span class="gradient-text">My Skills</span> | |
</h2> | |
<div class="grid grid-cols-2 md:grid-cols-4 gap-8"> | |
<!-- Frontend Skills --> | |
<div class="bg-gray-50 p-6 rounded-xl"> | |
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4"> | |
<i class="fas fa-laptop-code text-blue-600 text-xl"></i> | |
</div> | |
<h3 class="font-bold mb-4">Frontend</h3> | |
<ul class="space-y-2"> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-blue-500 rounded-full mr-2"></div> | |
<span>React.js</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-blue-500 rounded-full mr-2"></div> | |
<span>Vue.js</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-blue-500 rounded-full mr-2"></div> | |
<span>Tailwind CSS</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-blue-500 rounded-full mr-2"></div> | |
<span>JavaScript (ES6+)</span> | |
</li> | |
</ul> | |
</div> | |
<!-- Backend Skills --> | |
<div class="bg-gray-50 p-6 rounded-xl"> | |
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4"> | |
<i class="fas fa-server text-purple-600 text-xl"></i> | |
</div> | |
<h3 class="font-bold mb-4">Backend</h3> | |
<ul class="space-y-2"> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div> | |
<span>Node.js</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div> | |
<span>Express</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div> | |
<span>Python</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-purple-500 rounded-full mr-2"></div> | |
<span>REST APIs</span> | |
</li> | |
</ul> | |
</div> | |
<!-- Database Skills --> | |
<div class="bg-gray-50 p-6 rounded-xl"> | |
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center mb-4"> | |
<i class="fas fa-database text-green-600 text-xl"></i> | |
</div> | |
<h3 class="font-bold mb-4">Database</h3> | |
<ul class="space-y-2"> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-green-500 rounded-full mr-2"></div> | |
<span>MongoDB</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-green-500 rounded-full mr-2"></div> | |
<span>PostgreSQL</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-green-500 rounded-full mr-2"></div> | |
<span>Firebase</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-green-500 rounded-full mr-2"></div> | |
<span>Redis</span> | |
</li> | |
</ul> | |
</div> | |
<!-- Tools & Other --> | |
<div class="bg-gray-50 p-6 rounded-xl"> | |
<div class="w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center mb-4"> | |
<i class="fas fa-tools text-yellow-600 text-xl"></i> | |
</div> | |
<h3 class="font-bold mb-4">Tools & Other</h3> | |
<ul class="space-y-2"> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-yellow-500 rounded-full mr-2"></div> | |
<span>Git & GitHub</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-yellow-500 rounded-full mr-2"></div> | |
<span>Docker</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-yellow-500 rounded-full mr-2"></div> | |
<span>Figma</span> | |
</li> | |
<li class="flex items-center"> | |
<div class="w-2 h-2 bg-yellow-500 rounded-full mr-2"></div> | |
<span>AWS</span> | |
</li> | |
</ul> | |
</div> | |
</div> | |
<!-- Experience Timeline --> | |
<div class="mt-20"> | |
<h3 class="text-2xl font-semibold text-center mb-12">My Journey</h3> | |
<div class="relative"> | |
<!-- Timeline line --> | |
<div class="absolute left-1/2 h-full w-1 bg-gradient-to-b from-blue-500 to-purple-600 transform -translate-x-1/2"></div> | |
<!-- Timeline items --> | |
<div class="space-y-8"> | |
<!-- Item 1 --> | |
<div class="relative flex items-center"> | |
<div class="hidden md:block md:w-1/2"></div> | |
<div class="w-full md:w-1/2 pl-12 md:pl-16"> | |
<div class="bg-white p-6 rounded-xl shadow-md relative"> | |
<div class="absolute -left-3 top-6 w-6 h-6 rounded-full bg-gradient-to-r from-blue-500 to-purple-600 border-4 border-white"></div> | |
<div class="flex justify-between items-start mb-2"> | |
<h4 class="font-bold">Senior Developer</h4> | |
<span class="text-sm text-gray-500">2021 - Present</span> | |
</div> | |
<p class="text-gray-600 mb-2">TechSolutions Inc.</p> | |
<p class="text-gray-600"> | |
Leading a team of developers to build scalable web applications for enterprise clients. | |
</p> | |
</div> | |
</div> | |
</div> | |
<!-- Item 2 --> | |
<div class="relative flex items-center"> | |
<div class="w-full md:w-1/2 pr-12 md:pr-16"> | |
<div class="bg-white p-6 rounded-xl shadow-md relative"> | |
<div class="absolute -right-3 top-6 w-6 h-6 rounded-full bg-gradient-to-r from-blue-500 to-purple-600 border-4 border-white"></div> | |
<div class="flex justify-between items-start mb-2"> | |
<h4 class="font-bold">Full Stack Developer</h4> | |
<span class="text-sm text-gray-500">2018 - 2021</span> | |
</div> | |
<p class="text-gray-600 mb-2">Digital Creations</p> | |
<p class="text-gray-600"> | |
Developed and maintained multiple client projects using modern JavaScript frameworks. | |
</p> | |
</div> | |
</div> | |
<div class="hidden md:block md:w-1/2"></div> | |
</div> | |
<!-- Item 3 --> | |
<div class="relative flex items-center"> | |
<div class="hidden md:block md:w-1/2"></div> | |
<div class="w-full md:w-1/2 pl-12 md:pl-16"> | |
<div class="bg-white p-6 rounded-xl shadow-md relative"> | |
<div class="absolute -left-3 top-6 w-6 h-6 rounded-full bg-gradient-to-r from-blue-500 to-purple-600 border-4 border-white"></div> | |
<div class="flex justify-between items-start mb-2"> | |
<h4 class="font-bold">Frontend Developer</h4> | |
<span class="text-sm text-gray-500">2016 - 2018</span> | |
</div> | |
<p class="text-gray-600 mb-2">WebCraft Studios</p> | |
<p class="text-gray-600"> | |
Built responsive user interfaces and collaborated with designers to implement UI/UX designs. | |
</p> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Contact Section --> | |
<section id="contact" class="py-20 bg-gray-50"> | |
<div class="max-w-6xl mx-auto px-6"> | |
<h2 class="text-3xl font-bold text-center mb-4"> | |
<span class="gradient-text">Get In Touch</span> | |
</h2> | |
<p class="text-center text-gray-600 mb-16 max-w-2xl mx-auto"> | |
Have a project in mind or want to discuss potential opportunities? Feel free to reach out! | |
</p> | |
<div class="flex flex-col md:flex-row gap-12"> | |
<div class="w-full md:w-1/2"> | |
<form class="space-y-6"> | |
<div> | |
<label for="name" class="block text-sm font-medium text-gray-700 mb-1">Name</label> | |
<input type="text" id="name" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all"> | |
</div> | |
<div> | |
<label for="email" class="block text-sm font-medium text-gray-700 mb-1">Email</label> | |
<input type="email" id="email" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all"> | |
</div> | |
<div> | |
<label for="subject" class="block text-sm font-medium text-gray-700 mb-1">Subject</label> | |
<input type="text" id="subject" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all"> | |
</div> | |
<div> | |
<label for="message" class="block text-sm font-medium text-gray-700 mb-1">Message</label> | |
<textarea id="message" rows="5" class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 outline-none transition-all"></textarea> | |
</div> | |
<button type="submit" class="w-full px-6 py-3 bg-gradient-to-r from-blue-500 to-purple-600 text-white rounded-lg font-medium hover:shadow-lg transition-all"> | |
Send Message | |
</button> | |
</form> | |
</div> | |
<div class="w-full md:w-1/2"> | |
<div class="bg-white p-8 rounded-xl shadow-md h-full"> | |
<h3 class="text-xl font-bold mb-6">Contact Information</h3> | |
<div class="space-y-6"> | |
<div class="flex items-start"> | |
<div class="w-10 h-10 bg-blue-100 rounded-lg flex items-center justify-center mr-4"> | |
<i class="fas fa-envelope text-blue-600"></i> | |
</div> | |
<div> | |
<h4 class="font-medium text-gray-900">Email</h4> | |
<a href="mailto:[email protected]" class="text-blue-600 hover:text-blue-800">[email protected]</a> | |
</div> | |
</div> | |
<div class="flex items-start"> | |
<div class="w-10 h-10 bg-purple-100 rounded-lg flex items-center justify-center mr-4"> | |
<i class="fas fa-phone-alt text-purple-600"></i> | |
</div> | |
<div> | |
<h4 class="font-medium text-gray-900">Phone</h4> | |
<a href="tel:+1234567890" class="text-blue-600 hover:text-blue-800">+1 (234) 567-890</a> | |
</div> | |
</div> | |
<div class="flex items-start"> | |
<div class="w-10 h-10 bg-green-100 rounded-lg flex items-center justify-center mr-4"> | |
<i class="fas fa-map-marker-alt text-green-600"></i> | |
</div> | |
<div> | |
<h4 class="font-medium text-gray-900">Location</h4> | |
<p class="text-gray-600">San Francisco, CA</p> | |
</div> | |
</div> | |
</div> | |
<div class="mt-10"> | |
<h4 class="font-medium text-gray-900 mb-4">Follow Me</h4> | |
<div class="flex space-x-4"> | |
<a href="#" class="w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-blue-100 transition-all"> | |
<i class="fab fa-linkedin-in text-gray-700"></i> | |
</a> | |
<a href="#" class="w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-blue-100 transition-all"> | |
<i class="fab fa-github text-gray-700"></i> | |
</a> | |
<a href="#" class="w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-pink-100 transition-all"> | |
<i class="fab fa-dribbble text-gray-700"></i> | |
</a> | |
<a href="#" class="w-10 h-10 bg-gray-100 rounded-full flex items-center justify-center hover:bg-blue-100 transition-all"> | |
<i class="fab fa-twitter text-gray-700"></i> | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</div> | |
</section> | |
<!-- Footer --> | |
<footer class="bg-gray-900 text-white py-12"> | |
<div class="max-w-6xl mx-auto px-6"> | |
<div class="flex flex-col md:flex-row justify-between items-center"> | |
<div class="mb-6 md:mb-0"> | |
<a href="#" class="text-2xl font-bold gradient-text">Alex Carter</a> | |
<p class="text-gray-400 mt-2">Building digital experiences that matter.</p> | |
</div> | |
<div class="flex flex-col md:flex-row md:space-x-12 space-y-4 md:space-y-0"> | |
<div> | |
<h4 class="font-semibold mb-3">Quick Links</h4> | |
<ul class="space-y-2"> | |
<li><a href="#home" class="text-gray-400 hover:text-white transition-colors">Home</a></li> | |
<li><a href="#about" class="text-gray-400 hover:text-white transition-colors">About</a></li> | |
<li><a href="#projects" class="text-gray-400 hover:text-white transition-colors">Projects</a></li> | |
<li><a href="#contact" class="text-gray-400 hover:text-white transition-colors">Contact</a></li> | |
</ul> | |
</div> | |
<div> | |
<h4 class="font-semibold mb-3">Services</h4> | |
<ul class="space-y-2"> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Web Development</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">UI/UX Design</a></li> | |
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Consulting</a></li> | |
</ul> | |
</div> | |
</div> | |
</div> | |
<div class="border-t border-gray-800 mt-10 pt-8 flex flex-col md:flex-row justify-between items-center"> | |
<p class="text-gray-400 text-sm mb-4 md:mb-0">© 2023 Alex Carter. All rights reserved.</p> | |
<div class="flex space-x-6"> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Privacy Policy</a> | |
<a href="#" class="text-gray-400 hover:text-white transition-colors text-sm">Terms of Service</a> | |
</div> | |
</div> | |
</div> | |
</footer> | |
<!-- Back to Top Button --> | |
<button id="back-to-top" class="fixed bottom-8 right-8 w-12 h-12 bg-gradient-to-r from-blue-500 to-purple-600 text-white rounded-full shadow-lg flex items-center justify-center opacity-0 invisible transition-all"> | |
<i class="fas fa-arrow-up"></i> | |
</button> | |
<script> | |
// Mobile menu toggle | |
const mobileMenuButton = document.getElementById('mobile-menu-button'); | |
const mobileMenu = document.getElementById('mobile-menu'); | |
mobileMenuButton.addEventListener('click', () => { | |
mobileMenu.classList.toggle('hidden'); | |
}); | |
// Smooth scrolling for navigation links | |
document.querySelectorAll('a[href^="#"]').forEach(anchor => { | |
anchor.addEventListener('click', function (e) { | |
e.preventDefault(); | |
const targetId = this.getAttribute('href'); | |
const targetElement = document.querySelector(targetId); | |
if (targetElement) { | |
window.scrollTo({ | |
top: targetElement.offsetTop - 80, | |
behavior: 'smooth' | |
}); | |
// Close mobile menu if open | |
mobileMenu.classList.add('hidden'); | |
} | |
}); | |
}); | |
// Back to top button | |
const backToTopButton = document.getElementById('back-to-top'); | |
window.addEventListener('scroll', () => { | |
if (window.pageYOffset > 300) { | |
backToTopButton.classList.remove('opacity-0', 'invisible'); | |
backToTopButton.classList.add('opacity-100', 'visible'); | |
} else { | |
backToTopButton.classList.remove('opacity-100', 'visible'); | |
backToTopButton.classList.add('opacity-0', 'invisible'); | |
} | |
}); | |
backToTopButton.addEventListener('click', () => { | |
window.scrollTo({ | |
top: 0, | |
behavior: 'smooth' | |
}); | |
}); | |
// Form submission | |
const contactForm = document.querySelector('form'); | |
if (contactForm) { | |
contactForm.addEventListener('submit', (e) => { | |
e.preventDefault(); | |
// Get form values | |
const name = document.getElementById('name').value; | |
const email = document.getElementById('email').value; | |
const subject = document.getElementById('subject').value; | |
const message = document.getElementById('message').value; | |
// Here you would typically send the data to a server | |
console.log({ name, email, subject, message }); | |
// Show success message | |
alert('Thank you for your message! I will get back to you soon.'); | |
// Reset form | |
contactForm.reset(); | |
}); | |
} | |
</script> | |
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=bluerayoflight/portfolio" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
</html> |