Components
41
Accordion Block Benifits Grid Block 404 Card Stack Careers Grid Case Study Carousel Case Study Hero Content Columns Content Image Content Image Accordion Content Video Cta Block Example Featured Blog Hero Featured Resource Hero Form Cta Form Hero Full Width Image Homepage Hero Hover List Image Hero Image Mask Image Testimonial Carousel Industry Insights Latest News List Columns Logo Scroller Map Block Post Feed Resource Grid Split Hero Split Text Statement Statistics Row Team Filter Team Grid Testimonial Carousel Testimonial Carousel Text Highlight Tools Grid Two Column List

Team Filter

View example

Client Services

Steven headshot

Steven Woodcock

Senior Account Director

Martha headshot

Martha Peters

Client Services Manager

Sam E headshot

Sam Evans

Senior Client Services Manager

Luke headshot

Luke Baggott

Client Services Manager

Jasmine M headshot

Jasmine Martin

Client Services Executive

Abby headshot

Abby Crewe

Client Services Manager

Sarah D headshot

Sarah Dillon

Client Services Director

Misha Bezchi headshot

Misha Bezchi

Account Director

Daniel headshot

Daniel Joyce

Client Services Executive

Organic

Shona headshot

Shona Worsman

Content Lead

Amy L headshot

Amy Leach

Organic Lead

Alisa Headshot

Alisa Thorley

Senior SEO Executive

Adam C headshot

Adam Chapman

Senior SEO Data Analyst

Ciara headshot

Ciara Johnson

Senior Content Account Manager

Ryan headshot

Ryan Jones

SEO Account Manager

Amelia Headshot

Amelia Ward

Content Account Manager

Molly headshot

Molly Cross

Content Account Manager

Matt W headshot

Matt Williamson

Senior SEO Account Manager

Jess A headshot

Jess Atkinson

Organic Search Director

Blaithin headshot

Blaithin McMahonn

SEO Account Manager

Glen Headshot

Glen Morrant

SEO Account Manager

Tom H headshot

Tom Hemingway

Head of Digital PR

Katy headshot

Katy Dowe

Content Writer

Paid Media

Harriet headshot

Harriet Tuite

Head of Paid Social

Cal L headshot

Callum Leonard

Paid Media Director

George Headshot

George Noon

Head of Paid Media

Tom headshot

Thomas McGuigan

Senior PPC Account Manager

Kris headshot

Kristian Lowe

PPC Lead

Matt B headshot

Matthew Butchart

Senior PPC Account Manager

Jess G headshot

Jess Gears

Senior Affiliate Executive

Rhianon headshot

Rhianon Hibbert

PPC Account Manager

Suffy headshot

Sufyaan Ravat

Paid Social Manager

Natalie headshot

Natalie Andersen

Senior PPC Executive

Adam M headshot

Adam Mail

Senior PPC Executive

Teodora

Teodora Yosifova

Paid Social Manager

Vicky headshot

Vicky Mepstead

Senior Paid Social Manager

Alex Bradbury headshot

Alex Bradbury

Senior PPC Account Manager

Curtis P headshot

Curtis Puckey

PPC Account Manager

Matt Dicks headshot

Matt Dicks

Senior Affiliate Manager

Creative

Dan headshot

Daniel Scarth

Developer

Alex H headshot

Alexandra Hulston

Senior Project Manager

Strategy

Sam T headshot

Sam Thomas

Insights Director

Lloyd headshot

Lloyd Morris-Fletcher

Chief Revenue Officer

James L headshot

James Lancaster

Insights Manager

Operations

Ross headshot

Ross Green

CEO

Grace Nolan headshot

Grace Nolan

Group Operations Director

Samantha headshot

Samantha Welch

Chief People Operations Officer

Leanne headshot

Leanne Hutchinson

Office & Commercial Manager

Lauren headshot

Lauren Connell

Operations Manager

Rob headshot

Rob Moxey

Finance Director

Sarah M headshot

Sarah Marshall

Head of HR

Sales and Marketing

Hannah headshot

Hannah Matthewman

Brand and Events Director

Hollie Headshot

Hollie Middleton

Marketing Executive

Eve headshot

Eve Murray

Marketing Executive

James G headshot

James Guerin

Chief Commercial Officer

Fay Headshot

Fay Burrows

Growth Manager

Innovation

Trishin headshot

Trishin Rambajan

Head of Software Development

There are no ACF fields assigned to this component.

				
.tab-accordion {
  border: 1px solid #ddd;
  background: #f5f5f5;
}

/* Tabs (desktop) */
.ta-controls {
  display: flex;
  border-bottom: 1px solid #ddd;
  justify-content: center;
}

.ta-btn {
  padding: 0.75rem 1rem;
  background: none;
  border: none;
  cursor: pointer;
}

.ta-btn.active {
  border-bottom: 2px solid #000;
  font-weight: bold;
}

.ta-panel {
  display: none;
  padding: 1rem;
}

.ta-panel.active {
  display: block;
}

.ta-panel-content {
	margin-top: 0 !important;
}

.ta-heading {
  margin: 2rem 0 1rem;
  display: none;
}

/* Accordion (mobile) */
@media (max-width: 1199px) {
  .ta-controls {
    display: none;
  }

  .ta-panel:not(:first-of-type) {
  	border-top: 1px solid #ddd;
  }

  .ta-panel {
    display: block;
    padding: 0;
  }

  .ta-heading {
    margin: 0;
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-size: 1.25rem;
    display: block;
  }

  .ta-panel-content {
    padding: 1rem;
    display: none;
  }

  .ta-panel.active .ta-panel-content {
    display: flex;
  }
}
document.addEventListener("DOMContentLoaded", () => {
  const container = document.querySelector(".tab-accordion");
  const buttons = container.querySelectorAll(".ta-btn");
  const panels = container.querySelectorAll(".ta-panel");
  const MOBILE_BREAKPOINT = 1200;

  function activatePanel(id) {
    buttons.forEach(btn =>
      btn.classList.toggle("active", btn.dataset.target === id)
    );

    panels.forEach(panel =>
      panel.classList.toggle("active", panel.id === id)
    );
  }

  // Tabs (desktop)
  buttons.forEach(btn => {
    btn.addEventListener("click", () => {
      activatePanel(btn.dataset.target);
    });
  });

  // Accordion (mobile)
  panels.forEach(panel => {
    const heading = panel.querySelector(".ta-heading");

    heading.addEventListener("click", () => {
      if (window.innerWidth >= MOBILE_BREAKPOINT) return;

      const isOpen = panel.classList.contains("active");

      // Close all panels first
      panels.forEach(p => p.classList.remove("active"));

      // Open clicked panel if it wasn't already open
      if (!isOpen) {
        panel.classList.add("active");

        // Scroll to top of page
        const y = panel.getBoundingClientRect().top + window.pageYOffset - 120;
        window.scrollTo({ top: y, behavior: "smooth" });
      }
    });
  });
});
{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 2,
    "name": "strategiq/team-filter",
    "title": "Team filter",
    "description": "Team filter block",
    "category": "strategiq",
    "icon": "strategiq",
    "acf": {
        "mode": "preview",
        "renderTemplate": "block-team-filter.php"
    },
    "supports": {
        "anchor": true,
        "align": false,
        "color": {
            "background": true,
            "text": false,
            "gradients": true
        },
        "spacing": {
            "padding": [
				"top",
				"bottom"
			],
            "margin": [
                "top",
                "bottom"
            ]
        }
    },
    "style": "file:../../assets/css/team-filter/block-team-filter.css"
}
Page Title
Page Type
Page URL
There are is no readme file with this component.