:root {
  --color-black: hsla(0, 0%, 12%, 100%);
  --color-white: hsla(0, 0%, 100%, 100%);
  --color-white-20: hsla(0, 0%, 100%, 20%);
  --color-white-50: hsla(0, 0%, 50%, 100%);
  --color-purple: hsla(278, 100%, 75%, 100%);
}

body {
  background-color: var(--color-black);
  color: var(--color-white);
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
}

main {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.heading__text {
  font-size: 5vw;
  font-weight: 700;
  margin: 6.25rem 0 0;
  text-align: center;
  white-space: nowrap;
}

.container {
  width: 80vw;
}

.img__size {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  margin: 3.125rem 0;
}
.img__size button {
  border: none;
  border-radius: 0.5rem;
  padding: 0.625rem 1.25rem;
  transition: all 0.3s ease-in-out;
}
.img__size button.is-active {
  background-color: var(--color-white-20);
  color: var(--color-white);
}

.img__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
}
.img__list.img--large {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.img__list.img--small {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.img__src {
  aspect-ratio: 4/5;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}