/**
 * Contains functions and mixins for breakpoints.
 */
/**
 * Map manipulation functions.
 */
figure {
  width: 100%;
  overflow: hidden;
  position: relative; }
  figure figcaption {
    font-size: var(--font-size-s);
    padding: 0.5rem 0; }
    figure figcaption > span {
      display: block; }
    @media (min-width: 62rem) {
      figure figcaption {
        display: grid;
        grid-template-columns: 1fr auto; }
        figure figcaption.suffix {
          white-space: nowrap; }
          figure figcaption.suffix:before {
            margin-left: 2rem; } }
  figure a {
    color: var(--color-text-fg);
    text-decoration: none; }
  figure span:before {
    display: block;
    float: left;
    margin-top: 0.2rem;
    height: var(--font-size-s);
    width: var(--font-size-s);
    margin-right: 0.7rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
  figure iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

figure.image img {
  border: 1px solid var(--color-gray-7);
  box-sizing: border-box; }

figure.image .caption:before {
  content: "";
  background-image: var(--icon-camera); }

figure.video .video-content {
  position: relative;
  padding-top: 56.25%;
  margin-bottom: 2.5rem; }

figure.video .contextual-region {
  position: absolute !important;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

figure.video figcaption {
  margin-top: -2.5rem;
  margin-bottom: 2.5rem; }

figure.video .caption:before {
  content: "";
  background-image: var(--icon-video); }

figure.video .suffix:before {
  content: "";
  background-image: var(--icon-transcript); }

.colorbox-alt figcaption {
  font-size: var(--font-size-s);
  padding: 0.5rem 0; }
  .colorbox-alt figcaption > span {
    display: block; }
  @media (min-width: 62rem) {
    .colorbox-alt figcaption {
      display: grid;
      grid-template-columns: 1fr auto; }
      .colorbox-alt figcaption.suffix {
        white-space: nowrap; }
        .colorbox-alt figcaption.suffix:before {
          margin-left: 2rem; } }
  .colorbox-alt figcaption span:before {
    display: block;
    float: left;
    margin-top: 0.2rem;
    height: var(--font-size-s);
    width: var(--font-size-s);
    margin-right: 0.7rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: "";
    background-image: var(--icon-camera); }
