.gallery {
  margin: em(50px) em(-10px);
  font-size: 0;
}

.gallery__iframe {
  width: 100%;
  max-width: 140vh;
  margin: auto;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.gallery__iframe__main {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
}

.gallery__iframe__main iframe {
  position: absolute;
}

.gallery__item {
  display: inline-block;
  vertical-align: top;
  width: 25%;
  padding: em(10px);
  @media screen and (max-width: $medium_breakpoint) {
    width: 33.3333%;
  }
  @media screen and (max-width: $small_breakpoint) {
    width: 50%;
  }
}

.gallery__item__main {
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
  height: 0;
  background-size: cover;
  background-position: center;
  position: relative;
  figure, a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
  }
  img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    opacity: 0;
  }
}