Spaces:
Sleeping
Sleeping
| /* 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 ; | |
| visibility: visible ; | |
| } | |
| /* Ensure the image stays visible */ | |
| #home .animate-fade-in { | |
| opacity: 1 ; | |
| visibility: visible ; | |
| } | |
| /* 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 ; | |
| visibility: visible ; | |
| opacity: 1 ; | |
| } | |
| #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; | |
| } | |
| } |