/* Update the font family */ body { font-family: 'Inter', sans-serif; margin: 0; padding: 0; display: flex; flex-direction: column; min-height: 100vh; background-color: #f8f9fa; color: #333; line-height: 1.6; } /* Header Styles */ .main-header { background: #fff; box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1); position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid #e9ecef; } .header-container { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 1rem 2rem; position: relative; } .header-left { display: flex; align-items: center; } .logo { display: flex; align-items: center; gap: 1rem; text-decoration: none; } .logo img { height: 45px; width: auto; } .logo-text { display: flex; flex-direction: column; } .company-name { font-size: 1.4rem; font-weight: 700; color: #2c3e50; line-height: 1; } .company-tagline { font-size: 0.8rem; color: #7f8c8d; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; } /* Navigation */ .main-nav { display: flex; align-items: center; } .nav-menu { display: flex; list-style: none; margin: 0; padding: 0; gap: 0.5rem; } .nav-item { position: relative; } .nav-link { display: flex; align-items: center; gap: 0.5rem; padding: 0.8rem 1.5rem; color: #555; text-decoration: none; font-weight: 500; border-radius: 8px; transition: all 0.3s ease; position: relative; } .nav-link i { font-size: 0.9rem; opacity: 0.7; } .nav-link:hover, .nav-link.active { background: linear-gradient(135deg, #3498db, #2980b9); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3); } .nav-link:hover i, .nav-link.active i { opacity: 1; } /* Header Right */ .header-right { display: flex; align-items: center; gap: 1.5rem; } .header-contact { display: flex; align-items: center; } .contact-info { display: flex; align-items: center; gap: 0.5rem; color: #7f8c8d; font-size: 0.9rem; font-weight: 500; } .contact-info i { color: #27ae60; font-size: 1rem; } .header-cta-btn { display: flex; align-items: center; gap: 0.5rem; background: linear-gradient(135deg, #e74c3c, #c0392b); color: #fff; padding: 0.8rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3); } .header-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4); } /* Mobile Menu Toggle */ .mobile-menu-toggle { display: none; flex-direction: column; background: none; border: none; cursor: pointer; padding: 0.5rem; gap: 4px; } .mobile-menu-toggle span { width: 25px; height: 3px; background: #2c3e50; border-radius: 2px; transition: all 0.3s ease; } .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); } .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; } .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(6px, -6px); } /* Mobile Navigation */ .mobile-nav { display: none; background: #fff; border-top: 1px solid #e9ecef; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } .mobile-nav.active { display: block; } .mobile-nav-menu { list-style: none; margin: 0; padding: 1rem 0; } .mobile-nav-menu li { border-bottom: 1px solid #f8f9fa; } .mobile-nav-link { display: block; padding: 1rem 2rem; color: #555; text-decoration: none; font-weight: 500; transition: all 0.3s ease; } .mobile-nav-link:hover { background: #f8f9fa; color: #3498db; padding-left: 2.5rem; } /* Flash Messages */ .flash-messages { max-width: 1400px; margin: 0 auto; padding: 1rem 2rem 0; } .flash { margin-bottom: 1rem; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); } .flash-content { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.5rem; } .flash.success .flash-content { background: linear-gradient(135deg, #d5f4e6, #c8e6c9); color: #0f5132; border-left: 4px solid #27ae60; } .flash.error .flash-content { background: linear-gradient(135deg, #f8d7da, #f5c6cb); color: #721c24; border-left: 4px solid #e74c3c; } .flash-icon { font-size: 1.2rem; flex-shrink: 0; } .flash-text { flex-grow: 1; font-weight: 500; } .flash-close { background: none; border: none; color: inherit; cursor: pointer; padding: 0.5rem; border-radius: 4px; transition: background 0.3s ease; } .flash-close:hover { background: rgba(0, 0, 0, 0.1); } /* Main Content */ .main-content { flex: 1; } /* Footer Styles */ .main-footer { background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); color: #ecf0f1; margin-top: auto; } .footer-container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; } .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 3rem; padding: 4rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .footer-section { display: flex; flex-direction: column; } /* Footer Brand */ .footer-logo { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; } .footer-logo img { height: 40px; filter: brightness(0) invert(1); } .footer-logo-text { display: flex; flex-direction: column; } .footer-company-name { font-size: 1.3rem; font-weight: 700; color: #fff; line-height: 1; } .footer-tagline { font-size: 0.8rem; color: #bdc3c7; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; } .footer-description { color: #bdc3c7; line-height: 1.6; margin-bottom: 2rem; } .footer-certifications { display: flex; gap: 0.5rem; flex-wrap: wrap; } .cert-badge { background: rgba(52, 152, 219, 0.2); color: #3498db; padding: 0.3rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; border: 1px solid rgba(52, 152, 219, 0.3); } /* Footer Sections */ .footer-title { color: #fff; font-size: 1.1rem; font-weight: 700; margin-bottom: 1.5rem; position: relative; } .footer-title::after { content: ''; position: absolute; bottom: -8px; left: 0; width: 30px; height: 2px; background: #3498db; border-radius: 1px; } .footer-links { list-style: none; padding: 0; margin: 0; } .footer-links li { margin-bottom: 0.8rem; } .footer-links a { color: #bdc3c7; text-decoration: none; transition: all 0.3s ease; font-weight: 500; } .footer-links a:hover { color: #3498db; padding-left: 0.5rem; } /* Footer Contact */ .footer-contact { margin-bottom: 2rem; } .contact-item { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1rem; color: #bdc3c7; } .contact-item i { color: #3498db; width: 16px; text-align: center; } .contact-item a { color: #bdc3c7; text-decoration: none; transition: color 0.3s ease; } .contact-item a:hover { color: #3498db; } /* Social Media */ .social-media h5 { color: #fff; font-weight: 600; margin-bottom: 1rem; } .social-icons { display: flex; gap: 1rem; } .social-link { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: rgba(255, 255, 255, 0.1); color: #bdc3c7; border-radius: 50%; text-decoration: none; transition: all 0.3s ease; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } .social-link:hover { background: #3498db; color: #fff; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3); } /* Footer Bottom */ .footer-bottom { padding: 2rem 0; } .footer-bottom-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .copyright p { color: #bdc3c7; margin: 0; font-size: 0.9rem; } .footer-bottom-links { display: flex; gap: 2rem; } .footer-bottom-links a { color: #bdc3c7; text-decoration: none; font-size: 0.9rem; transition: color 0.3s ease; } .footer-bottom-links a:hover { color: #3498db; } .footer-trust { display: flex; align-items: center; } .trust-badge { display: flex; align-items: center; gap: 0.5rem; background: rgba(39, 174, 96, 0.2); color: #27ae60; padding: 0.5rem 1rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; border: 1px solid rgba(39, 174, 96, 0.3); } /* Responsive Design */ @media (max-width: 1024px) { .footer-top { grid-template-columns: 1fr 1fr; gap: 2rem; } .header-contact { display: none; } } @media (max-width: 768px) { .main-nav, .header-contact, .header-cta-btn { display: none; } .mobile-menu-toggle { display: flex; } .header-container { padding: 1rem; } .logo-text { display: none; } .footer-top { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 0; } .footer-bottom-content { flex-direction: column; text-align: center; gap: 1.5rem; } .footer-bottom-links { justify-content: center; } } @media (max-width: 480px) { .header-container { padding: 0.8rem; } .footer-container { padding: 0 1rem; } .social-icons { justify-content: center; } } /* Hero Section - Enhanced */ .hero { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: #fff; padding: 6rem 2rem; position: relative; overflow: hidden; min-height: 80vh; display: flex; align-items: center; } .hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,'); pointer-events: none; } .hero-container { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; position: relative; z-index: 1; } .hero-badge { display: inline-block; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); padding: 0.5rem 1rem; border-radius: 50px; font-size: 0.9rem; margin-bottom: 2rem; border: 1px solid rgba(255, 255, 255, 0.2); } .hero-title { font-size: 3.5rem; font-weight: 800; line-height: 1.2; margin-bottom: 1.5rem; } .hero-title .highlight { background: linear-gradient(45deg, #ffd700, #ffed4e); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero-subtitle { font-size: 1.3rem; line-height: 1.6; margin-bottom: 3rem; opacity: 0.9; max-width: 600px; } .hero-actions { display: flex; gap: 1.5rem; margin-bottom: 4rem; flex-wrap: wrap; } .cta-button { display: inline-flex; align-items: center; gap: 0.5rem; padding: 1rem 2rem; border-radius: 12px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; font-size: 1.1rem; position: relative; overflow: hidden; } .cta-button.primary { background: linear-gradient(135deg, #ffd700, #ffed4e); color: #1e3c72; box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3); } .cta-button.primary:hover { transform: translateY(-2px); box-shadow: 0 12px 35px rgba(255, 215, 0, 0.4); } .cta-button.secondary { background: transparent; color: #fff; border: 2px solid rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px); } .cta-button.secondary:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.5); } .cta-button.large { padding: 1.2rem 2.5rem; font-size: 1.2rem; } .hero-stats { display: flex; gap: 3rem; } .stat { text-align: center; } .stat-number { font-size: 2.5rem; font-weight: 800; color: #ffd700; line-height: 1; } .stat-label { font-size: 0.9rem; opacity: 0.8; margin-top: 0.5rem; } /* Hero Visual */ .hero-visual { display: flex; justify-content: center; align-items: center; } .security-shield { position: relative; width: 300px; height: 300px; display: flex; align-items: center; justify-content: center; } .shield-layer { position: absolute; border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 50%; animation: pulse 3s infinite; } .shield-layer:nth-child(1) { width: 100%; height: 100%; animation-delay: 0s; } .shield-layer:nth-child(2) { width: 80%; height: 80%; animation-delay: 1s; } .shield-layer:nth-child(3) { width: 60%; height: 60%; animation-delay: 2s; } .shield-core { font-size: 4rem; z-index: 10; filter: drop-shadow(0 0 20px rgba(255, 215, 0, 0.5)); } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.3; } 50% { transform: scale(1.1); opacity: 0.6; } } /* About Section - Enhanced */ .about { padding: 6rem 2rem; background: #fff; } .about-container { max-width: 1400px; margin: 0 auto; } .section-header { text-align: center; margin-bottom: 4rem; } .section-title { font-size: 3rem; font-weight: 700; color: #2c3e50; margin-bottom: 1rem; position: relative; } .section-title::after { content: ''; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: linear-gradient(90deg, #3498db, #2980b9); border-radius: 2px; } .section-subtitle { font-size: 1.2rem; color: #7f8c8d; max-width: 600px; margin: 0 auto; line-height: 1.6; } .about-content { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } .lead-text { font-size: 1.2rem; line-height: 1.8; color: #555; margin-bottom: 2rem; } .about-highlights { display: flex; flex-direction: column; gap: 1.5rem; } .highlight-item { display: flex; align-items: flex-start; gap: 1rem; } .highlight-icon { background: linear-gradient(135deg, #27ae60, #2ecc71); color: #fff; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: bold; flex-shrink: 0; margin-top: 2px; } .highlight-text { color: #555; line-height: 1.6; } .about-image { display: flex; justify-content: center; align-items: center; } .image-placeholder { width: 400px; height: 300px; background: linear-gradient(135deg, #f8f9fa, #e9ecef); border-radius: 20px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .security-icons { position: relative; width: 200px; height: 200px; } .floating-icon { position: absolute; font-size: 2rem; animation: float 4s ease-in-out infinite; animation-delay: var(--delay); } .floating-icon:nth-child(1) { top: 20%; left: 20%; } .floating-icon:nth-child(2) { top: 20%; right: 20%; } .floating-icon:nth-child(3) { bottom: 20%; left: 20%; } .floating-icon:nth-child(4) { bottom: 20%; right: 20%; } @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-20px); } } /* Features Section - Enhanced */ .features { padding: 6rem 2rem; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); } .features-container { max-width: 1400px; margin: 0 auto; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2.5rem; } .feature-card { background: #fff; padding: 3rem; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; border: 1px solid #f1f3f4; position: relative; overflow: hidden; } .feature-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #3498db, #2980b9); transform: scaleX(0); transition: transform 0.3s ease; } .feature-card:hover::before { transform: scaleX(1); } .feature-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); } .feature-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; } .feature-icon { font-size: 3rem; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)); } .feature-card h3 { font-size: 1.5rem; font-weight: 700; color: #2c3e50; margin: 0; } .feature-card p { color: #7f8c8d; line-height: 1.7; margin-bottom: 2rem; } .tech-badge, .cert { display: inline-block; background: linear-gradient(135deg, #3498db, #2980b9); color: #fff; padding: 0.3rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; margin: 0.2rem; } .feature-benefits { display: flex; flex-direction: column; gap: 0.5rem; } .benefit { color: #27ae60; font-weight: 500; font-size: 0.9rem; } .feature-certifications { display: flex; gap: 0.5rem; flex-wrap: wrap; } /* Final CTA Section */ .final-cta { padding: 6rem 2rem; background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); color: #fff; text-align: center; position: relative; overflow: hidden; } .final-cta::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,'); pointer-events: none; } .cta-container { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; } .cta-title { font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem; } .cta-subtitle { font-size: 1.2rem; line-height: 1.6; margin-bottom: 3rem; opacity: 0.9; } .cta-actions { display: flex; gap: 1.5rem; justify-content: center; margin-bottom: 3rem; flex-wrap: wrap; } .guarantee-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); padding: 1rem 2rem; border-radius: 50px; border: 1px solid rgba(255, 255, 255, 0.2); } .guarantee-icon { font-size: 1.2rem; } .guarantee-text { font-weight: 600; } /* Responsive Design */ @media (max-width: 1024px) { .hero-container, .about-content { grid-template-columns: 1fr; gap: 3rem; } .hero-visual { order: -1; } .security-shield { width: 250px; height: 250px; } } @media (max-width: 768px) { .hero-title { font-size: 2.5rem; } .hero-actions { flex-direction: column; align-items: stretch; } .hero-stats { justify-content: space-around; gap: 1.5rem; } .section-title { font-size: 2.5rem; } .cta-title { font-size: 2.5rem; } .features-grid { grid-template-columns: 1fr; } .feature-card { padding: 2rem; } } @media (max-width: 480px) { .hero { padding: 4rem 1rem; } .hero-title { font-size: 2rem; } .section-title { font-size: 2rem; } .cta-title { font-size: 2rem; } .cta-actions { flex-direction: column; } } /* Services Section */ .services { padding: 5rem 1rem; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); position: relative; } .services::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,'); pointer-events: none; } .services-container { max-width: 1400px; margin: 0 auto; position: relative; z-index: 1; } .services .section-title { text-align: center; font-size: 3rem; font-weight: 700; margin-bottom: 1rem; color: #2c3e50; position: relative; } .services .section-title::after { content: ''; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: linear-gradient(90deg, #3498db, #2980b9); border-radius: 2px; } .services .section-subtitle { text-align: center; font-size: 1.2rem; color: #7f8c8d; margin-bottom: 4rem; max-width: 600px; margin-left: auto; margin-right: auto; } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 2.5rem; margin-top: 3rem; } .service-card { background: #fff; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); padding: 2.5rem; text-align: center; transition: all 0.4s ease; display: flex; flex-direction: column; height: 100%; border: 1px solid #f1f3f4; position: relative; overflow: hidden; min-height: 600px; /* Set minimum height for all cards */ } .service-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #3498db, #2980b9); transform: scaleX(0); transition: transform 0.4s ease; } .service-card:hover::before { transform: scaleX(1); } .service-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); border-color: #3498db; } .service-card.featured { border: 2px solid #3498db; transform: scale(1.02); box-shadow: 0 15px 40px rgba(52, 152, 219, 0.2); } .service-card.featured:hover { transform: scale(1.02) translateY(-10px); } .featured-badge { position: absolute; top: -1px; right: -1px; background: linear-gradient(135deg, #e74c3c, #c0392b); color: #fff; padding: 0.5rem 1rem; font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 0 20px 0 15px; box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3); } .service-icon { font-size: 4rem; margin-bottom: 1.5rem; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1)); transition: transform 0.3s ease; } .service-card:hover .service-icon { transform: scale(1.1) rotate(5deg); } .service-title { font-size: 1.6rem; font-weight: 700; margin-bottom: 1rem; color: #2c3e50; line-height: 1.3; } .service-description { font-size: 1rem; color: #7f8c8d; margin-bottom: 2rem; flex-grow: 1; line-height: 1.6; } .service-pricing { margin-bottom: 2rem; padding: 1.5rem; background: linear-gradient(135deg, #f8f9fa, #e9ecef); border-radius: 12px; border: 1px solid #dee2e6; } .price-main { font-size: 2.5rem; font-weight: 800; color: #2c3e50; margin-bottom: 0.5rem; } .price-details { font-size: 0.9rem; color: #7f8c8d; font-weight: 500; } .service-features { list-style: none; padding: 0; margin: 0 0 2.5rem 0; text-align: left; flex-grow: 1; /* Allow features to expand and fill space */ min-height: 200px; /* Minimum height for features section */ } .service-features li { padding: 0.8rem 0; padding-left: 2rem; position: relative; font-size: 0.95rem; color: #555; border-bottom: 1px solid #f8f9fa; transition: all 0.3s ease; } .service-features li:last-child { border-bottom: none; } .service-features li::before { content: "✓"; position: absolute; left: 0; top: 0.8rem; color: #27ae60; font-weight: bold; font-size: 1.2rem; width: 20px; height: 20px; background: rgba(39, 174, 96, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; } .service-features li:hover { color: #2c3e50; padding-left: 2.2rem; } .btn-container { margin-top: auto; } .service-card .btn { width: calc(50% - 10px); /* Account for any border/padding */ margin: 0 auto; display: block; padding: 1rem 2rem; font-size: 1.1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; border-radius: 12px; transition: all 0.3s ease; position: relative; overflow: hidden; } .service-card .btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s; } .service-card .btn:hover::before { left: 100%; } /* Responsive Design */ @media (max-width: 1200px) { .services-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } } @media (max-width: 768px) { .services { padding: 3rem 1rem; } .services .section-title { font-size: 2.5rem; } .services-grid { grid-template-columns: 1fr; gap: 2rem; } .service-card { padding: 2rem; } .service-card.featured { transform: none; } .service-card.featured:hover { transform: translateY(-5px); } .price-main { font-size: 2rem; } } @media (max-width: 480px) { .service-card { padding: 1.5rem; } .service-icon { font-size: 3rem; } .service-title { font-size: 1.4rem; } .services .section-title { font-size: 2rem; } } .btn-container { margin-top: auto; } /* Buttons */ .btn { display: inline-block; padding: 0.8rem 1.5rem; border-radius: 8px; font-weight: 600; font-size: 1rem; text-align: center; text-decoration: none; transition: all 0.3s ease; cursor: pointer; border: none; width: 100%; } .btn-primary { background: linear-gradient(135deg, #3498db, #2980b9); color: #fff; box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3); } .btn-primary:hover { background: linear-gradient(135deg, #2980b9, #1f5f8b); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4); } .btn-outline { border: 2px solid #3498db; color: #3498db; background: transparent; } .btn-outline:hover { background-color: #3498db; color: #fff; transform: translateY(-2px); } /* About Section */ .about { padding: 4rem 1rem; background-color: #f8f9fa; text-align: center; } .about-content { max-width: 800px; margin: 0 auto; } .about h2 { font-size: 2.5rem; margin-bottom: 2rem; color: #2c3e50; font-weight: 700; } .about p { font-size: 1.1rem; color: #7f8c8d; line-height: 1.8; } /* Features Section */ .features { padding: 4rem 1rem; background-color: #fff; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; max-width: 1200px; margin: 0 auto; } .feature-card { background: #f8f9fa; border-radius: 16px; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06); padding: 2.5rem; text-align: center; transition: all 0.3s ease; border: 1px solid #e9ecef; } .feature-card:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1); background: #fff; } .feature-icon { font-size: 3rem; margin-bottom: 1.5rem; color: #3498db; } .feature-card h3 { font-size: 1.4rem; font-weight: 600; margin-bottom: 1rem; color: #2c3e50; } .feature-card p { font-size: 1rem; color: #7f8c8d; line-height: 1.6; } /* CONTACT SECTION - COMPLETELY REDESIGNED */ .contact { padding: 4rem 1rem; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); min-height: 80vh; display: flex; align-items: center; } .contact-container { max-width: 600px; margin: 0 auto; background: #fff; padding: 3rem; border-radius: 20px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1); border: 1px solid #f1f3f4; position: relative; } /* Remove the problematic shimmer effect */ .contact-container::before { display: none; } .contact .section-title { font-size: 2.5rem; font-weight: 700; margin-bottom: 0.5rem; color: #2c3e50; text-align: center; } .contact .section-title::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: linear-gradient(90deg, #3498db, #2980b9); border-radius: 2px; } .contact .section-subtitle { font-size: 1.1rem; color: #7f8c8d; margin-bottom: 3rem; line-height: 1.6; text-align: center; } .contact-form { display: flex; flex-direction: column; gap: 2rem; } .form-group { text-align: left; position: relative; } .form-group label { display: block; font-weight: 600; margin-bottom: 0.8rem; color: #2c3e50; font-size: 1rem; text-transform: uppercase; letter-spacing: 0.5px; font-size: 0.9rem; } .form-group input, .form-group textarea { width: 100%; padding: 1.2rem 1.5rem; border: 2px solid #e9ecef; border-radius: 12px; font-size: 1rem; font-family: inherit; transition: all 0.3s ease; background-color: #fafbfc; box-sizing: border-box; resize: none; } .form-group input:focus, .form-group textarea:focus { border-color: #3498db; outline: none; background-color: #fff; box-shadow: 0 0 0 4px rgba(52, 152, 219, 0.1); transform: translateY(-1px); } .form-group input:hover, .form-group textarea:hover { border-color: #bdc3c7; } .form-group textarea { min-height: 140px; line-height: 1.6; resize: vertical; } .form-group input::placeholder, .form-group textarea::placeholder { color: #95a5a6; font-style: normal; } .contact .btn-primary { background: linear-gradient(135deg, #3498db 0%, #2980b9 100%); color: #fff; padding: 1.2rem 2rem; border: none; border-radius: 12px; font-weight: 600; font-size: 1.1rem; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 1rem; box-shadow: 0 6px 20px rgba(52, 152, 219, 0.3); } .contact .btn-primary:hover { background: linear-gradient(135deg, #2980b9 0%, #1f5f8b 100%); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(52, 152, 219, 0.4); } .contact .btn-primary:active { transform: translateY(0); } /* Form validation styles */ .form-group input:invalid:not(:placeholder-shown), .form-group textarea:invalid:not(:placeholder-shown) { border-color: #e74c3c; background-color: #fdf2f2; } .form-group input:valid:not(:placeholder-shown), .form-group textarea:valid:not(:placeholder-shown) { border-color: #27ae60; background-color: #f8fff9; } /* Footer */ footer { background: #2c3e50; color: #fff; padding: 2rem; margin-top: auto; box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1); } .footer-content { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; flex-wrap: wrap; gap: 1.5rem; } .footer-links { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; } .footer-links a { color: #ecf0f1; text-decoration: none; font-weight: 500; transition: color 0.3s ease; padding: 0.5rem; } .footer-links a:hover { color: #3498db; } .social-icons { display: flex; gap: 1rem; } .social-icons a { color: #ecf0f1; font-size: 1.5rem; transition: all 0.3s ease; padding: 0.5rem; border-radius: 50%; } .social-icons a:hover { color: #3498db; background-color: rgba(52, 152, 219, 0.1); } /* Flash Messages */ .flash-messages { max-width: 1200px; margin: 0 auto; padding: 1rem; } .flash { padding: 1rem 1.5rem; border-radius: 12px; margin-bottom: 1rem; text-align: center; font-weight: 500; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); } .flash.success { background-color: #d5f4e6; color: #0f5132; border: 1px solid #badbcc; } .flash.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* Responsive Design */ @media (max-width: 768px) { .hero h1 { font-size: 2.5rem; } .hero-subtitle { font-size: 1.1rem; } .contact { padding: 2rem 1rem; min-height: auto; } .contact-container { padding: 2rem 1.5rem; margin: 1rem; border-radius: 16px; } .contact .section-title { font-size: 2rem; } .form-group input, .form-group textarea { padding: 1rem 1.2rem; } .contact .btn-primary { padding: 1rem 1.5rem; font-size: 1rem; } .footer-content { flex-direction: column; text-align: center; } .services-grid, .features-grid { grid-template-columns: 1fr; } } @media (max-width: 480px) { .contact-container { margin: 0.5rem; padding: 1.5rem 1rem; } .contact .section-title { font-size: 1.75rem; } .hero { padding: 4rem 1rem; } .hero h1 { font-size: 2rem; } } /* Solutions Hero Section */ .solutions-hero { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: #fff; padding: 6rem 2rem 4rem; text-align: center; } .solutions-hero .hero-title { font-size: 3.5rem; font-weight: 800; margin-bottom: 1.5rem; } .solutions-hero .hero-subtitle { font-size: 1.3rem; max-width: 800px; margin: 0 auto 3rem; opacity: 0.9; line-height: 1.6; } .solutions-hero .hero-stats { display: flex; justify-content: center; gap: 4rem; margin-top: 3rem; } /* Solutions Grid Section */ .solutions-grid-section { padding: 6rem 2rem; background: #f8f9fa; } .solutions-container { max-width: 1400px; margin: 0 auto; } .solutions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 3rem; margin-top: 4rem; } .solution-card { background: #fff; border-radius: 20px; padding: 3rem; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; border: 1px solid #e9ecef; position: relative; overflow: hidden; } .solution-card.featured { border: 2px solid #3498db; transform: scale(1.02); } .solution-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); } .solution-card.featured:hover { transform: scale(1.02) translateY(-10px); } .solution-header { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid #f1f3f4; } .solution-logo { position: relative; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; } .solution-logo img { max-width: 100%; max-height: 100%; object-fit: contain; } .solution-icon { font-size: 2.5rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .solution-title { font-size: 1.8rem; font-weight: 700; color: #2c3e50; margin: 0 0 0.5rem 0; } .solution-category { background: linear-gradient(135deg, #3498db, #2980b9); color: #fff; padding: 0.3rem 1rem; border-radius: 20px; font-size: 0.8rem; font-weight: 6rem; text-transform: uppercase; letter-spacing: 0.5px; } .solution-description { margin-bottom: 2rem; } .solution-description p { color: #7f8c8d; line-height: 1.7; font-size: 1rem; } .solution-features { margin-bottom: 2rem; } .solution-features h4 { color: #2c3e50; font-weight: 600; margin-bottom: 1rem; } .solution-features ul { list-style: none; padding: 0; margin: 0; } .solution-features li { padding: 0.5rem 0; padding-left: 1.5rem; position: relative; color: #555; } .solution-features li::before { content: "✓"; position: absolute; left: 0; color: #27ae60; font-weight: bold; } .solution-stats { display: flex; gap: 2rem; margin-bottom: 2rem; padding: 1.5rem; background: #f8f9fa; border-radius: 12px; } .stat-item { text-align: center; flex: 1; } .stat-value { display: block; font-size: 1.5rem; font-weight: 700; color: #3498db; } .stat-label { font-size: 0.8rem; color: #7f8c8d; text-transform: uppercase; letter-spacing: 0.5px; } .solution-links { display: flex; gap: 1rem; flex-wrap: wrap; } .solution-link { display: flex; align-items: center; gap: 0.5rem; padding: 0.8rem 1.5rem; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.3s ease; } .solution-link.primary { background: linear-gradient(135deg, #3498db, #2980b9); color: #fff; } .solution-link.primary:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3); } .solution-link.secondary { background: #f8f9fa; color: #555; border: 1px solid #e9ecef; } .solution-link.secondary:hover { background: #e9ecef; color: #2c3e50; } /* Why Open Source Section */ .why-opensource { padding: 6rem 2rem; background: #fff; } .opensource-container { max-width: 1400px; margin: 0 auto; } .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2.5rem; margin-top: 4rem; } .benefit-card { text-align: center; padding: 2.5rem; border-radius: 16px; background: #f8f9fa; transition: all 0.3s ease; border: 1px solid #e9ecef; } .benefit-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); background: #fff; } .benefit-icon { font-size: 3rem; margin-bottom: 1.5rem; } .benefit-card h3 { font-size: 1.4rem; font-weight: 700; color: #2c3e50; margin-bottom: 1rem; } .benefit-card p { color: #7f8c8d; line-height: 1.6; } /* Integration Support Section */ .integration-support { padding: 6rem 2rem; background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); } .support-container { max-width: 1400px; margin: 0 auto; } .support-content { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } .support-text h2 { font-size: 2.5rem; font-weight: 700; color: #2c3e50; margin-bottom: 1.5rem; } .lead-text { font-size: 1.2rem; color: #7f8c8d; line-height: 1.6; margin-bottom: 3rem; } .support-features { display: flex; flex-direction: column; gap: 2rem; } .support-feature { display: flex; gap: 1.5rem; align-items: flex-start; } .support-feature i { font-size: 2rem; color: #3498db; margin-top: 0.5rem; flex-shrink: 0; } .support-feature h4 { font-size: 1.2rem; font-weight: 600; color: #2c3e50; margin: 0 0 0.5rem 0; } .support-feature p { color: #7f8c8d; line-height: 1.6; margin: 0; } /* Integration Diagram */ .integration-diagram { position: relative; width: 300px; height: 300px; margin: 0 auto; } .integration-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; } .center-node { width: 100px; height: 100px; background: linear-gradient(135deg, #3498db, #2980b9); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; font-weight: 600; box-shadow: 0 8px 25px rgba(52, 152, 219, 0.3); } .center-node i { font-size: 1.5rem; margin-bottom: 0.5rem; } .integration-nodes { position: relative; width: 100%; height: 100%; } .integration-node { position: absolute; width: 80px; height: 80px; background: #fff; border: 2px solid #e9ecef; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 600; color: #555; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); transform: rotate(var(--angle)) translateX(110px) rotate(calc(-1 * var(--angle))); } .integration-node i { font-size: 1.2rem; margin-bottom: 0.3rem; color: #3498db; } /* Solutions CTA Section */ .solutions-cta { padding: 6rem 2rem; background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); color: #fff; text-align: center; } .solutions-cta h2 { font-size: 3rem; font-weight: 700; margin-bottom: 1.5rem; } .solutions-cta p { font-size: 1.2rem; max-width: 800px; margin: 0 auto 3rem; opacity: 0.9; line-height: 1.6; } .cta-actions { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; } /* Responsive Design */ @media (max-width: 1024px) { .solutions-grid { grid-template-columns: 1fr; } .support-content { grid-template-columns: 1fr; gap: 3rem; } .integration-diagram { order: -1; } } @media (max-width: 768px) { .solutions-hero .hero-title { font-size: 2.5rem; } .solutions-hero .hero-stats { gap: 2rem; } .solution-card { padding: 2rem; } .solution-header { flex-direction: column; text-align: center; gap: 1rem; } .benefits-grid { grid-template-columns: 1fr; } .solution-links { flex-direction: column; } }