@font-face {
  font-family: "Special Gothic Expanded One";
  src: local("Special Gothic Expanded One"),
    local("Special Gothic Expanded One Regular"),
    local("SpecialGothicExpandedOne-Regular"),
    url("../fonts/SpecialGothicExpandedOne-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body,
p {
  margin: 0;
  padding: 0;
}

body {
  display: grid;
  grid-template-rows: fit-content(0);

  font-family: "Special Gothic Expanded One";

  background-color: #000000;
}

.caption {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-content: flex-start;
  border: #000000 10px solid;

  font-size: 6vw;
  color: #ffffff;
}

.caption__text {
  flex-grow: 1;
  padding-left: 1vw;
  padding-right: 1vw;

  background-color: #000000;
}

.caption__br-sm {
  display: none;
}

.caption__video {
  display: block;
  flex-grow: 9999;
  border-top: #000000 0.42em solid;
  border-bottom: #000000 0.2em solid;

  line-height: 0;

  background-color: transparent;
}

.caption__video--sm {
  display: none;
}

.caption__video--xl {
  display: block;
}

.video {
  z-index: -1;
  overflow: hidden;

  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.video__file {
  width: 100%;
  height: 100%;

  object-fit: cover;
}

@media (max-width: 800px) {
  .caption {
    font-size: 9vw;
  }

  .caption__video--sm {
    display: block;
  }

  .caption__video--xl {
    display: none;
  }

  .caption__br-sm {
    display: block;
    width: 100%;
    height: 0;
  }
}
