.media {
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--media-background);
  border-radius: var(--media-border-radius);

  & > svg,
  & > img,
  & > video,
  & > iframe,
  & > canvas,
  & > .media-inner {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }

  & > img,
  & > video,
  & > canvas {
    object-fit: cover;
  }
}

.media-cover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;

  & > div {
    width: 100%;
    height: 100%;
  }

  & img,
  & video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.media-1 {
  padding-top: 100%;
}

.media-1-2 {
  padding-top: calc((2 / 1) * 100%);
}

.media-9-16 {
  padding-top: calc((16 / 9) * 100%);
}

.media-9-14 {
  padding-top: calc((14 / 9) * 100%);
}

.media-2-3 {
  padding-top: calc((3 / 2) * 100%);
}

.media-3-4 {
  padding-top: calc((4 / 3) * 100%);
}

.media-4-5 {
  padding-top: calc((5 / 4) * 100%);
}

.media-4-3 {
  padding-top: calc((3 / 4) * 100%);
}

.media-3-2 {
  padding-top: calc((2 / 3) * 100%);
}

.media-5-4 {
  padding-top: calc((4 / 5) * 100%);
}

.media-16-9 {
  padding-top: calc((9 / 16) * 100%);
}

.media-2-1 {
  padding-top: calc((1 / 2) * 100%);
}
