.persons__page
    ol.programs
        li
            justify-content: flex-start
            @include media-breakpoint-up(desktop)
                @include grid(2)
            @include icon(arrow-right, after, true)
                color: inherit
                position: absolute
                right: 0
                top: $spacing1
                transform: translateY(half($spacing0))
                @include media-breakpoint-up(desktop)
                    transform: translateY(half($spacing1))
            a
                color: inherit
                @include stretched-link(before)
                @include media-breakpoint-down(desktop)
                    margin-right: $spacing1
            p
                margin-top: unset
                &:nth-child(2)
                    @include small
            &:hover
                color: $color-accent

.person
    @include article
    word-break: break-word
    .avatar
        margin-bottom: $spacing1
        order: -1
        width: px2rem(76)
    .name
        @include h4
        a
            @include stretched-link
            text-decoration: none
        + p
            margin-top: half($spacing0)
    .description
        @include small
    @include media-breakpoint-down(md)
        flex-direction: row
        justify-content: space-between
        .avatar
            align-self: start
            flex-shrink: 0
            order: 2
            margin-left: $spacing0
            margin-bottom: 0
    @include media-breakpoint-up(desktop)
        @include in-page-without-sidebar
            text-align: center
            .avatar
                width: 100%

section.persons,
div.persons
    @include grid(1)
    @include grid(2, md)
    @include grid(3, lg)
    @include grid(5, xl)
    @include grid(6, xxl)

ol.persons--list
    @include list-reset
    > li
        border-bottom: 1px solid $color-border
        padding-bottom: $spacing1
        padding-top: $spacing1
        position: relative
        transition: color 0.5s
        @include icon(arrow, after)
            margin-left: auto
        &:hover
            color: $color-accent
            justify-self: end
        a
            @include stretched-link
            text-decoration: none
            color: inherit
        [itemprop="jobTitle"]
            @include small
            margin-top: 0
        @include media-breakpoint-up(desktop)
            align-items: baseline
            display: flex
            [itemprop="name"]
                width: col(5)
            [itemprop="jobTitle"]
                width: col(6)
                margin-left: $grid-gutter
        @include media-breakpoint-down(desktop)
            &::after
                position: absolute
                right: 0
                top: calc(#{$spacing1} + 10px)

.avatar
    // @include aspect-ratio(50, 'img')
    background-color: $persons-avatar-background-color
    border-radius: 50%
    // margin-bottom: $spacing2
    overflow: hidden
    position: relative
    // width: 100%
    &::before
        content: ""
        display: block
        padding-top: 100%
    picture, img
        @include inset(0)
        height: 100%
        width: 100%
        position: absolute
    img
        object-fit: cover

/* TODO revoir ce nom */
.taxonomies-persons
    @include list-reset
    li
        @include media-breakpoint-down(desktop)
            margin-bottom: $spacing1
            a
                display: block
        @include media-breakpoint-up(desktop)
            display: inline-block
            margin-right: $spacing2
    a
        @include link
        @include link-hovered-underline-only
        @include meta
        @include icon(arrow, after)
            margin-left: $spacing1

.lead + .taxonomies-persons
    margin-top: $spacing-section-y

.persons__section
    * + .persons
        margin-top: $spacing-section-y
    .persons:last-child
        padding-bottom: $spacing3

.persons__page
    .hero
        @include media-breakpoint-down(desktop)
            padding-bottom: 0
            margin-bottom: $spacing4
            .avatar
                width: col(6)
                margin-top: $spacing1
                margin-left: auto
                transform: translateY(100px)
                margin-top: calc(#{$spacing1} - 100px)
        @include media-breakpoint-up(desktop)
            .content
                align-items: center
                display: flex
                justify-content: space-between
                margin-top: 0
                h1
                    margin-bottom: 0
                    width: col(8)
                .avatar
                    margin-bottom: 0
                    width: col(3)
    .roles
        a
            @include small
    .blocks
        margin-top: $spacing3
    .person-programs
        margin-top: $spacing4
    @include media-breakpoint-down(lg)
        .roles
            margin-top: $spacing2
    @include media-breakpoint-up(lg)
        .informations
            @include grid
            margin-bottom: $spacing2
            > div:first-of-type
                grid-column: 1 / 9
            .roles
                grid-column: 9 / 13
                text-align: right
            .lead + div
                margin-top: $spacing2
    .contacts-details ul
        @include grid(2, md, 0)
        li
            margin-top: 0
            margin-bottom: $spacing1