
.directory {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2rem;
    padding: 2rem;
    border: 3px solid #6893c5;
}

@media screen and (max-width: 991px) {
    .directory {
        grid-template-columns: 1fr;
    }
}

.directory__group-title {
    font-size: 1.25rem;
}

.directory__group-dropdown {
    width: 100%;
}

.directory__actions button {
    border: none;
    padding: .5rem 1rem;
    background-color: #6893c5;
    color: #fff;
    font-weight: bold;
}

.directory__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

@media screen and (max-width: 991px) {
    .directory {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .directory {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 640px) {
    .directory {
        grid-template-columns: 1fr;
    }
}

.directory__member {
    padding: 2rem 1rem;
    border: 1px solid rgba(0,0,0,.05);
    text-align: center;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s, background-color .2s;
}

.directory__member:hover {
    background-color: #6893c5;
    border-color: #6893c5;
    color: #fff;
    box-shadow: 1px 1px 5px rgba(0,0,0,.2)
}

.directory__member-image {
    margin-bottom: 1rem;
}

.directory__member-image a:hover {
    opacity: 1;
}

.directory__member-image img {
    border-radius: 50%;
    overflow: hidden;
    transition: opacity .2s;
    border: 1px solid transparent;
    width: 60%
}

.directory__member:hover .directory__member-image img {
    border-color: #fff;
}

.directory__member-name {
    font-size: 1.1rem;
}

.directory__member:hover .directory__member-name a {
    color: #fff;
    opacity: 1;
}

.directory__member-info {
    font-size: .8rem;
    margin-top: .5rem;
}

.directory__member-bio {
    font-size: .65rem;
    margin-top: .5rem;
}

.directory__member-spacer {
    flex: 1;
}

.directory__member-social-info {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.directory__member:hover .directory__member-social-info a {
    color: #fff;
}

.directory__member-social-info a {
    width: 2rem;
    height: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #253a7a;
    color: #fff;
    border-radius: 50%;
    padding: 5px;
    margin-left: .5rem;
    margin-right: .5rem;
}

.directory__member-view-profile {
    margin-top: auto;
}

.directory__pagination {
    margin-top: 2rem;
    margin-bottom: 1rem;
    display: flex;
    justify-content: center;
}
