.vjs-theme-city {
  --vjs-theme-city--primary: #bf3b4d;
  --vjs-theme-city--secondary: #fff;
}

.vjs-theme-city .vjs-big-play-button {
  font-size: 3em;
  line-height: 1.5em;
  height: 1.63332em;
  width: 3em;
  top: 50%;
  left: 50%;
  margin-top: -35px;
  margin-left: -35px;
  padding: 0;
  cursor: pointer;
  opacity: 1;
  border: 0.06666em solid #fff;
  background-color: #2b333f;
  background-color: rgba(43,51,63,.7);
  border-radius: 0.3em;
  transition: all .4s;
}

.vjs-theme-city .vjs-control-bar {
  height: 70px;
  padding-top: 20px;
  background: none;
  background-image: linear-gradient(to top, #000, rgba(0, 0, 0, 0));
}

.vjs-theme-city .vjs-button > .vjs-icon-placeholder::before {
  line-height: 50px;
}

.vjs-theme-city .vjs-play-progress::before {
  display: none;
}

.vjs-theme-city .vjs-progress-control {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 20px;
}

.vjs-theme-city .vjs-progress-control .vjs-progress-holder {
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  width: 100%;
  margin: 0;
}

.vjs-theme-city .vjs-play-progress {
  background-color: var(--vjs-theme-city--primary);
}

.vjs-theme-city .vjs-remaining-time {
  order: 1;
  line-height: 50px;
  flex: 2;
  text-align: left;
}

.vjs-theme-city .vjs-play-control {
  order: 2;
  flex: 8;
  font-size: 1.75em;
}

.vjs-theme-city .vjs-volume-panel,
.vjs-theme-city .vjs-picture-in-picture-control,
.vjs-theme-city .vjs-fullscreen-control {
  order: 3;
  flex: 1;
}

/* Volume stuff */
.vjs-theme-city .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal {
  height: 100%;
}

.vjs-theme-city .vjs-mute-control {
  display: none;
}

.vjs-theme-city .vjs-volume-panel {
  margin-left: 0.5em;
  margin-right: 0.5em;
  padding-top: 1.5em;
}

.vjs-theme-city .vjs-volume-panel,
.vjs-theme-city .vjs-volume-panel:hover,
.vjs-theme-city .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.vjs-theme-city .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,
.vjs-theme-city .vjs-volume-panel:hover .vjs-volume-control.vjs-volume-horizontal,
.vjs-theme-city .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,
.vjs-theme-city .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.vjs-theme-city .vjs-volume-bar.vjs-slider-horizontal {
  width: 3em;
}

.vjs-theme-city .vjs-volume-level::before {
  font-size: 1em;
}

.vjs-theme-city .vjs-volume-panel .vjs-volume-control {
  opacity: 1;
  width: 100%;
  height: 100%;
}

.vjs-theme-city .vjs-volume-bar {
  background-color: transparent;
  margin: 0;
}

.vjs-theme-city .vjs-slider-horizontal .vjs-volume-level {
  height: 100%;
}

.vjs-theme-city .vjs-volume-bar.vjs-slider-horizontal {
  margin-top: 0;
  margin-bottom: 0;
  height: 100%;
}

.vjs-theme-city .vjs-volume-bar::before {
  content: '';
  z-index: 0;
  width: 0;
  height: 0;
  position: absolute;
  top: 0px;
  left: 0;

  border-style: solid;
  border-width: 0 0 1.75em 3em;
  border-color: transparent transparent rgba(255, 255, 255, 0.25) transparent;
}

.vjs-theme-city .vjs-volume-level {
  overflow: hidden;
  background-color: transparent;
}

.vjs-theme-city .vjs-volume-level::before {
  content: '';
  z-index: 1;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;

  border-style: solid;
  border-width: 0 0 1.75em 3em;
  border-color: transparent transparent var(--vjs-theme-city--secondary) transparent;
}

.vjs-theme-city .vjs-playback-rate .vjs-playback-rate-value {
  pointer-events: none;
  font-size: 1.5em;
  line-height: 3.5;
  text-align: center
}

.vjs-theme-city .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  bottom: 2.5em;
}