218 lines
4.5 KiB
CSS

/* =========================
NAVBAR STYLING
========================= */
:root {
--primary-color: #3b3c7a;
--primary-dark: #322e7d;
--primary-light: #353d76;
--secondary-color: #ec4899;
--text-dark: #1f2937;
--text-light: #f3f4f6;
--border-color: #e5e7eb;
}
/* Navbar Container */
.navbar-custom {
background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.15);
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 1000;
transition: all 0.3s ease;
}
.navbar-custom:hover {
box-shadow: 0 6px 16px rgba(99, 102, 241, 0.25);
}
/* Brand/Logo Styling */
.navbar-brand {
font-size: 1.6rem;
font-weight: 700;
color: white !important;
display: flex;
align-items: center;
gap: 0.5rem;
transition: all 0.3s ease;
text-decoration: none;
}
.brand-text {
background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.brand-icon {
font-size: 2rem;
display: inline-block;
}
.navbar-brand:hover {
transform: scale(1.05);
filter: brightness(1.1);
}
/* Navigation Links */
.nav-link-custom {
color: rgba(255, 255, 255, 0.85) !important;
font-weight: 500;
font-size: 1rem;
padding: 0.5rem 1rem !important;
border-radius: 6px;
transition: all 0.3s ease;
position: relative;
text-decoration: none;
white-space: nowrap;
}
.nav-link-custom::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: white;
border-radius: 2px;
transition: width 0.3s ease;
}
.nav-link-custom:hover {
color: white !important;
background: rgba(255, 255, 255, 0.1);
transform: translateY(-2px);
}
.nav-link-custom:hover::after {
width: calc(100% - 2rem);
}
.nav-link-custom.active {
color: white !important;
background: rgba(255, 255, 255, 0.2);
font-weight: 600;
}
.nav-link-custom.active::after {
width: calc(100% - 2rem);
background: #fbbf24;
}
/* Action Buttons */
.btn-signup,
.btn-login {
border-radius: 20px;
padding: 0.5rem 1.2rem !important;
font-weight: 600;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.btn-signup {
background: rgba(255, 255, 255, 0.2);
color: white !important;
border-color: white;
}
.btn-signup:hover {
background: white;
color: var(--primary-color) !important;
transform: translateY(-3px);
box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
}
.btn-login {
background: white;
color: var(--primary-color) !important;
border-color: white;
}
.btn-login:hover {
background: var(--primary-light);
color: white !important;
transform: translateY(-3px);
box-shadow: 0 6px 16px rgba(129, 140, 248, 0.4);
}
/* Mobile Responsive */
@media (max-width: 991px) {
.navbar-brand {
font-size: 1.3rem;
}
.nav-link-custom {
padding: 0.75rem 1rem !important;
}
.navbar-custom {
padding: 0.75rem 0;
}
.collapse.navbar-collapse {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
}
/* Navbar Toggler */
.navbar-toggler {
border-color: rgba(255, 255, 255, 0.5) !important;
}
.navbar-toggler:focus {
box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.25) !important;
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* =========================
MAIN CONTENT AREA
========================= */
.main-content {
min-height: calc(100vh - 70px);
padding: 2rem 0;
background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}
.container {
max-width: 1200px;
}
/* =========================
SMOOTH SCROLL & ANIMATIONS
========================= */
html {
scroll-behavior: smooth;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: var(--text-dark);
background-color: #f9fafb;
}
/* Fade in animation */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
router-outlet~* {
animation: fadeIn 0.5s ease-out;
}