/* MEM Studios — Projects page styles
   Extracted from the legacy Webflow stylesheet in Phase 17. */
.projects-gallery {
  grid-column-gap: var(--mem-space-inline-md);
  grid-row-gap: var(--mem-space-inline-md);
  background-color: #0000;
  flex-flow: column;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
}

.filter-list-wrapper {
  grid-column-gap: var(--mem-space-inline-xs);
  grid-row-gap: var(--mem-space-inline-xs);
  flex-flow: wrap;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.filter-link {
  grid-column-gap: var(--mem-space-inline-xs);
  grid-row-gap: var(--mem-space-inline-xs);
  border: .1vw solid var(--faded-super-silver);
  color: var(--super-silver);
  letter-spacing: .12vw;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #0000;
  border-radius: 100vw;
  flex: none;
  align-items: center;
  padding: .8vw 1.2vw;
  font-size: .8vw;
  font-weight: var(--mem-weight-medium);
  line-height: 1.2;
  text-decoration: none;
  transition: font-variation-settings .4s ease-out, color .4s ease-out, background-color .4s ease-out;
  display: flex;
}

.filter-link:hover {
  background-color: var(--super-silver);
  color: var(--ink);
  font-weight: var(--mem-weight-semibold);
}

.filter-link.is-current {
  background-color: var(--super-silver);
  color: var(--ink);
  margin-left: .5rem;
  margin-right: .5rem;
  font-weight: var(--mem-weight-semibold);
  transition: color .3s, font-size .3s;
}

.filter-link.is-active {
  background-color: var(--super-silver);
  color: var(--ink);
  font-weight: var(--mem-weight-semibold);
}

.project-cards-wrapper {
  grid-column-gap: var(--mem-space-inline-md);
  grid-row-gap: var(--mem-space-inline-lg);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  width: 100%;
  display: grid;
}

.project-card {
  cursor: pointer;
}

.project-card-link {
  grid-column-gap: 1.5vw;
  grid-row-gap: 1.5vw;
  color: var(--super-silver);
  flex-flow: column;
  width: 100%;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: clip;
}

.project-card-info {
  z-index: 100;
  grid-column-gap: var(--mem-space-inline-xs);
  grid-row-gap: var(--mem-space-inline-xs);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  text-decoration: none;
  display: flex;
  position: relative;
  inset: auto 0% 0%;
}

.project-card-image-wrapper {
  object-fit: cover;
  border-radius: .3vw;
  justify-content: center;
  align-self: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  display: flex;
}

.view-change-wrapper {
  justify-content: flex-end;
}

.filter-list-align-wrapper {
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.view-change-button {
  grid-column-gap: var(--mem-space-inline-xs);
  grid-row-gap: var(--mem-space-inline-xs);
  border: .1vw solid var(--faded-super-silver);
  background-color: var(--super-silver);
  color: var(--ink);
  letter-spacing: .12vw;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  border-radius: 100vw;
  flex: none;
  align-items: center;
  padding: .8vw 1.2vw;
  font-size: .8vw;
  font-weight: var(--mem-weight-semibold);
  line-height: 1.2;
  text-decoration: none;
  display: flex;
}

.view-change-button.is-current {
  background-color: var(--super-silver);
  color: var(--ink);
  margin-left: .5rem;
  margin-right: .5rem;
  font-weight: var(--mem-weight-semibold);
  transition: color .3s, font-size .3s;
}

.view-change-icon {
  width: 1.2vw;
  height: 1.2vw;
}

.project-card-description {
  width: 50%;
}

.project-card-info-wrapper {
  z-index: 100;
  grid-column-gap: var(--mem-space-inline-sm);
  grid-row-gap: var(--mem-space-inline-sm);
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  text-decoration: none;
  display: grid;
  position: relative;
  inset: auto 0% 0%;
}

@media screen and (min-width: 1280px) {
  .projects-gallery {
    grid-column-gap: var(--mem-space-block-lg);
    grid-row-gap: var(--mem-space-block-lg);
  }

  .filter-list-wrapper {
    grid-column-gap: var(--mem-space-block-xs);
    grid-row-gap: var(--mem-space-block-xs);
  }

  .filter-link {
    grid-column-gap: 1.1vh;
    grid-row-gap: 1.1vh;
    letter-spacing: .16vh;
    border-width: .2vh;
    border-radius: var(--mem-radius-pill);
    padding: 1.4vh 2.2vh;
    font-size: 1.7vh;
  }

  .project-cards-wrapper {
    grid-column-gap: var(--mem-space-block-lg);
    grid-row-gap: var(--mem-space-block-xl);
  }

  .project-card-link {
    grid-column-gap: var(--mem-space-block-md);
    grid-row-gap: var(--mem-space-block-md);
  }

  .project-card-info {
    grid-column-gap: var(--mem-space-block-xs);
    grid-row-gap: var(--mem-space-block-xs);
    margin-top: 0;
  }

  .project-card-image-wrapper {
    border-radius: .6vh;
  }

  .filter-list-align-wrapper {
    grid-column-gap: var(--mem-space-block-xs);
    grid-row-gap: var(--mem-space-block-xs);
  }

  .view-change-button {
    grid-column-gap: 1.1vh;
    grid-row-gap: 1.1vh;
    letter-spacing: .16vh;
    border-width: .2vh;
    border-radius: var(--mem-radius-pill);
    padding: 1.4vh 2.2vh;
    font-size: 1.7vh;
  }

  .view-change-icon {
    width: 2.2vh;
    height: 2.2vh;
  }

  .project-card-info-wrapper {
    margin-top: 0;
  }
}

@media screen and (max-width: 991px) {
  .projects-gallery {
    grid-column-gap: 5vh;
    grid-row-gap: 5vh;
  }

  .filter-list-wrapper {
    grid-column-gap: .8vh;
    grid-row-gap: var(--mem-space-block-sm);
  }

  .filter-link {
    grid-column-gap: .8vh;
    grid-row-gap: .8vh;
    color: var(--super-silver);
    letter-spacing: .2vh;
    border-width: .18vh;
    border-radius: var(--mem-radius-pill);
    padding: 1vh 2vh;
    font-size: 1.4vh;
  }

  .filter-link:active {
    background-color: var(--super-silver);
    color: var(--ink);
    border-radius: 100vw;
  }

  .filter-link.is-current {
    margin-left: 0;
    margin-right: 0;
  }

  .filter-link.is-current:active {
    background-color: var(--super-silver);
    border-radius: 100vw;
  }

  .project-cards-wrapper {
    grid-column-gap: var(--mem-space-block-md);
    grid-row-gap: var(--mem-space-block-xl);
    flex-flow: column;
    grid-template-columns: 1fr;
    display: flex;
  }

  .project-card {
    flex-flow: column;
    align-self: stretch;
    align-items: stretch;
    display: flex;
  }

  .project-card-link {
    grid-column-gap: var(--mem-space-block-md);
    grid-row-gap: var(--mem-space-block-md);
    border-radius: 0;
    width: 100%;
    min-width: auto;
    overflow: visible;
  }

  .project-card-info {
    grid-column-gap: .8vh;
    grid-row-gap: .8vh;
    flex-flow: column;
    align-self: flex-start;
    align-items: flex-start;
  }

  .project-card-image-wrapper {
    border-radius: .4vh;
  }

  .view-change-wrapper {
    display: none;
  }

  .filter-list-align-wrapper {
    align-items: flex-start;
  }

  .view-change-button {
    grid-column-gap: .8vh;
    grid-row-gap: .8vh;
    letter-spacing: .2vh;
    border-width: .18vh;
    border-radius: var(--mem-radius-pill);
    padding: 1vh 2vh;
    font-size: 1.4vh;
  }

  .view-change-button:active {
    background-color: var(--super-silver);
    color: var(--ink);
    border-radius: 100vw;
  }

  .view-change-button.is-current {
    margin-left: 0;
    margin-right: 0;
  }

  .view-change-button.is-current:active {
    background-color: var(--super-silver);
    border-radius: 100vw;
  }

  .view-change-icon {
    width: 2.1vh;
    height: 2.1vh;
  }

  .project-card-info-wrapper {
    grid-column-gap: var(--mem-space-block-sm);
    grid-row-gap: var(--mem-space-block-sm);
    flex-flow: column;
    align-self: flex-start;
    align-items: flex-start;
    width: 80%;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .project-card-info {
    align-items: flex-start;
  }

  .project-card-info-wrapper {
    align-items: flex-start;
  }
}

@media screen and (max-width: 479px) {
  .filter-list-wrapper {
    grid-row-gap: var(--mem-space-block-xs);
  }

  .filter-link {
    font-size: 1.3vh;
  }

  .project-cards-wrapper {
    grid-column-gap: 5vh;
    grid-row-gap: 5vh;
  }

  .project-card-image-wrapper {
    aspect-ratio: 4 / 4.5;
  }

  .filter-list-align-wrapper {
    grid-row-gap: var(--mem-space-block-xs);
  }

  .view-change-button {
    font-size: 1.3vh;
  }

  .project-card-info-wrapper {
    width: 100%;
  }
}

/* Page-specific interaction/layout states previously embedded in the page head. */
.project-card {
  transform-style: preserve-3d;
  will-change: transform, filter;
}

.project-card-description {
  display: none;
  align-self: self-end;
}

#layout-toggle-button .view-change-icon.grid {
  display: none;
}

#layout-toggle-button .view-change-icon.list {
  display: block;
}

#layout-toggle-button.is-list-active .view-change-icon.grid {
  display: block;
}

#layout-toggle-button.is-list-active .view-change-icon.list {
  display: none;
}

.project-cards-wrapper.is-list-view {
  grid-template-columns: 1fr;
}

.project-cards-wrapper.is-list-view .project-card {
  border-bottom-width: 1px;
  border-bottom-color: rgba(255, 255, 255, 0.2);
  border-bottom-style: solid;
  padding-bottom: 4vw;
}

.project-cards-wrapper.is-list-view .project-card-description {
  display: block;
}

.project-cards-wrapper.is-list-view .project-card-link {
  flex-direction: row-reverse;
  align-items: start;
  height: 50vmin;
}

.project-cards-wrapper.is-list-view .project-card-info-wrapper {
  height: 100%;
}

.project-cards-wrapper.is-list-view .project-card-info {
  justify-content: flex-start;
  align-items: flex-start;
  width: 80%;
}

.project-cards-wrapper.is-list-view .project-card-image-wrapper {
  height: 100%;
}

.project-cards-wrapper.is-list-view .service-tags.align-horizontal {
  width: 70%;
}

.project-cards-wrapper.is-list-view .project-card-title {
  font-size: 5vw;
}

@media screen and (min-width: 1280px) {
  .project-cards-wrapper.is-list-view .project-card {
    padding-bottom: 6vh;
  }

  .project-cards-wrapper.is-list-view .project-card-title {
    font-size: 9vh;
  }
}