.gallery {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 -5px;
  list-style: none;
}
@media (min-width: 768px) {
  .gallery {
    margin: 0 -5px;
  }
}
.gallery__section:not(:last-of-type) {
  margin-bottom: 50px;
}
.gallery__heading {
  font-size: 2rem;
}
.gallery__item {
  position: relative;
  display: inline-block;
  flex: 0 0 100%;
  max-width: 300px;
  max-height: 300px;
  margin: 5px auto;
  padding-top: min(100%, 300px);
}
@media (min-width: 576px) {
  .gallery__item {
    flex: 0 0 calc(50% - 10px);
    margin: 5px;
    max-width: 300px;
    max-height: 300px;
    padding-top: min(50% - 10px, 300px);
  }
}
@media (min-width: 992px) {
  .gallery__item {
    flex: 0 0 calc(33% - 10px);
    padding-top: min(33% - 10px, 300px);
  }
}
@media (min-width: 1200px) {
  .gallery__item {
    flex: 0 0 calc(20% - 10px);
    padding-top: min(20% - 10px, 300px);
  }
}
.gallery__link {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  transition: all 0.3s;
  overflow: hidden;
}
.gallery__link:hover {
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}
.gallery__link:hover > img {
  transform: scale(1);
  filter: contrast(1.2);
}
.gallery__link > img {
  width: 100%;
  transform: scale(1.1);
  transition: all 0.3s;
}

/*# sourceMappingURL=gallery.css.map */
