.vv-visual {
  position: relative;
  overflow: hidden;
  font-size: 0;
}
.vv-expand,
.vv-has-aspect .vv-wrapper,
.vv-expand .vv-wrapper,
.vv-has-aspect .vv-picture,
.vv-expand .vv-picture,
.vv-has-aspect .vv-asset,
.vv-expand .vv-asset {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.vv-aspect-shim {
  display: inline-block;
  height: 100%;
}
.vv-placeholder {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.vv-slot {
  font-size: 1rem;
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.vv-align-bottom {
  vertical-align: bottom;
}
.vv-align-middle {
  vertical-align: middle;
}
.vv-align-top {
  vertical-align: top;
}
.vv-align-left {
  text-align: left;
}
.vv-align-center {
  text-align: center;
}
.vv-align-right {
  text-align: right;
}
.vv-fade-enter-active,
.vv-fade-leave-active {
  transition: opacity 0.3s;
}
.vv-fade-leave-active {
  position: absolute;
  transition-delay: 0.3s;
}
.vv-fade-enter,
.vv-fade-leave-to {
  opacity: 0;
}

