/* static/css/custom.css */ /* Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@600;700&display=swap'); :root { --primary-color: #2563EB; --secondary-color: #F97316; --neutral-base: #F8FAFC; --text-color: #1E293B; --card-bg: #FFFFFF; --card-border: #E2E8F0; --font-family-headings: 'Poppins', sans-serif; --font-family-body: 'Inter', sans-serif; } body { background-color: var(--neutral-base); font-family: var(--font-family-body); color: var(--text-color); } h1, h2, h3, h4, h5, h6 { font-family: var(--font-family-headings); font-weight: 700; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); font-weight: 600; transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out; } .btn-primary:hover { background-color: #1D4ED8; /* Darker shade of primary */ transform: translateY(-2px); } .btn-secondary { background-color: var(--secondary-color); border-color: var(--secondary-color); color: #FFFFFF; font-weight: 600; transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out; } .btn-secondary:hover { background-color: #EA580C; /* Darker shade of secondary */ transform: translateY(-2px); } /* Hero Section */ .hero-section { background: linear-gradient(135deg, #EFF6FF 0%, #E0F2FE 100%); padding: 6rem 0; } .hero-section h1 { font-size: 3.5rem; font-weight: 700; } .hero-section .lead { font-size: 1.25rem; color: #475569; } /* Search Form */ .search-form { background: var(--card-bg); padding: 1rem; border-radius: 0.75rem; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } .search-form .form-control { border: none; padding: 1rem; font-size: 1rem; } .search-form .form-control:focus { box-shadow: none; outline: none; } /* Job Card */ .job-card { background-color: var(--card-bg); border: 1px solid var(--card-border); border-radius: 0.75rem; padding: 1.5rem; transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; height: 100%; } .job-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); } .job-card .company-logo { width: 50px; height: 50px; border-radius: 0.5rem; background-color: #E0F2FE; display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--primary-color); font-size: 1.5rem; } .job-card .job-title { font-size: 1.25rem; font-weight: 600; color: var(--text-color); } .job-card .job-company { font-weight: 500; color: #475569; } .job-card .job-location { color: #64748B; } .job-badge { display: inline-block; padding: 0.35em 0.65em; font-size: .75em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.375rem; } .job-badge.full-time { background-color: #34D399; } .job-badge.part-time { background-color: #FBBF24; } .job-badge.contract { background-color: #A78BFA; } /* Footer */ .footer { background-color: #1E293B; color: #94A3B8; padding: 3rem 0; margin-top: 5rem; } .footer a { color: #E2E8F0; text-decoration: none; transition: color 0.2s ease-in-out; } .footer a:hover { color: #FFFFFF; }