/* ========================================================================== Resume Website Styles Mobile-first responsive design for professional resume website ========================================================================== */ /* CSS Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f8f9fa; } /* Skip Link for Accessibility */ .skip-link { position: absolute; top: -40px; left: 6px; background: #000; color: #fff; padding: 8px; text-decoration: none; z-index: 1000; border-radius: 4px; } .skip-link:focus { top: 6px; } /* Container */ .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } /* ========================================================================== Header Styles ========================================================================== */ .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 40px 0; text-align: center; } .header-content { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-bottom: 30px; } .profile-image img { width: 120px; height: 120px; border-radius: 50%; border: 4px solid rgba(255, 255, 255, 0.2); object-fit: cover; } .header-text { text-align: center; } .name { font-size: 2.5rem; font-weight: 700; margin-bottom: 10px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .title { font-size: 1.5rem; font-weight: 300; margin-bottom: 15px; opacity: 0.9; } .tagline { font-size: 1.1rem; opacity: 0.8; max-width: 600px; margin: 0 auto; } /* Contact Information */ .contact-info { display: grid; grid-template-columns: 1fr; gap: 10px; max-width: 800px; margin: 0 auto; } .contact-item { display: flex; flex-direction: column; align-items: center; gap: 5px; } .contact-label { font-weight: 600; font-size: 0.9rem; opacity: 0.8; } .contact-link, .contact-text { color: white; text-decoration: none; font-size: 1rem; transition: opacity 0.3s ease; } .contact-link:hover { opacity: 0.8; text-decoration: underline; } /* ========================================================================== Navigation Styles ========================================================================== */ .navigation { background: white; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); position: sticky; top: 0; z-index: 100; } .nav-list { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; padding: 15px 0; gap: 10px; } .nav-link { color: #333; text-decoration: none; padding: 10px 15px; border-radius: 25px; transition: all 0.3s ease; font-weight: 500; } .nav-link:hover { background: #667eea; color: white; transform: translateY(-2px); } .mobile-menu-toggle { display: none; flex-direction: column; background: none; border: none; cursor: pointer; padding: 10px; } .mobile-menu-toggle span { width: 25px; height: 3px; background: #333; margin: 3px 0; transition: 0.3s; } /* ========================================================================== Main Content Styles ========================================================================== */ .main-content { background: white; margin: 40px 0; border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1); overflow: hidden; } .section { padding: 40px 0; border-bottom: 1px solid #eee; } .section:last-child { border-bottom: none; } .section-title { font-size: 2rem; color: #333; margin-bottom: 30px; text-align: center; position: relative; } .section-title::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 2px; } .section-content { max-width: 900px; margin: 0 auto; } /* ========================================================================== About Section ========================================================================== */ .about-text { font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; text-align: justify; } /* ========================================================================== Experience Section ========================================================================== */ .experience-item { margin-bottom: 40px; padding: 30px; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #667eea; } .experience-header { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; } .job-title { font-size: 1.4rem; color: #333; font-weight: 600; } .company-info { display: flex; flex-direction: column; gap: 5px; } .company-name { font-size: 1.1rem; font-weight: 500; color: #667eea; } .job-duration { font-size: 1rem; color: #666; font-style: italic; } .job-location { color: #666; margin-bottom: 15px; } .job-responsibilities { list-style: none; margin-bottom: 20px; } .job-responsibilities li { position: relative; padding-left: 20px; margin-bottom: 8px; line-height: 1.6; } .job-responsibilities li::before { content: '▸'; position: absolute; left: 0; color: #667eea; font-weight: bold; } .job-technologies { display: flex; flex-wrap: wrap; gap: 8px; } .tech-tag { background: #667eea; color: white; padding: 4px 12px; border-radius: 15px; font-size: 0.85rem; font-weight: 500; } /* ========================================================================== Skills Section ========================================================================== */ .skills-category { margin-bottom: 30px; } .skills-category-title { font-size: 1.2rem; color: #333; margin-bottom: 15px; font-weight: 600; } .skills-list { display: flex; flex-wrap: wrap; gap: 10px; } .skill-item { background: #f8f9fa; border: 2px solid #e9ecef; padding: 8px 16px; border-radius: 20px; font-size: 0.9rem; font-weight: 500; transition: all 0.3s ease; } .skill-item:hover { background: #667eea; color: white; border-color: #667eea; transform: translateY(-2px); } /* ========================================================================== Education Section ========================================================================== */ .education-item { background: #f8f9fa; padding: 25px; border-radius: 10px; border-left: 4px solid #28a745; } .education-header { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; } .degree-title { font-size: 1.3rem; color: #333; font-weight: 600; } .education-info { display: flex; flex-direction: column; gap: 5px; } .school-name { font-size: 1.1rem; font-weight: 500; color: #28a745; } .graduation-date { color: #666; font-style: italic; } .education-location { color: #666; margin-bottom: 15px; } .education-details p { margin-bottom: 10px; line-height: 1.6; } /* ========================================================================== Projects Section ========================================================================== */ .project-item { margin-bottom: 30px; padding: 25px; background: #f8f9fa; border-radius: 10px; border-left: 4px solid #ffc107; } .project-header { display: flex; flex-direction: column; gap: 10px; margin-bottom: 15px; } .project-title { font-size: 1.3rem; color: #333; font-weight: 600; } .project-links { display: flex; gap: 15px; } .project-link { color: #ffc107; text-decoration: none; font-weight: 500; transition: color 0.3s ease; } .project-link:hover { color: #e0a800; text-decoration: underline; } .project-description { line-height: 1.6; margin-bottom: 15px; } .project-technologies { display: flex; flex-wrap: wrap; gap: 8px; } /* ========================================================================== Certifications Section ========================================================================== */ .certifications-grid { display: grid; grid-template-columns: 1fr; gap: 20px; } .certification-item { background: #f8f9fa; padding: 20px; border-radius: 10px; border-left: 4px solid #dc3545; } .certification-title { font-size: 1.2rem; color: #333; font-weight: 600; margin-bottom: 10px; } .certification-info { display: flex; flex-direction: column; gap: 5px; } .certification-issuer { color: #dc3545; font-weight: 500; } .certification-date { color: #666; font-style: italic; } /* ========================================================================== Footer Styles ========================================================================== */ .footer { background: #333; color: white; padding: 30px 0; text-align: center; } .footer-content { display: flex; flex-direction: column; align-items: center; gap: 15px; } .footer-text { opacity: 0.8; } .footer-separator { margin: 0 10px; } .footer-links { display: flex; gap: 20px; } .footer-link { color: white; text-decoration: none; transition: opacity 0.3s ease; } .footer-link:hover { opacity: 0.8; text-decoration: underline; } /* ========================================================================== Responsive Design - Tablet (768px and up) ========================================================================== */ @media (min-width: 768px) { .container { padding: 0 40px; } .header-content { flex-direction: row; text-align: left; } .profile-image img { width: 150px; height: 150px; } .contact-info { grid-template-columns: repeat(2, 1fr); gap: 15px; } .contact-item { flex-direction: row; justify-content: space-between; } .experience-header, .education-header, .project-header { flex-direction: row; justify-content: space-between; align-items: flex-start; } .company-info, .education-info { text-align: right; } .certifications-grid { grid-template-columns: repeat(2, 1fr); } .footer-content { flex-direction: row; justify-content: space-between; } } /* ========================================================================== Responsive Design - Desktop (1024px and up) ========================================================================== */ @media (min-width: 1024px) { .name { font-size: 3rem; } .title { font-size: 1.8rem; } .contact-info { grid-template-columns: repeat(3, 1fr); } .nav-list { gap: 20px; } .nav-link { padding: 12px 20px; } .section { padding: 60px 0; } .section-title { font-size: 2.5rem; } .certifications-grid { grid-template-columns: repeat(3, 1fr); } } /* ========================================================================== Print Styles ========================================================================== */ @media print { * { -webkit-print-color-adjust: exact !important; color-adjust: exact !important; } body { font-size: 12pt; line-height: 1.4; background: white !important; color: black !important; } .header { background: white !important; color: black !important; padding: 20pt 0; border-bottom: 2pt solid #333; } .navigation, .footer, .mobile-menu-toggle { display: none !important; } .main-content { margin: 0; box-shadow: none; border-radius: 0; } .section { padding: 20pt 0; page-break-inside: avoid; } .section-title { font-size: 16pt; color: black !important; } .section-title::after { background: black !important; } .experience-item, .education-item, .project-item, .certification-item { background: white !important; border: 1pt solid #ccc; page-break-inside: avoid; margin-bottom: 15pt; } .tech-tag, .skill-item { background: white !important; color: black !important; border: 1pt solid #333; } .contact-link, .project-link, .footer-link { color: black !important; text-decoration: underline; } .profile-image { display: none; } .name { font-size: 24pt; } .title { font-size: 16pt; } } /* ========================================================================== Accessibility Enhancements ========================================================================== */ /* Focus styles for keyboard navigation */ a:focus, button:focus { outline: 2px solid #667eea; outline-offset: 2px; } /* Reduced motion for users who prefer it */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* High contrast mode support */ @media (prefers-contrast: high) { .header { background: #000 !important; } .nav-link:hover { background: #000 !important; } .tech-tag, .skill-item:hover { background: #000 !important; } }