1282 lines
30 KiB
CSS
1282 lines
30 KiB
CSS
@import "tailwindcss";
|
|
|
|
/* ========================================== */
|
|
/* ROOT VARIABLES & THEME DEFINITIONS */
|
|
/* ========================================== */
|
|
|
|
:root {
|
|
/* Brand Colors - consistent across themes */
|
|
--color-primary: #13AE3A;
|
|
--color-primary-light: #4dc76a;
|
|
--color-primary-dark: #0c8429;
|
|
|
|
/* Brand Colors as HSL for better theme integration */
|
|
--primary: 135 80% 38%;
|
|
--primary-light: 135 60% 85%;
|
|
--primary-dark: 135 60% 18%;
|
|
|
|
--color-secondary: #7e3af2;
|
|
--color-secondary-light: #a78bfa;
|
|
--color-secondary-dark: #5b21b6;
|
|
|
|
--color-accent: #ff9800;
|
|
--color-accent-light: #ffca28;
|
|
--color-accent-dark: #ff8f00;
|
|
|
|
/* Bright Daisy Yellow Accent - Dark Theme */
|
|
--color-accent-gold: #FFD700;
|
|
|
|
/* Light Theme Yellow Accents */
|
|
--color-accent-amber: #d97706;
|
|
--color-accent-mustard: #ca8a04;
|
|
--color-accent-honey: #b7791f;
|
|
--color-accent-light-bg: #fefce8;
|
|
|
|
/* Light Theme Variables - Enhanced Modern Design */
|
|
--color-text: #0f172a;
|
|
--color-text-light: #475569;
|
|
--color-text-muted: #64748b;
|
|
--color-bg: #ffffff;
|
|
--color-bg-secondary: #f8fafc;
|
|
--color-bg-tertiary: #f1f5f9;
|
|
--color-bg-soft: #ffffff;
|
|
--color-bg-warm: #fefefe;
|
|
--color-border: #e2e8f0;
|
|
--color-border-light: #f1f5f9;
|
|
|
|
/* Light theme gradients */
|
|
--gradient-primary: linear-gradient(135deg, #13AE3A 0%, #0c8429 100%);
|
|
--gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
|
|
--gradient-soft: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
|
|
--gradient-cool: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
|
|
--gradient-hero: linear-gradient(135deg, #13AE3A 0%, #0c8429 100%);
|
|
|
|
/* Enhanced shadows */
|
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
|
|
/* Typography */
|
|
--font-sans: "Inter", system-ui, sans-serif;
|
|
--font-display: "Inter", system-ui, sans-serif;
|
|
|
|
/* Layout */
|
|
--border-radius-sm: 0.25rem;
|
|
--border-radius: 0.5rem;
|
|
--border-radius-lg: 0.75rem;
|
|
--border-radius-xl: 1rem;
|
|
|
|
--shadow-focus: 0 0 0 3px rgba(19, 174, 58, 0.5);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* DARK THEME VARIABLES */
|
|
/* ========================================== */
|
|
|
|
.dark {
|
|
/* Dark theme text colors */
|
|
--color-text: #f3f4f6;
|
|
--color-text-light: #e5e7eb;
|
|
--color-text-muted: #9ca3af;
|
|
|
|
/* Dark theme backgrounds */
|
|
--color-bg: #0f172a;
|
|
--color-bg-secondary: #1e293b;
|
|
--color-bg-tertiary: #334155;
|
|
--color-bg-soft: #1e293b;
|
|
--color-bg-warm: #1e293b;
|
|
|
|
/* Dark theme borders */
|
|
--color-border: #475569;
|
|
--color-border-light: #374151;
|
|
|
|
/* Dark theme primary colors */
|
|
--color-primary-light: #4dc76a;
|
|
|
|
/* Dark theme gradients */
|
|
--gradient-primary: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
|
--gradient-secondary: linear-gradient(135deg, #374151 0%, #475569 100%);
|
|
--gradient-soft: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
|
--gradient-cool: linear-gradient(135deg, #1e293b 0%, #374151 100%);
|
|
--gradient-hero: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
|
|
|
/* Dark theme shadows */
|
|
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
|
|
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
|
|
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* HIGH CONTRAST THEMES */
|
|
/* ========================================== */
|
|
|
|
/* High Contrast Light Theme - Maximum Contrast for Low Vision */
|
|
.high-contrast-light {
|
|
/* Text colors - Pure black for maximum contrast */
|
|
--color-text: #000000;
|
|
--color-text-light: #000000;
|
|
--color-text-muted: #333333;
|
|
|
|
/* Background colors - Pure white */
|
|
--color-bg: #FFFFFF;
|
|
--color-bg-secondary: #FFFFFF;
|
|
--color-bg-tertiary: #F5F5F5;
|
|
--color-bg-soft: #FFFFFF;
|
|
--color-bg-warm: #FFFFFF;
|
|
|
|
/* Border colors - Strong black borders */
|
|
--color-border: #000000;
|
|
--color-border-light: #333333;
|
|
|
|
/* Primary colors - Pure black for maximum contrast */
|
|
--color-primary: #000000;
|
|
--color-primary-light: #000000;
|
|
--color-primary-dark: #000000;
|
|
|
|
/* Accent colors - Bright yellow for maximum visibility */
|
|
--color-accent-gold: #FFFF00;
|
|
|
|
/* Enhanced shadows for high contrast */
|
|
--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, 0.8);
|
|
--shadow-md: 0 4px 8px -1px rgba(0, 0, 0, 0.8), 0 2px 6px -1px rgba(0, 0, 0, 0.6);
|
|
--shadow-lg: 0 10px 20px -3px rgba(0, 0, 0, 0.8), 0 4px 8px -2px rgba(0, 0, 0, 0.6);
|
|
--shadow-xl: 0 25px 35px -5px rgba(0, 0, 0, 0.8), 0 10px 15px -5px rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
/* High Contrast Dark Theme - White on Black */
|
|
.high-contrast-dark {
|
|
/* Text colors - Pure white for maximum contrast */
|
|
--color-text: #FFFFFF;
|
|
--color-text-light: #FFFFFF;
|
|
--color-text-muted: #CCCCCC;
|
|
|
|
/* Background colors - Pure black */
|
|
--color-bg: #000000;
|
|
--color-bg-secondary: #000000;
|
|
--color-bg-tertiary: #1A1A1A;
|
|
--color-bg-soft: #000000;
|
|
--color-bg-warm: #000000;
|
|
|
|
/* Border colors - Strong white borders */
|
|
--color-border: #FFFFFF;
|
|
--color-border-light: #CCCCCC;
|
|
|
|
/* Primary colors - Pure white for maximum contrast */
|
|
--color-primary: #FFFFFF;
|
|
--color-primary-light: #FFFFFF;
|
|
--color-primary-dark: #FFFFFF;
|
|
|
|
/* Accent colors - Bright yellow */
|
|
--color-accent-gold: #FFFF00;
|
|
|
|
/* Enhanced shadows for high contrast dark */
|
|
--shadow-sm: 0 2px 4px 0 rgba(255, 255, 255, 0.3);
|
|
--shadow-md: 0 4px 8px -1px rgba(255, 255, 255, 0.3), 0 2px 6px -1px rgba(255, 255, 255, 0.2);
|
|
--shadow-lg: 0 10px 20px -3px rgba(255, 255, 255, 0.3), 0 4px 8px -2px rgba(255, 255, 255, 0.2);
|
|
--shadow-xl: 0 25px 35px -5px rgba(255, 255, 255, 0.3), 0 10px 15px -5px rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* GLOBAL FOCUS & ACCESSIBILITY */
|
|
/* ========================================== */
|
|
|
|
*:focus-visible {
|
|
outline: none;
|
|
box-shadow: var(--shadow-focus);
|
|
}
|
|
|
|
.skip-to-content {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border-width: 0;
|
|
}
|
|
|
|
.skip-to-content:focus {
|
|
position: fixed;
|
|
top: 16px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
width: auto;
|
|
height: auto;
|
|
padding: 0.5rem 1rem;
|
|
margin: 0;
|
|
overflow: visible;
|
|
clip: auto;
|
|
white-space: normal;
|
|
background-color: var(--color-primary);
|
|
color: white;
|
|
font-weight: medium;
|
|
border-radius: var(--border-radius);
|
|
z-index: 9999;
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* BUTTON COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: var(--border-radius);
|
|
padding: 0.5rem 1rem;
|
|
font-weight: 500;
|
|
transition-property: background-color, border-color, color;
|
|
transition-duration: 300ms;
|
|
}
|
|
|
|
.btn-primary {
|
|
background-color: var(--color-primary);
|
|
color: white;
|
|
padding: 0.75rem 1.5rem;
|
|
border-radius: var(--border-radius-lg);
|
|
font-weight: 600;
|
|
box-shadow: 0 4px 14px 0 rgba(19, 174, 58, 0.25);
|
|
transition: all 0.3s ease;
|
|
border: none;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.btn-primary:hover {
|
|
background-color: var(--color-primary-dark);
|
|
box-shadow: 0 6px 20px 0 rgba(19, 174, 58, 0.4);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.btn-secondary {
|
|
background-color: white;
|
|
color: var(--color-primary);
|
|
border: 1px solid var(--color-primary);
|
|
}
|
|
|
|
.btn-secondary:hover {
|
|
background-color: #f9fafb;
|
|
}
|
|
|
|
.btn-accent {
|
|
background-color: var(--color-accent);
|
|
color: white;
|
|
}
|
|
|
|
.btn-accent:hover {
|
|
background-color: var(--color-accent-dark);
|
|
}
|
|
|
|
.dark .btn-secondary {
|
|
background-color: rgba(255, 255, 255, 0.1);
|
|
border-color: var(--color-primary-light);
|
|
color: var(--color-primary-light);
|
|
}
|
|
|
|
.dark .btn-secondary:hover {
|
|
background-color: rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* CARD COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.card {
|
|
background-color: var(--color-bg-soft);
|
|
border-radius: var(--border-radius-lg);
|
|
box-shadow: var(--shadow-md);
|
|
overflow: hidden;
|
|
border: 1px solid var(--color-border-light);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.card:hover {
|
|
box-shadow: var(--shadow-lg);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.dark .card {
|
|
background-color: var(--color-bg-secondary);
|
|
border: 1px solid var(--color-border);
|
|
box-shadow: var(--shadow-md);
|
|
}
|
|
|
|
.dark .card:hover {
|
|
background-color: var(--color-bg-tertiary);
|
|
box-shadow: var(--shadow-lg);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.card-image-placeholder {
|
|
background-color: #f3f4f6;
|
|
}
|
|
|
|
.dark .card-image-placeholder {
|
|
background-color: #4b5563;
|
|
}
|
|
|
|
.card-placeholder-text {
|
|
color: #9ca3af;
|
|
}
|
|
|
|
.dark .card-placeholder-text {
|
|
color: #d1d5db;
|
|
}
|
|
|
|
.card-title {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.card-description {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
.card-date {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.dark .card-date {
|
|
color: var(--color-primary-light);
|
|
}
|
|
|
|
.card-link {
|
|
color: var(--color-primary);
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.card-link:hover {
|
|
color: var(--color-primary-dark);
|
|
}
|
|
|
|
.dark .card-link {
|
|
color: var(--color-primary-light);
|
|
}
|
|
|
|
.dark .card-link:hover {
|
|
color: #86efac;
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* FORM COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.form-label {
|
|
display: block;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: #374151;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.dark .form-label {
|
|
color: #f3f4f6;
|
|
}
|
|
|
|
.form-input {
|
|
display: block;
|
|
width: 100%;
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 1rem;
|
|
line-height: 1.5;
|
|
color: #111827;
|
|
background-color: #ffffff;
|
|
border: 1px solid #d1d5db;
|
|
border-radius: 0.375rem;
|
|
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
|
|
}
|
|
|
|
.form-input:focus {
|
|
outline: none;
|
|
border-color: var(--color-primary);
|
|
box-shadow: 0 0 0 3px rgba(19, 174, 58, 0.1);
|
|
}
|
|
|
|
.dark .form-input {
|
|
color: #f9fafb;
|
|
background-color: #374151;
|
|
border-color: #6b7280;
|
|
}
|
|
|
|
.dark .form-input:focus {
|
|
border-color: var(--color-primary-light);
|
|
box-shadow: 0 0 0 3px rgba(19, 174, 58, 0.2);
|
|
}
|
|
|
|
.file-input {
|
|
display: block;
|
|
width: 100%;
|
|
font-size: 0.875rem;
|
|
color: #6b7280;
|
|
}
|
|
|
|
.file-input::file-selector-button {
|
|
margin-right: 1rem;
|
|
padding: 0.5rem 1rem;
|
|
border: 0;
|
|
border-radius: 0.375rem;
|
|
background-color: var(--color-primary);
|
|
color: white;
|
|
font-size: 0.875rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.file-input::file-selector-button:hover {
|
|
background-color: var(--color-primary-dark);
|
|
}
|
|
|
|
.dark .file-input {
|
|
color: #d1d5db;
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* LAYOUT & STRUCTURE */
|
|
/* ========================================== */
|
|
|
|
main {
|
|
padding-top: 4rem;
|
|
}
|
|
|
|
.dark h2,
|
|
.dark h3 {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.section-heading {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.section-text {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* NAVIGATION COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.nav-bar {
|
|
background-color: transparent;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
.nav-bar-scrolled {
|
|
background-color: var(--color-bg);
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .nav-bar-scrolled {
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.nav-logo {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.dark .nav-logo {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.nav-link {
|
|
color: var(--color-text);
|
|
transition: all 0.2s ease;
|
|
padding: 0.5rem 0.75rem;
|
|
border-radius: 0.375rem;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.nav-link:hover {
|
|
background-color: var(--color-bg-secondary);
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.nav-link-active {
|
|
background-color: var(--color-primary);
|
|
color: white;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.nav-mobile-menu {
|
|
background-color: var(--color-bg);
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.dark .nav-mobile-menu {
|
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.nav-mobile-button {
|
|
color: var(--color-text);
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.nav-mobile-button:hover {
|
|
background-color: var(--color-bg-secondary);
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* HIGH CONTRAST NAVIGATION FIXES */
|
|
/* ========================================== */
|
|
|
|
.high-contrast-light .nav-bar,
|
|
.high-contrast-light .nav-bar-scrolled {
|
|
background-color: #FFFFFF !important;
|
|
border-bottom: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-logo {
|
|
color: #000000 !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-link {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 2px solid #000000 !important;
|
|
font-weight: 700 !important;
|
|
margin: 0 0.25rem !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-link:hover {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-link-active {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 2px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-bar,
|
|
.high-contrast-dark .nav-bar-scrolled {
|
|
background-color: #000000 !important;
|
|
border-bottom: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-logo {
|
|
color: #FFFFFF !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-link {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 2px solid #FFFFFF !important;
|
|
font-weight: 700 !important;
|
|
margin: 0 0.25rem !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-link:hover {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-link-active {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 2px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-mobile-button {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 2px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-mobile-button {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 2px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-light .nav-mobile-menu {
|
|
background-color: #FFFFFF !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-mobile-menu {
|
|
background-color: #000000 !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* HERO COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.hero-section {
|
|
background-color: var(--color-bg);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.hero-title {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.hero-subtitle {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
.hero-subtitle-image {
|
|
color: #e5e7eb;
|
|
}
|
|
|
|
.hero-button-gold-accent {
|
|
border: 2px solid var(--color-accent-honey);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.hero-button-gold-accent:hover {
|
|
box-shadow: 0 0 0 1px var(--color-accent-honey);
|
|
}
|
|
|
|
.dark .hero-button-gold-accent {
|
|
border-color: var(--color-accent-gold);
|
|
}
|
|
|
|
.dark .hero-button-gold-accent:hover {
|
|
box-shadow: 0 0 0 1px var(--color-accent-gold);
|
|
}
|
|
|
|
.cta-button-primary.hero-button-gold-accent {
|
|
background-color: white;
|
|
color: var(--color-primary);
|
|
border: 2px solid var(--color-accent-honey);
|
|
}
|
|
|
|
.cta-button-primary.hero-button-gold-accent:hover {
|
|
background-color: #f9fafb;
|
|
box-shadow: 0 0 0 1px var(--color-accent-honey);
|
|
}
|
|
|
|
.dark .cta-button-primary.hero-button-gold-accent {
|
|
background-color: rgba(255, 215, 0, 0.1);
|
|
color: var(--color-text);
|
|
border-color: var(--color-accent-gold);
|
|
}
|
|
|
|
.dark .cta-button-primary.hero-button-gold-accent:hover {
|
|
background-color: rgba(255, 215, 0, 0.2);
|
|
box-shadow: 0 0 0 1px var(--color-accent-gold);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* CTA COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.cta-section {
|
|
background: linear-gradient(135deg, #13AE3A 0%, #0c8429 100%);
|
|
}
|
|
|
|
.dark .cta-section {
|
|
background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
|
|
}
|
|
|
|
.cta-title {
|
|
color: white;
|
|
}
|
|
|
|
.cta-description {
|
|
color: #dcfce7;
|
|
}
|
|
|
|
.dark .cta-description {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
.cta-button-primary {
|
|
background-color: white;
|
|
color: var(--color-primary);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.cta-button-primary:hover {
|
|
background-color: #f9fafb;
|
|
}
|
|
|
|
.dark .cta-button-primary {
|
|
background-color: #f3f4f6;
|
|
color: #1f2937;
|
|
}
|
|
|
|
.dark .cta-button-primary:hover {
|
|
background-color: white;
|
|
}
|
|
|
|
.cta-button-secondary {
|
|
background-color: transparent;
|
|
color: white;
|
|
border: 2px solid white;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.cta-button-secondary:hover {
|
|
background-color: white;
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.dark .cta-button-secondary {
|
|
border-color: var(--color-text-light);
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
.dark .cta-button-secondary:hover {
|
|
background-color: var(--color-text-light);
|
|
color: var(--color-bg);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* FOOTER COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.footer {
|
|
background-color: var(--color-bg);
|
|
border-top: 1px solid var(--color-border);
|
|
}
|
|
|
|
.footer-title {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.footer-text {
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
.footer-heading {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.footer-link {
|
|
color: var(--color-text-muted);
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.footer-link:hover {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.footer-social-icon {
|
|
color: var(--color-text-muted);
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.footer-social-icon:hover {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
.footer-copyright {
|
|
color: var(--color-text-muted);
|
|
border-top: 1px solid var(--color-border);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* VIDEO COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.video-container {
|
|
background-color: var(--color-bg);
|
|
}
|
|
|
|
.dark .video-container {
|
|
background-color: #374151;
|
|
}
|
|
|
|
.video-placeholder {
|
|
background-color: #f3f4f6;
|
|
}
|
|
|
|
.dark .video-placeholder {
|
|
background-color: #4b5563;
|
|
}
|
|
|
|
.video-placeholder-text {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
.video-container-gold {
|
|
border: 2px solid var(--color-accent-honey);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.dark .video-container-gold {
|
|
border-color: var(--color-accent-gold);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* MEMBERSHIP COMPONENTS */
|
|
/* ========================================== */
|
|
|
|
.benefit-card-title {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.benefit-card-description {
|
|
color: var(--color-text-light);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* GOLD ACCENT SYSTEM */
|
|
/* ========================================== */
|
|
|
|
/* Event Card Gold Accents */
|
|
.event-card-gold-border {
|
|
border-left: 3px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.event-card-gold-border:hover {
|
|
border-left-color: var(--color-accent-honey);
|
|
}
|
|
|
|
.event-card-title-gold {
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.event-card-gold-border:hover .event-card-title-gold {
|
|
color: var(--color-accent-honey);
|
|
}
|
|
|
|
.dark .event-card-gold-border:hover {
|
|
border-left-color: var(--color-accent-gold);
|
|
}
|
|
|
|
.dark .event-card-gold-border:hover .event-card-title-gold {
|
|
color: var(--color-accent-gold);
|
|
}
|
|
|
|
/* Light Theme Yellow Accent Classes */
|
|
.light-amber-accent {
|
|
border: 2px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.light-amber-accent {
|
|
border-color: var(--color-accent-amber);
|
|
}
|
|
|
|
.light-amber-border {
|
|
border-left: 3px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.light-amber-border:hover {
|
|
border-left-color: var(--color-accent-amber);
|
|
}
|
|
|
|
.light-amber-title {
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.light-amber-border:hover .light-amber-title {
|
|
color: var(--color-accent-amber);
|
|
}
|
|
|
|
.blue-section-yellow-accent {
|
|
background: linear-gradient(135deg, #13AE3A 0%, #4dc76a 100%);
|
|
color: white;
|
|
}
|
|
|
|
.blue-card-yellow-border {
|
|
background-color: var(--color-primary);
|
|
color: white;
|
|
border: 2px solid var(--color-accent-gold);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.blue-card-yellow-border:hover {
|
|
box-shadow: 0 0 0 2px var(--color-accent-gold);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.yellow-on-blue-title {
|
|
color: var(--color-accent-gold);
|
|
}
|
|
|
|
.yellow-tint-section {
|
|
background-color: var(--color-accent-light-bg);
|
|
border: 1px solid #fde047;
|
|
}
|
|
|
|
.yellow-tint-card {
|
|
background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
|
|
border: 1px solid #fbbf24;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.yellow-tint-card:hover {
|
|
box-shadow: 0 4px 12px rgba(251, 191, 36, 0.2);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.mustard-accent {
|
|
border: 2px solid var(--color-accent-mustard);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.mustard-border {
|
|
border-left: 3px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.mustard-border:hover {
|
|
border-left-color: var(--color-accent-mustard);
|
|
}
|
|
|
|
.mustard-title {
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.mustard-border:hover .mustard-title {
|
|
color: var(--color-accent-mustard);
|
|
}
|
|
|
|
.honey-accent {
|
|
border: 2px solid var(--color-accent-honey);
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.honey-border {
|
|
border-left: 3px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.honey-border:hover {
|
|
border-left-color: var(--color-accent-honey);
|
|
}
|
|
|
|
.honey-title {
|
|
transition: color 0.3s ease;
|
|
}
|
|
|
|
.honey-border:hover .honey-title {
|
|
color: var(--color-accent-honey);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* DARK THEME OVERRIDES */
|
|
/* ========================================== */
|
|
|
|
.dark .light-amber-accent,
|
|
.dark .light-amber-border,
|
|
.dark .mustard-accent,
|
|
.dark .mustard-border,
|
|
.dark .honey-accent,
|
|
.dark .honey-border {
|
|
border-color: transparent;
|
|
}
|
|
|
|
.dark .light-amber-border:hover,
|
|
.dark .mustard-border:hover,
|
|
.dark .honey-border:hover {
|
|
border-left-color: transparent;
|
|
}
|
|
|
|
.dark .light-amber-border:hover .light-amber-title,
|
|
.dark .mustard-border:hover .mustard-title,
|
|
.dark .honey-border:hover .honey-title {
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.dark .yellow-tint-section {
|
|
background-color: var(--color-bg-secondary);
|
|
border: 1px solid var(--color-border);
|
|
}
|
|
|
|
.dark .yellow-tint-card {
|
|
background: var(--color-bg-secondary);
|
|
border: 1px solid var(--color-border);
|
|
}
|
|
|
|
.dark .blue-section-yellow-accent {
|
|
background: linear-gradient(135deg, #0c3318 0%, #134d24 100%);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* UTILITY CLASSES */
|
|
/* ========================================== */
|
|
|
|
.bg-color-bg {
|
|
background-color: var(--color-bg);
|
|
}
|
|
|
|
.bg-color-bg-secondary {
|
|
background-color: var(--color-bg-secondary);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* FEATURED BADGE COMPONENT */
|
|
/* ========================================== */
|
|
|
|
.featured-badge {
|
|
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
|
|
color: white;
|
|
font-weight: 600;
|
|
letter-spacing: 0.025em;
|
|
box-shadow: 0 2px 8px rgba(19, 174, 58, 0.25);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
transition: all 0.3s ease;
|
|
text-transform: uppercase;
|
|
font-size: 0.75rem;
|
|
}
|
|
|
|
.featured-badge:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(19, 174, 58, 0.35);
|
|
}
|
|
|
|
.dark .featured-badge {
|
|
background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
|
|
box-shadow: 0 2px 8px rgba(19, 174, 58, 0.25);
|
|
}
|
|
|
|
.dark .featured-badge:hover {
|
|
box-shadow: 0 4px 12px rgba(19, 174, 58, 0.35);
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* HIGH CONTRAST COMPONENT ENHANCEMENTS */
|
|
/* ========================================== */
|
|
|
|
.high-contrast-light .card,
|
|
.high-contrast-dark .card {
|
|
border: 3px solid var(--color-border);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.high-contrast-light .btn-primary,
|
|
.high-contrast-dark .btn-primary {
|
|
border: 3px solid var(--color-border);
|
|
font-weight: 700;
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
.high-contrast-light .card-title,
|
|
.high-contrast-dark .card-title {
|
|
font-weight: 700;
|
|
font-size: 1.3rem;
|
|
}
|
|
|
|
.high-contrast-light *:focus-visible,
|
|
.high-contrast-dark *:focus-visible {
|
|
outline: 4px solid var(--color-accent-gold);
|
|
outline-offset: 2px;
|
|
box-shadow: 0 0 0 2px var(--color-bg), 0 0 0 6px var(--color-accent-gold);
|
|
}
|
|
|
|
.high-contrast-light .form-label {
|
|
color: #000000 !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
|
|
.high-contrast-dark .form-label {
|
|
color: #FFFFFF !important;
|
|
font-weight: 700 !important;
|
|
}
|
|
|
|
.high-contrast-light input[type="checkbox"] {
|
|
border: 3px solid #000000 !important;
|
|
background-color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark input[type="checkbox"] {
|
|
border: 3px solid #FFFFFF !important;
|
|
background-color: #000000 !important;
|
|
accent-color: #FFFFFF !important;
|
|
}
|
|
/* ========================================== */
|
|
/* HIGH CONTRAST BUTTON VISIBILITY FIXES */
|
|
/* ========================================== */
|
|
|
|
/* High Contrast Dark Mode Button Fixes */
|
|
.high-contrast-dark .btn-primary {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .btn-primary:hover {
|
|
background-color: #CCCCCC !important;
|
|
color: #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-button-primary {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-button-primary:hover {
|
|
background-color: #CCCCCC !important;
|
|
color: #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .btn-secondary {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .btn-secondary:hover {
|
|
background-color: #1A1A1A !important;
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-button-secondary {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-button-secondary:hover {
|
|
background-color: #1A1A1A !important;
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
/* High Contrast Light Mode Button Fixes */
|
|
.high-contrast-light .btn-primary {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .btn-primary:hover {
|
|
background-color: #333333 !important;
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-button-primary {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-button-primary:hover {
|
|
background-color: #333333 !important;
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-light .btn-secondary {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .btn-secondary:hover {
|
|
background-color: #F5F5F5 !important;
|
|
color: #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-button-secondary {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-button-secondary:hover {
|
|
background-color: #F5F5F5 !important;
|
|
color: #000000 !important;
|
|
}
|
|
/* ========================================== */
|
|
/* HIGH CONTRAST CTA SECTION FIXES */
|
|
/* ========================================== */
|
|
|
|
/* High Contrast Light Mode CTA Sections */
|
|
.high-contrast-light .cta-section {
|
|
background: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-title {
|
|
color: #000000 !important;
|
|
}
|
|
|
|
.high-contrast-light .cta-description {
|
|
color: #000000 !important;
|
|
}
|
|
|
|
/* High Contrast Dark Mode CTA Sections */
|
|
.high-contrast-dark .cta-section {
|
|
background: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-title {
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
.high-contrast-dark .cta-description {
|
|
color: #FFFFFF !important;
|
|
}
|
|
|
|
/* High Contrast Blue Section Overrides */
|
|
.high-contrast-light .blue-section-yellow-accent {
|
|
background: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .blue-section-yellow-accent {
|
|
background: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|
|
|
|
/* ========================================== */
|
|
/* NAVIGATION THEME SELECTOR VISIBILITY */
|
|
/* ========================================== */
|
|
|
|
/* Main navigation theme selector button visibility */
|
|
.nav-bar button[aria-label*="Theme"],
|
|
.nav-bar #theme-selector-button {
|
|
color: var(--color-text) !important;
|
|
background-color: rgba(0, 0, 0, 0.1) !important;
|
|
border: 1px solid var(--color-border) !important;
|
|
border-radius: 0.5rem !important;
|
|
}
|
|
|
|
.nav-bar button[aria-label*="Theme"]:hover,
|
|
.nav-bar #theme-selector-button:hover {
|
|
background-color: var(--color-bg-secondary) !important;
|
|
color: var(--color-primary) !important;
|
|
}
|
|
|
|
/* Scrolled navigation theme selector */
|
|
.nav-bar-scrolled button[aria-label*="Theme"],
|
|
.nav-bar-scrolled #theme-selector-button {
|
|
background-color: rgba(0, 0, 0, 0.05) !important;
|
|
border: 1px solid var(--color-border) !important;
|
|
}
|
|
|
|
/* Dark theme navigation theme selector */
|
|
.dark .nav-bar button[aria-label*="Theme"],
|
|
.dark .nav-bar #theme-selector-button {
|
|
background-color: rgba(255, 255, 255, 0.15) !important;
|
|
color: var(--color-text) !important;
|
|
}
|
|
|
|
.dark .nav-bar button[aria-label*="Theme"]:hover,
|
|
.dark .nav-bar #theme-selector-button:hover {
|
|
background-color: var(--color-bg-secondary) !important;
|
|
}
|
|
|
|
/* High contrast theme selectors in navigation */
|
|
.high-contrast-light .nav-bar button[aria-label*="Theme"],
|
|
.high-contrast-light .nav-bar #theme-selector-button {
|
|
background-color: #000000 !important;
|
|
color: #FFFFFF !important;
|
|
border: 3px solid #000000 !important;
|
|
}
|
|
|
|
.high-contrast-dark .nav-bar button[aria-label*="Theme"],
|
|
.high-contrast-dark .nav-bar #theme-selector-button {
|
|
background-color: #FFFFFF !important;
|
|
color: #000000 !important;
|
|
border: 3px solid #FFFFFF !important;
|
|
}
|