<section class="slice speakers">
<div class="fluid-grid" js-tabs>
{% if slice.title is defined and slice.title is not null %}
<h2 class="title title--L title--circle font-weight-light text-violet relative mb-4 lg:mb-6">
{{ slice.title|highlight_word|raw }}
</h2>
{% endif %}
{# tabs buttons #}
{% if slice.groups|length > 1 %}
<ul class="relative flex lg:flex-wrap speakers__tab-list w-full mb-8">
{% for group in slice.groups %}
<li>
<button class="speakers__tab-toggle {% if loop.index == 1 %}is-active{% endif %}"
js-tabs-tab="{{ loop.index }}">{{ group.groupName }}
</button>
</li>
{% endfor %}
</ul>
{% endif %}
{# panels #}
{% for group in slice.groups %}
<div class="speakers__panel {{ slice.groups|length == 1 ? 'lg:mt-8' : '' }} {% if loop.index == 1 %}is-active{% endif %}"
js-tabs-content="{{ loop.index }}">
<ul class="row gap-y-6">
{% for speaker in group.speakers %}
{% set speakerProperties = speaker.contentProperties %}
{% set hasAdditionalContent = speakerProperties.contact is defined and speakerProperties.contact is not null
or speakerProperties.address is defined and speakerProperties.address is not null
or speakerProperties.website is defined and speakerProperties.website is not null
or speakerProperties.email is defined and speakerProperties.email is not null
or speakerProperties.phone is defined and speakerProperties.phone is not null
or speakerProperties.linkedinLink is defined and speakerProperties.linkedinLink is not null
or speakerProperties.twitterLink is defined and speakerProperties.twitterLink is not null
or speakerProperties.facebookLink is defined and speakerProperties.facebookLink is not null
or speaker.description is defined and speaker.description is not null %}
<li class="col-6 md-col-4 lg-col-3">
{% if hasAdditionalContent %}
<button class="card card-speaker card-speaker--modal"
js-dynamic-modal="{route: '/ajax/modal', id:'{{ speaker.id }}', position: 'aside-modal', model: 'speaker-modal'}">
{% else %}
<div class="card card-speaker">
{% endif %}
<div class="visual__wrapper relative overflow-hidden">
{% if speaker.contentProperties.image.singleMedia is defined and speaker.contentProperties.image.singleMedia.publicId is not null %}
{% if speaker.contentProperties.isLogo %}
<picture>
<source media="(max-width: 420px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_limit,q_auto,w_166,h_144') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_limit,q_auto,w_166,h_144,dpr_2') }} 2x"/>
<source media="(min-width: 420px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_limit,q_auto,w_316,h_275') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_limit,q_auto,w_316,h_275,dpr_2') }} 2x"/>
<img class="abs-center is-logo lazyload"
data-src="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,q_auto,c_limit,w_316,h_275') }}"
alt="{{ speaker.contentProperties.image.singleMedia.alt }}">
</picture>
{% else %}
<picture>
<source media="(max-width: 420px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_166,h_144') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_166,h_144,dpr_2') }} 2x"/>
<source media="(max-width: 767px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_340,h_295') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_340,h_295,dpr_2') }} 2x"/>
<source media="(max-width: 1023px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_304,h_264') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_304,h_264,dpr_2') }} 2x"/>
<source media="(max-width: 1279px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_280,h_243') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_280,h_243,dpr_2') }} 2x"/>
<source media="(min-width: 1280px)" data-srcset="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_316,h_275') }} 1x, {{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,c_fill,g_face,q_auto,w_316,h_275,dpr_2') }} 2x"/>
<img class="abs-center lazyload" width="316" height="275"
data-src="{{ cloudinary_media(speaker.contentProperties.image.singleMedia, 'f_auto,q_auto,c_fill,g_face,w_316,h_275') }}"
alt="{{ speaker.contentProperties.image.singleMedia.alt }}">
</picture>
{% endif %}
{% else %}
<img class="abs-center is-logo lazyload"
data-src="/assets/front/federation-default.svg"
alt="" >
{% endif %}
</div>
<p class="name text-violet font-weight-light text-center mt-4">{{ speaker.title }}</p>
{% if speaker.contentProperties.subTitle is defined and speaker.contentProperties.subTitle is not null %}
<p class="description text-violet-dark font-weight-semibold text-center mt-2">
{{ speaker.contentProperties.subTitle }}
</p>
{% endif %}
{% if hasAdditionalContent %}
</button>
{% else %}
</div>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
{% endfor %}
</div>
</section>