.candidate-table-row {
  /* Relative for box shadow to layer properly. */
  @apply relative w-full py-4 grid items-center;

  grid-template-areas: "position avatar name"
                       "position avatar bio"
                       "position avatar affiliation";
  /* Needs to match avatar width */
  grid-template-columns: auto theme("width.16") 1fr;

  &:after {
    content: '';
    @apply absolute z-10 w-full h-full transition duration-200 elevation-0;
  }

  &:hover:after {
    @apply elevation-10;
  }

  &:hover {
    @apply no-underline;
  }
}

.candidate-table-row__position {
  @apply pl-4 pr-6;
  grid-area: position;
}

.candidate-table-row__avatar {
  @apply w-16;
  grid-area: avatar;
}

.candidate-table-row__name {
  @apply pl-6 pr-4 py-1;
  grid-area: name;
}

.candidate-table-row__bio {
  /* py-1 here to avoid overflow: hidden cutting Č Ř characters etc. */
  @apply truncate py-1 pl-6 pr-4;
  grid-area: bio;
}

.candidate-table-row__affiliation {
  @apply flex items-center justify-start whitespace-no-wrap py-1 pl-6 pr-4;
  grid-area: affiliation;
}

@screen md {
  .candidate-table-row {
    @apply py-1;
    grid-template-areas: "position avatar name bio affiliation";
    /* Needs to match avatar width */
    grid-template-columns: auto theme("width.10") 20% 1fr 25%;
  }

  .candidate-table-row__avatar {
    @apply w-10;
  }

  .candidate-table-row__name {
    @apply px-8;
  }

  .candidate-table-row__position {
    @apply pl-16;
  }

  .candidate-table-row__bio {
    @apply border-l border-grey-125 px-8;
  }

  .candidate-table-row__affiliation {
    @apply pl-8 pr-16;
  }
}