:host {
  display: block;
  background-color: white;
  /* required for fullscreen view */
}

#controls-container {
  display: flex;
  flex: 1;
  justify-content: space-between;
}

#progress-container progress {
  width: 100%;
}

#progress-container input {
  width: 100%;
}

#time-container {
  display: flex;
  flex: 1;
  justify-content: space-between;
}

div#controls-container {
  margin-top: 20px;
  margin-bottom: 15px;
}

div#time-container {
  margin-top: 5px;
}

span.btn-group {
  display: inline-flex;
  column-gap: 10px;
}

/*generated with Input range slider CSS style generator (version 20211225) https://toughengineer.github.io/demo/slider-styler*/
input[type=range] {
  height: 4px;
  -webkit-appearance: none;
}

/*progress support*/
input[type=range] {
  --range: calc(var(--max) - var(--min));
  --ratio: calc((var(--value) - var(--min)) / var(--range));
  --sx: calc(0.5 * 14px + var(--ratio) * (100% - 14px));
}

input[type=range]:focus {
  outline: none;
}

/*webkit*/
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 1000px;
  background: #fff;
  border: 4px solid #0095ff;
  box-shadow: 0 0 2px black;
  margin-top: -5px;
}

input[type=range]::-webkit-slider-runnable-track {
  height: 4px;
  border: none;
  border-radius: 0;
  background: #e5e5e5;
  box-shadow: none;
}

input[type=range]::-webkit-slider-thumb:hover {
  background: #fff;
}

input[type=range]:hover::-webkit-slider-runnable-track {
  background: #e5e5e5;
}

input[type=range]::-webkit-slider-thumb:active {
  background: #fff;
}

input[type=range]:active::-webkit-slider-runnable-track {
  background: #e5e5e5;
}

input[type=range]::-webkit-slider-runnable-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

input[type=range]:hover::-webkit-slider-runnable-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

input[type=range]:active::-webkit-slider-runnable-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

/*mozilla*/
input[type=range]::-moz-range-thumb {
  width: 6px;
  height: 6px;
  border-radius: 1000px;
  background: #fff;
  border: 4px solid #0095ff;
  box-shadow: 0 0 2px black;
}

input[type=range]::-moz-range-track {
  height: 4px;
  border: none;
  border-radius: 0;
  background: #e5e5e5;
  box-shadow: none;
}

input[type=range]::-moz-range-thumb:hover {
  background: #fff;
}

input[type=range]:hover::-moz-range-track {
  background: #e5e5e5;
}

input[type=range]::-moz-range-thumb:active {
  background: #fff;
}

input[type=range]:active::-moz-range-track {
  background: #e5e5e5;
}

input[type=range]::-moz-range-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

input[type=range]:hover::-moz-range-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

input[type=range]:active::-moz-range-track {
  background: linear-gradient(#0095ff, #0095ff) 0/var(--sx) 100% no-repeat, #e5e5e5;
}

/*ms*/
input[type=range]::-ms-fill-upper {
  background: transparent;
  border-color: transparent;
}

input[type=range]::-ms-fill-lower {
  background: transparent;
  border-color: transparent;
}

input[type=range]::-ms-thumb {
  width: 14px;
  height: 14px;
  border-radius: 1000px;
  background: #fff;
  border: 4px solid #0095ff;
  box-shadow: 0 0 2px black;
  margin-top: 0;
  box-sizing: border-box;
}

input[type=range]::-ms-track {
  height: 4px;
  border-radius: 0;
  background: #e5e5e5;
  border: none;
  box-shadow: none;
  box-sizing: border-box;
}

input[type=range]::-ms-thumb:hover {
  background: #fff;
}

input[type=range]:hover::-ms-track {
  background: #e5e5e5;
}

input[type=range]::-ms-thumb:active {
  background: #fff;
}

input[type=range]:active::-ms-track {
  background: #e5e5e5;
}

input[type=range]::-ms-fill-lower {
  height: 4px;
  border-radius: 0px 0 0 0px;
  margin: -undefined 0 -undefined -undefined;
  background: #0095ff;
  border: none;
  border-right-width: 0;
}

input[type=range]:hover::-ms-fill-lower {
  background: #0095ff;
}

input[type=range]:active::-ms-fill-lower {
  background: #0095ff;
}