Category · Feature Sections Difficulty Level · Intermediate Published on · January 15, 2024
Company Culture Section
A modern company culture showcase section with team values, mission statement, and interactive elements
#company
#culture
#about
#team
#values
#mission
#corporate
Responsive Design
Yes
Dark Mode Support
No
lines
364
Browser Compatibility
No
Live Preview
Interact with the component without leaving the page.
Company Culture Section
A comprehensive company culture section that showcases your organization’s values, mission, and team culture with modern design and interactive elements.
Features
- Responsive Design: Adapts perfectly to all screen sizes
- Interactive Value Cards: Hover effects and animations
- Mission Statement: Prominent display with elegant typography
- Team Statistics: Animated counters for key metrics
- Modern UI: Clean, professional design with smooth transitions
- Accessibility: ARIA labels and keyboard navigation support
- Customizable: Easy to modify colors, content, and layout
HTML
<section class="company-culture-section">
<div class="container">
<!-- Header -->
<div class="section-header">
<h2 class="section-title">Our Company Culture</h2>
<p class="section-subtitle">Building a workplace where innovation thrives and people grow</p>
</div>
<!-- Mission Statement -->
<div class="mission-statement">
<div class="mission-content">
<h3 class="mission-title">Our Mission</h3>
<p class="mission-text">
We believe in creating technology that empowers people and transforms businesses.
Our mission is to deliver innovative solutions while fostering a culture of
collaboration, creativity, and continuous learning.
</p>
</div>
<div class="mission-visual">
<div class="mission-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
</div>
</div>
</div>
<!-- Core Values -->
<div class="values-section">
<h3 class="values-title">Our Core Values</h3>
<div class="values-grid">
<div class="value-card" data-value="innovation">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/>
<line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/>
<line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
</div>
<h4 class="value-name">Innovation</h4>
<p class="value-description">We embrace new ideas and technologies to solve complex problems</p>
</div>
<div class="value-card" data-value="collaboration">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
</svg>
</div>
<h4 class="value-name">Collaboration</h4>
<p class="value-description">Together we achieve more than we ever could alone</p>
</div>
<div class="value-card" data-value="integrity">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
</svg>
</div>
<h4 class="value-name">Integrity</h4>
<p class="value-description">We do the right thing, even when no one is watching</p>
</div>
<div class="value-card" data-value="growth">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" />
</svg>
</div>
<h4 class="value-name">Growth</h4>
<p class="value-description">Continuous learning and improvement drive our success</p>
</div>
</div>
</div>
<!-- Statistics -->
<div class="stats-section">
<div class="stats-grid">
<div class="stat-item">
<div class="stat-number" data-target="150">0</div>
<div class="stat-label">Team Members</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="50">0</div>
<div class="stat-label">Countries</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="98">0</div>
<div class="stat-label">Client Satisfaction</div>
<div class="stat-suffix">%</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="5">0</div>
<div class="stat-label">Years of Excellence</div>
</div>
</div>
</div>
</div>
</section>
CSS
.company-culture-section {
padding: 80px 0;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
position: relative;
overflow: hidden;
}
.company-culture-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="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>') repeat;
pointer-events: none;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
position: relative;
z-index: 1;
}
/* Section Header */
.section-header {
text-align: center;
margin-bottom: 60px;
}
.section-title {
font-size: 3rem;
font-weight: 700;
margin-bottom: 16px;
background: linear-gradient(45deg, #ffffff, #e0e7ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.section-subtitle {
font-size: 1.25rem;
opacity: 0.9;
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
/* Mission Statement */
.mission-statement {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 40px;
align-items: center;
margin-bottom: 80px;
padding: 40px;
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.mission-title {
font-size: 2rem;
font-weight: 600;
margin-bottom: 20px;
color: #e0e7ff;
}
.mission-text {
font-size: 1.125rem;
line-height: 1.7;
opacity: 0.95;
}
.mission-visual {
display: flex;
justify-content: center;
align-items: center;
}
.mission-icon {
width: 120px;
height: 120px;
background: linear-gradient(45deg, #fbbf24, #f59e0b);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
animation: float 3s ease-in-out infinite;
}
.mission-icon svg {
width: 60px;
height: 60px;
color: white;
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
/* Values Section */
.values-section {
margin-bottom: 80px;
}
.values-title {
font-size: 2.5rem;
font-weight: 600;
text-align: center;
margin-bottom: 50px;
color: #e0e7ff;
}
.values-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}
.value-card {
background: rgba(255, 255, 255, 0.1);
border-radius: 16px;
padding: 30px;
text-align: center;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
transition: all 0.3s ease;
cursor: pointer;
}
.value-card:hover {
transform: translateY(-10px);
background: rgba(255, 255, 255, 0.15);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}
.value-icon {
width: 80px;
height: 80px;
background: linear-gradient(45deg, #10b981, #059669);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
transition: all 0.3s ease;
}
.value-card:hover .value-icon {
transform: scale(1.1);
background: linear-gradient(45deg, #059669, #047857);
}
.value-icon svg {
width: 40px;
height: 40px;
color: white;
}
.value-name {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 12px;
color: #e0e7ff;
}
.value-description {
font-size: 1rem;
line-height: 1.6;
opacity: 0.9;
}
/* Statistics Section */
.stats-section {
background: rgba(255, 255, 255, 0.1);
border-radius: 20px;
padding: 40px;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 40px;
}
.stat-item {
text-align: center;
}
.stat-number {
font-size: 3rem;
font-weight: 700;
color: #fbbf24;
margin-bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}
.stat-suffix {
font-size: 2rem;
color: #fbbf24;
}
.stat-label {
font-size: 1.125rem;
opacity: 0.9;
font-weight: 500;
}
/* Responsive Design */
@media (max-width: 768px) {
.company-culture-section {
padding: 60px 0;
}
.section-title {
font-size: 2.5rem;
}
.mission-statement {
grid-template-columns: 1fr;
text-align: center;
gap: 30px;
}
.values-grid {
grid-template-columns: 1fr;
}
.stats-grid {
grid-template-columns: repeat(2, 1fr);
gap: 30px;
}
.stat-number {
font-size: 2.5rem;
}
}
@media (max-width: 480px) {
.section-title {
font-size: 2rem;
}
.stats-grid {
grid-template-columns: 1fr;
}
}
JavaScript
// Animated Counter for Statistics
class AnimatedCounter {
constructor(element, target, duration = 2000) {
this.element = element;
this.target = parseInt(target);
this.duration = duration;
this.startValue = 0;
this.startTime = null;
this.isAnimating = false;
}
animate(currentTime) {
if (!this.startTime) this.startTime = currentTime;
const elapsed = currentTime - this.startTime;
const progress = Math.min(elapsed / this.duration, 1);
// Easing function for smooth animation
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
const currentValue = Math.floor(this.startValue + (this.target - this.startValue) * easeOutQuart);
this.element.textContent = currentValue;
if (progress < 1) {
requestAnimationFrame((time) => this.animate(time));
} else {
this.element.textContent = this.target;
this.isAnimating = false;
}
}
start() {
if (!this.isAnimating) {
this.isAnimating = true;
this.startTime = null;
requestAnimationFrame((time) => this.animate(time));
}
}
}
// Intersection Observer for triggering animations
const observerOptions = {
threshold: 0.5,
rootMargin: '0px 0px -100px 0px'
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
// Animate statistics counters
if (entry.target.classList.contains('stats-section')) {
const statNumbers = entry.target.querySelectorAll('.stat-number');
statNumbers.forEach(statNumber => {
const target = statNumber.getAttribute('data-target');
if (target && !statNumber.classList.contains('animated')) {
statNumber.classList.add('animated');
const counter = new AnimatedCounter(statNumber, target, 2000);
setTimeout(() => counter.start(), Math.random() * 500);
}
});
}
// Animate value cards
if (entry.target.classList.contains('values-section')) {
const valueCards = entry.target.querySelectorAll('.value-card');
valueCards.forEach((card, index) => {
setTimeout(() => {
card.style.opacity = '0';
card.style.transform = 'translateY(30px)';
card.style.transition = 'all 0.6s ease';
setTimeout(() => {
card.style.opacity = '1';
card.style.transform = 'translateY(0)';
}, 100);
}, index * 200);
});
}
}
});
}, observerOptions);
// Initialize when DOM is loaded
document.addEventListener('DOMContentLoaded', () => {
// Observe sections for animations
const statsSection = document.querySelector('.stats-section');
const valuesSection = document.querySelector('.values-section');
if (statsSection) observer.observe(statsSection);
if (valuesSection) observer.observe(valuesSection);
// Add interactive hover effects to value cards
const valueCards = document.querySelectorAll('.value-card');
valueCards.forEach(card => {
card.addEventListener('mouseenter', () => {
card.style.transform = 'translateY(-10px) scale(1.02)';
});
card.addEventListener('mouseleave', () => {
card.style.transform = 'translateY(0) scale(1)';
});
});
// Add click effects
valueCards.forEach(card => {
card.addEventListener('click', () => {
const valueName = card.getAttribute('data-value');
// Add ripple effect
const ripple = document.createElement('div');
ripple.style.cssText = `
position: absolute;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transform: scale(0);
animation: ripple 0.6s linear;
pointer-events: none;
left: 50%;
top: 50%;
width: 100px;
height: 100px;
margin-left: -50px;
margin-top: -50px;
`;
card.style.position = 'relative';
card.appendChild(ripple);
setTimeout(() => {
ripple.remove();
}, 600);
// Optional: Add custom action for each value
console.log(`Clicked on ${valueName} value`);
});
});
});
// CSS for ripple animation
const style = document.createElement('style');
style.textContent = `
@keyframes ripple {
to {
transform: scale(4);
opacity: 0;
}
}
`;
document.head.appendChild(style);
Customization Options
Colors
- Primary Gradient: Modify the
backgroundproperty in.company-culture-section - Accent Colors: Change the gradient colors in
.mission-iconand.value-icon - Text Colors: Adjust the color values for titles and descriptions
Content
- Mission Statement: Update the text in
.mission-text - Values: Modify the value cards with your company’s core values
- Statistics: Change the
data-targetattributes and labels
Layout
- Grid Columns: Adjust
grid-template-columnsfor different layouts - Spacing: Modify padding and margin values
- Card Sizes: Change the
minmaxvalues in grid definitions
Browser Compatibility
- âś… Chrome 60+
- âś… Firefox 55+
- âś… Safari 12+
- âś… Edge 79+
- ⚠️ IE 11 (with polyfills)
Performance Notes
- Uses CSS transforms for smooth animations
- Intersection Observer for efficient scroll-based animations
- Optimized for 60fps animations
- Minimal JavaScript footprint
- GPU-accelerated effects with
transformandopacity
HTML
105
lines
CSS
259
lines
<section class="company-culture-section">
<div class="container">
<!-- Header -->
<div class="section-header">
<h2 class="section-title">Our Company Culture</h2>
<p class="section-subtitle">Building a workplace where innovation thrives and people grow</p>
</div>
<!-- Mission Statement -->
<div class="mission-statement">
<div class="mission-content">
<h3 class="mission-title">Our Mission</h3>
<p class="mission-text">
We believe in creating technology that empowers people and transforms businesses.
Our mission is to deliver innovative solutions while fostering a culture of
collaboration, creativity, and continuous learning.
</p>
</div>
<div class="mission-visual">
<div class="mission-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
</div>
</div>
</div>
<!-- Core Values -->
<div class="values-section">
<h3 class="values-title">Our Core Values</h3>
<div class="values-grid">
<div class="value-card" data-value="innovation">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/>
<line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/>
<line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
</div>
<h4 class="value-name">Innovation</h4>
<p class="value-description">We embrace new ideas and technologies to solve complex problems</p>
</div>
<div class="value-card" data-value="collaboration">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z" />
</svg>
</div>
<h4 class="value-name">Collaboration</h4>
<p class="value-description">Together we achieve more than we ever could alone</p>
</div>
<div class="value-card" data-value="integrity">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
</svg>
</div>
<h4 class="value-name">Integrity</h4>
<p class="value-description">We do the right thing, even when no one is watching</p>
</div>
<div class="value-card" data-value="growth">
<div class="value-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6" />
</svg>
</div>
<h4 class="value-name">Growth</h4>
<p class="value-description">Continuous learning and improvement drive our success</p>
</div>
</div>
</div>
<!-- Statistics -->
<div class="stats-section">
<div class="stats-grid">
<div class="stat-item">
<div class="stat-number" data-target="150">0</div>
<div class="stat-label">Team Members</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="50">0</div>
<div class="stat-label">Countries</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="98">0</div>
<div class="stat-label">Client Satisfaction</div>
<div class="stat-suffix">%</div>
</div>
<div class="stat-item">
<div class="stat-number" data-target="5">0</div>
<div class="stat-label">Years of Excellence</div>
</div>
</div>
</div>
</div>
</section>