main {
  min-height: 100vh; }

section.projects-container {
  margin-bottom: 10rem; }
  section.projects-container .buttonHolder {
    margin-bottom: 2em; }
  section.projects-container[data-mode="grid"] #gridButton span::after {
    left: 0;
    right: auto;
    width: 100%; }
  section.projects-container[data-mode="grid"] .projects {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: auto;
    column-gap: var(--mainpad);
    row-gap: 4rem; }
    @media (max-width : 900px) {
      section.projects-container[data-mode="grid"] .projects {
        grid-template-columns: repeat(4, 1fr);
        row-gap: calc(2 * var(--mainpad)); } }
  @media (min-width : 900px) {
    section.projects-container[data-mode="grid"] .project-card.mid {
      grid-column: span 3; }
    section.projects-container[data-mode="grid"] .project-card.full {
      grid-column: span 6; } }
  @media (max-width : 900px) {
    section.projects-container[data-mode="grid"] .project-card {
      grid-column: span 4; } }
  section.projects-container[data-mode="grid"] .project-card .image-holder {
    margin-bottom: 1rem;
    height: 0;
    position: relative;
    padding-bottom: 66.666666%; }
  section.projects-container[data-mode="grid"] .project-card img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%;
    filter: grayscale(1);
    transition: filter 0.5s var(--timing); }
  @media (min-width : 900px) {
    section.projects-container[data-mode="grid"] .project-card:hover img {
      filter: grayscale(0); } }
  section.projects-container[data-mode="list"] #listButton span::after {
    left: 0;
    right: auto;
    width: 100%; }
  section.projects-container[data-mode="list"] .projects {
    display: flex;
    flex-direction: column; }
    section.projects-container[data-mode="list"] .projects .project-card.mid .image-holder {
      width: 50vw;
      padding-bottom: 32vw; }
    section.projects-container[data-mode="list"] .projects .project-card.full .image-holder {
      width: 40vw;
      padding-bottom: 50vw; }
    section.projects-container[data-mode="list"] .projects .project-card .image-holder {
      opacity: 0;
      right: var(--mainpad);
      top: 50%;
      transform: translateY(-50%);
      height: 0;
      position: fixed; }
    section.projects-container[data-mode="list"] .projects .project-card img {
      position: absolute;
      top: 0;
      left: 0;
      object-fit: cover;
      object-position: center;
      height: 100%;
      width: 100%; }
    section.projects-container[data-mode="list"] .projects .project-card span {
      font-size: var(--fontLarge);
      color: var(--grey); }
      section.projects-container[data-mode="list"] .projects .project-card span::after {
        content: none; }
    @media (min-width : 900px) {
      section.projects-container[data-mode="list"] .projects .project-card:hover .image-holder {
        opacity: 1; }
      section.projects-container[data-mode="list"] .projects .project-card:hover span {
        color: var(--black); } }
