#controlpanel {
  position: fixed;
  left: 0;
  bottom: -20rem;
  min-width: 300px;
  font-size: 1rem;
  width: 100%;
  transition:all .2s ease-out;

}
#controlpanel.is-show {
  bottom: 0;
  display: block;
}

#controlpanel__inner {
  background: rgba(26, 26, 26, 0.8);
  width: 100%;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

#controlpanel .container {
  max-width: 780px;
  width: 100%;
  margin: 0 auto;
}

#controlpanel .panel-wrapper {
  height: 84px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#controlpanel .panel-wrapper.disabled {
  opacity: 0.7;
}

#controlpanel #icons {
  text-align: center;
  position: relative;
  margin-top: auto !important;
  margin-bottom: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#controlpanel #icons .icon {
  vertical-align: middle;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 26px;
  color: #fff;
  width: 30px;
  height: 39px;
  display: block;
  margin-left: 10px;
}

#controlpanel #icons .icon:first-child {
  margin-left: 0;
}

#controlpanel #icons .icon.small.first {
  border-right: 1px solid #666666;
  padding-right: 20px;
  margin-right: 10px;
}

#controlpanel #icons .icon .icon-dacapo {
  cursor: pointer;
}

#controlpanel #icons .icon .icon-play {
  background: none !important;
  border: none;
  cursor: pointer;
}

#controlpanel #icons .icon .icon-play:before {
  content: "\f04b";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  border: none;
}

#controlpanel #icons .icon .icon-play:hover {
  background: #FFF;
}

#controlpanel #icons .icon .icon-play:hover:before {
  border-left-color: #808080;
}

#controlpanel #icons .icon .icon-pause {
  background: none !important;
  border: none;
  cursor: pointer;
}

#controlpanel #icons .icon .icon-pause:before {
  width: auto;
  height: auto;
  content: "\f04c";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  border: none;
}

#controlpanel #icons .icon .icon-skipbackward,
#controlpanel #icons .icon .icon-skipforward {
  cursor: pointer;
  position: relative;
  width: 24px;
  height: 37px;
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#controlpanel p.title {
  color: #fff;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  height: 30px;
  top: -30px;
  background: rgba(26, 26, 26, 0.8);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  max-width: 780px;
  width: 100%;
  border-radius: 5px 5px 0 0;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 2.5;
  font-size: 14px;
  margin: 0 auto;
}

#controlpanel p.title:before {
  content: "再生中:";
  font-size: 10px;
  color: #fff;
  margin-right: 10px;
}

#controlpanel #time {
  text-align: center;
  position: relative;
  max-width: 290px;
  width: 100%;
  margin: auto 40px !important;
}

#controlpanel #time > span {
  display: inline-block;
}

#controlpanel #time > span#current, #controlpanel #time > span#duration {
  position: absolute;
  font-size: 0.5rem;
  top: -10px;
  color: #fff;
}

#controlpanel #time > span#current {
  left: -5px;
}

#controlpanel #time > span#duration {
  right: -15px;
}

#controlpanel #time #seekbar {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  cursor: pointer;
  width: 100%;
  height: 3px;
  padding: 0;
  border-radius: 6px;
  background: -webkit-gradient(linear, left top, right top, from(#808080), to(#808080)) no-repeat #BBB;
  background: linear-gradient(to right, #808080, #808080) no-repeat #BBB;
}

#controlpanel #time #seekbar::-webkit-slider-thumb {
  -webkit-appearance: none;
  display: block;
  position: relative;
  border: none;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}

#controlpanel #time #seekbar::-moz-range-thumb {
  -moz-appearance: none;
  display: block;
  position: relative;
  border: none;
  width: 6px;
  height: 6px;
  background: #808080;
  border-radius: 50%;
}

#controlpanel #time #seekbar::-ms-track {
  width: 100%;
  height: 0.75rem;
  color: transparent;
  border: none;
}

#controlpanel #time #seekbar::-ms-fill-lower {
  background: #FFF;
}

#controlpanel #time #seekbar::-ms-fill-upper {
  background: #333;
}

#controlpanel #time #seekbar::-ms-thumb {
  display: block;
  position: relative;
  width: 6px;
  height: 6px;
  border: none;
  background: #808080;
}

#controlpanel #time #seekbar::-ms-tooltip {
  display: none;
}

#controlpanel #rates {
  text-align: right;
  margin-left: 30px;
  margin-top: auto !important;
  margin-bottom: auto !important;
}

#controlpanel #rates > div {
  font-size: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#controlpanel #rates > div .rate {
  /* display: inline-block; */
  vertical-align: middle;
  background: #808080;
}

#controlpanel #rates > div .rate.disabled {
  opacity: 0.7;
  cursor: default;
}

#controlpanel #rates > div #current-rate {
  color: #fff;
  padding: 3px 6px;
  line-height: 18px;
  border-left: 1px solid #999999;
  border-right: 1px solid #999999;
}

#controlpanel #rates > div .icon-ratedown,
#controlpanel #rates > div .icon-rateup {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  width: 24px;
  height: 24px;
  line-height: 24px;
  color: #257;
  font-weight: bold;
  text-align: center;
}

#controlpanel #rates > div .icon-ratedown {
  border-radius: 5px 0 0 5px;
  font-weight: bold;
}

#controlpanel #rates > div .icon-ratedown:before {
  content: "－";
  color: #fff;
}

#controlpanel #rates > div .icon-rateup {
  border-radius: 0 5px 5px 0;
}

#controlpanel #rates > div .icon-rateup:before {
  content: "＋";
  color: #fff;
}

#controlpanel .panel-wrapper.disabled #icons .icon,
#controlpanel .panel-wrapper.disabled #rates .rate,
#controlpanel .panel-wrapper.disabled #time #seekbar {
  cursor: default;
}

#controlpanel #volumes {
  margin-top: auto !important;
  margin-bottom: auto !important;
  width: 85px;
}

#controlpanel #volumes div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#controlpanel #volumes div i {
  display: inline-block;
  font-size: 12px;
  color: #fff;
  margin-right: 5px;
}

#controlpanel #volumes div .input-range {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  background: -webkit-gradient(linear, left top, right top, from(#808080), to(#808080)) no-repeat #BBB;
  background: linear-gradient(to right, #808080, #808080) no-repeat #BBB;
  height: 3px;
  width: 100%;
  max-width: 60px;
  border-radius: 10px;
  outline: 0;
}

#controlpanel #volumes div .input-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: #fff;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

#controlpanel #volumes div .input-range::-moz-range-thumb {
  background: #fff;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  border: none;
}

#controlpanel #volumes div .input-range::-moz-focus-outer {
  border: 0;
}

#controlpanel #volumes div #btn_mute {
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}

.btn .icon-play {
  background: none !important;
  border: none;
  cursor: pointer;
  pointer-events: none;
  position: absolute;
  display: inline-block;
}

.btn .icon-play:before {
  content: "\f04b";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 12px;
  display: block;
  border-radius: 10rem;
  border: 4px solid #aaa;
  width: 70px;
  height: 10px;
  line-height: 0.75;
  padding: 1rem 0;
  text-align: center;
  color: #aaa;
  background: #fff;
}

.btn .icon-pause {
  background: none !important;
  border: none;
  cursor: pointer;
  pointer-events: none;
  position: absolute;
  display: inline-block;
}

.btn .icon-pause:before {
  content: "\f04c";
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 12px;
  display: block;
  border-radius: 10rem;
  border: 4px solid #aaa;
  width: 70px;
  height: 10px;
  line-height: 0.75;
  padding: 1rem 0;
  text-align: center;
  color: #aaa;
  background: #fff;
}

.btn input {
  border: none;
  background: transparent;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  width: 78px;
  height: 38px;
  cursor: pointer;
}

.audioplay {
  display: inline-block;
  cursor: pointer;
  background: transparent;
  position: absolute;
  width: 100px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0.3);
  transform: translate(-50%, -50%) scale(0.3);
}

.audioplay .everlib-logo-first-bar,
.audioplay .everlib-logo-second-bar,
.audioplay .everlib-logo-third-bar,
.audioplay .everlib-logo-fourth-bar {
  display: inline-block;
  -webkit-animation: equalize 4s 0s infinite;
  animation: equalize 4s 0s infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  width: 9px;
  margin-right: 2px;
  -webkit-transition: .5s;
  transition: .5s;
  vertical-align: bottom;
}

.audioplay .everlib-logo-first-bar {
  height: 40px;
  background: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-animation-delay: -1.9s;
  animation-delay: -1.9s;
}

.audioplay .everlib-logo-second-bar {
  height: 48px;
  background: #fff;
  -webkit-animation-delay: -2.9s;
  animation-delay: -2.9s;
}

.audioplay .everlib-logo-third-bar {
  height: 44px;
  background: #fff;
  -webkit-animation-delay: -3.9s;
  animation-delay: -3.9s;
}

.audioplay .everlib-logo-fourth-bar {
  height: 36px;
  background: #fff;
  -webkit-animation-delay: -4.9s;
  animation-delay: -4.9s;
}

.audioplay.off {
  display: none;
}

.icon {
  position: relative;
}

.icon .audioplay {
  display: inline-block;
  cursor: pointer;
  background: transparent;
  position: absolute;
  width: 100px;
  top: 50%;
  left: -80px;
  -webkit-transform: translateY(-50%) scale(0.3);
  transform: translateY(-50%) scale(0.3);
}

.icon .audioplay .everlib-logo-first-bar,
.icon .audioplay .everlib-logo-second-bar,
.icon .audioplay .everlib-logo-third-bar,
.icon .audioplay .everlib-logo-fourth-bar {
  background: #aaa;
}

.icon .audioplay.off {
  display: none;
}

@-webkit-keyframes equalize {
  0% {
    height: 48px;
  }
  4% {
    height: 42px;
  }
  8% {
    height: 40px;
  }
  12% {
    height: 30px;
  }
  16% {
    height: 20px;
  }
  20% {
    height: 30px;
  }
  24% {
    height: 40px;
  }
  28% {
    height: 10px;
  }
  32% {
    height: 40px;
  }
  36% {
    height: 48px;
  }
  40% {
    height: 20px;
  }
  44% {
    height: 40px;
  }
  48% {
    height: 48px;
  }
  52% {
    height: 30px;
  }
  56% {
    height: 10px;
  }
  60% {
    height: 30px;
  }
  64% {
    height: 48px;
  }
  68% {
    height: 30px;
  }
  72% {
    height: 48px;
  }
  76% {
    height: 20px;
  }
  80% {
    height: 48px;
  }
  84% {
    height: 38px;
  }
  88% {
    height: 48px;
  }
  92% {
    height: 20px;
  }
  96% {
    height: 48px;
  }
  100% {
    height: 48px;
  }
}

@keyframes equalize {
  0% {
    height: 48px;
  }
  4% {
    height: 42px;
  }
  8% {
    height: 40px;
  }
  12% {
    height: 30px;
  }
  16% {
    height: 20px;
  }
  20% {
    height: 30px;
  }
  24% {
    height: 40px;
  }
  28% {
    height: 10px;
  }
  32% {
    height: 40px;
  }
  36% {
    height: 48px;
  }
  40% {
    height: 20px;
  }
  44% {
    height: 40px;
  }
  48% {
    height: 48px;
  }
  52% {
    height: 30px;
  }
  56% {
    height: 10px;
  }
  60% {
    height: 30px;
  }
  64% {
    height: 48px;
  }
  68% {
    height: 30px;
  }
  72% {
    height: 48px;
  }
  76% {
    height: 20px;
  }
  80% {
    height: 48px;
  }
  84% {
    height: 38px;
  }
  88% {
    height: 48px;
  }
  92% {
    height: 20px;
  }
  96% {
    height: 48px;
  }
  100% {
    height: 48px;
  }
}
