| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Parthib Karak | AI Engineer</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.12"></script> |
| <script src="https://cdn.jsdelivr.net/npm/particles.js@2.0.0/particles.min.js"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap'); |
| |
| :root { |
| --bg-dark: #0D0D0D; |
| --panel-dark: #1A1A1A; |
| --text-light: #E0E0E0; |
| --accent-cyan: #00FFFF; |
| --accent-purple: #9D00FF; |
| } |
| |
| body { |
| font-family: 'Poppins', sans-serif; |
| background-color: var(--bg-dark); |
| color: var(--text-light); |
| scroll-behavior: smooth; |
| } |
| |
| |
| #particles-js { |
| position: fixed; |
| width: 100%; |
| height: 100%; |
| top: 0; |
| left: 0; |
| z-index: -1; |
| opacity: 0.3; |
| } |
| |
| |
| ::-webkit-scrollbar { |
| width: 8px; |
| } |
| |
| ::-webkit-scrollbar-track { |
| background: var(--panel-dark); |
| } |
| |
| ::-webkit-scrollbar-thumb { |
| background: var(--accent-purple); |
| border-radius: 10px; |
| } |
| |
| ::-webkit-scrollbar-thumb:hover { |
| background: var(--accent-cyan); |
| } |
| |
| |
| .fade-in { |
| animation: fadeIn 1s ease-in-out; |
| } |
| |
| @keyframes fadeIn { |
| from { opacity: 0; transform: translateY(20px); } |
| to { opacity: 1; transform: translateY(0); } |
| } |
| |
| .slide-in-left { |
| animation: slideInLeft 0.8s ease-out; |
| } |
| |
| @keyframes slideInLeft { |
| from { transform: translateX(-50px); opacity: 0; } |
| to { transform: translateX(0); opacity: 1; } |
| } |
| |
| .slide-in-right { |
| animation: slideInRight 0.8s ease-out; |
| } |
| |
| @keyframes slideInRight { |
| from { transform: translateX(50px); opacity: 0; } |
| to { transform: translateX(0); opacity: 1; } |
| } |
| |
| |
| .pulse { |
| animation: pulse 2s infinite; |
| } |
| |
| @keyframes pulse { |
| 0% { transform: scale(1); } |
| 50% { transform: scale(1.05); } |
| 100% { transform: scale(1); } |
| } |
| |
| |
| .gradient-text { |
| background: linear-gradient(90deg, var(--accent-cyan), var(--accent-purple)); |
| -webkit-background-clip: text; |
| background-clip: text; |
| color: transparent; |
| } |
| |
| |
| .social-icon { |
| transition: all 0.3s ease; |
| } |
| |
| .social-icon:hover { |
| transform: translateY(-5px) scale(1.1); |
| } |
| |
| |
| .project-card { |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); |
| } |
| |
| .project-card:hover { |
| transform: translateY(-10px); |
| box-shadow: 0 10px 20px rgba(157, 0, 255, 0.3); |
| } |
| |
| |
| .btn-primary { |
| background: linear-gradient(90deg, var(--accent-purple), var(--accent-cyan)); |
| color: white; |
| transition: all 0.3s ease; |
| position: relative; |
| overflow: hidden; |
| } |
| |
| .btn-primary:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 5px 15px rgba(0, 255, 255, 0.4); |
| } |
| |
| |
| .section-divider { |
| position: relative; |
| height: 150px; |
| overflow: hidden; |
| } |
| |
| .wave-shape { |
| position: absolute; |
| bottom: 0; |
| left: 0; |
| width: 100%; |
| height: 100px; |
| background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%231A1A1A' fill-opacity='1' d='M0,192L48,197.3C96,203,192,213,288,229.3C384,245,480,267,576,250.7C672,235,768,181,864,181.3C960,181,1056,235,1152,234.7C1248,235,1344,181,1392,154.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E") no-repeat center bottom; |
| background-size: cover; |
| } |
| </style> |
| </head> |
| <body> |
| |
| <div id="particles-js"></div> |
| |
| |
| <nav class="fixed w-full z-50 bg-opacity-90 backdrop-blur-md bg-[#1A1A1A] shadow-lg"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> |
| <div class="flex justify-between h-16"> |
| <div class="flex items-center"> |
| <a href="#home" class="text-xl font-bold gradient-text">Parthib<span class="text-[#00FFFF]">.</span></a> |
| </div> |
| <div class="hidden md:flex items-center space-x-8"> |
| <a href="#home" class="text-gray-300 hover:text-[#00FFFF] transition duration-300">Home</a> |
| <a href="#education" class="text-gray-300 hover:text-[#00FFFF] transition duration-300">Education</a> |
| <a href="#skills" class="text-gray-300 hover:text-[#00FFFF] transition duration-300">Skills</a> |
| <a href="#projects" class="text-gray-300 hover:text-[#00FFFF] transition duration-300">Projects</a> |
| <a href="#contact" class="text-gray-300 hover:text-[#00FFFF] transition duration-300">Contact</a> |
| </div> |
| <div class="md:hidden flex items-center"> |
| <button id="menu-toggle" class="text-gray-300 hover:text-[#00FFFF] focus:outline-none"> |
| <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"> |
| <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path> |
| </svg> |
| </button> |
| </div> |
| </div> |
| </div> |
| |
| <div id="mobile-menu" class="hidden md:hidden bg-[#1A1A1A] bg-opacity-95"> |
| <div class="px-2 pt-2 pb-3 space-y-1 sm:px-3"> |
| <a href="#home" class="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-[#00FFFF] hover:bg-[#0D0D0D]">Home</a> |
| <a href="#education" class="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-[#00FFFF] hover:bg-[#0D0D0D]">Education</a> |
| <a href="#skills" class="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-[#00FFFF] hover:bg-[#0D0D0D]">Skills</a> |
| <a href="#projects" class="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-[#00FFFF] hover:bg-[#0D0D0D]">Projects</a> |
| <a href="#contact" class="block px-3 py-2 rounded-md text-base font-medium text-gray-300 hover:text-[#00FFFF] hover:bg-[#0D0D0D]">Contact</a> |
| </div> |
| </div> |
| </nav> |
|
|
| |
| <section id="home" class="min-h-screen flex items-center justify-center pt-16 pb-20 px-4 sm:px-6 lg:px-8"> |
| <div class="max-w-7xl mx-auto grid md:grid-cols-2 gap-12 items-center"> |
| <div class="text-center md:text-left slide-in-left"> |
| <h1 class="text-4xl md:text-6xl font-bold mb-4">Parthib Karak</h1> |
| <div class="text-xl md:text-2xl mb-6 h-8"> |
| <span id="typed-text" class="gradient-text"></span> |
| </div> |
| <p class="text-gray-400 mb-8 max-w-lg"> |
| Passionate AI & ML Engineer with expertise in developing intelligent systems, |
| backend development, and problem-solving through data structures & algorithms. |
| </p> |
| <div class="flex flex-wrap gap-4 justify-center md:justify-start"> |
| <a href="#contact" class="btn-primary font-semibold py-3 px-6 rounded-full inline-block"> |
| Contact Me |
| </a> |
| <a href="assets/Parthib_Karak_Resume.pdf" download |
| class="border border-[#00FFFF] text-[#00FFFF] font-semibold py-3 px-6 rounded-full inline-block hover:bg-[#00FFFF] hover:text-black transition duration-300"> |
| Download CV |
| </a> |
| </div> |
| </div> |
| <div class="flex justify-center slide-in-right"> |
| <div class="relative w-64 h-64 md:w-80 md:h-80 rounded-full overflow-hidden border-4 border-[#9D00FF] pulse"> |
| <img src="https://media.licdn.com/dms/image/D4D03AQHA0kMEuC5kbA/profile-displayphoto-shrink_800_800/0/1691222092711?e=1750896000&v=beta&t=5wen-H15veRYhGPkZh_l1iyVdXeYJwB_rkVHG_p5-WQ" |
| alt="Parthib Karak" |
| class="w-full h-full object-cover"> |
| <div class="absolute inset-0 bg-gradient-to-t from-[#9D00FF] to-transparent opacity-30"></div> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <div class="section-divider"> |
| <div class="wave-shape"></div> |
| </div> |
|
|
| |
| <section id="education" class="py-20 px-4 sm:px-6 lg:px-8 bg-[#1A1A1A] fade-in"> |
| <div class="max-w-7xl mx-auto"> |
| <h2 class="text-3xl md:text-4xl font-bold text-center mb-16 gradient-text">Education</h2> |
| |
| <div class="grid md:grid-cols-2 gap-12 items-center"> |
| <div class="space-y-8"> |
| <div class="bg-[#0D0D0D] p-6 rounded-xl border-l-4 border-[#00FFFF] transform transition hover:scale-105"> |
| <h3 class="text-xl font-bold text-[#00FFFF] mb-2">B.Tech in Computer Science & Engineering</h3> |
| <p class="text-gray-400 mb-1">Institute of Engineering and Management, Kolkata</p> |
| <p class="text-gray-400">2021 - 2025 (Expected)</p> |
| <p class="text-gray-300 mt-2">CGPA: 8.7</p> |
| </div> |
| |
| <div class="bg-[#0D0D0D] p-6 rounded-xl border-l-4 border-[#9D00FF] transform transition hover:scale-105"> |
| <h3 class="text-xl font-bold text-[#9D00FF] mb-2">Higher Secondary</h3> |
| <p class="text-gray-400 mb-1">Kapsit High School</p> |
| <p class="text-gray-300 mt-2">Percentage: 94%</p> |
| </div> |
| </div> |
| |
| <div class="flex justify-center"> |
| <div class="relative w-full max-w-md h-64 rounded-xl overflow-hidden border-4 border-[#9D00FF] transform rotate-3 hover:rotate-0 transition duration-500"> |
| <div class="w-full h-full bg-gradient-to-br from-[#9D00FF] to-[#00FFFF] opacity-70 flex items-center justify-center"> |
| <i class="fas fa-graduation-cap text-9xl text-white opacity-80"></i> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <div class="section-divider"> |
| <div class="wave-shape" style="transform: rotate(180deg);"></div> |
| </div> |
|
|
| |
| <section id="skills" class="py-20 px-4 sm:px-6 lg:px-8 fade-in"> |
| <div class="max-w-7xl mx-auto"> |
| <h2 class="text-3xl md:text-4xl font-bold text-center mb-16 gradient-text">Technical Skills</h2> |
| |
| <div class="grid md:grid-cols-3 gap-8"> |
| |
| <div class="bg-[#1A1A1A] p-6 rounded-xl transform transition hover:scale-105 hover:shadow-lg hover:shadow-[#9D00FF]/20"> |
| <div class="flex items-center mb-4"> |
| <div class="w-12 h-12 rounded-full bg-[#9D00FF] flex items-center justify-center mr-4"> |
| <i class="fas fa-code text-2xl text-white"></i> |
| </div> |
| <h3 class="text-xl font-bold text-[#9D00FF]">Languages</h3> |
| </div> |
| <div class="flex flex-wrap gap-2"> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Kotlin</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Java</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">C</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">C++</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Python</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Go</span> |
| </div> |
| </div> |
| |
| |
| <div class="bg-[#1A1A1A] p-6 rounded-xl transform transition hover:scale-105 hover:shadow-lg hover:shadow-[#00FFFF]/20"> |
| <div class="flex items-center mb-4"> |
| <div class="w-12 h-12 rounded-full bg-[#00FFFF] flex items-center justify-center mr-4"> |
| <i class="fas fa-globe text-2xl text-black"></i> |
| </div> |
| <h3 class="text-xl font-bold text-[#00FFFF]">Web Development</h3> |
| </div> |
| <div class="flex flex-wrap gap-2"> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Flask</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Django</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">REST API</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Backend Dev</span> |
| </div> |
| </div> |
| |
| |
| <div class="bg-[#1A1A1A] p-6 rounded-xl transform transition hover:scale-105 hover:shadow-lg hover:shadow-purple-500/20"> |
| <div class="flex items-center mb-4"> |
| <div class="w-12 h-12 rounded-full bg-gradient-to-r from-[#9D00FF] to-[#00FFFF] flex items-center justify-center mr-4"> |
| <i class="fas fa-brain text-2xl text-white"></i> |
| </div> |
| <h3 class="text-xl font-bold gradient-text">AI/ML</h3> |
| </div> |
| <div class="flex flex-wrap gap-2"> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Generative AI</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Deep Learning</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Machine Learning</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">NLP</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">Agentic AI</span> |
| <span class="px-3 py-1 bg-[#0D0D0D] rounded-full text-sm">DSA</span> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <section id="projects" class="py-20 px-4 sm:px-6 lg:px-8 bg-[#1A1A1A] fade-in"> |
| <div class="max-w-7xl mx-auto"> |
| <h2 class="text-3xl md:text-4xl font-bold text-center mb-16 gradient-text">Featured Projects</h2> |
| |
| <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8"> |
| |
| <div class="project-card bg-[#0D0D0D] rounded-xl overflow-hidden"> |
| <div class="h-48 bg-gradient-to-br from-[#9D00FF] to-[#00FFFF] flex items-center justify-center"> |
| <i class="fas fa-robot text-6xl text-white opacity-80"></i> |
| </div> |
| <div class="p-6"> |
| <h3 class="text-xl font-bold text-[#00FFFF] mb-2">AI Chatbot</h3> |
| <p class="text-gray-400 mb-4">An intelligent chatbot using NLP techniques and deep learning for natural conversations.</p> |
| <div class="flex space-x-3"> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#00FFFF] hover:text-black transition"> |
| View Code |
| </a> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#9D00FF] hover:text-white transition"> |
| Live Demo |
| </a> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="project-card bg-[#0D0D0D] rounded-xl overflow-hidden"> |
| <div class="h-48 bg-gradient-to-br from-[#00FFFF] to-[#9D00FF] flex items-center justify-center"> |
| <i class="fas fa-chart-line text-6xl text-white opacity-80"></i> |
| </div> |
| <div class="p-6"> |
| <h3 class="text-xl font-bold text-[#9D00FF] mb-2">Stock Prediction</h3> |
| <p class="text-gray-400 mb-4">Machine learning model to predict stock prices using LSTM neural networks.</p> |
| <div class="flex space-x-3"> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#00FFFF] hover:text-black transition"> |
| View Code |
| </a> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#9D00FF] hover:text-white transition"> |
| Live Demo |
| </a> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="project-card bg-[#0D0D0D] rounded-xl overflow-hidden"> |
| <div class="h-48 bg-gradient-to-br from-purple-600 to-blue-400 flex items-center justify-center"> |
| <i class="fas fa-shopping-cart text-6xl text-white opacity-80"></i> |
| </div> |
| <div class="p-6"> |
| <h3 class="text-xl font-bold text-[#00FFFF] mb-2">E-Commerce Backend</h3> |
| <p class="text-gray-400 mb-4">Scalable e-commerce backend with Django REST framework and JWT authentication.</p> |
| <div class="flex space-x-3"> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#00FFFF] hover:text-black transition"> |
| View Code |
| </a> |
| <a href="#" class="px-4 py-2 bg-[#1A1A1A] rounded-full text-sm hover:bg-[#9D00FF] hover:text-white transition"> |
| Live Demo |
| </a> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="text-center mt-12"> |
| <a href="https://github.com/Babaiii07?tab=repositories" target="_blank" |
| class="inline-flex items-center px-6 py-3 border border-[#00FFFF] text-[#00FFFF] rounded-full hover:bg-[#00FFFF] hover:text-black transition duration-300"> |
| View All Projects |
| <svg class="w-4 h-4 ml-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> |
| <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 5l7 7m0 0l-7 7m7-7H3"></path> |
| </svg> |
| </a> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <section id="contact" class="py-20 px-4 sm:px-6 lg:px-8 fade-in"> |
| <div class="max-w-7xl mx-auto"> |
| <h2 class="text-3xl md:text-4xl font-bold text-center mb-16 gradient-text">Get In Touch</h2> |
| |
| <div class="grid md:grid-cols-2 gap-12 items-center"> |
| <div> |
| <p class="text-gray-400 mb-8 text-lg"> |
| Have an exciting project in mind or want to collaborate? Feel free to reach out to me through any of the platforms below. |
| </p> |
| |
| |
| <div class="grid grid-cols-2 md:grid-cols-3 gap-4"> |
| <a href="https://github.com/Babaiii07" target="_blank" class="social-icon bg-[#1A1A1A] p-4 rounded-full flex items-center justify-center hover:bg-[#00FFFF] hover:text-black transition"> |
| <i class="fab fa-github text-2xl"></i> |
| </a> |
| <a href="https://www.instagram.com/babaiii_0007/" target="_blank" class="social-icon bg-[#1A1A1A] p-4 rounded-full flex items-center justify-center hover:bg-gradient-to-r from-pink-500 to-yellow-500 hover:text-white transition"> |
| <i class="fab fa-instagram text-2xl"></i> |
| </a> |
| <a href="https://leetcode.com/u/Parthib_007/" target="_blank" class="social-icon bg-[#1A1A1A] p-4 rounded-full flex items-center justify-center hover:bg-[#FFA116] hover:text-black transition"> |
| <i class="fas fa-code text-2xl"></i> |
| </a> |
| <a href="https://x.com/" target="_blank" class="social-icon bg-[#1A1A1A] p-4 rounded-full flex items-center justify-center hover:bg-black hover:text-white transition"> |
| <i class="fab fa-twitter text-2xl"></i> |
| </a> |
| <a href="https://huggingface.co/parthib07" target="_blank" class="social-icon bg-[#1A1A1A] p-4 rounded-full flex items-center justify-center hover:bg-yellow-400 hover:text-black transition"> |
| <i class="fas fa-smile text-2xl"></i> |
| </a> |
| </div> |
| </div> |
| |
| |
| <div class="bg-[#1A1A1A] rounded-xl p-8 shadow-lg"> |
| <form> |
| <div class="mb-6"> |
| <label for="name" class="block text-gray-400 mb-2">Name</label> |
| <input type="text" id="name" class="w-full px-4 py-3 bg-[#0D0D0D] border border-[#333] rounded-lg focus:outline-none focus:border-[#00FFFF] transition"> |
| </div> |
| <div class="mb-6"> |
| <label for="email" class="block text-gray-400 mb-2">Email</label> |
| <input type="email" id="email" class="w-full px-4 py-3 bg-[#0D0D0D] border border-[#333] rounded-lg focus:outline-none focus:border-[#00FFFF] transition"> |
| </div> |
| <div class="mb-6"> |
| <label for="message" class="block text-gray-400 mb-2">Message</label> |
| <textarea id="message" rows="4" class="w-full px-4 py-3 bg-[#0D0D0D] border border-[#333] rounded-lg focus:outline-none focus:border-[#00FFFF] transition"></textarea> |
| </div> |
| <button type="submit" class="w-full btn-primary font-semibold py-3 px-6 rounded-lg"> |
| Send Message |
| </button> |
| </form> |
| </div> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <footer class="py-8 bg-[#1A1A1A]"> |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center"> |
| <p class="text-gray-400"> |
| © 2023 Parthib Karak. All Rights Reserved. |
| </p> |
| </div> |
| </footer> |
|
|
| |
| <button id="back-to-top" class="fixed bottom-8 right-8 w-12 h-12 bg-[#9D00FF] rounded-full flex items-center justify-center text-white shadow-lg opacity-0 invisible transition-all duration-300 hover:bg-[#00FFFF] hover:text-black"> |
| <i class="fas fa-arrow-up"></i> |
| </button> |
|
|
| <script> |
| |
| document.addEventListener('DOMContentLoaded', function() { |
| new Typed('#typed-text', { |
| strings: ["AI Engineer", "ML Engineer", "Python Developer", "Backend Developer"], |
| typeSpeed: 50, |
| backSpeed: 30, |
| loop: true, |
| showCursor: true, |
| cursorChar: '|' |
| }); |
| |
| |
| particlesJS('particles-js', { |
| "particles": { |
| "number": { |
| "value": 80, |
| "density": { |
| "enable": true, |
| "value_area": 800 |
| } |
| }, |
| "color": { |
| "value": "#9D00FF" |
| }, |
| "shape": { |
| "type": "circle", |
| "stroke": { |
| "width": 0, |
| "color": "#000000" |
| }, |
| "polygon": { |
| "nb_sides": 5 |
| } |
| }, |
| "opacity": { |
| "value": 0.5, |
| "random": false, |
| "anim": { |
| "enable": false, |
| "speed": 1, |
| "opacity_min": 0.1, |
| "sync": false |
| } |
| }, |
| "size": { |
| "value": 3, |
| "random": true, |
| "anim": { |
| "enable": false, |
| "speed": 40, |
| "size_min": 0.1, |
| "sync": false |
| } |
| }, |
| "line_linked": { |
| "enable": true, |
| "distance": 150, |
| "color": "#00FFFF", |
| "opacity": 0.4, |
| "width": 1 |
| }, |
| "move": { |
| "enable": true, |
| "speed": 2, |
| "direction": "none", |
| "random": false, |
| "straight": false, |
| "out_mode": "out", |
| "bounce": false, |
| "attract": { |
| "enable": false, |
| "rotateX": 600, |
| "rotateY": 1200 |
| } |
| } |
| }, |
| "interactivity": { |
| "detect_on": "canvas", |
| "events": { |
| "onhover": { |
| "enable": true, |
| "mode": "grab" |
| }, |
| "onclick": { |
| "enable": true, |
| "mode": "push" |
| }, |
| "resize": true |
| }, |
| "modes": { |
| "grab": { |
| "distance": 140, |
| "line_linked": { |
| "opacity": 1 |
| } |
| }, |
| "bubble": { |
| "distance": 400, |
| "size": 40, |
| "duration": 2, |
| "opacity": 8, |
| "speed": 3 |
| }, |
| "repulse": { |
| "distance": 200, |
| "duration": 0.4 |
| }, |
| "push": { |
| "particles_nb": 4 |
| }, |
| "remove": { |
| "particles_nb": 2 |
| } |
| } |
| }, |
| "retina_detect": true |
| }); |
| |
| |
| document.getElementById('menu-toggle').addEventListener('click', function() { |
| document.getElementById('mobile-menu').classList.toggle('hidden'); |
| }); |
| |
| |
| document.querySelectorAll('#mobile-menu a').forEach(link => { |
| link.addEventListener('click', () => { |
| document.getElementById('mobile-menu').classList.add('hidden'); |
| }); |
| }); |
| |
| |
| 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' |
| }); |
| }); |
| |
| |
| const animateOnScroll = () => { |
| const elements = document.querySelectorAll('.fade-in, .slide-in-left, .slide-in-right'); |
| |
| elements.forEach(element => { |
| const elementPosition = element.getBoundingClientRect().top; |
| const windowHeight = window.innerHeight; |
| |
| if (elementPosition < windowHeight - 100) { |
| element.classList.add('animate'); |
| } |
| }); |
| }; |
| |
| |
| animateOnScroll(); |
| |
| |
| window.addEventListener('scroll', animateOnScroll); |
| }); |
| </script> |
| </body> |
| </html> |