/* Base Styles */ * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f8f9fa; } .app { display: flex; flex-direction: column; min-height: 100vh; } /* Header Styles */ .app-header { background-color: #1a1a2e; color: white; padding: 2rem 1rem; text-align: center; } .header-content { max-width: 1200px; margin: 0 auto; position: relative; } .back-button { position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: none; border: none; color: white; font-size: 1rem; cursor: pointer; padding: 0.5rem; } .back-button:hover { text-decoration: underline; } .app-header h1 { font-size: 2.5rem; margin-bottom: 0.5rem; } .tagline { font-size: 1.1rem; font-weight: 300; } /* Main Content */ .app-content { flex: 1; padding: 2rem 1rem; max-width: 1200px; margin: 0 auto; width: 100%; } /* Project List */ .projects-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; } .intro { grid-column: 1 / -1; margin-bottom: 1rem; } .intro h2 { font-size: 2rem; margin-bottom: 1rem; } .intro p { font-size: 1.1rem; color: #555; } /* Project Card */ .project-card { background-color: white; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); padding: 1.5rem; transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer; } .project-card:hover { transform: translateY(-5px); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); } .project-card h3 { margin-bottom: 1rem; color: #1a1a2e; } .project-summary { margin-bottom: 1.5rem; color: #555; } .view-details { text-align: right; color: #16213e; font-weight: 500; } /* Project Details */ .project-details { background-color: white; border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); padding: 2rem; } .project-details h2 { color: #1a1a2e; margin-bottom: 1.5rem; font-size: 1.8rem; } .project-carousel { margin-bottom: 2rem; } .project-description p { margin-bottom: 1rem; font-size: 1.05rem; } /* Carousel Styles */ .carousel { display: flex; align-items: center; justify-content: space-between; position: relative; background-color: #f1f1f1; border-radius: 4px; overflow: hidden; } .carousel-image-container { flex: 1; display: flex; justify-content: center; align-items: center; position: relative; height: 400px; } .carousel-image { max-width: 100%; max-height: 100%; object-fit: contain; } .carousel-button { background-color: rgba(0, 0, 0, 0.5); border: none; color: white; font-size: 1.5rem; padding: 0.5rem 1rem; cursor: pointer; height: 100%; z-index: 2; } .carousel-button:hover { background-color: rgba(0, 0, 0, 0.7); } .carousel-counter { position: absolute; bottom: 10px; right: 10px; background-color: rgba(0, 0, 0, 0.6); color: white; padding: 0.25rem 0.5rem; border-radius: 4px; font-size: 0.8rem; } .carousel-loading, .carousel-empty { display: flex; justify-content: center; align-items: center; height: 300px; background-color: #f1f1f1; color: #555; font-style: italic; } /* Footer */ .app-footer { background-color: #1a1a2e; color: white; text-align: center; padding: 1.5rem; margin-top: 2rem; } .footer-content { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1rem; } .social-links { display: flex; gap: 1.5rem; } .social-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.5); color: white; transition: all 0.3s ease; padding: 8px; } .social-icon:hover { color: #4361ee; border-color: #4361ee; transform: translateY(-3px); background-color: rgba(255, 255, 255, 0.1); } .social-icon svg { width: 20px; height: 20px; } /* Chip styling */ .chips-container { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0; } .chip { display: inline-block; padding: 1px 12px; border-radius: 16px; font-size: 0.6rem; font-weight: 1000; } .chip-large { display: inline-block; padding: 1px 16px; border-radius: 16px; font-size: 1rem; font-weight: 750; } .lang-chip { background-color: #e0f2ff; color: #0366d6; border: 1px solid #79b8ff; } .software-chip { background-color: #f3e8ff; color: #5a32a3; border: 1px solid #d1bef2; } .project-card { display: flex; flex-direction: column; } .view-details { margin-top: auto; text-align: right; } /* Responsive styles */ @media (max-width: 768px) { .header-content { padding: 0 1rem; } .back-button { position: static; transform: none; margin-bottom: 1rem; display: inline-block; } .project-details { padding: 1.5rem; } .carousel-image-container { height: 300px; } } @media (max-width: 480px) { .app-header h1 { font-size: 2rem; } .carousel-image-container { height: 200px; } } @media (max-width: 768px) { .footer-content { flex-direction: column; gap: 1rem; } .social-links { margin-bottom: 1rem; } }