/* Content Card and Project Card Component Styles */ .contentCard { margin-bottom: 40px; padding: 20px; background-color: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); backdrop-filter: blur(10px); border-radius: 10px; color: white; } .contentCard:last-child { margin-bottom: 0; } .contentCard h2 { white-space: normal; } .contentCard p { white-space: normal; font-size: 18px; } /* Hero Card (Legacy) */ .hero-card { border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 10px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; } /* Project Card Styles */ .project-card { background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 24px; padding: 25px; display: flex; flex-direction: column; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); height: 100%; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); position: relative; overflow: hidden; } .project-card:hover { background: rgba(255, 255, 255, 0.15); transform: translateY(-8px) scale(1.02); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); border-color: rgba(255, 255, 255, 0.4); } .project-card::before { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-25deg); transition: none; pointer-events: none; } .project-card:hover::before { animation: shine 1.5s ease-in-out; } @keyframes shine { 0% { left: -100%; } 100% { left: 200%; } } .project-image-container { width: 100%; height: 180px; border-radius: 10px; overflow: hidden; margin-bottom: 20px; border: 1px solid rgba(255, 255, 255, 0.2); } .project-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .project-card:hover .project-image { transform: scale(1.1); } .project-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } .project-name { font-size: 1.5rem; font-weight: 700; margin: 0; color: white; font-family: 'Roboto', sans-serif; } .project-description { color: rgba(255, 255, 255, 0.85); font-size: 0.95rem; line-height: 1.6; margin-bottom: 20px; flex-grow: 1; font-weight: 300; } .project-tech-stack { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; } .tech-chip { background: rgba(255, 255, 255, 0.15); color: rgba(255, 255, 255, 0.9); padding: 6px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 600; border: 1px solid rgba(255, 255, 255, 0.1); transition: background 0.3s ease; } .project-card:hover .tech-chip { background: rgba(255, 255, 255, 0.25); } .project-links { display: flex; gap: 15px; margin-top: auto; } .project-link { display: inline-flex; align-items: center; gap: 6px; color: white; text-decoration: none; font-size: 0.9rem; font-weight: 600; transition: color 0.3s ease; padding: 8px 16px; border-radius: 8px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); } .project-link:hover { color: white; background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); }