aio-contributor-list {
  .contributor-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  @media handheld and (max-width: 480px), screen and (max-width: 900px) {
    .grid-fluid {
      margin-left: 20px;
      margin-right: 20px;
      float: none;
      display: block;
      width: auto;
    }
  }
}

aio-contributor {
  background: $white;
  margin: 8px;
  position: relative;
  cursor: pointer;
  border-radius: 4px;
  box-shadow: 0 2px 2px rgba(10, 16, 20, 0.24), 0 0 2px rgba(10, 16, 20, 0.12);
  transition: all .3s;
  perspective: 800px;

  @media (hover) {
    &:hover {
      transform: translate3d(0,-3px,0);
      box-shadow: 0 8px 8px rgba(10, 16, 20, 0.24), 0 0 8px rgba(10, 16, 20, 0.12);

      .contributor-image {
        transform: scale(1.05);
      }

      .contributor-info {
        opacity: 1;
      }
    }
  }

  .contributor-info {
    background: rgba($darkgray, 0.5);
    height: 168px;
    width: 168px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    text-align: center;
    /* There is no point in hiding this if we can't hover to show it. */
    @media (hover) { opacity: 0; }
    border-radius: 50%;

    .info-item {
      color: $white;
      display: flex;
      @include font-size(14);
      font-weight: 500;
      margin: 8px;
      padding: 0;

      &:hover {
        color: $lightgray;
        text-decoration: none;
      }

      &.icon {
        min-width: 20px;
        width: 20px;

        mat-icon {
          height: 20px;
          width: 20px;

          &.link-icon {
            margin-top: -7px;
            transform: rotateZ(45deg);
          }
        }
      }
    }
  }

  .contributor-card {
    width: 250px;
    height: 270px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    transform-style:preserve-3d;
    transition:transform ease 500ms;

    h3 {
      margin: 8px 0;
    }

    .card-front, .card-back {
      width: 100%;
      height: 100%;
      text-align: center;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
    }

    .card-front {
      justify-content: center;
    }

    .card-back {
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 16px 24px;
      transform:rotateY(180deg);

      section {
        display: none;
      }

      p {
        margin: 8px 0;
        @include font-size(12);
        @include line-height(14);
        text-align: left;
      }
    }

    &.flipped {
      transform:rotateY(180deg);

      .card-front {
        display: none;
      }
    }
  }

  .contributor-image {
    display: flex;
    justify-content: center;
    border-radius: 50%;
    align-items: center;
    height: 168px;
    width: 168px;
    background-size: cover;
    background-position: center;
    margin: 8px auto;
    border: 2px solid $lightgray;
    transition: all .2s ease-in-out;
  }

  p {
    cursor: pointer;
    @include font-size(14);
    @include line-height(18);
    margin: 8px 16px;
    text-overflow: ellipsis;
    overflow-y: auto;
    font-weight: 400;
  }
}
