diff --git a/app/static/css/styles.css b/app/static/css/styles.css index c99466a..ae81afd 100644 --- a/app/static/css/styles.css +++ b/app/static/css/styles.css @@ -5147,4 +5147,438 @@ footer { .service-category { padding: 1.5rem; } +} + +/* Open Source Compliance Hero */ +.oss-compliance-hero { + background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); + color: #fff; + padding: 6rem 2rem 4rem; + text-align: center; +} + +.oss-compliance-hero .hero-title { + font-size: 3.5rem; + font-weight: 800; + margin-bottom: 1.5rem; +} + +.oss-compliance-hero .hero-subtitle { + font-size: 1.3rem; + max-width: 800px; + margin: 0 auto 3rem; + opacity: 0.9; + line-height: 1.6; +} + +.oss-compliance-hero .hero-stats { + display: flex; + justify-content: center; + gap: 4rem; + margin-top: 3rem; +} + +.oss-compliance-hero .stat { + text-align: center; +} + +.oss-compliance-hero .stat-number { + font-size: 2.5rem; + font-weight: 700; + margin-bottom: 0.5rem; +} + +.oss-compliance-hero .stat-label { + font-size: 0.9rem; + opacity: 0.8; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +/* Compliance Grid */ +.compliance-grid-section { + padding: 6rem 2rem; + background: #f8f9fa; +} + +.compliance-container { + max-width: 1400px; + margin: 0 auto; +} + +.compliance-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); + gap: 3rem; + margin-top: 4rem; +} + +.compliance-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; +} + +.compliance-card:hover { + transform: translateY(-10px); + box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15); +} + +.compliance-header { + display: flex; + align-items: center; + gap: 1.5rem; + margin-bottom: 2rem; + padding-bottom: 1.5rem; + border-bottom: 1px solid #f1f3f4; +} + +.compliance-logo { + position: relative; + width: 60px; + height: 60px; + display: flex; + align-items: center; + justify-content: center; +} + +.compliance-logo img { + max-width: 100%; + max-height: 100%; + object-fit: contain; +} + +.compliance-icon { + font-size: 2.5rem; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.compliance-title { + font-size: 1.8rem; + font-weight: 700; + color: #2c3e50; + margin: 0 0 0.5rem 0; +} + +.compliance-category { + background: linear-gradient(135deg, #3498db, #2980b9); + color: #fff; + padding: 0.3rem 1rem; + border-radius: 20px; + font-size: 0.8rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.compliance-description { + margin-bottom: 2rem; +} + +.compliance-description p { + color: #7f8c8d; + line-height: 1.7; + font-size: 1rem; +} + +.compliance-links { + display: flex; + gap: 1rem; + flex-wrap: wrap; +} + +.compliance-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; +} + +.compliance-link.primary { + background: linear-gradient(135deg, #3498db, #2980b9); + color: #fff; +} + +.compliance-link.primary:hover { + transform: translateY(-2px); + box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3); +} + +.compliance-link.secondary { + background: #f8f9fa; + color: #555; + border: 1px solid #e9ecef; +} + +.compliance-link.secondary:hover { + background: #e9ecef; + color: #2c3e50; +} + +/* Why Compliance Matters */ +.why-compliance { + padding: 6rem 2rem; + background: #fff; +} + +.compliance-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; +} + +/* Compliance CTA */ +.compliance-cta { + padding: 6rem 2rem; + background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); + color: #fff; + text-align: center; +} + +.compliance-cta h2 { + font-size: 3rem; + font-weight: 700; + margin-bottom: 1.5rem; +} + +.compliance-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; +} + +.cta-button { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 1rem 2rem; + border-radius: 12px; + font-weight: 600; + font-size: 1.1rem; + text-decoration: none; + transition: all 0.3s ease; + 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); +} + +/* Responsive Design */ +@media (max-width: 1024px) { + .compliance-grid { + grid-template-columns: 1fr; + } + + .benefits-grid { + grid-template-columns: 1fr; + } +} + +@media (max-width: 768px) { + .oss-compliance-hero .hero-title { + font-size: 2.5rem; + } + + .oss-compliance-hero .hero-stats { + gap: 2rem; + } + + .compliance-card { + padding: 2rem; + } + + .compliance-header { + flex-direction: column; + text-align: center; + gap: 1rem; + } + + .compliance-links { + flex-direction: column; + } +} + +/* Overarching CTA Section */ +.cta-section { + padding: 6rem 2rem; + background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); + color: #fff; + text-align: center; + position: relative; + overflow: hidden; +} + +.cta-section::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url('data:image/svg+xml,'); + pointer-events: none; +} + +.cta-section .container { + max-width: 800px; + margin: 0 auto; + position: relative; + z-index: 1; +} + +.cta-section h2 { + font-size: 3rem; + font-weight: 800; + margin-bottom: 1.5rem; +} + +.cta-section p { + font-size: 1.3rem; + line-height: 1.6; + margin-bottom: 3rem; + opacity: 0.9; + max-width: 800px; + margin-left: auto; + margin-right: auto; +} + +.cta-section .cta-actions { + display: flex; + gap: 1.5rem; + justify-content: center; + flex-wrap: wrap; +} + +.cta-section .btn { + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 1rem 2rem; + border-radius: 12px; + font-weight: 600; + font-size: 1.1rem; + text-decoration: none; + transition: all 0.3s ease; + position: relative; + overflow: hidden; +} + +.cta-section .btn-primary { + background: linear-gradient(135deg, #ffd700, #ffed4e); + color: #1e3c72; + box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3); +} + +.cta-section .btn-primary:hover { + transform: translateY(-2px); + box-shadow: 0 12px 35px rgba(255, 215, 0, 0.4); +} + +.cta-section .btn-secondary { + background: transparent; + color: #fff; + border: 2px solid rgba(255, 255, 255, 0.3); + backdrop-filter: blur(10px); +} + +.cta-section .btn-secondary:hover { + background: rgba(255, 255, 255, 0.1); + border-color: rgba(255, 255, 255, 0.5); +} + +/* Responsive Design */ +@media (max-width: 768px) { + .cta-section h2 { + font-size: 2.5rem; + } + + .cta-section p { + font-size: 1.1rem; + } + + .cta-section .cta-actions { + flex-direction: column; + align-items: stretch; + } } \ No newline at end of file