.team-member__thumb img {
    max-width: 210px !important;
    border: 1px solid #1E1C1C !important;
}

.team-map .elevator-icon-before > .scroll-buttons {
    display: none;
}

/*
 * The theme absolutely positions team cards on desktop. That causes multiple
 * representatives for the same state to overlap and prevents this container
 * from developing the scrollable overflow used by the arrow controls.
 */
@media (min-width: 992px) {
    .team-map .team-members {
        height: 400px;
        min-height: 400px;
        overflow: hidden;
        scroll-behavior: smooth;
    }

    .team-map .team-members > .team-member {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
    }

    /* Replace the theme's decorative elevator arrows with functional controls. */
    .team-map .elevator-icon-before::before {
        display: none;
    }

    .team-map .elevator-icon-before > .scroll-buttons {
        background: url("../images/elevator-buttons.svg") center / contain no-repeat;
        bottom: 50px;
        display: grid;
        grid-template-rows: repeat(2, 1fr);
        height: 85px;
        left: -32.5px;
        line-height: 0;
        position: absolute;
        width: 62px;
        z-index: 10;
    }

    .team-map .scroll-buttons > button {
        appearance: none;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        color: transparent;
        cursor: pointer;
        display: block;
        font-size: 0;
        height: 100%;
        margin: 0;
        min-height: 0;
        padding: 0;
        width: 100%;
    }

    .team-map .scroll-buttons > button:focus-visible {
        outline: 2px solid #C62032;
        outline-offset: -10px;
    }
}
