/* ======================================================= */ /* --- 1. General Body and Global Text Styling --- */ /* ======================================================= */ body { background-color: #111827; /* Very dark navy/black */ color: #E5E7EB; /* A bright default text color for good contrast */ font-family: 'Poppins', sans-serif; margin-top: 72px; /* Offset content to be below the fixed navbar */ } /* Global styles for all headings */ h1, h2, h3, h4, h5, h6 { font-weight: 600; color: #FFFFFF; /* Ensure all headings are bright white */ } /* Global styles for all paragraphs and lead text */ p, .lead { color: #9CA3AF; /* Light, readable gray for all body text */ font-weight: 400; } .text-muted { color: #6B7280 !important; /* Make muted text a bit lighter so it's still readable */ } /* ======================================================= */ /* --- 2. Navbar Styling (FORCEFUL & DIRECT) --- */ /* ======================================================= */ .navbar { background: #111827; padding: 0.75rem 0; border-bottom: 1px solid #374151; } .navbar-brand { font-weight: 700; font-size: 1.5rem; display: flex; align-items: center; } .logo-icon { background-color: #4F46E5; color: white; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; margin-right: 10px; font-weight: bold; } /* Force the navbar items to always be in a row */ @media (min-width: 992px) { /* This applies only to large screens (desktops) */ #navbarNav .navbar-nav { flex-direction: row !important; /* Force horizontal layout */ align-items: center; /* Vertically align items */ } } .nav-link { font-weight: 500; color: rgba(255, 255, 255, 0.7) !important; padding: 0.5rem 0.75rem; /* Tweak padding */ transition: color 0.3s ease; white-space: nowrap; /* Prevent link text from breaking into two lines */ } .nav-link:hover, .nav-link.active { color: #FFFFFF !important; } /* Keep your Button, Hero, Form, etc. styles below this */ /* They do not need to be changed */ /* Example Button Style (ensure it's still present) */ .btn-primary-custom.btn-sm { padding: 8px 18px; /* Slightly smaller padding to ensure fit */ font-weight: 500; font-size: 0.9rem; } /* ... etc ... */ /* ======================================================= */ /* --- 3. Button Styling --- */ /* ======================================================= */ .btn-primary-custom { background-color: #6366F1; border-color: #6366F1; color: #FFFFFF; font-weight: 600; padding: 12px 24px; border-radius: 8px; transition: all 0.3s ease; } .btn-primary-custom:hover { background-color: #4F46E5; border-color: #4F46E5; transform: translateY(-2px); } .btn-outline-light { font-weight: 600; padding: 12px 24px; border-radius: 8px; transition: all 0.3s ease; } .btn-outline-light:hover { background-color: rgba(255, 255, 255, 0.1); transform: translateY(-2px); } /* ======================================================= */ /* --- 4. Hero Section Styling (Homepage) --- */ /* ======================================================= */ .hero-section { position: relative; padding: 10rem 0; min-height: 80vh; display: flex; align-items: center; justify-content: center; background: url('../images/background/hero_bg.jpg') no-repeat center center/cover; color: white; } .hero-section::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(17, 24, 39, 0.75); z-index: 1; } .hero-section .container { position: relative; z-index: 2; } .hero-title { font-size: 4.5rem; font-weight: 700; background: linear-gradient(45deg, #818CF8, #3B82F6); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; line-height: 1.2; text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5); } .hero-subtitle { font-size: 1.25rem; color: #E5E7EB; max-width: 600px; margin: 1.5rem auto 0; } /* ======================================================= */ /* --- 5. Form, Result, and Content Page Styling --- */ /* ======================================================= */ .content-page { padding-top: 4rem; padding-bottom: 4rem; } .form-section-card, .result-card, .card.bg-dark-card { background-color: #1F2937; padding: 2.5rem; border-radius: 12px; border: 1px solid #374151; } .form-section-card { height: 100%; } .result-card { margin-top: 2rem; } .form-control, .form-select { background-color: #374151; color: #F9FAFB; border: 1px solid #4B5563; border-radius: 8px; } .form-control:focus, .form-select:focus { background-color: #374151; color: #F9FAFB; border-color: #6366F1; box-shadow: 0 0 0 0.25rem rgba(99, 102, 241, 0.25); } .result-label { font-size: 1.1rem; color: #9CA3AF; text-transform: uppercase; } .result-value { font-size: 2.75rem; font-weight: 700; color: #6366F1; } #result-map { border-radius: 10px; border: 1px solid #374151; } .content-page h3 { color: #818CF8; margin-bottom: 1rem; } .content-page hr { border-top: 1px solid #374151; } .card.bg-dark-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(99, 102, 241, 0.1); } .card-title { color: #818CF8; } /* ======================================================= */ /* --- 6. Team Page Styling --- */ /* ======================================================= */ .team-card { background-color: transparent; border: none; align-items: center; transition: transform 0.3s ease; } .team-card:hover { transform: translateY(-10px); } .team-img { width: 200px; height: 200px; object-fit: cover; border-radius: 50%; border: 4px solid #6366F1; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4); } .team-card .card-body { padding-top: 1.5rem; } .team-card .card-title { font-size: 1.5rem; font-weight: 600; color: #FFFFFF; } .team-card .card-text { color: #9CA3AF; /* This will inherit from the global 'p' style but it's good to be explicit */ font-weight: 400; } /* ======================================================= */ /* --- 7. Footer & Animations --- */ /* ======================================================= */ footer { background-color: #111827; border-top: 1px solid #374151; } @keyframes fadeIn-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-in-up { animation: fadeIn-up 0.8s ease-out forwards; opacity: 0; } /* Add this to the bottom of your style.css */ /* ======================================================= */ /* --- 8. About Page - Result Metric Cards --- */ /* ======================================================= */ .result-metric-card { background-color: #1F2937; border: 1px solid #374151; border-left: 5px solid #6366F1; /* Indigo accent line on the left */ padding: 1.5rem; border-radius: 8px; text-align: center; transition: all 0.3s ease; } .result-metric-card:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(99, 102, 241, 0.1); } .result-metric-value { font-size: 2.5rem; font-weight: 700; color: #FFFFFF; } .result-metric-label { font-size: 1rem; color: #9CA3AF; text-transform: uppercase; letter-spacing: 0.5px; }