
.ui.bottom-player {
  z-index: 999999;
  width: 100%;
  width: 100vw;

  .ui.top.attached.progress {
    top: 0;
    height: 3px;
    z-index: 1;
    border-radius: 0;

    .bar {
      height: 0.2rem;
    }
  }

}
.ui.bottom-player > .segment.fixed-controls {
  color: var(--color);
  background: var(--player-background);
  width: 100%;
  border-radius: 0;
  padding: 0em;
  position: fixed;
  bottom: 0;
  left: 0;
  margin: 0;
  z-index: 1001;
  height: $bottom-player-height;
  cursor: pointer;
  .controls-row {
    height: $bottom-player-height;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    @include media(">desktop") {
      padding: 0 1em;
      justify-content: space-around;
    }
  }
  .indicating.progress {
    overflow: hidden;
  }

  .ui.progress .bar {
    transition: none;
    width: 100%;
    transform-origin: top left;
    will-change: transform;
    position: absolute;

    &.seek {
      background: var(--player-color);
      opacity: 0;
      transition: opacity .2s ease;
      mix-blend-mode: overlay;
    }

    &.position {
      transform: translate3d(calc(var(--fw-track-progress) - 100%), 0, 0);
    }
  }
  .ui.progress:hover .bar.seek {
    opacity: 0.4;
  }

  @keyframes MOVE-BG {
    from {
      transform: translateX(0px);
    }
    to {
      transform: translateX(46px);
    }
  }
  .discrete.link {
    color: inherit;
  }
  .indicating.progress .bar {
    left: -46px;
    width: 200% !important;
    color: grey;
    background: repeating-linear-gradient(
      -55deg,
      grey 1px,
      grey 10px,
      transparent 10px,
      transparent 20px
    ) !important;

    animation-name: MOVE-BG;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  .ui.progress:not(.indeterminate)
    .bar.position:not(.buffer) {
    background: var(--vibrant-color);
  }

  .track-controls {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-grow: 1;
    .image {
      margin: 0.5em;
      width: auto;
      margin-right: 1em;
      > img {
        max-height: 40px;
        max-width: 40px;
      }
    }
  }
  .controls {
    min-width: 8em;

    a {
      text-decoration: none;
      font-size: 16px;
    }

    .meta {
      line-height: 1.5em;
    }

    .button {
      border: none;
      cursor: pointer;

      &:hover {
        background-color: transparent !important;
        > i {
          color: var(--color);
          transform: scale(1.2);
        }
      }

      &:disabled i {
        color: var(--fw-gray-700);
      }
    }

    #volume-slider {
      accent-color: var(--vibrant-color);
    }

    .looping, .shuffling,
    .looping:hover, .shuffling:hover {
      > i {
        color: var(--vibrant-color);
      }
    }

    @include media(">desktop") {
      &:not(.fluid) {
        width: 20%;
      }
      &.queue-controls {
        width: 32.5%;
      }
      &.progress-controls {
        width: 10%;
      }
      &.player-controls {
        gap: 8px;

        & i {
          font-size: 1.8em;
        }
      }
    }
    &.small, .small {
      @include media(">desktop") {
        font-size: 0.9em;
      }
    }
    i {
      font-size: 1.3em;
      color: var(--player-color);
    }
    .large i {
      font-size: 3.2em;
    }
    &:not(.track-controls) {
      @include media(">desktop") {
        line-height: 1em;
      }
      justify-content: center;
      align-items: center;
      &.align-right {
        justify-content: flex-end;
      }
      &.align-left {
        justify-content: flex-start;
      }
      > * {
        padding: 0.5em;
      }
      .close-control {
        background-color: transparent;

        & i {
          color: var(--vibrant-color);
        }
      }
    }
  }
}

.component-player {
  .controls {
    display: flex;
  }
  .fake-dropdown {
    display: flex;
    z-index: 2;
  }
}
