/* Custom Styles for Personal Portfolio */ :root { --primary-color: #3B82F6; --secondary-color: #10B981; --background-color: #F9FAFB; --surface-color: #FFFFFF; --text-color: #1F2937; --light-text-color: #6B7280; --border-radius: 0.5rem; --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: var(--background-color); color: var(--text-color); } .navbar { transition: background-color 0.3s ease-in-out; } .navbar-scrolled { background-color: var(--surface-color); box-shadow: var(--shadow-md); } .hero { color: white; padding: 8rem 0; position: relative; text-align: center; } .hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(to right, rgba(59, 130, 246, 0.8), rgba(16, 185, 129, 0.8)), url('../images/hero-kittens-45170.jpg'); background-size: cover; background-position: center; z-index: -1; } .hero h1 { font-size: 3.5rem; font-weight: 700; } .hero p { font-size: 1.25rem; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); padding: 0.75rem 1.5rem; border-radius: var(--border-radius); font-weight: 600; } .btn-primary:hover { opacity: 0.9; background-color: var(--primary-color); border-color: var(--primary-color); } .section { padding: 5rem 0; } .section-title { text-align: center; margin-bottom: 3rem; font-size: 2.5rem; font-weight: 700; } .portfolio-card { border: none; border-radius: var(--border-radius); box-shadow: var(--shadow-md); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } .portfolio-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); } .form-control:focus { box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25); border-color: var(--primary-color); } footer { background-color: var(--surface-color); padding: 2rem 0; border-top: 1px solid #e5e7eb; } #contact-alert { position: fixed; top: 1rem; right: 1rem; z-index: 1050; display: none; min-width: 250px; } .gallery-card { border: none; border-radius: var(--border-radius); box-shadow: var(--shadow-md); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } .gallery-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); } .gallery-card .card-img-top { aspect-ratio: 4 / 3; object-fit: cover; } .gallery-card .card-body { background-color: var(--surface-color); }