<div class="carousel card-group carousel--single-item" id="carousel-3">
<div class="card-group__header">
<div class="fw-container">
<h2 class="card-group__title" id="carousel-3__title">Single Item Carousel (With Video)</h2>
<div class="card-group__description" id="carousel-3__description">
<p>Full-width slides with bullet pagination and prev/next buttons.</p>
</div>
</div>
</div>
<section class="swiper carousel__swiper" data-js-carousel='{"spaceBetween":0,"slidesOffsetBefore":0,"slidesOffsetAfter":0,"slidesPerView":1,"pagination":{"type":"bullets"}}' aria-labelledby="carousel-3__title" aria-describedby="carousel-3__description">
<div class="swiper-wrapper">
<div class="swiper-slide carousel__item carousel__item--video" data-js-carousel-item aria-label="1 of 4">
<div class="card-group__item">
<figure class="video-embed__figure">
<img class="video-embed__image" srcset="https://images.fastspot.com/framework/1440x810/1 1440w, https://images.fastspot.com/framework/1220x686/1 1220w, https://images.fastspot.com/framework/980x552/1 980w, https://images.fastspot.com/framework/740x416/1 740w, https://images.fastspot.com/framework/500x282/1 500w, https://images.fastspot.com/framework/300x169/1 300w" src="https://images.fastspot.com/framework/300x169/1" alt="" loading="lazy" width="300" height="169">
<div class="
video-lazy
video-embed__video-lazy
video-lazy--aspect-
" data-js-video-lazy='{"id":"3atcjPFBb-Y","type":"youtube","display":"inline","aspectRatio":"landscape","autoplay":false,"playerVars":{}}'>
<a class="video-lazy__play" data-js-video-lazy-play href="https://www.youtube.com/watch?v=3atcjPFBb-Y" aria-label="Play Fastspot Work">
<svg class="icon icon--video-play">
<use href="/images/icons.svg?1.0.0#video-play" />
</svg>
</a>
<div class="video-lazy__iframe-wrapper">
<div class="video-lazy__iframe-target" data-js-video-lazy-iframe-target></div>
</div>
</div>
</figure>
</div>
</div>
<div class="swiper-slide carousel__item carousel__item--video" data-js-carousel-item aria-label="2 of 4">
<div class="card-group__item">
<figure class="video-embed__figure">
<img class="video-embed__image" srcset="https://images.fastspot.com/framework/1440x810/2 1440w, https://images.fastspot.com/framework/1220x686/2 1220w, https://images.fastspot.com/framework/980x552/2 980w, https://images.fastspot.com/framework/740x416/2 740w, https://images.fastspot.com/framework/500x282/2 500w, https://images.fastspot.com/framework/300x169/2 300w" src="https://images.fastspot.com/framework/300x169/2" alt="" loading="lazy" width="300" height="169">
<div class="
video-lazy
video-embed__video-lazy
video-lazy--aspect-
" data-js-video-lazy='{"id":"258133523","type":"vimeo","display":"inline","aspectRatio":"landscape","autoplay":false,"playerVars":{}}'>
<a class="video-lazy__play" data-js-video-lazy-play href="https://vimeo.com/258133523" aria-label="Play Fastspot Moments">
<svg class="icon icon--video-play">
<use href="/images/icons.svg?1.0.0#video-play" />
</svg>
</a>
<div class="video-lazy__iframe-wrapper">
<div class="video-lazy__iframe-target" data-js-video-lazy-iframe-target></div>
</div>
</div>
</figure>
</div>
</div>
<div class="swiper-slide carousel__item carousel__item--video" data-js-carousel-item aria-label="3 of 4">
<div class="card-group__item">
<figure class="video-embed__figure">
<img class="video-embed__image" srcset="https://images.fastspot.com/framework/1440x810/3 1440w, https://images.fastspot.com/framework/1220x686/3 1220w, https://images.fastspot.com/framework/980x552/3 980w, https://images.fastspot.com/framework/740x416/3 740w, https://images.fastspot.com/framework/500x282/3 500w, https://images.fastspot.com/framework/300x169/3 300w" src="https://images.fastspot.com/framework/300x169/3" alt="" loading="lazy" width="300" height="169">
<div class="
video-lazy
video-embed__video-lazy
video-lazy--aspect-
" data-js-video-lazy='{"id":"3atcjPFBb-Y","type":"youtube","display":"inline","aspectRatio":"landscape","autoplay":false,"playerVars":{}}'>
<a class="video-lazy__play" data-js-video-lazy-play href="https://www.youtube.com/watch?v=3atcjPFBb-Y" aria-label="Play Fastspot Work">
<svg class="icon icon--video-play">
<use href="/images/icons.svg?1.0.0#video-play" />
</svg>
</a>
<div class="video-lazy__iframe-wrapper">
<div class="video-lazy__iframe-target" data-js-video-lazy-iframe-target></div>
</div>
</div>
</figure>
</div>
</div>
<div class="swiper-slide carousel__item carousel__item--video" data-js-carousel-item aria-label="4 of 4">
<div class="card-group__item">
<figure class="video-embed__figure">
<img class="video-embed__image" srcset="https://images.fastspot.com/framework/1440x810/4 1440w, https://images.fastspot.com/framework/1220x686/4 1220w, https://images.fastspot.com/framework/980x552/4 980w, https://images.fastspot.com/framework/740x416/4 740w, https://images.fastspot.com/framework/500x282/4 500w, https://images.fastspot.com/framework/300x169/4 300w" src="https://images.fastspot.com/framework/300x169/4" alt="" loading="lazy" width="300" height="169">
<div class="
video-lazy
video-embed__video-lazy
video-lazy--aspect-
" data-js-video-lazy='{"id":"258133523","type":"vimeo","display":"inline","aspectRatio":"landscape","autoplay":false,"playerVars":{}}'>
<a class="video-lazy__play" data-js-video-lazy-play href="https://vimeo.com/258133523" aria-label="Play Fastspot Moments">
<svg class="icon icon--video-play">
<use href="/images/icons.svg?1.0.0#video-play" />
</svg>
</a>
<div class="video-lazy__iframe-wrapper">
<div class="video-lazy__iframe-target" data-js-video-lazy-iframe-target></div>
</div>
</div>
</figure>
</div>
</div>
</div>
<div class="swiper-controls carousel__controls">
<div class="fw-container">
<div class="carousel__controls-inner">
<div class="swiper-pagination" data-js-carousel-pagination>
</div>
<div class="carousel__buttons">
<button class="swiper-button
swiper-button--prev
carousel__button swiper-button-prev" data-js-carousel-arrow-prev="">
<span class="swiper-button__inner"> <span class="swiper-button__label">Previous Slide</span>
<span class="swiper-button__icon" aria-hidden="true"><svg class="icon icon--arrow-left">
<use href="/images/icons.svg?1.0.0#arrow-left" />
</svg></span>
</span>
</button>
<button class="swiper-button
swiper-button--next
carousel__button swiper-button-next" data-js-carousel-arrow-next="">
<span class="swiper-button__inner"> <span class="swiper-button__label">Next Slide</span>
<span class="swiper-button__icon" aria-hidden="true"><svg class="icon icon--arrow-right">
<use href="/images/icons.svg?1.0.0#arrow-right" />
</svg></span>
</span>
</button>
</div>
</div>
</div>
</div>
</section>
</div>
{% set id = uniqid('carousel') %}
<div class="carousel card-group{% for modifier in modifiers|default([]) %} carousel--{{ modifier }}{% endfor %}" id="{{ id }}">
<div class="card-group__header">
<div class="fw-container">
<h2 class="card-group__title" id="{{ id ~ '__title' }}">
{{- group_title -}}
</h2>
<div class="card-group__description" id="{{ id ~ '__description' }}">
<p>{{ group_description }}</p>
</div>
</div>
</div>
<section
class="swiper carousel__swiper"
data-js-carousel='{{ carousel_config|json_encode }}'
aria-labelledby="{{ id ~ '__title' }}"
aria-describedby="{{ id ~ '__description' }}"
>
<div class="swiper-wrapper">
{% for item in items %}
<div
class="swiper-slide carousel__item{{ item.video is defined ? ' carousel__item--video' : '' }}"
data-js-carousel-item
aria-label="{{ loop.index ~ ' of ' ~ loop.length }}"
>
<div class="card-group__item">
<figure class="video-embed__figure">
{% include '@partial-image' with {
class: 'video-embed__image',
image: item.image,
alt: item.alt|default(''),
loading: 'lazy',
crop: 'wide',
max: 'xlrg'
} only %}
{% include '@partial-video-lazy' with {
classes: {
base: 'video-embed__video-lazy',
modifiers: []
},
video: {
id: item.video.id,
type: item.video.type,
title: item.video.title
},
} only %}
</figure>
</div>
</div>
{% endfor %}
</div>
<div class="swiper-controls carousel__controls">
<div class="fw-container">
<div class="carousel__controls-inner">
{% if controls.pagination == true %}
<div
class="swiper-pagination"
data-js-carousel-pagination
>
</div>
{% endif %}
{% if controls.buttons == true %}
<div class="carousel__buttons">
{% include '@partial-button' with {
classes: {
base: 'swiper-button',
modifiers: ['prev'],
utility: 'carousel__button swiper-button-prev'
},
attributes: {
'data-js-carousel-arrow-prev': ''
},
title: 'Previous Slide',
icon: 'arrow-left'
} only %}
{% include '@partial-button' with {
classes: {
base: 'swiper-button',
modifiers: ['next'],
utility: 'carousel__button swiper-button-next'
},
attributes: {
'data-js-carousel-arrow-next': ''
},
title: 'Next Slide',
icon: 'arrow-right'
} only %}
</div>
{% endif %}
</div>
</div>
</div>
</section>
</div>
No notes defined.