{%- comment -%} MIT License · (c) 2026 Lintel · https://lintelagency.com/resources/shopify-sections {%- endcomment -%} {%- comment -%} Team: people cards with photo (separate mobile photo, focal points), name, role, a short bio and optional email and profile links, for About and Meet the team pages. Photos can be rectangles or circles. Pure Liquid and CSS; no JavaScript. Depends on: snippets/lib-image.liquid {%- endcomment -%} {%- liquid assign s = section.settings assign heading_tag = s.heading_tag | default: 'h2' assign name_tag = 'h3' if heading_tag == 'h3' or heading_tag == 'p' assign name_tag = 'h4' endif assign cols = s.columns | plus: 0 assign img_vw = 100 | divided_by: cols assign img_sizes = '(min-width: 990px) ' | append: img_vw | append: 'vw, 50vw' -%}
{%- if s.heading != blank or s.text != blank -%}
{%- if s.heading != blank -%} <{{ heading_tag }} class="lib-team__heading lib-team__heading--{{ s.heading_size }}"> {{- s.heading -}} {%- endif -%} {%- if s.text != blank -%}
{{ s.text }}
{%- endif -%}
{%- endif -%} {%- if section.blocks.size > 0 -%} {%- endif -%}
{% stylesheet %} .lib-team { background-color: var(--lib-bg); background-image: var(--lib-bg-image, none); color: var(--lib-text); padding: var(--lib-pt) 1rem var(--lib-pb); } .lib-team__inner { max-width: 1200px; margin: 0 auto; } .lib-team--full .lib-team__inner { max-width: none; } @media (max-width: 749px) { .lib-team { padding-top: var(--lib-pt-m); padding-bottom: var(--lib-pb-m); } .lib-team[data-show='desktop'] { display: none; } } @media (min-width: 750px) { .lib-team[data-show='mobile'] { display: none; } } .lib-team__header { max-width: 42rem; margin-bottom: clamp(1.5rem, 4vw, 2.75rem); } .lib-team__heading { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance; } .lib-team__heading--small { font-size: clamp(1.25rem, 1.8vw, 1.5rem); } .lib-team__heading--large { font-size: clamp(2rem, 4vw, 3.25rem); } .lib-team__text { margin-top: 0.6rem; font-size: 1rem; line-height: 1.6; opacity: 0.85; } .lib-team__text > :first-child { margin-top: 0; } .lib-team__text > :last-child { margin-bottom: 0; } .lib-team__grid { display: grid; grid-template-columns: repeat(var(--lib-cols), minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.25rem) clamp(1rem, 2.5vw, 1.75rem); margin: 0; padding: 0; list-style: none; } @media (max-width: 989px) { .lib-team__grid { grid-template-columns: repeat(min(var(--lib-cols), 3), minmax(0, 1fr)); } } @media (max-width: 749px) { .lib-team__grid { grid-template-columns: repeat(var(--lib-cols-m), minmax(0, 1fr)); } } .lib-team__item { display: flex; min-width: 0; } .lib-team__card { display: flex; flex: 1; flex-direction: column; min-width: 0; } .lib-team[data-style='card'] .lib-team__card { overflow: hidden; border-radius: 14px; background: var(--lib-card); } .lib-team__media { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 12px; background: color-mix(in srgb, var(--lib-text) 8%, transparent); } .lib-team[data-style='card'] .lib-team__media { border-radius: 0; } .lib-team[data-shape='square'] .lib-team__media { aspect-ratio: 1; } .lib-team[data-shape='circle'] .lib-team__media { width: min(12rem, 70%); aspect-ratio: 1; border-radius: 50%; } .lib-team[data-shape='circle'][data-style='card'] .lib-team__media { margin: 1.25rem 1.25rem 0; border-radius: 50%; } .lib-team__img { display: block; width: 100%; height: 100%; object-fit: cover; } svg.lib-team__img { fill: color-mix(in srgb, var(--lib-text) 22%, transparent); } .lib-team__body { display: flex; flex-direction: column; gap: 0.25rem; padding-top: 0.9rem; } .lib-team[data-style='card'] .lib-team__body { padding: 1rem 1.25rem 1.25rem; } .lib-team__name { margin: 0; font-size: 1.125rem; line-height: 1.3; } .lib-team__role { margin: 0; font-size: 0.875rem; color: var(--lib-accent); font-weight: 600; } .lib-team__bio { margin-top: 0.35rem; font-size: 0.9375rem; line-height: 1.55; opacity: 0.85; } .lib-team__bio > * { margin: 0; } .lib-team__bio > * + * { margin-top: 0.5em; } .lib-team__links { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0.35rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; } .lib-team__links a { display: inline-block; padding-block: 0.3rem; color: inherit; overflow-wrap: anywhere; text-underline-offset: 0.2em; } .lib-team__links a:focus-visible { outline: 2px solid var(--lib-accent); outline-offset: 2px; } .lib-team__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } .lib-team__inner[data-align='center'] .lib-team__header { margin-inline: auto; text-align: center; } .lib-team__inner[data-align='center'] .lib-team__card { align-items: center; text-align: center; } .lib-team__inner[data-align='center'] .lib-team__media { align-self: stretch; } .lib-team__inner[data-align='center'] .lib-team__links { justify-content: center; } .lib-team[data-shape='circle'] .lib-team__inner[data-align='center'] .lib-team__media { align-self: center; } @media (max-width: 749px) { .lib-team__inner[data-align-m='left'] .lib-team__header { margin-inline: 0; text-align: left; } .lib-team__inner[data-align-m='left'] .lib-team__card { align-items: stretch; text-align: left; } .lib-team__inner[data-align-m='left'] .lib-team__links { justify-content: flex-start; } .lib-team__inner[data-align-m='center'] .lib-team__header { margin-inline: auto; text-align: center; } .lib-team__inner[data-align-m='center'] .lib-team__card { align-items: center; text-align: center; } .lib-team__inner[data-align-m='center'] .lib-team__links { justify-content: center; } } @supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) { .lib-team[data-animate] .lib-team__card { animation: lib-team-rise linear both; animation-timeline: view(); animation-range: entry 0% entry 50%; } } } @keyframes lib-team-rise { from { opacity: 0; transform: translateY(18px); } } {% endstylesheet %} {% schema %} { "name": "Lib · Team", "tag": "section", "class": "lib-section", "max_blocks": 24, "settings": [ { "type": "header", "content": "Content" }, { "type": "inline_richtext", "id": "heading", "label": "Heading", "default": "Meet the team" }, { "type": "select", "id": "heading_tag", "label": "Heading tag", "info": "Use H1 only when this is the page's main heading.", "options": [ { "value": "h1", "label": "H1" }, { "value": "h2", "label": "H2" }, { "value": "h3", "label": "H3" }, { "value": "p", "label": "Paragraph" } ], "default": "h2" }, { "type": "select", "id": "heading_size", "label": "Heading size", "options": [ { "value": "small", "label": "Small" }, { "value": "medium", "label": "Medium" }, { "value": "large", "label": "Large" } ], "default": "medium" }, { "type": "richtext", "id": "text", "label": "Intro text" }, { "type": "text", "id": "new_tab_label", "label": "New tab notice (screen readers)", "default": "opens in a new tab" }, { "type": "header", "content": "Layout" }, { "type": "range", "id": "columns", "label": "Columns on desktop", "min": 2, "max": 5, "step": 1, "default": 4 }, { "type": "range", "id": "columns_mobile", "label": "Columns on mobile", "min": 1, "max": 2, "step": 1, "default": 2 }, { "type": "select", "id": "image_shape", "label": "Photo shape", "options": [ { "value": "portrait", "label": "Portrait (4:5)" }, { "value": "square", "label": "Square" }, { "value": "circle", "label": "Circle" } ], "default": "portrait" }, { "type": "select", "id": "card_style", "label": "Card style", "options": [ { "value": "plain", "label": "Plain" }, { "value": "card", "label": "Card" } ], "default": "plain" }, { "type": "select", "id": "section_width", "label": "Width", "options": [ { "value": "page", "label": "Page width" }, { "value": "full", "label": "Full width" } ], "default": "page" }, { "type": "select", "id": "text_alignment", "label": "Alignment on desktop", "options": [ { "value": "left", "label": "Left" }, { "value": "center", "label": "Center" } ], "default": "left" }, { "type": "select", "id": "text_alignment_mobile", "label": "Alignment on mobile", "options": [ { "value": "left", "label": "Left" }, { "value": "center", "label": "Center" } ], "default": "left" }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "color_bg", "label": "Background", "default": "#FFFFFF" }, { "type": "color_background", "id": "color_bg_gradient", "label": "Background gradient", "info": "Optional. Covers the background color." }, { "type": "color", "id": "color_text", "label": "Text", "default": "#1F1B17" }, { "type": "color", "id": "color_accent", "label": "Accent (roles, focus)", "default": "#7A5A3A" }, { "type": "color", "id": "color_card", "label": "Card background", "default": "#FAF6F1" }, { "type": "header", "content": "Spacing and visibility" }, { "type": "range", "id": "padding_top", "label": "Top padding on desktop", "min": 0, "max": 200, "step": 4, "unit": "px", "default": 72 }, { "type": "range", "id": "padding_bottom", "label": "Bottom padding on desktop", "min": 0, "max": 200, "step": 4, "unit": "px", "default": 72 }, { "type": "range", "id": "padding_top_mobile", "label": "Top padding on mobile", "min": 0, "max": 160, "step": 4, "unit": "px", "default": 48 }, { "type": "range", "id": "padding_bottom_mobile", "label": "Bottom padding on mobile", "min": 0, "max": 160, "step": 4, "unit": "px", "default": 48 }, { "type": "select", "id": "show_on", "label": "Show on", "options": [ { "value": "all", "label": "All devices" }, { "value": "desktop", "label": "Desktop only" }, { "value": "mobile", "label": "Mobile only" } ], "default": "all" }, { "type": "text", "id": "anchor_id", "label": "Anchor ID", "info": "Optional. Link to this section with #your-id." }, { "type": "header", "content": "Motion" }, { "type": "checkbox", "id": "animate", "label": "Fade cards in on scroll", "info": "Only in browsers that support scroll-driven animations; never when reduced motion is on.", "default": false } ], "blocks": [ { "type": "member", "name": "Person", "settings": [ { "type": "image_picker", "id": "image", "label": "Photo" }, { "type": "image_picker", "id": "image_mobile", "label": "Mobile photo", "info": "Optional. Below 750px." }, { "type": "text", "id": "name", "label": "Name", "default": "Name" }, { "type": "text", "id": "role", "label": "Role", "default": "Role" }, { "type": "richtext", "id": "bio", "label": "Short bio" }, { "type": "text", "id": "email", "label": "Email" }, { "type": "text", "id": "link_label", "label": "Link text", "info": "For example Instagram or Portfolio." }, { "type": "url", "id": "link_url", "label": "Link" }, { "type": "checkbox", "id": "link_new_tab", "label": "Open link in a new tab", "default": true } ] } ], "presets": [ { "name": "Lib · Team", "blocks": [{ "type": "member" }, { "type": "member" }, { "type": "member" }, { "type": "member" }] } ] } {% endschema %}