Crime-Forecaster / static /css /style.css
Hamzasajjad38's picture
Upload 28 files
e7ef242 verified
Raw
History Blame Contribute Delete
8.02 kB
/* ======================================================= */
/* --- 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;
}