#vjs-wrapper.vfp-floating {
    aspect-ratio: 16 / 9;
    background-color: black;
}
#vjs-wrapper.vfp-floating .player-video-module {
    position: fixed !important;
    bottom: 20px;
    right: 20px;
    width: 300px;
    height: auto;
    z-index: 9999;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
#vjs-wrapper.vfp-floating video {
    width: 100% !important;
    height: auto !important;
}
.player-video-module {
    aspect-ratio: 16 / 9;
    background: #000;
    z-index: 10;
    position: relative;
    border: 0.5rem solid #fff;
    margin: auto;
}
.video-js.video-js-stream {
  width: 100%;
  height: 100%;
  position: absolute;
  --video-font-size: 16px;
}
.video-js.video-js-stream .vjs-menu-button-inline.vjs-slider-active,
.video-js.video-js-stream .vjs-menu-button-inline:focus,
.video-js.video-js-stream .vjs-menu-button-inline:hover,
.video-js.video-js-stream .video-js.vjs-no-flex .vjs-menu-button-inline {
  width: 10em;
}
.video-js.video-js-stream .vjs-controls-disabled .vjs-big-play-button {
  display: none !important;
}
.video-js.video-js-stream .vjs-control {
  width: 3em;
}
.video-js.video-js-stream .vjs-menu-button-inline:before {
  width: 1.5em;
}
.video-js.video-js-stream .vjs-menu-button-inline .vjs-menu {
  left: 3em;
}
.video-js.video-js-stream .video-js.vjs-paused .vjs-big-play-button,
.video-js.video-js-stream .vjs-paused.vjs-has-started.vjs-big-play-button {
  display: block;
}
.video-js.video-js-stream .vjs-load-progress div,
.video-js.video-js-stream .vjs-seeking .vjs-big-play-button,
.video-js.video-js-stream .vjs-waiting .vjs-big-play-button {
  display: none !important;
}
.video-js.video-js-stream .vjs-mouse-display:after,
.video-js.video-js-stream .vjs-play-progress:after {
  padding: 0 0.4em 0.3em;
}
.video-js.video-js-stream .video-js.vjs-ended .vjs-loading-spinner {
  display: none;
}
.video-js.video-js-stream .video-js.vjs-ended .vjs-big-play-button {
  display: block !important;
}
.video-js.video-js-stream .video-js *,
.video-js.video-js-stream .video-js:after,
.video-js.video-js-stream .video-js:before {
  box-sizing: inherit;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}
.video-js.video-js-stream .video-js.vjs-fullscreen,
.video-js.video-js-stream .video-js.vjs-fullscreen .vjs-tech {
  width: 100% !important;
  height: 100% !important;
}
.video-js.video-js-stream .video-js {
  font-size: 14px;
  overflow: hidden;
}
.video-js.video-js-stream .vjs-control {
  color: inherit;
}
.video-js.video-js-stream .vjs-menu-button-inline:hover,
.video-js.video-js-stream .video-js.vjs-no-flex .vjs-menu-button-inline {
  width: 8.35em;
}
.video-js.video-js-stream .vjs-volume-menu-button.vjs-volume-menu-button-horizontal:hover .vjs-menu .vjs-menu-content {
  height: 3em;
  width: 6.35em;
}
.video-js.video-js-stream .vjs-control:focus:before,
.video-js.video-js-stream .vjs-control:hover:before {
  text-shadow: 0 0 1em #fff, 0 0 1em #fff, 0 0 1em #fff;
}
.video-js.video-js-stream .vjs-spacer,
.video-js.video-js-stream .vjs-time-control {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 1 1 auto;
  -moz-box-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}
.video-js.video-js-stream .vjs-time-control {
  -webkit-box-flex: 0 1 auto;
  -moz-box-flex: 0 1 auto;
  -webkit-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  width: auto;
}
.video-js.video-js-stream .vjs-time-control.vjs-time-divider {
  width: 14px;
}
.video-js.video-js-stream .vjs-time-control.vjs-time-divider div {
  width: 100%;
  text-align: center;
}
.video-js.video-js-stream .vjs-time-control.vjs-current-time {
  margin-left: 1em;
}
.video-js.video-js-stream .vjs-time-control .vjs-current-time-display,
.video-js.video-js-stream .vjs-time-control .vjs-duration-display {
  width: 100%;
}
.video-js.video-js-stream .vjs-time-control .vjs-current-time-display {
  text-align: right;
}
.video-js.video-js-stream .vjs-time-control .vjs-duration-display {
  text-align: left;
}
.video-js.video-js-stream .vjs-play-progress:before,
.video-js.video-js-stream .vjs-progress-control .vjs-play-progress:before,
.video-js.video-js-stream .vjs-remaining-time,
.video-js.video-js-stream .vjs-volume-level:after,
.video-js.video-js-stream .vjs-volume-level:before,
.video-js.video-js-stream .video-js.vjs-live .vjs-time-control.vjs-current-time,
.video-js.video-js-stream .video-js.vjs-live .vjs-time-control.vjs-duration,
.video-js.video-js-stream .video-js.vjs-live .vjs-time-control.vjs-time-divider,
.video-js.video-js-stream .video-js.vjs-no-flex .vjs-time-control.vjs-remaining-time {
  display: none;
}
.video-js.video-js-stream .video-js.vjs-no-flex .vjs-time-control {
  display: table-cell;
  width: 4em;
}
.video-js.video-js-stream .vjs-progress-control {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 0.5em;
  top: -0.5em;
}
.video-js.video-js-stream .vjs-progress-control .vjs-load-progress,
.video-js.video-js-stream .vjs-progress-control .vjs-play-progress,
.video-js.video-js-stream .vjs-progress-control .vjs-progress-holder {
  height: 100%;
}
.video-js.video-js-stream .vjs-progress-control .vjs-progress-holder {
  margin: 0;
}
.video-js.video-js-stream .vjs-progress-control:hover {
  height: 1.5em;
  top: -1.5em;
}
.video-js.video-js-stream .vjs-control-bar {
  -webkit-transition: -webkit-transform 0.1s ease 0s;
  -moz-transition: -moz-transform 0.1s ease 0s;
  -ms-transition: -ms-transform 0.1s ease 0s;
  -o-transition: -o-transform 0.1s ease 0s;
  transition: transform 0.1s ease 0s;
}
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-control-bar,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-control-bar,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-control-bar,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar,
.video-js.video-js-stream .video-js.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar {
  visibility: visible;
  opacity: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateY(3em);
  -moz-transform: translateY(3em);
  -ms-transform: translateY(3em);
  -o-transform: translateY(3em);
  transform: translateY(3em);
  -webkit-transition: -webkit-transform 1s ease 0s;
  -moz-transition: -moz-transform 1s ease 0s;
  -ms-transition: -ms-transform 1s ease 0s;
  -o-transition: -o-transform 1s ease 0s;
  transition: transform 1s ease 0s;
}
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control,
.video-js.video-js-stream .video-js.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control {
  height: 0.25em;
  top: -0.25em;
  pointer-events: none;
  -webkit-transition: height 1s, top 1s;
  -moz-transition: height 1s, top 1s;
  -ms-transition: height 1s, top 1s;
  -o-transition: height 1s, top 1s;
  transition: height 1s, top 1s;
}
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-active.vjs-fullscreen .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-active.vjs-fullscreen .vjs-progress-control,
.video-js.video-js-stream .video-js.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,
.video-js.video-js-stream .video-js.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control {
  opacity: 0;
  -webkit-transition: opacity 1s ease 1s;
  -moz-transition: opacity 1s ease 1s;
  -ms-transition: opacity 1s ease 1s;
  -o-transition: opacity 1s ease 1s;
  transition: opacity 1s ease 1s;
}
.video-js.video-js-stream .video-js.vjs-live .vjs-live-control {
  margin-left: 1em;
}
.video-js.video-js-stream .vjs-big-play-button {
  top: 50%;
  left: 50%;
  margin-left: -1em;
  width: 2em;
  border: none;
  background-color: #fff;
  color: #262626;
  transition: border-color 0.4s, outline 0.4s, background-color 0.4s;
  font-size: 3.5em;
  border-radius: 50%;
  height: 2em !important;
  line-height: 2em !important;
  margin-top: -1em !important;
}
.video-js.video-js-stream .vjs-menu-button-popup .vjs-menu {
  left: -3em;
}
.video-js.video-js-stream .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  background-color: transparent;
  width: 12em;
  left: -1.5em;
  padding-bottom: 0.5em;
}
.video-js.video-js-stream .vjs-menu-button-popup .vjs-menu .vjs-menu-item,
.video-js.video-js-stream .vjs-menu-button-popup .vjs-menu .vjs-menu-title {
  background-color: #151b17;
  margin: 0.3em 0;
  padding: 0.5em;
  border-radius: 0.3em;
}
.video-js.video-js-stream .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected {
  background-color: var(--primary);
}
.video-js.video-js-stream .vjs-big-play-button:active,
.video-js.video-js-stream .vjs-big-play-button:focus,
.video-js.video-js-stream .video-js:hover .vjs-big-play-button {
  background-color: var(--primary);
}
.video-js.video-js-stream .vjs-loading-spinner {
  border-color: var(--primary);
}
.video-js.video-js-stream .vjs-control-bar2 {
  background-color: #000;
}
.video-js.video-js-stream .vjs-control-bar {
  background-color: rgba(0, 0, 0, 0.3) !important;
  color: #fff;
  font-size: var(--video-font-size, 14px);
}
.video-js.video-js-stream .vjs-play-progress,
.video-js.video-js-stream .vjs-volume-level {
  background-color: var(--primary);
}

.video-is-ready .player-wrapper {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}
.video-is-ready .video-js-stream {
  opacity: 1;
  pointer-events: all;
}

.modal-body-video {
  overflow: hidden;
  position: relative;
  height: 100%;
  width: 100%;
}

