| Server IP : 10.200.247.200 / Your IP : 216.73.217.19 Web Server : Apache System : Linux synergy-usa-sites 6.8.0-138-generic #138-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 22:41:49 UTC 2026 x86_64 User : jeremy ( 1001) PHP Version : 8.4.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/usa_sites/governmentgrants.us/vx/usa/givesback/ |
Upload File : |
/* Reset and Base Styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
line-height: 1.6;
color: #171717;
background-color: #fafafa;
}
/* CSS Variables for Design System */
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;
--popover: 0 0% 100%;
--popover-foreground: 222.2 84% 4.9%;
--primary: 142 76% 36%;
--primary-foreground: 0 0% 100%;
--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;
--muted: 210 40% 96.1%;
--muted-foreground: 215.4 16.3% 46.9%;
--accent: 210 40% 96.1%;
--accent-foreground: 222.2 47.4% 11.2%;
--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;
--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--ring: 222.2 84% 4.9%;
--radius: 0.5rem;
}
/* Utility Classes */
.min-h-screen { min-height: 100vh; }
.bg-muted-30 { background-color: rgba(210, 210, 210, 0.3); }
.flex-1 { flex: 1; }
.transition-all { transition: all 0.3s ease; }
.duration-300 { transition-duration: 300ms; }
.max-w-6xl { max-width: 112rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.p-6 { padding: 1.5rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
/* Flexbox Utilities */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.flex-wrap { flex-wrap: wrap; }
.flex-col { flex-direction: column; }
.flex-1 { flex: 1; }
/* Grid Utilities */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sm\:grid-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Grid specific utilities */
.lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gap-0 { gap: 0; }
/* Fix for lg-grid-cols-2 class (without colon) */
.lg-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Ensure grid items are properly sized */
.grid > * {
min-width: 0;
}
/* Spacing Utilities */
.p-0 { padding: 0; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.pt-0 { padding-top: 0; }
.pb-4 { padding-bottom: 1rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; }
.ml-11 { margin-left: 2.75rem; }
.mr-1 { margin-right: 0.25rem; }
.mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
/* Text Utilities */
.text-xs { font-size: 0.85rem; }
.text-sm { font-size: 1.25rem; }
.text-base { font-size: 1.5rem; }
.text-lg { font-size: 1.5rem; }
.text-xl { font-size: 1.75rem; }
.text-2xl { font-size: 1.75rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.leading-tight { line-height: 1.25; }
.leading-relaxed { line-height: 1.625; }
.uppercase { text-transform: uppercase; }
.tracking-wide { letter-spacing: 0.05em; }
.italic { font-style: italic; }
.text-center { text-align: center; }
.text-right { text-align: right; }
/* Color Utilities */
.text-white { color: #ffffff; }
.text-gray-700 { color: #374151; }
.text-gray-900 { color: #111827; }
.text-green-600 { color: #059669; }
.text-purple-600 { color: #9333ea; }
.text-green-800 { color: #065f46; }
.text-blue-600 { color: #2563eb; }
.text-orange-600 { color: #ea580c; }
.text-muted-foreground { color: #6b7280; }
.text-foreground { color: #171717; }
.text-primary-foreground { color: #ffffff; }
/* Background Colors */
.bg-white { background-color: #ffffff; }
.bg-green-100 { background-color: #dcfce7; }
.bg-purple-100 { background-color: #f3e8ff; }
.bg-green-500 { background-color: #22c55e; }
.bg-blue-100 { background-color: #dbeafe; }
.bg-blue-500 { background-color: #3b82f6; }
.bg-orange-100 { background-color: #fed7aa; }
.bg-muted { background-color: #f3f4f6; }
.bg-muted-30 { background-color: rgba(243, 244, 246, 0.3); }
.bg-yellow-50 { background-color: #fefce8; }
.bg-yellow-800 { color: #92400e; }
.bg-primary { background-color: #16a34a; }
.bg-primary-5 { background-color: rgba(22, 163, 74, 0.05); }
.bg-secondary-5 { background-color: rgba(219, 234, 254, 0.05); }
.bg-blue-50 { background-color: #eff6ff; }
.bg-blue-200 { background-color: #bfdbfe; }
.bg-white\/20 { background-color: rgba(255, 255, 255, 0.2); }
.bg-white\/70 { background-color: rgba(255, 255, 255, 0.7); }
.bg-white\/95 { background-color: rgba(255, 255, 255, 0.95); }
.bg-black\/20 { background-color: rgba(0, 0, 0, 0.2); }
.bg-black\/30 { background-color: rgba(0, 0, 0, 0.3); }
.bg-muted-foreground\/30 { background-color: rgba(107, 114, 128, 0.3); }
/* Border Utilities */
.border { border: 1px solid; }
.border-0 { border: 0; }
.border-green-200 { border-color: #bbf7d0; }
.border-blue-200 { border-color: #bfdbfe; }
.border-yellow-200 { border-color: #fde68a; }
.border-border { border-color: #e5e7eb; }
.rounded { border-radius: 0.25rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-full { border-radius: 9999px; }
.rounded-t-lg { border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; }
/* Shadow Utilities */
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }
/* Size Utilities */
.w-5 { width: 1.25rem; }
.w-6 { width: 1.5rem; }
.w-8 { width: 2rem; }
.w-12 { width: 3rem; }
.w-full { width: 100%; }
.h-1 { height: 0.25rem; }
.h-2 { height: 0.5rem; }
.h-3 { height: 0.75rem; }
.h-5 { height: 1.25rem; }
.h-6 { height: 1.5rem; }
.h-8 { height: 2rem; }
.h-12 { height: 3rem; }
.h-full { height: 100%; }
.min-w-3rem { min-width: 3rem; }
.min-h-400px { min-height: 400px; }
.lg\:min-h-full { min-height: 100%; }
/* Position Utilities */
.relative { position: relative; }
.absolute { position: absolute; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.top-4 { top: 1rem; }
.right-4 { right: 1rem; }
.left-4 { left: 1rem; }
.left-6 { left: 1.5rem; }
.right-6 { right: 1.5rem; }
.bottom-6 { bottom: 1.5rem; }
.bottom-0 { bottom: 0; }
/* Overflow Utilities */
.overflow-hidden { overflow: hidden; }
/* Object Fit */
.object-cover { object-fit: cover; }
/* Z-index */
.z-10 { z-index: 10; }
/* Backdrop Filter */
.backdrop-blur-sm { backdrop-filter: blur(4px); }
/* Gradient Utilities */
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.bg-gradient-to-t { background-image: linear-gradient(to top, var(--tw-gradient-stops)); }
.from-red-500 { --tw-gradient-from: #ef4444; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(239, 68, 68, 0)); }
.to-red-600 { --tw-gradient-to: #dc2626; }
.from-blue-50 { --tw-gradient-from: #eff6ff; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(239, 246, 255, 0)); }
.to-green-50 { --tw-gradient-to: #f0fdf4; }
.from-black\/30 { --tw-gradient-from: rgba(0, 0, 0, 0.3); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0)); }
.to-transparent { --tw-gradient-to: transparent; }
/* Animation Utilities */
.animate-fade-in { animation: fadeIn 0.5s ease-in; }
.animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
.transition-all { transition: all 0.3s ease; }
.duration-300 { transition-duration: 300ms; }
.duration-1000 { transition-duration: 1000ms; }
.ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
.ease-linear { transition-timing-function: linear; }
.grant_container {
border:2px solid #CCCCFF;
padding:20px;
border-radius:20px;
margin:10px 0px;
}
/* Hover Effects */
.hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.hover\:-translate-y-1:hover { transform: translateY(-0.25rem); }
.hover\:bg-white\/70:hover { background-color: rgba(255, 255, 255, 0.7); }
/* Responsive Utilities */
@media (min-width: 640px) {
.sm\:text-base { font-size: 1rem; }
.sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sm\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
.md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.md\:col-span-2 { grid-column: span 2 / span 2; }
}
@media (min-width: 1024px) {
.lg\:p-12 { padding: 3rem; }
.lg\:text-5xl { font-size: 3rem; }
.lg\:min-h-full { min-height: 100%; }
/* Ensure grid works on large screens */
.lg-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Component Specific Styles */
.countdown-timer {
margin-bottom: 1.5rem;
}
.hero-section {
margin-bottom: 1.5rem;
}
.status-card {
margin-bottom: 1.5rem;
}
.testimonials-grid {
margin-bottom: 1.5rem;
}
/* Grid layout fixes for hero section */
.hero-section .grid {
align-items: start;
}
.hero-section .grid > div {
display: flex;
flex-direction: column;
}
.hero-section .grid > div:first-child {
justify-content: center;
}
/* Ensure the carousel takes full height */
.hero-section .winner-carousel {
height: 100%;
min-height: 500px;
}
/* Card Styles */
.card {
background: #ffffff;
border-radius: 0.5rem;
overflow: hidden;
}
.card-header {
padding: 1.5rem 1.5rem 1rem 1.5rem;
}
.card-content {
padding: 0 1.5rem 1.5rem 1.5rem;
}
/* Button Styles */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 0.375rem;
font-weight: 500;
font-size: 0.875rem;
line-height: 1.25rem;
padding: 0.5rem 1rem;
border: 1px solid transparent;
cursor: pointer;
transition: all 0.2s ease;
text-decoration: none;
}
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.btn:active {
transform: translateY(0);
}
.btn-sm {
padding: 0.375rem 0.75rem;
font-size: 1.25rem;
line-height: 1rem;
}
.btn-lg {
padding: 0.75rem 1.5rem;
font-size: 1.5rem;
line-height: 1.5rem;
}
.btn-outline {
background-color: transparent;
border-color: #d1d5db;
color: #374151;
}
.btn-outline:hover {
background-color: #f9fafb;
border-color: #9ca3af;
}
/* Primary button */
.btn:not(.btn-outline) {
background-color: #16a34a;
color: #ffffff;
}
.btn:not(.btn-outline):hover {
background-color: #15803d;
}
/* Badge Styles */
.badge {
display: inline-flex;
align-items: center;
border-radius: 9999px;
font-weight: 500;
font-size: 1rem;
line-height: 1rem;
padding: 0.25rem 0.75rem;
border: 1px solid;
}
.badge.variant-secondary {
background-color: #f3f4f6;
color: #6b7280;
border-color: #e5e7eb;
}
/* Input Styles */
.input {
display: block;
width: 100%;
border-radius: 0.375rem;
border: 1px solid #d1d5db;
padding: 0.5rem 0.75rem;
font-size: 1.25rem;
line-height: 1.25rem;
background-color: #ffffff;
transition: border-color 0.2s ease;
}
.input:focus {
outline: none;
border-color: #16a34a;
box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1);
}
/* Step Container Styles */
.step-container {
margin-bottom: 1.5rem;
}
.step-number {
display: flex;
align-items: center;
justify-content: center;
width: 2rem;
height: 2rem;
border-radius: 9999px;
font-size: 0.875rem;
font-weight: 500;
flex-shrink: 0;
}
.step-progress {
transition: width 0.3s ease;
}
/* Winner Carousel Styles */
.winner-carousel {
position: relative;
height: 100%;
min-height: 400px;
}
.carousel-slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.carousel-slide.active {
opacity: 1;
}
.carousel-indicator {
width: 0.75rem;
height: 0.75rem;
border-radius: 9999px;
background-color: rgba(255, 255, 255, 0.5);
border: none;
cursor: pointer;
transition: all 0.3s ease;
}
.carousel-indicator:hover {
background-color: rgba(255, 255, 255, 0.7);
}
.carousel-indicator.active {
background-color: #ffffff;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
transform: scale(1.1);
}
.progress-bar {
transition: width 0.3s ease;
}
/* Modal Styles */
.modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
}
.modal.hidden {
display: none;
}
.modal-content {
background: #ffffff;
border-radius: 0.5rem;
max-width: 500px;
width: 90%;
max-height: 90vh;
overflow-y: auto;
}
.modal-header {
padding: 1.5rem;
border-bottom: 1px solid #e5e7eb;
display: flex;
justify-content: space-between;
align-items: center;
}
.modal-body {
padding: 1.5rem;
}
.modal-footer {
padding: 1rem 1.5rem;
border-top: 1px solid #e5e7eb;
display: flex;
gap: 0.5rem;
justify-content: flex-end;
}
.modal-close {
background: none;
border: none;
font-size: 1.5rem;
cursor: pointer;
color: #6b7280;
}
.modal-close:hover {
color: #374151;
}
/* Aspect Ratio */
.aspect-video {
aspect-ratio: 16 / 9;
}
/* Line Clamp */
.line-clamp-3 {
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
/* Animations */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
@keyframes progress {
from { width: 0%; }
to { width: 100%; }
}
/* Responsive Design */
@media (max-width: 768px) {
.p-8 { padding: 1.5rem; }
.lg\:p-12 { padding: 1.5rem; }
.text-4xl { font-size: 2rem; }
.lg\:text-5xl { font-size: 2.5rem; }
.grid-cols-1 { grid-template-columns: 1fr; }
.md\:grid-cols-2 { grid-template-columns: 1fr; }
.lg\:grid-cols-2 { grid-template-columns: 1fr; }
.lg\:grid-cols-3 { grid-template-columns: 1fr; }
.min-h-400px { min-height: 300px; }
/* Stack carousel below content on mobile */
.winner-carousel {
min-height: 300px;
margin-top: 1rem;
}
}
#most_favorited_list .favoriteOpen {
width:auto;
height:auto;
padding:0px;
}
#most_favorited_list .go_to_site_button {
width: 65px;
padding-top: 17px;
}
@media (max-width: 640px) {
.p-6 { padding: 1rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 2rem; }
.space-y-6 > * + * { margin-top: 1rem; }
.gap-4 { gap: 0.75rem; }
.gap-6 { gap: 1rem; }
.lg-grid-cols-2 {
display:block;
}
.grid-cols-1 {
grid-template-columns: repeat(3, 32%);
}
.hero-section .winner-carousel {
min-height:0px;
}
.testimonial_cards {
display:block;
}
#most_favorited_list .flex.items-start {
display:block;
}
#most_favorited_list .flex.items-start .flex {
display:block;
margin-bottom:10px;
}
#favorites_and_web_buttons {
text-align:center;
}
#most_favorited_list .favoriteOpen {
width:auto;
height:auto;
padding:0px;
float: none;
display: inline-block;
vertical-align: top;
}
#most_favorited_list .go_to_site_button {
width: 65px;
display: inline-block;
vertical-align: top;
padding-top: 17px;
margin-left: 10px;
}
}
.loaded main {
animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.card {
transition: all 0.3s ease;
}
.card:hover {
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.btn {
transition: all 0.2s ease;
}
.btn:hover {
transform: translateY(-2px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.carousel-slide {
transition: opacity 1s ease-in-out;
}
.step-progress {
transition: width 0.5s ease;
}
.progress-bar {
transition: width 0.3s ease;
}
#contact-name, #contact-email, #contact-mobile, #contact-address {
word-break: break-all;
}