/* Custom Fonts */ .font-orbitron { font-family: 'Orbitron', sans-serif; } .font-lexend { font-family: 'Lexend', sans-serif; } /* Color Variables */ :root { --primary-blue: #1E90FF; --dark-bg: #1A0B2E; --light-gray: #F5F5F5; --text-gray: #666; } /* Glassmorphism Effect */ .glassmorphic { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); transition: all 0.3s ease; } /* Neumorphic Effect */ .neumorphic { background: #6B46C1; box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3), -5px -5px 15px rgba(255, 255, 255, 0.1); transition: all 0.3s ease; } .neumorphic:hover { box-shadow: inset 5px 5px 15px rgba(0, 0, 0, 0.3), inset -5px -5px 15px rgba(255, 255, 255, 0.1); } /* Glow Effect */ .glow { text-shadow: 0 0 10px var(--primary-blue); transition: text-shadow 0.3s ease; } .glow:hover { text-shadow: 0 0 15px var(--primary-blue); } img.glow, iframe.glow { box-shadow: 0 0 15px var(--primary-blue); } /* Gradient wipe animation for #typing-text */ #typing-text { display: block; visibility: visible; opacity: 1; background: linear-gradient(to right, rgba(209, 213, 219, 0) 0%, rgba(209, 213, 219, 1) 50%, rgba(209, 213, 219, 1) 100%); background-size: 200% 100%; background-position: -100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: gradientWipe 2s ease-out forwards 1s; } @keyframes gradientWipe { 0% { background-position: -100%; -webkit-text-fill-color: transparent; color: transparent; } 100% { background-position: 100%; -webkit-text-fill-color: rgb(209, 213, 219); color: rgb(209, 213, 219); opacity: 1; visibility: visible; } } /* Ensure hero section contents stay visible */ #home .animate-slide-in, #home .animate-slide-in h1, #home .animate-slide-in p, #home .animate-slide-in .flex { opacity: 1 !important; visibility: visible !important; } /* Ensure the image stays visible */ #home .animate-fade-in { opacity: 1 !important; visibility: visible !important; } /* Underline Effect */ .underline { width: 60px; height: 4px; background: var(--primary-blue); margin: 0 auto; border-radius: 2px; } /* Buttons */ .btn-primary { background: var(--primary-blue); color: #fff; padding: 10px 20px; border-radius: 50px; transition: all 0.3s ease; position: relative; overflow: hidden; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; } .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 0 20px var(--primary-blue); } .btn-secondary { background: transparent; border: 2px solid var(--primary-blue); color: var(--primary-blue); padding: 8px 18px; border-radius: 50px; transition: all 0.3s ease; position: relative; overflow: hidden; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; } .btn-secondary:hover { background: var(--primary-blue); color: #fff; box-shadow: 0 0 20px var(--primary-blue); } /* Ripple Effect */ .ripple .ripple-effect { content: ''; position: absolute; width: 80px; height: 80px; background: rgba(255, 255, 255, 0.3); border-radius: 50%; transform: scale(0); animation: ripple-effect 0.6s ease-out; } @keyframes ripple-effect { to { transform: scale(4); opacity: 0; } } /* Skills Section */ #skills { background: #fff; position: relative; overflow: hidden; } #skills-grid { display: flex; overflow-x: auto; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; } .skill-card { flex: 0 0 180px; height: 280px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; text-align: center; background: var(--light-gray); border-radius: 15px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; padding: 0.75rem; margin: 0 0.75rem; } .skill-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); } .skill-card i { font-size: 1.5rem; color: var(--primary-blue); margin-bottom: 0.5rem; } .skill-card h3 { font-size: 1rem; font-weight: 600; color: #333; margin-bottom: 0.75rem; } .skill-card .space-y-3 { width: 100%; overflow-y: auto; } .skill-card .space-y-3::-webkit-scrollbar { width: 4px; } .skill-card .space-y-3::-webkit-scrollbar-track { background: #E5E5E5; } .skill-card .space-y-3::-webkit-scrollbar-thumb { background: var(--primary-blue); border-radius: 4px; } .skill-card .space-y-3::-webkit-scrollbar-thumb:hover { background: #1E70D0; } .skill-item { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; } .skill-item span:first-child { flex: 1; text-align: left; font-size: 0.85rem; color: var(--text-gray); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70px; } .progress-circle-container { position: relative; width: 36px; height: 36px; } .progress-circle-bg { position: absolute; width: 100%; height: 100%; border-radius: 50%; background: #E5E5E5; } .progress-circle { width: 100%; height: 100%; transform: rotate(-90deg); } .progress-percentage { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 0.65rem; color: var(--text-gray); } #skills, #skills-grid, .skill-card, .skill-item, .progress-circle-container, .progress-circle, .progress-percentage { display: block !important; visibility: visible !important; opacity: 1 !important; } #skills-grid::-webkit-scrollbar { height: 6px; } #skills-grid::-webkit-scrollbar-track { background: #E5E5E5; } #skills-grid::-webkit-scrollbar-thumb { background: var(--primary-blue); border-radius: 4px; } #skills-grid::-webkit-scrollbar-thumb:hover { background: #1E70D0; } /* Project Overlay */ .project-overlay { background: var(--primary-blue); transition: opacity 0.3s ease; } /* Certifications, Volunteer, and Talks Cards */ .certification-card, .volunteer-card, .talk-card { transition: transform 0.3s ease; } .certification-card:hover, .volunteer-card:hover, .talk-card:hover { transform: scale(1.05); } /* Video Container */ .video-container { position: relative; padding-bottom: 56.25%; /* 16:9 aspect ratio */ height: 0; overflow: hidden; } .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } /* Global Scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: #2D1B46; } ::-webkit-scrollbar-thumb { background: var(--primary-blue); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #1E70D0; } /* Animations */ @keyframes slideIn { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .animate-slide-in { /* GSAP will handle this */ } .animate-fade-in { animation: fadeIn 1.5s ease-in-out; } /* Responsive Adjustments */ @media (max-width: 640px) { #navbar .container { padding-left: 1rem; padding-right: 1rem; } #home { padding-top: 5rem; } #home .container { padding-left: 1rem; padding-right: 1rem; } #typing-text { line-height: 1.4; } .underline { width: 50px; height: 3px; } .btn-primary, .btn-secondary { padding: 8px 16px; font-size: 0.875rem; } #about .container { padding-left: 1rem; padding-right: 1rem; } #about p { font-size: 0.95rem; } .stat-card { padding: 1rem; } .stat-card h3 { font-size: 1.5rem; } .stat-card p { font-size: 0.875rem; } #skills .container { padding-left: 1rem; padding-right: 1rem; } .skill-card { flex: 0 0 150px; height: 240px; padding: 0.5rem; margin: 0 0.5rem; } .skill-card i { font-size: 1.25rem; } .skill-card h3 { font-size: 0.9rem; margin-bottom: 0.5rem; } .skill-item span:first-child { font-size: 0.75rem; max-width: 60px; } .progress-circle-container { width: 32px; height: 32px; } .progress-circle circle { cx: 16; cy: 16; r: 14; stroke-width: 3; } .progress-percentage { font-size: 0.6rem; } #skills-grid { padding-bottom: 0.5rem; } #skills-grid::-webkit-scrollbar { height: 5px; } #achievements .container { padding-left: 1rem; padding-right: 1rem; } .achievement-card { padding: 1rem; } .achievement-card .icon-wrapper { padding: 0.5rem; } .achievement-card i { font-size: 1rem; } .achievement-card h3 { font-size: 1rem; } .achievement-card p.text-sm { font-size: 0.75rem; } .achievement-card p.text-gray-300 { font-size: 0.875rem; } #hobbies .container { padding-left: 1rem; padding-right: 1rem; } .hobby-card { padding: 1rem; } .hobby-card .icon-wrapper { padding: 0.5rem; } .hobby-card i { font-size: 1rem; } .hobby-card h3 { font-size: 1rem; } .hobby-card p { font-size: 0.875rem; } .hobby-card h4 { font-size: 0.9rem; } .hobby-card label { font-size: 0.75rem; } #star-rating { font-size: 1.25rem; } #review-name, #review-description { font-size: 0.875rem; padding: 0.5rem; } #submit-review { padding: 8px; font-size: 0.875rem; } #reviews-container .glassmorphic { padding: 0.75rem; } #reviews-container .font-orbitron { font-size: 0.9rem; } #reviews-container .text-sm { font-size: 0.75rem; } .delete-review i { font-size: 0.875rem; } #projects .container { padding-left: 1rem; padding-right: 1rem; } .project-card { padding-bottom: 1rem; } .project-card img { height: 160px; } .project-card .p-6 { padding: 1rem; } .project-card h3 { font-size: 1rem; } .project-card p { font-size: 0.75rem; } .tech-tag { font-size: 0.65rem; padding: 0.25rem 0.5rem; } #education .container, #certifications .container, #volunteer .container, #talks .container { padding-left: 1rem; padding-right: 1rem; } .education-card, .certification-card, .volunteer-card, .talk-card { padding: 1rem; } .education-card .icon-wrapper, .certification-card .icon-wrapper, .volunteer-card .icon-wrapper, .talk-card .icon-wrapper { padding: 0.5rem; } .education-card i, .certification-card i, .volunteer-card i, .talk-card i { font-size: 1rem; } .education-card h3, .certification-card h3, .volunteer-card h3, .talk-card h3 { font-size: 1rem; } .education-card .period, .certification-card .period, .volunteer-card .period, .talk-card .date { font-size: 0.75rem; } .education-card h4, .certification-card h4, .volunteer-card h4, .talk-card h4 { font-size: 0.9rem; } .education-card p, .certification-card p, .volunteer-card p, .talk-card p { font-size: 0.875rem; } .education-card h5, .certification-card h5, .volunteer-card h5, .talk-card h5 { font-size: 0.9rem; } .education-card ul, .certification-card ul, .volunteer-card ul, .talk-card ul { font-size: 0.75rem; } #resume .container { padding-left: 1rem; padding-right: 1rem; } #resume .glassmorphic { padding: 1.25rem; } #resume h3 { font-size: 1.25rem; } #contact .container { padding-left: 1rem; padding-right: 1rem; } #contact-form { padding: 1.25rem; } #email, #message { padding: 0.5rem; } #contact-submit { padding: 8px; } .footer .container { padding-left: 1rem; padding-right: 1rem; } #back-to-top { padding: 0.75rem; } #back-to-top i { font-size: 0.875rem; } #project-modal .glassmorphic { padding: 1.25rem; } #modal-media img, #modal-media .video-container { height: 160px; } #modal-title { font-size: 1.25rem; } #modal-description, #modal-role { font-size: 0.875rem; } #modal-tech .tech-tag { font-size: 0.65rem; padding: 0.25rem 0.5rem; } } /* Adjustments for Very Small Screens */ @media (max-width: 400px) { .skill-card { flex: 0 0 140px; height: 220px; } .skill-card h3 { font-size: 0.85rem; } .skill-item span:first-child { font-size: 0.7rem; max-width: 50px; } .progress-circle-container { width: 28px; height: 28px; } .progress-circle circle { cx: 14; cy: 14; r: 12; stroke-width: 3; } .progress-percentage { font-size: 0.55rem; } }