/* CSS Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; line-height: 1.6; color: #333; background-color: #f5f5f5; } /* Navbar Styles */ .navbar { background-color: #2c3e50; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 1000; } .nav-container { max-width: 1200px; margin: 0 auto; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; } .nav-brand { color: #fff; text-decoration: none; font-size: 1.5rem; font-weight: bold; } .nav-brand:hover { color: #3498db; } .nav-menu { list-style: none; display: flex; gap: 2rem; } .nav-menu a { color: #fff; text-decoration: none; font-size: 1rem; transition: color 0.3s ease; } .nav-menu a:hover { color: #3498db; } /* Main Container */ .container { max-width: 1200px; margin: 0 auto; padding: 2rem; } /* Hero Section */ .hero { background-color: #fff; padding: 3rem 2rem; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin-bottom: 2rem; text-align: center; } .hero h1 { font-size: 2.5rem; color: #2c3e50; margin-bottom: 1rem; } .hero p { font-size: 1.2rem; color: #555; } /* Content Section */ .content-section { background-color: #fff; padding: 2rem; margin-bottom: 2rem; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .content-section h2 { color: #2c3e50; font-size: 2rem; margin-bottom: 1.5rem; border-bottom: 3px solid #3498db; padding-bottom: 0.5rem; } .contact-info p, .genealogy-blurb p { margin-bottom: 1rem; line-height: 1.8; color: #555; } .contact-info strong { color: #2c3e50; } /* Footer */ .footer { background-color: #2c3e50; color: #fff; text-align: center; padding: 2rem; margin-top: 3rem; } .footer p { font-size: 0.9rem; } /* Blog Styles */ .section-description { color: #666; font-style: italic; margin-bottom: 1.5rem; } .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 1.5rem; } .blog-card { background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; padding: 1.5rem; transition: transform 0.2s ease, box-shadow 0.2s ease; position: relative; } .blog-card:hover { transform: translateY(-4px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); } .blog-card h3 { color: #2c3e50; margin-bottom: 0.5rem; font-size: 1.3rem; } .blog-card h3 a { color: #2c3e50; text-decoration: none; transition: color 0.3s ease; } .blog-card h3 a:hover { color: #3498db; } .blog-meta { color: #999; font-size: 0.9rem; margin-bottom: 0.75rem; } .blog-card p { color: #555; line-height: 1.6; } .blog-card.private { border-color: #f39c12; background-color: #fff9f0; } .private-badge { display: inline-block; background-color: #f39c12; color: #fff; padding: 0.25rem 0.75rem; border-radius: 4px; font-size: 0.85rem; margin-top: 0.5rem; } /* Resume Styles */ .skills-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 1.5rem; } .skill-category h3 { color: #2c3e50; margin-bottom: 1rem; font-size: 1.2rem; border-bottom: 2px solid #3498db; padding-bottom: 0.5rem; } .skill-category ul { list-style: none; padding-left: 0; } .skill-category li { padding: 0.5rem 0; color: #555; position: relative; padding-left: 1.5rem; } .skill-category li:before { content: "▸"; position: absolute; left: 0; color: #3498db; font-weight: bold; } .experience-item { margin-bottom: 2rem; } .experience-item:last-child { margin-bottom: 0; } .experience-item h3 { color: #2c3e50; font-size: 1.4rem; margin-bottom: 0.5rem; } .job-meta { color: #999; font-size: 0.95rem; margin-bottom: 1rem; font-style: italic; } .experience-item ul { margin-top: 1rem; padding-left: 1.5rem; } .experience-item li { color: #555; margin-bottom: 0.5rem; line-height: 1.7; } .experience-item p { color: #555; line-height: 1.7; } /* Responsive Design */ @media (max-width: 768px) { .nav-container { flex-direction: column; gap: 1rem; } .nav-menu { flex-direction: column; gap: 1rem; text-align: center; } .container { padding: 1rem; } .hero h1 { font-size: 2rem; } .content-section h2 { font-size: 1.5rem; } .blog-grid { grid-template-columns: 1fr; } .skills-grid { grid-template-columns: 1fr; } }