:host {
  display: block;
  /**
    * @prop --color: Only changes color of video controls
    */
  --color: #000;
  /**
    * @prop --size: Width & height bounds for badge icon
  */
  --size: 32px;
  /**
    * @prop --radius: Border radius for badge icon
  */
  --radius: 0px;
  /**
    * @prop --icon-margin: Margin for badge icon
  */
  --icon-margin: 1rem auto;
}

.hidden {
  display: none;
}

a {
  text-decoration: none;
  color: var(--color);
}

div slot {
  display: block;
}

img.image-icon {
  display: block;
  margin-bottom: 1rem;
}

img.image-icon,
video.video-icon {
  max-width: var(--size);
  max-height: var(--size);
  height: auto;
  border-radius: var(--radius);
  margin: var(--icon-margin);
}

.video-container {
  position: relative;
  width: 50%;
}

button.video-button {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  border: none;
  display: inline-block;
  background: transparent;
}

svg {
  width: var(--size);
  height: var(--size);
  color: var(--color);
  background-color: #fff;
  border-radius: 30px;
}

.vertical-container {
  display: flex;
  align-items: center;
}

div.vertical span.helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

div.vertical img.image-icon,
div.vertical video.video-icon + button {
  vertical-align: middle;
  display: inline-block;
}

div slot[name='header'] {
  text-align: center;
}

div.vertical slot[name='header'] {
  text-align: inherit;
}

div.vertical slot[name='header'],
div.vertical slot[name='content'] {
  margin-left: 25px;
}
