/* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: #1f2937; background-color: #fff; } .container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; } /* Typography */ h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; margin-bottom: 1rem; } h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.5rem; } p { margin-bottom: 1rem; color: #4b5563; } /* Navigation */ .navbar { background: #fff; padding: 1rem 0; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1); border-bottom: 3px solid #059669; } .nav-container { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; padding: 0 1rem; position: relative; } .nav-logo { display: flex; align-items: center; gap: 0.75rem; } .nav-logo .tux-icon { width: 2.5rem; height: 2.5rem; flex-shrink: 0; } .nav-logo h1 { color: #047857; font-size: 1.8rem; margin: 0; font-weight: 700; } .nav-logo a { text-decoration: none; color: inherit; display: flex; align-items: center; gap: 0.75rem; } .nav-links { display: flex; list-style: none; gap: 2rem; } .nav-links a { text-decoration: none; color: #374151; font-weight: 500; transition: all 0.3s ease; padding: 0.5rem 1rem; border-radius: 6px; position: relative; } .nav-links a:hover, .nav-links a.active { color: #059669; background: #ecfdf5; } /* Mobile Navigation */ .mobile-menu-toggle { display: none; background: none; border: none; color: #374151; font-size: 1.5rem; cursor: pointer; padding: 0.5rem; } .mobile-menu-toggle:hover { color: #059669; } .mobile-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-top: 1px solid #e5e7eb; z-index: 1000; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } .mobile-menu.active { display: block; } .mobile-menu a { display: block; padding: 1rem 1.5rem; color: #374151; text-decoration: none; border-bottom: 1px solid #f3f4f6; } .mobile-menu a:hover, .mobile-menu a.active { background: #ecfdf5; color: #059669; } /* Hero Section */ .hero { background: linear-gradient(135deg, rgba(236, 253, 245, 0.85) 0%, rgba(209, 250, 229, 0.85) 100%), url('/static/TuxAinrom.webp'); background-size: cover; background-position: center; background-repeat: no-repeat; padding: 4rem 0; display: flex; align-items: center; min-height: 80vh; position: relative; } .hero-content { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; flex-direction: column; align-items: center; text-align: center; } .hero-content h2 { font-size: 3rem; color: #047857; margin-bottom: 1rem; text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.8); } .hero-subtitle { font-size: 1.25rem; color: #374151; margin-bottom: 2rem; text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8); } .hero-buttons { display: flex; gap: 1rem; } /* Buttons */ .btn { padding: 12px 24px; font-size: 1rem; border-radius: 8px; border: 2px solid transparent; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-block; font-weight: 500; text-align: center; min-height: 44px; min-width: 44px; line-height: 1.5; } .btn-primary { background: #059669; color: white; } .btn-primary:hover { background: #047857; transform: translateY(-2px); } .btn-secondary { background: transparent; color: #059669; border-color: #059669; } .btn-secondary:hover { background: #059669; color: white; } .btn-large { padding: 16px 32px; font-size: 1.1rem; } /* Benefits Section */ .benefits { padding: 5rem 0; background: #fff; } .benefits h2 { text-align: center; margin-bottom: 3rem; color: #047857; } .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } .benefit-card { background: #f0fdf4; padding: 2rem; border-radius: 12px; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid #bbf7d0; } .benefit-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(5, 150, 105, 0.15); border-color: #34d399; } .benefit-icon { font-size: 3rem; margin-bottom: 1rem; } .benefit-card h3 { color: #047857; margin-bottom: 1rem; } /* Windows EOL Section */ .windows-eol { padding: 5rem 0; background: #fffbeb; position: relative; overflow: hidden; } .windows-eol::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: radial-gradient(circle at 20% 30%, rgba(217, 119, 6, 0.05) 15%, transparent 15%), radial-gradient(circle at 80% 70%, rgba(217, 119, 6, 0.05) 15%, transparent 15%), radial-gradient(circle at 60% 20%, rgba(217, 119, 6, 0.03) 20%, transparent 20%), radial-gradient(circle at 40% 80%, rgba(217, 119, 6, 0.03) 20%, transparent 20%); pointer-events: none; z-index: 1; } .windows-eol .container { position: relative; z-index: 2; } .windows-eol h2 { text-align: center; margin-bottom: 3rem; color: #d97706; position: relative; } .eol-content { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: center; } .eol-text ul { list-style: none; margin: 2rem 0; } .eol-text li { padding: 0.5rem 0; font-size: 1.1rem; } .highlight { background: #dcfce7; padding: 1.5rem; border-radius: 8px; border-left: 4px solid #16a34a; font-weight: 500; color: #166534; } .eol-stats { display: flex; flex-direction: column; gap: 2rem; } .stat { text-align: center; background: white; padding: 2rem; border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease; } .stat:hover { transform: translateY(-5px); } .stat-icon { font-size: 2.5rem; margin-bottom: 1rem; } .stat h3 { font-size: 2rem; color: #d97706; margin-bottom: 0.5rem; } /* Distributions Section */ .distros { padding: 5rem 0; background: #f9fafb; } .distros h2 { text-align: center; margin-bottom: 1rem; color: #047857; } .section-subtitle { text-align: center; font-size: 1.1rem; color: #6b7280; margin-bottom: 4rem; max-width: 600px; margin-left: auto; margin-right: auto; } .distros-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2rem; margin-bottom: 4rem; align-items: stretch; } .distro-card { background: white; border-radius: 16px; padding: 2rem; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; border: 2px solid transparent; position: relative; overflow: hidden; display: flex; flex-direction: column; min-height: 400px; } .distro-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #059669, #10b981); } .distro-card:hover { transform: translateY(-8px); box-shadow: 0 12px 40px rgba(5, 150, 105, 0.15); border-color: #a7f3d0; } .distro-header { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.5rem; flex-shrink: 0; } .distro-logo { font-size: 2.5rem; min-width: 3rem; flex-shrink: 0; } .distro-header-content { flex: 1; min-width: 0; } .distro-header h3 { color: #047857; margin: 0 0 0.5rem 0; line-height: 1.2; } .distro-tag { background: linear-gradient(135deg, #059669, #10b981); color: white; padding: 0.25rem 0.75rem; border-radius: 20px; font-size: 0.8rem; font-weight: 500; white-space: nowrap; display: inline-block; } .distro-description { color: #4b5563; margin-bottom: 1.5rem; line-height: 1.6; flex-grow: 1; } .distro-features { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; flex-shrink: 0; } .feature { background: #ecfdf5; color: #047857; padding: 0.4rem 0.8rem; border-radius: 20px; font-size: 0.85rem; font-weight: 500; border: 1px solid #bbf7d0; } .distro-ideal { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 1rem; margin: 0; color: #0c4a6e; font-size: 0.9rem; margin-top: auto; flex-shrink: 0; } .distro-ideal strong { color: #0369a1; } .distro-cta { text-align: center; background: white; padding: 3rem 2rem; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); border: 2px solid #bbf7d0; } .distro-cta h3 { color: #047857; margin-bottom: 1rem; } .distro-cta p { color: #6b7280; margin-bottom: 2rem; max-width: 500px; margin-left: auto; margin-right: auto; } /* Services Section */ .services { padding: 5rem 0; background: #fff; } .services h2 { text-align: center; margin-bottom: 3rem; color: #047857; } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; } .service-card { background: #f0fdf4; padding: 2rem; border-radius: 12px; border-left: 4px solid #059669; transition: transform 0.3s ease; } .service-card:hover { transform: translateY(-3px); } .service-card h3 { color: #047857; margin-bottom: 1rem; } /* Linux Features Section */ .linux-features { padding: 5rem 0; background: #f9fafb; } .linux-features h2 { text-align: center; margin-bottom: 1rem; color: #047857; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 3rem; margin-top: 3rem; } .feature-showcase { text-align: center; display: flex; flex-direction: column; height: 100%; } .feature-image { background: white; border-radius: 12px; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); margin-bottom: 2rem; overflow: hidden; border: 1px solid #e5e7eb; position: relative; aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center; } .feature-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; } .image-caption { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0, 0, 0, 0.9); padding: 0.4rem 1rem; border-radius: 0 0 12px 12px; opacity: 0; transform: translateY(100%); transition: all 0.3s ease; } .feature-image:hover .image-caption { opacity: 1; transform: translateY(0); } .image-caption small { color: white; font-size: 0.8rem; } .image-caption a { color: #a7f3d0; text-decoration: none; } .image-caption a:hover { color: white; text-decoration: underline; } .feature-showcase h3 { color: #047857; margin-bottom: 1rem; font-size: 1.3rem; min-height: 2.6rem; display: flex; align-items: center; justify-content: center; } .feature-showcase p { color: #6b7280; line-height: 1.6; flex-grow: 1; margin: 0; min-height: 4rem; display: flex; align-items: center; } /* CTA Section */ .cta { padding: 5rem 0; background: linear-gradient(135deg, #059669 0%, #047857 100%); color: white; text-align: center; } .cta h2 { color: white; margin-bottom: 1rem; } .cta p { color: #a7f3d0; font-size: 1.1rem; margin-bottom: 2rem; } /* Contact Page Styles */ .contact-hero { background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%); padding: 3rem 0; text-align: center; } .contact-hero h1 { color: #047857; margin-bottom: 1rem; } .contact-content { padding: 4rem 0; } .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; } .contact-info { background: #f0fdf4; padding: 2rem; border-radius: 12px; border: 1px solid #bbf7d0; } .contact-item { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; } .contact-icon { font-size: 2rem; min-width: 3rem; } .contact-item h3 { margin-bottom: 0.5rem; color: #047857; } .contact-item a { color: #059669; text-decoration: none; } .contact-item a:hover { text-decoration: underline; } .contact-hours { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e2e8f0; } .contact-hours h3 { color: #047857; margin-bottom: 1rem; } /* Form Styles */ .contact-form { background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } /* Alert Styles */ .alert { padding: 1rem 1.5rem; border-radius: 8px; margin-bottom: 1.5rem; border: 1px solid; font-size: 1rem; line-height: 1.5; } .alert-error { background-color: #fef2f2; color: #dc2626; border-color: #fecaca; } .alert-success { background-color: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } .alert strong { font-weight: 600; margin-right: 0.5rem; } .form-group { margin-bottom: 1.5rem; } .form-group label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: #374151; } .form-group input, .form-group select, .form-group textarea { padding: 12px 16px; border: 2px solid #d1d5db; border-radius: 8px; font-size: 16px; transition: border-color 0.3s ease; width: 100%; box-sizing: border-box; min-height: 44px; } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); } .form-group textarea { resize: vertical; min-height: 120px; } .contact-cta { padding: 4rem 0; background: #f0fdf4; } .contact-cta h2 { text-align: center; margin-bottom: 3rem; color: #047857; } .cta-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; } .cta-benefit { text-align: center; padding: 2rem; background: white; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .cta-benefit .benefit-icon { font-size: 3rem; margin-bottom: 1rem; } .cta-benefit h3 { color: #047857; margin-bottom: 1rem; } /* Footer */ footer { background: #f9fafb; color: #374151; padding: 3rem 0 1rem; border-top: 3px solid #059669; margin-top: 2rem; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; } .footer-section h3 { color: #047857; margin-bottom: 1rem; font-weight: 600; } .footer-section a { color: #059669; text-decoration: none; transition: color 0.3s ease; } .footer-section a:hover { color: #047857; text-decoration: underline; } .footer-bottom { text-align: center; padding-top: 2rem; border-top: 1px solid #e5e7eb; color: #6b7280; } /* Responsive Design */ @media (max-width: 1024px) { .container { padding: 0 1.5rem; } .hero-content { gap: 2rem; } .benefits-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .distros-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .services-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); } } @media (max-width: 768px) { .nav-links { display: none; } .mobile-menu-toggle { display: block; } .hero { padding: 3rem 0; background-size: cover; background-position: center top; } .hero-content h2 { font-size: 2.5rem; line-height: 1.2; } .hero-subtitle { font-size: 1.2rem; margin-bottom: 2rem; } .hero-buttons { justify-content: center; gap: 1rem; } .benefits-grid { grid-template-columns: 1fr; gap: 1.5rem; } .benefit-card { padding: 1.5rem; } .eol-content { grid-template-columns: 1fr; gap: 2rem; } .distros-grid { grid-template-columns: 1fr; gap: 1.5rem; } .distro-card { padding: 1.5rem; } .contact-grid { grid-template-columns: 1fr; gap: 2rem; } .services-grid { grid-template-columns: 1fr; gap: 1.5rem; } .features-grid { grid-template-columns: 1fr; gap: 2rem; } .cta-benefits { grid-template-columns: 1fr; gap: 1.5rem; } .footer-content { grid-template-columns: 1fr; text-align: center; gap: 2rem; } /* Section padding adjustments */ .benefits, .windows-eol, .distros, .services, .linux-features, .cta { padding: 3rem 0; } /* Typography adjustments */ h1 { font-size: 2.2rem; } h2 { font-size: 1.8rem; } h3 { font-size: 1.3rem; } } @media (max-width: 480px) { .container { padding: 0 1rem; } .hero { padding: 2rem 0; background-size: cover; background-position: center top; min-height: 60vh; } .hero-content h2 { font-size: 2rem; line-height: 1.3; } .hero-subtitle { font-size: 1.1rem; margin-bottom: 1.5rem; } .hero-buttons { flex-direction: column; gap: 0.75rem; } .btn { padding: 10px 20px; font-size: 0.9rem; width: 100%; max-width: 300px; } /* Card padding adjustments */ .benefit-card, .service-card, .distro-card, .cta-benefit { padding: 1.25rem; } /* Icon size adjustments */ .benefit-icon, .cta-benefit .benefit-icon { font-size: 2.5rem; } /* Contact form improvements */ .contact-form { padding: 1.5rem; } .form-group { margin-bottom: 1.25rem; } .form-group label { margin-bottom: 0.5rem; font-size: 0.9rem; } /* Footer adjustments */ footer { padding: 2rem 0 1rem; } .footer-content { gap: 1.5rem; } .footer-section { padding: 0 1rem; } /* Section padding for very small screens */ .benefits, .windows-eol, .distros, .services, .linux-features, .cta { padding: 2rem 0; } /* Typography for very small screens */ h1 { font-size: 1.8rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.2rem; } p { font-size: 0.95rem; } /* Stats grid for mobile */ .eol-stats { grid-template-columns: 1fr; gap: 1rem; } .stat { padding: 1rem; } .stat h3 { font-size: 1.8rem; } /* Distro features on mobile */ .distro-features { gap: 0.5rem; } .feature { padding: 0.4rem 0.8rem; font-size: 0.8rem; } /* Feature image adjustments for mobile */ .feature-image { aspect-ratio: 16/9; margin-bottom: 1.5rem; } .feature-showcase h3 { font-size: 1.2rem; min-height: 2.4rem; } .feature-showcase p { min-height: 3.5rem; font-size: 0.95rem; } } /* Landscape phone adjustments */ @media (max-width: 768px) and (orientation: landscape) { .hero { padding: 2rem 0; background-size: cover; background-position: center center; } .hero-content h2 { font-size: 2rem; } .hero-buttons { justify-content: center; } } /* Very small screens */ @media (max-width: 360px) { .hero-content h2 { font-size: 1.7rem; } .hero-subtitle { font-size: 1rem; } .benefit-card, .service-card, .distro-card, .cta-benefit { padding: 1rem; } .btn { padding: 8px 16px; font-size: 0.85rem; } } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .benefit-card, .service-card, .cta-benefit { animation: fadeInUp 0.6s ease-out; } /* Accessibility */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } html { scroll-behavior: auto; } } /* Print Styles */ @media print { .navbar, .hero-buttons, .btn, .contact-form { display: none; } body { font-size: 12pt; line-height: 1.4; } .hero-content { grid-template-columns: 1fr; } }