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.

300px

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 background property in .company-culture-section
  • Accent Colors: Change the gradient colors in .mission-icon and .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-target attributes and labels

Layout

  • Grid Columns: Adjust grid-template-columns for different layouts
  • Spacing: Modify padding and margin values
  • Card Sizes: Change the minmax values 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 transform and opacity

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>

              
105lines
4769characters
HTMLLanguage

Related Code Snippets

Explore template packs

Need larger building blocks? Browse responsive landing pages and component bundles.

Open HTML Template Library →