.generic-member-list {
    width: 100%;
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    overflow-y: hidden;
    margin-bottom: 20px;
    grid-row-gap: 20px;
}

.generic-member-list li {
    list-style-type: none;
}

.generic-member-list .empty-state {
    margin: auto;
    margin-top: 21px;
}

.generic-member-list .load-more-button-container {
    position: absolute;
    bottom: 0;
    background: linear-gradient(180deg, #ffffff00 0%, #ffffff 66.15%);
    height: 202px;
    width: 100%;
    pointer-events: none;
}

.generic-member-list .load-more-button-container button {
    position: absolute;
    bottom: 19px;
    left: 50%;
    transform: translateX(-50%);
    border: 1px solid var(--color-black);
    color: unset;
    width: 124px;
    height: 40px;
    font-family: inherit;
    font-size: 14px;
    line-height: 159.5%;
    background-color: var(--color-white);
    cursor: pointer;
    pointer-events: all;
}

.generic-member-list li {
    border-bottom: 1px solid black;
}

.generic-member-list .member-image {
    display: none;
}

.generic-member-list .fullname {
    width: 100%;
    font-family: Obviously Medium;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 4px;
}

.generic-member-list .roles {
    margin-bottom: 10px;
}

.generic-member-list .roles > * {
    font-family: Obviously;
    font-size: 14px;
    line-height: 22px;
}

.generic-member-list .roles:has(.additional-title) {
    margin-bottom: 16px;
}

.generic-member-list .mobile-details {
    margin-bottom: 11px;
}

.generic-member-list .mobile-details > * {
    font-family: Obviously;
    font-size: 14px;
    line-height: 25px;
}

.generic-member-list .mobile-details .email {
    display: block;
    color: var(--color-red);
    margin-bottom: -4px;
}

@media (min-width: 768px) {
    .generic-member-list {
        position: relative;
        width: 100%;
        grid-template-columns: repeat(3, 1fr);
        justify-content: space-between;
        column-gap: 32px;
        row-gap: 36px;
        margin-bottom: 53px;
        overflow-y: visible;
    }

    .generic-member-list .empty-state {
        margin-top: unset;
        position: absolute;
        top: 4px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 20px;
        line-height: 32px;
    }

    .generic-member-list li {
        border-bottom: none;
    }

    .generic-member-list .team-member-preview:hover {
        color: var(--color-red);
    }

    .generic-member-list .member-image {
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }

    .generic-member-list .fullname-and-links {
        font-family: Obviously;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: unset;
    }

    .generic-member-list .fullname {
        font-family: Obviously Medium;
        line-height: 22px;
        font-size: 16px;
        margin-bottom: unset;
    }

    .generic-member-list .roles {
        margin-bottom: unset;
    }

    .generic-member-list .roles > * {
        font-family: Obviously Light;
        font-size: 16px;
    }

    .generic-member-list .roles:has(.additional-title) {
        margin-bottom: unset;
    }

    .generic-member-list .mobile-details {
        display: none;
    }
}

@media (min-width: 1194px) {
    .generic-member-list {
        column-gap: 134px;
        row-gap: 58px;
        margin-bottom: 98px;
    }

    .generic-member-list .member-image {
        margin-bottom: 4px;
    }

    .generic-member-list .fullname {
        margin-bottom: -2px;
    }
}

@media (min-width: 1500px) {
    .generic-member-list {
        column-gap: 74px;
    }

    .generic-member-list .member-image {
        margin-bottom: 20px;
    }

    .generic-member-list .fullname {
        font-size: 20px;
        line-height: 27px;
    }

    .generic-member-list .roles > * {
        font-size: 20px;
        line-height: 27px;
    }

    .generic-member-list .empty-state {
        top: -9px;
    }
}

@media (min-width: 1700px) {
    .generic-member-list {
        column-gap: 226px;
    }
}
