ul.photo {
  display: flex;
  flex-wrap: wrap;
  /* margin: 2vmin; */
  list-style: none;
  margin: -2vmin;
}

/* если это убрать, то последнее фото, если оно одно, займет всю ширину */
/* ul.photo::after {
  content:"";
  flex-grow: 10;
  } */

.photo li {
  height: 40vh;
  flex-grow: 1;
  margin: 2vmin;
}

.photo li:last-child {
  flex-grow: 10;
}

.photo img {
  max-height: 100%;
  min-width: 100%;
  object-fit: cover;
  vertical-align: bottom;
  border-radius: 0;
	outline: 1px solid #dadada;
	box-shadow: 0 0 12px rgba(56,78,113,0.3);
}

@media (max-aspect-ratio: 1/1) {
  .photo li {
    height: 30vh;
  }
}

@media (max-height: 480px) {
  .photo li {
    height: 80vh;
  }
}

@media (max-aspect-ratio: 1/1) and (max-width: 480px) {
  ul.photo {
    flex-direction: row;
  }

  .photo li {
    height: auto;
    width: 100%;
  }

  .photo img {
    width: 100%;
    max-height: 75vh;
    min-width: 0;
  }
}