feat: Add styles for Open Source Compliance page

Added extensive CSS styles for the Open Source Compliance
page, including hero section, compliance grid, benefits
section, and CTA styling.
Included responsive design adjustments for mobile and
tablet views.
This commit is contained in:
Cipher Vance 2025-07-23 11:15:51 -05:00
parent 7d8bab3b8f
commit a22f5d9429

View file

@ -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,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');
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;
}
}